/* Colors for the ripple elements.*/
/* stylelint-disable-next-line material/theme-mixin-api */
/* stylelint-disable-next-line material/theme-mixin-api */
/* stylelint-disable material/no-prefixes */
/* stylelint-enable */
.ng-select{padding-bottom:1.25em}
.ng-select.ng-select-disabled .ng-select-container:after{border-bottom-color:transparent;background-image:linear-gradient(to right, rgba(0,0,0,0.42) 0%, rgba(0,0,0,0.42) 33%, transparent 0%);background-size:4px 1px;background-repeat:repeat-x}
.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{color:rgba(0,0,0,0.38)}
.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder{color:rgba(0,0,0,0.38)}
.ng-select.ng-select-disabled .ng-arrow-wrapper .ng-arrow,.ng-select.ng-select-disabled .ng-clear-wrapper{color:rgba(0,0,0,0.38)}
.ng-select.ng-select-focused .ng-select-container:after{border-color:#3f51b5;border-width:2px}
.ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:after,.ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:hover:after{border-color:#3f51b5;border-width:2px}
.ng-select.ng-select-focused .ng-select-container .ng-value-container .ng-placeholder{transform:translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);color:#3f51b5}
.ng-select.ng-select-focused .ng-select-container .ng-arrow-wrapper .ng-arrow{color:#3f51b5}
.ng-select .ng-has-value .ng-placeholder,.ng-select.ng-select-filtered .ng-select-container .ng-placeholder{display:initial}
.ng-select .ng-has-value .ng-placeholder,.ng-select.ng-select-opened .ng-placeholder{transform:translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px)}
.ng-select .ng-select-container{color:rgba(0,0,0,0.87);align-items:baseline;min-height:51.5px}
.ng-select .ng-select-container:after{border-bottom:thin solid rgba(0,0,0,0.42);content:'';bottom:0;left:0;right:0;position:absolute;transition:border-color 0.3s cubic-bezier(0.55, 0, 0.55, 0.2)}
.ng-select .ng-select-container.ng-appearance-outline{padding:0 .5em;min-height:60px}
.ng-select .ng-select-container.ng-appearance-outline:after{border:solid 1px rgba(0,0,0,0.12);border-radius:5px;height:calc(100% - .5em);pointer-events:none;transition:border-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1)}
.ng-select .ng-select-container.ng-appearance-outline:hover:after{border-color:rgba(0,0,0,0.87);border-width:2px}
.ng-select .ng-select-container.ng-appearance-outline .ng-placeholder{padding:0 .25em;background-color:#fff;z-index:1}
.ng-select .ng-select-container.ng-appearance-outline .ng-value{padding-left:.25em}
.ng-select .ng-select-container .ng-value-container{align-items:stretch;padding:.4375em 0;border-top:.84375em solid transparent}
.ng-select .ng-select-container .ng-value-container .ng-placeholder{position:absolute;color:rgba(0,0,0,0.54);transform-origin:left 0;transition:transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1),color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1),width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1)}
[dir="rtl"] .ng-select .ng-select-container .ng-value-container .ng-placeholder{transform-origin:right 0}
.ng-select .ng-select-container .ng-value-container .ng-input{bottom:.4375em}
.ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{bottom:17px}
.ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-clear-wrapper{bottom:14px}
.ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{align-self:flex-end;bottom:9px}
.ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{align-self:flex-end;bottom:7px}
.ng-select.ng-select-multiple.ng-select-disabled .ng-select-container .ng-value-container .ng-value{background-color:rgba(0,0,0,0.12);color:rgba(0,0,0,0.26)}
.ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:after,.ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:hover:after{background-image:none;border:dotted 1px rgba(0,0,0,0.12)}
.ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-arrow-wrapper,.ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-clear-wrapper{border-top:none}
.ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{top:0}
.ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-clear-wrapper{top:4px}
.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:#3f51b5;border-radius:2px;color:#fff;padding:2px 5px;margin:0 0.4375em 0.4375em 0}
[dir="rtl"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin:0 0 0.4375em 0.4375em}
.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:rgba(0,0,0,0.12);color:rgba(0,0,0,0.26)}
.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:14px;font-weight:500}
.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:rgba(255,255,255,0.54);padding-right:5px}
[dir="rtl"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{padding-left:5px;padding-right:0}
.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{color:rgba(255,255,255,0.87)}
.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{line-height:1.375em}
.ng-select.ng-select-multiple .ng-select-container.ng-has-value{align-items:center}
.ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{padding-bottom:0;padding-top:.1875em}
.ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-clear-wrapper,.ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-arrow-wrapper{border-top:.84375em solid transparent}
.ng-select .ng-clear-wrapper{color:rgba(0,0,0,0.54)}
.ng-select .ng-clear-wrapper:hover{color:rgba(0,0,0,0.87)}
.ng-select .ng-arrow-wrapper{bottom:2px}
.ng-select .ng-arrow-wrapper .ng-arrow{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px;color:rgba(0,0,0,0.54)}
.ng-select .ng-spinner-zone{top:3px}
.ng-dropdown-panel{background:#fff;left:0}
.ng-dropdown-panel.ng-select-bottom{top:calc(100% - 1.25em);box-shadow:0 5px 5px -3px rgba(0,0,0,0.2),0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12)}
.ng-dropdown-panel.ng-select-top{bottom:calc(100% - .84375em);box-shadow:0 -5px 5px -3px rgba(0,0,0,0.2),0 -8px 10px 1px rgba(0,0,0,0.14),0 -3px 14px 2px rgba(0,0,0,0.12)}
.ng-dropdown-panel.multiple .ng-option.selected{background:#fff}
.ng-dropdown-panel.multiple .ng-option.marked{background:rgba(0,0,0,0.04)}
.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid rgba(0,0,0,0.12);padding:0 16px;line-height:3em;min-height:3em}
.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid rgba(0,0,0,0.12);padding:0 16px;line-height:3em;min-height:3em}
.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;line-height:3em;height:3em;padding:0 16px;color:rgba(0,0,0,0.54);font-weight:500}
.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background:rgba(0,0,0,0.04)}
.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}
.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected{background:rgba(0,0,0,0.12);color:#3f51b5}
.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{line-height:3em;min-height:3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 16px;text-decoration:none;position:relative;color:rgba(0,0,0,0.87);text-align:left}
[dir="rtl"] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{text-align:right}
.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:rgba(0,0,0,0.04);color:rgba(0,0,0,0.87)}
.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:rgba(0,0,0,0.12);color:#3f51b5}
.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:rgba(0,0,0,0.38)}
.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:32px}
[dir="rtl"] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:32px;padding-left:0}
.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-right:5px;font-size:80%;font-weight:400;color:rgba(0,0,0,0.38)}
[dir="rtl"] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}
.mat-badge-content {
  font-weight: 600;
  font-size: 12px;
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-badge-small .mat-badge-content {
  font-size: 9px;
}
.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;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h2, .mat-title, .mat-typography h2 {
  font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h3, .mat-subheading-2, .mat-typography h3 {
  font: 400 16px/28px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h4, .mat-subheading-1, .mat-typography h4 {
  font: 400 15px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h5, .mat-typography h5 {
  font: 400 calc(14px * 0.83)/20px Roboto, "Helvetica Neue", sans-serif;
  margin: 0 0 12px;
}
.mat-h6, .mat-typography h6 {
  font: 400 calc(14px * 0.67)/20px Roboto, "Helvetica Neue", sans-serif;
  margin: 0 0 12px;
}
.mat-body-strong, .mat-body-2 {
  font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-body, .mat-body-1, .mat-typography {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-body p, .mat-body-1 p, .mat-typography p {
  margin: 0 0 12px;
}
.mat-small, .mat-caption {
  font: 400 12px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-display-4, .mat-typography .mat-display-4 {
  font: 300 112px/112px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.05em;
  margin: 0 0 56px;
}
.mat-display-3, .mat-typography .mat-display-3 {
  font: 400 56px/56px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.02em;
  margin: 0 0 64px;
}
.mat-display-2, .mat-typography .mat-display-2 {
  font: 400 45px/48px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.005em;
  margin: 0 0 64px;
}
.mat-display-1, .mat-typography .mat-display-1 {
  font: 400 34px/40px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 64px;
}
.mat-bottom-sheet-container {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,
.mat-flat-button, .mat-fab, .mat-mini-fab {
  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-subtitle,
.mat-card-content {
  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-trailing-icon.mat-icon,
.mat-chip .mat-chip-remove.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;
  letter-spacing: normal;
}
.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;
  letter-spacing: normal;
}
.mat-form-field {
  font-size: inherit;
  font-weight: 400;
  line-height: 1.125;
  font-family: Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.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: 0.5em 0;
  border-top: 0.84375em solid transparent;
}
.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34375em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-form-field-label-wrapper {
  top: -0.84375em;
  padding-top: 0.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: 0.6666666667em;
  top: calc(100% - 1.7916666667em);
}
.mat-form-field-appearance-legacy .mat-form-field-wrapper {
  padding-bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-infix {
  padding: 0.4375em 0;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);
  -ms-transform: translateY(-1.28125em) scale(0.75);
  width: 133.3333333333%;
}
.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 {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00101px);
  -ms-transform: translateY(-1.28124em) scale(0.75);
  width: 133.3333433333%;
}
.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 {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00102px);
  -ms-transform: translateY(-1.28123em) scale(0.75);
  width: 133.3333533333%;
}
.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: 0.5416666667em;
  top: calc(100% - 1.6666666667em);
}
@media print {
  .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28122em) scale(0.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 {
    transform: translateY(-1.28121em) scale(0.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 {
    transform: translateY(-1.2812em) scale(0.75);
  }
}
.mat-form-field-appearance-fill .mat-form-field-infix {
  padding: 0.25em 0 0.75em 0;
}
.mat-form-field-appearance-fill .mat-form-field-label {
  top: 1.09375em;
  margin-top: -0.5em;
}
.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59375em) scale(0.75);
  width: 133.3333333333%;
}
.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 {
  transform: translateY(-0.59374em) scale(0.75);
  width: 133.3333433333%;
}
.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: -0.25em;
}
.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59375em) scale(0.75);
  width: 133.3333333333%;
}
.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 {
  transform: translateY(-1.59374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-grid-tile-header,
.mat-grid-tile-footer {
  font-size: 14px;
}
.mat-grid-tile-header .mat-line,
.mat-grid-tile-footer .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-grid-tile-header .mat-line:nth-child(n+2),
.mat-grid-tile-footer .mat-line:nth-child(n+2) {
  font-size: 12px;
}
input.mat-input-element {
  margin-top: -0.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-vertical, .mat-stepper-horizontal {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-step-label {
  font-size: 14px;
  font-weight: 400;
}
.mat-step-sub-label-error {
  font-weight: normal;
}
.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;
  letter-spacing: normal;
  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;
  letter-spacing: normal;
}
.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-tree-node,
.mat-nested-tree-node {
  font-weight: 400;
  font-size: 14px;
}
.mat-ripple {
  overflow: hidden;
  position: relative;
}
.mat-ripple:not(:empty) {
  transform: translateZ(0);
}
.mat-ripple.mat-ripple-unbounded {
  overflow: visible;
}
.mat-ripple-element {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);
  transform: scale(0);
}
.cdk-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-overlay-container, .cdk-global-overlay-wrapper {
  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 400ms cubic-bezier(0.25, 0.8, 0.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: 0.6;
  }
}
.cdk-overlay-dark-backdrop {
  background: rgba(0, 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: cdk-text-field-autofill-start 0s 1ms;
          animation: cdk-text-field-autofill-start 0s 1ms;
}
.cdk-text-field-autofill-monitored:not(:-webkit-autofill) {
  -webkit-animation: cdk-text-field-autofill-end 0s 1ms;
          animation: cdk-text-field-autofill-end 0s 1ms;
}
textarea.cdk-textarea-autosize {
  resize: none;
}
textarea.cdk-textarea-autosize-measuring {
  padding: 2px 0 !important;
  box-sizing: content-box !important;
  height: auto !important;
  overflow: hidden !important;
}
textarea.cdk-textarea-autosize-measuring-firefox {
  padding: 2px 0 !important;
  box-sizing: content-box !important;
  height: 0 !important;
}
.mat-focus-indicator {
  position: relative;
}
.mat-mdc-focus-indicator {
  position: relative;
}
.mat-ripple-element {
  background-color: rgba(0, 0, 0, 0.1);
}
.mat-option {
  color: rgba(0, 0, 0, 0.87);
}
.mat-option:hover:not(.mat-option-disabled), .mat-option:focus:not(.mat-option-disabled) {
  background: rgba(0, 0, 0, 0.04);
}
.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {
  background: rgba(0, 0, 0, 0.04);
}
.mat-option.mat-active {
  background: rgba(0, 0, 0, 0.04);
  color: rgba(0, 0, 0, 0.87);
}
.mat-option.mat-option-disabled {
  color: rgba(0, 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, 0.54);
}
.mat-optgroup-disabled .mat-optgroup-label {
  color: rgba(0, 0, 0, 0.38);
}
.mat-pseudo-checkbox {
  color: rgba(0, 0, 0, 0.54);
}
.mat-pseudo-checkbox::after {
  color: #fafafa;
}
.mat-pseudo-checkbox-disabled {
  color: #b0b0b0;
}
.mat-primary .mat-pseudo-checkbox-checked,
.mat-primary .mat-pseudo-checkbox-indeterminate {
  background: #3f51b5;
}
.mat-pseudo-checkbox-checked,
.mat-pseudo-checkbox-indeterminate,
.mat-accent .mat-pseudo-checkbox-checked,
.mat-accent .mat-pseudo-checkbox-indeterminate {
  background: #ff4081;
}
.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-app-background {
  background-color: #fafafa;
  color: rgba(0, 0, 0, 0.87);
}
.mat-elevation-z0 {
  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);
}
.mat-elevation-z1 {
  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);
}
.mat-elevation-z2 {
  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);
}
.mat-elevation-z3 {
  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);
}
.mat-elevation-z4 {
  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);
}
.mat-elevation-z5 {
  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);
}
.mat-elevation-z6 {
  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);
}
.mat-elevation-z7 {
  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);
}
.mat-elevation-z8 {
  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);
}
.mat-elevation-z9 {
  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);
}
.mat-elevation-z10 {
  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);
}
.mat-elevation-z11 {
  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);
}
.mat-elevation-z12 {
  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);
}
.mat-elevation-z13 {
  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);
}
.mat-elevation-z14 {
  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);
}
.mat-elevation-z15 {
  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);
}
.mat-elevation-z16 {
  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);
}
.mat-elevation-z17 {
  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);
}
.mat-elevation-z18 {
  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);
}
.mat-elevation-z19 {
  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);
}
.mat-elevation-z20 {
  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);
}
.mat-elevation-z21 {
  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);
}
.mat-elevation-z22 {
  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);
}
.mat-elevation-z23 {
  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);
}
.mat-elevation-z24 {
  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);
}
.mat-theme-loaded-marker {
  display: none;
}
.mat-autocomplete-panel {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-autocomplete-panel:not([class*=mat-elevation-z]) {
  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);
}
.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {
  background: white;
}
.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {
  color: rgba(0, 0, 0, 0.87);
}
.mat-badge-content {
  color: white;
  background: #3f51b5;
}
.cdk-high-contrast-active .mat-badge-content {
  outline: solid 1px;
  border-radius: 0;
}
.mat-badge-accent .mat-badge-content {
  background: #ff4081;
  color: white;
}
.mat-badge-warn .mat-badge-content {
  color: white;
  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, 0.38);
}
.mat-badge-content {
  position: absolute;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  transition: transform 200ms ease-in-out;
  transform: scale(0.6);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
}
.ng-animate-disabled .mat-badge-content,
.mat-badge-content._mat-animation-noopable {
  transition: none;
}
.mat-badge-content.mat-badge-active {
  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: 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);
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-button, .mat-icon-button, .mat-stroked-button {
  color: inherit;
  background: transparent;
}
.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-primary.mat-button-disabled, .mat-button.mat-accent.mat-button-disabled, .mat-button.mat-warn.mat-button-disabled, .mat-button.mat-button-disabled.mat-button-disabled, .mat-icon-button.mat-primary.mat-button-disabled, .mat-icon-button.mat-accent.mat-button-disabled, .mat-icon-button.mat-warn.mat-button-disabled, .mat-icon-button.mat-button-disabled.mat-button-disabled, .mat-stroked-button.mat-primary.mat-button-disabled, .mat-stroked-button.mat-accent.mat-button-disabled, .mat-stroked-button.mat-warn.mat-button-disabled, .mat-stroked-button.mat-button-disabled.mat-button-disabled {
  color: rgba(0, 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.mat-button-disabled .mat-button-focus-overlay, .mat-icon-button.mat-button-disabled .mat-button-focus-overlay, .mat-stroked-button.mat-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: 0.1;
  background-color: currentColor;
}
.mat-button-focus-overlay {
  background: black;
}
.mat-stroked-button:not(.mat-button-disabled) {
  border-color: rgba(0, 0, 0, 0.12);
}
.mat-flat-button, .mat-raised-button, .mat-fab, .mat-mini-fab {
  color: rgba(0, 0, 0, 0.87);
  background-color: white;
}
.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {
  color: white;
}
.mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {
  color: white;
}
.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {
  color: white;
}
.mat-flat-button.mat-primary.mat-button-disabled, .mat-flat-button.mat-accent.mat-button-disabled, .mat-flat-button.mat-warn.mat-button-disabled, .mat-flat-button.mat-button-disabled.mat-button-disabled, .mat-raised-button.mat-primary.mat-button-disabled, .mat-raised-button.mat-accent.mat-button-disabled, .mat-raised-button.mat-warn.mat-button-disabled, .mat-raised-button.mat-button-disabled.mat-button-disabled, .mat-fab.mat-primary.mat-button-disabled, .mat-fab.mat-accent.mat-button-disabled, .mat-fab.mat-warn.mat-button-disabled, .mat-fab.mat-button-disabled.mat-button-disabled, .mat-mini-fab.mat-primary.mat-button-disabled, .mat-mini-fab.mat-accent.mat-button-disabled, .mat-mini-fab.mat-warn.mat-button-disabled, .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  color: rgba(0, 0, 0, 0.26);
}
.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {
  background-color: #3f51b5;
}
.mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {
  background-color: #ff4081;
}
.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {
  background-color: #f44336;
}
.mat-flat-button.mat-primary.mat-button-disabled, .mat-flat-button.mat-accent.mat-button-disabled, .mat-flat-button.mat-warn.mat-button-disabled, .mat-flat-button.mat-button-disabled.mat-button-disabled, .mat-raised-button.mat-primary.mat-button-disabled, .mat-raised-button.mat-accent.mat-button-disabled, .mat-raised-button.mat-warn.mat-button-disabled, .mat-raised-button.mat-button-disabled.mat-button-disabled, .mat-fab.mat-primary.mat-button-disabled, .mat-fab.mat-accent.mat-button-disabled, .mat-fab.mat-warn.mat-button-disabled, .mat-fab.mat-button-disabled.mat-button-disabled, .mat-mini-fab.mat-primary.mat-button-disabled, .mat-mini-fab.mat-accent.mat-button-disabled, .mat-mini-fab.mat-warn.mat-button-disabled, .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  background-color: rgba(0, 0, 0, 0.12);
}
.mat-flat-button.mat-primary .mat-ripple-element, .mat-raised-button.mat-primary .mat-ripple-element, .mat-fab.mat-primary .mat-ripple-element, .mat-mini-fab.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.mat-flat-button.mat-accent .mat-ripple-element, .mat-raised-button.mat-accent .mat-ripple-element, .mat-fab.mat-accent .mat-ripple-element, .mat-mini-fab.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.mat-flat-button.mat-warn .mat-ripple-element, .mat-raised-button.mat-warn .mat-ripple-element, .mat-fab.mat-warn .mat-ripple-element, .mat-mini-fab.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.mat-stroked-button:not([class*=mat-elevation-z]), .mat-flat-button:not([class*=mat-elevation-z]) {
  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);
}
.mat-raised-button:not([class*=mat-elevation-z]) {
  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);
}
.mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  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);
}
.mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]) {
  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);
}
.mat-fab:not([class*=mat-elevation-z]), .mat-mini-fab:not([class*=mat-elevation-z]) {
  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);
}
.mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]), .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  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);
}
.mat-fab.mat-button-disabled:not([class*=mat-elevation-z]), .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]) {
  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);
}
.mat-button-toggle-standalone,
.mat-button-toggle-group {
  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);
}
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.mat-button-toggle-group-appearance-standard {
  box-shadow: none;
}
.mat-button-toggle {
  color: rgba(0, 0, 0, 0.38);
}
.mat-button-toggle .mat-button-toggle-focus-overlay {
  background-color: rgba(0, 0, 0, 0.12);
}
.mat-button-toggle-appearance-standard {
  color: rgba(0, 0, 0, 0.87);
  background: white;
}
.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
  background-color: black;
}
.mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: solid 1px rgba(0, 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, 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, 0.12);
}
.mat-button-toggle-checked {
  background-color: #e0e0e0;
  color: rgba(0, 0, 0, 0.54);
}
.mat-button-toggle-checked.mat-button-toggle-appearance-standard {
  color: rgba(0, 0, 0, 0.87);
}
.mat-button-toggle-disabled {
  color: rgba(0, 0, 0, 0.26);
  background-color: #eeeeee;
}
.mat-button-toggle-disabled.mat-button-toggle-appearance-standard {
  background: white;
}
.mat-button-toggle-disabled.mat-button-toggle-checked {
  background-color: #bdbdbd;
}
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.mat-button-toggle-group-appearance-standard {
  border: solid 1px rgba(0, 0, 0, 0.12);
}
.mat-button-toggle-appearance-standard .mat-button-toggle-label-content {
  line-height: 48px;
}
.mat-card {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-card:not([class*=mat-elevation-z]) {
  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);
}
.mat-card.mat-card-flat:not([class*=mat-elevation-z]) {
  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);
}
.mat-card-subtitle {
  color: rgba(0, 0, 0, 0.54);
}
.mat-checkbox-frame {
  border-color: rgba(0, 0, 0, 0.54);
}
.mat-checkbox-checkmark {
  fill: #fafafa;
}
.mat-checkbox-checkmark-path {
  stroke: #fafafa !important;
}
.mat-checkbox-mixedmark {
  background-color: #fafafa;
}
.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #3f51b5;
}
.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #ff4081;
}
.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .mat-checkbox-checked.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, 0.54);
}
.mat-checkbox .mat-ripple-element {
  background-color: black;
}
.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,
.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element {
  background: #3f51b5;
}
.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,
.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {
  background: #ff4081;
}
.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,
.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element {
  background: #f44336;
}
.mat-chip.mat-standard-chip {
  background-color: #e0e0e0;
  color: rgba(0, 0, 0, 0.87);
}
.mat-chip.mat-standard-chip .mat-chip-remove {
  color: rgba(0, 0, 0, 0.87);
  opacity: 0.4;
}
.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {
  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);
}
.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {
  opacity: 0.54;
}
.mat-chip.mat-standard-chip.mat-chip-disabled {
  opacity: 0.4;
}
.mat-chip.mat-standard-chip::after {
  background: black;
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {
  background-color: #3f51b5;
  color: white;
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {
  background-color: #f44336;
  color: white;
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {
  background-color: #ff4081;
  color: white;
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.mat-table {
  background: white;
}
.mat-table thead, .mat-table tbody, .mat-table tfoot,
mat-header-row, mat-row, mat-footer-row,
[mat-header-row], [mat-row], [mat-footer-row],
.mat-table-sticky {
  background: inherit;
}
mat-row, mat-header-row, mat-footer-row,
th.mat-header-cell, td.mat-cell, td.mat-footer-cell {
  border-bottom-color: rgba(0, 0, 0, 0.12);
}
.mat-header-cell {
  color: rgba(0, 0, 0, 0.54);
}
.mat-cell, .mat-footer-cell {
  color: rgba(0, 0, 0, 0.87);
}
.mat-calendar-arrow {
  border-top-color: rgba(0, 0, 0, 0.54);
}
.mat-datepicker-toggle,
.mat-datepicker-content .mat-calendar-next-button,
.mat-datepicker-content .mat-calendar-previous-button {
  color: rgba(0, 0, 0, 0.54);
}
.mat-calendar-table-header {
  color: rgba(0, 0, 0, 0.38);
}
.mat-calendar-table-header-divider::after {
  background: rgba(0, 0, 0, 0.12);
}
.mat-calendar-body-label {
  color: rgba(0, 0, 0, 0.54);
}
.mat-calendar-body-cell-content,
.mat-date-range-input-separator {
  color: rgba(0, 0, 0, 0.87);
  border-color: transparent;
}
.mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  color: rgba(0, 0, 0, 0.38);
}
.mat-form-field-disabled .mat-date-range-input-separator {
  color: rgba(0, 0, 0, 0.38);
}
.mat-calendar-body-in-preview {
  color: rgba(0, 0, 0, 0.24);
}
.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(0, 0, 0, 0.38);
}
.mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(0, 0, 0, 0.18);
}
.mat-calendar-body-in-range::before {
  background: rgba(63, 81, 181, 0.2);
}
.mat-calendar-body-comparison-identical,
.mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.mat-calendar-body-comparison-bridge-start::before,
[dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(63, 81, 181, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.mat-calendar-body-comparison-bridge-end::before,
[dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(63, 81, 181, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.mat-calendar-body-selected {
  background-color: #3f51b5;
  color: white;
}
.mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(63, 81, 181, 0.4);
}
.mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(63, 81, 181, 0.3);
}
.mat-datepicker-content {
  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);
  background-color: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {
  background: rgba(255, 64, 129, 0.2);
}
.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,
.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,
.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(255, 64, 129, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,
.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(255, 64, 129, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.mat-datepicker-content.mat-accent .mat-calendar-body-selected {
  background-color: #ff4081;
  color: white;
}
.mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(255, 64, 129, 0.4);
}
.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(255, 64, 129, 0.3);
}
.mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {
  background: rgba(244, 67, 54, 0.2);
}
.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,
.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,
.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(244, 67, 54, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,
.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(244, 67, 54, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.mat-datepicker-content.mat-warn .mat-calendar-body-selected {
  background-color: #f44336;
  color: white;
}
.mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(244, 67, 54, 0.4);
}
.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(244, 67, 54, 0.3);
}
.mat-datepicker-content-touch {
  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);
}
.mat-datepicker-toggle-active {
  color: #3f51b5;
}
.mat-datepicker-toggle-active.mat-accent {
  color: #ff4081;
}
.mat-datepicker-toggle-active.mat-warn {
  color: #f44336;
}
.mat-date-range-input-inner[disabled] {
  color: rgba(0, 0, 0, 0.38);
}
.mat-dialog-container {
  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);
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-divider {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.mat-divider-vertical {
  border-right-color: rgba(0, 0, 0, 0.12);
}
.mat-expansion-panel {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-expansion-panel:not([class*=mat-elevation-z]) {
  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);
}
.mat-action-row {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]), .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]), .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]) {
  background: rgba(0, 0, 0, 0.04);
}
@media (hover: none) {
  .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover {
    background: white;
  }
}
.mat-expansion-panel-header-title {
  color: rgba(0, 0, 0, 0.87);
}
.mat-expansion-panel-header-description,
.mat-expansion-indicator::after {
  color: rgba(0, 0, 0, 0.54);
}
.mat-expansion-panel-header[aria-disabled=true] {
  color: rgba(0, 0, 0, 0.26);
}
.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,
.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description {
  color: inherit;
}
.mat-expansion-panel-header {
  height: 48px;
}
.mat-expansion-panel-header.mat-expanded {
  height: 64px;
}
.mat-form-field-label {
  color: rgba(0, 0, 0, 0.6);
}
.mat-hint {
  color: rgba(0, 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, 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-accent,
.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {
  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, 0.54);
}
.mat-form-field-appearance-legacy .mat-hint {
  color: rgba(0, 0, 0, 0.54);
}
.mat-form-field-appearance-legacy .mat-form-field-underline {
  background-color: rgba(0, 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, 0.42) 0%, rgba(0, 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, 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, 0.42) 0%, rgba(0, 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, 0.04);
}
.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {
  background-color: rgba(0, 0, 0, 0.02);
}
.mat-form-field-appearance-fill .mat-form-field-underline::before {
  background-color: rgba(0, 0, 0, 0.42);
}
.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {
  color: rgba(0, 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, 0.12);
}
.mat-form-field-appearance-outline .mat-form-field-outline-thick {
  color: rgba(0, 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, 0.38);
}
.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {
  color: rgba(0, 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, 0.54);
}
.mat-input-element:disabled,
.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {
  color: rgba(0, 0, 0, 0.38);
}
.mat-input-element {
  caret-color: #3f51b5;
}
.mat-input-element::-moz-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.mat-input-element::placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.mat-input-element::-moz-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.mat-input-element::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.mat-input-element:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.mat-form-field.mat-accent .mat-input-element {
  caret-color: #ff4081;
}
.mat-form-field.mat-warn .mat-input-element,
.mat-form-field-invalid .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, 0.87);
}
.mat-list-base .mat-list-option {
  color: rgba(0, 0, 0, 0.87);
}
.mat-list-base .mat-subheader {
  color: rgba(0, 0, 0, 0.54);
}
.mat-list-item-disabled {
  background-color: #eeeeee;
}
.mat-list-option:hover, .mat-list-option:focus,
.mat-nav-list .mat-list-item:hover,
.mat-nav-list .mat-list-item:focus,
.mat-action-list .mat-list-item:hover,
.mat-action-list .mat-list-item:focus {
  background: rgba(0, 0, 0, 0.04);
}
.mat-list-single-selected-option, .mat-list-single-selected-option:hover, .mat-list-single-selected-option:focus {
  background: rgba(0, 0, 0, 0.12);
}
.mat-menu-panel {
  background: white;
}
.mat-menu-panel:not([class*=mat-elevation-z]) {
  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);
}
.mat-menu-item {
  background: transparent;
  color: rgba(0, 0, 0, 0.87);
}
.mat-menu-item[disabled], .mat-menu-item[disabled]::after,
.mat-menu-item[disabled] .mat-icon-no-color {
  color: rgba(0, 0, 0, 0.38);
}
.mat-menu-item .mat-icon-no-color,
.mat-menu-item-submenu-trigger::after {
  color: rgba(0, 0, 0, 0.54);
}
.mat-menu-item:hover:not([disabled]),
.mat-menu-item.cdk-program-focused:not([disabled]),
.mat-menu-item.cdk-keyboard-focused:not([disabled]),
.mat-menu-item-highlighted:not([disabled]) {
  background: rgba(0, 0, 0, 0.04);
}
.mat-paginator {
  background: white;
}
.mat-paginator,
.mat-paginator-page-size .mat-select-trigger {
  color: rgba(0, 0, 0, 0.54);
}
.mat-paginator-decrement,
.mat-paginator-increment {
  border-top: 2px solid rgba(0, 0, 0, 0.54);
  border-right: 2px solid rgba(0, 0, 0, 0.54);
}
.mat-paginator-first,
.mat-paginator-last {
  border-top: 2px solid rgba(0, 0, 0, 0.54);
}
.mat-icon-button[disabled] .mat-paginator-decrement,
.mat-icon-button[disabled] .mat-paginator-increment,
.mat-icon-button[disabled] .mat-paginator-first,
.mat-icon-button[disabled] .mat-paginator-last {
  border-color: rgba(0, 0, 0, 0.38);
}
.mat-paginator-container {
  min-height: 56px;
}
.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, 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-checked .mat-radio-outer-circle,
.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {
  border-color: rgba(0, 0, 0, 0.38);
}
.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,
.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {
  background-color: rgba(0, 0, 0, 0.38);
}
.mat-radio-button.mat-radio-disabled .mat-radio-label-content {
  color: rgba(0, 0, 0, 0.38);
}
.mat-radio-button .mat-ripple-element {
  background-color: black;
}
.mat-select-value {
  color: rgba(0, 0, 0, 0.87);
}
.mat-select-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.mat-select-disabled .mat-select-value {
  color: rgba(0, 0, 0, 0.38);
}
.mat-select-arrow {
  color: rgba(0, 0, 0, 0.54);
}
.mat-select-panel {
  background: white;
}
.mat-select-panel:not([class*=mat-elevation-z]) {
  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);
}
.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  background: rgba(0, 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, 0.38);
}
.mat-drawer-container {
  background-color: #fafafa;
  color: rgba(0, 0, 0, 0.87);
}
.mat-drawer {
  background-color: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-drawer.mat-drawer-push {
  background-color: white;
}
.mat-drawer:not(.mat-drawer-side) {
  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);
}
.mat-drawer-side {
  border-right: solid 1px rgba(0, 0, 0, 0.12);
}
.mat-drawer-side.mat-drawer-end {
  border-left: solid 1px rgba(0, 0, 0, 0.12);
  border-right: none;
}
[dir=rtl] .mat-drawer-side {
  border-left: solid 1px rgba(0, 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, 0.12);
}
.mat-drawer-backdrop.mat-drawer-shown {
  background-color: rgba(0, 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, 0.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, 0.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, 0.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: black;
}
.mat-slide-toggle-thumb {
  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);
  background-color: #fafafa;
}
.mat-slide-toggle-bar {
  background-color: rgba(0, 0, 0, 0.38);
}
.mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.26);
}
.mat-primary .mat-slider-track-fill,
.mat-primary .mat-slider-thumb,
.mat-primary .mat-slider-thumb-label {
  background-color: #3f51b5;
}
.mat-primary .mat-slider-thumb-label-text {
  color: white;
}
.mat-primary .mat-slider-focus-ring {
  background-color: rgba(63, 81, 181, 0.2);
}
.mat-accent .mat-slider-track-fill,
.mat-accent .mat-slider-thumb,
.mat-accent .mat-slider-thumb-label {
  background-color: #ff4081;
}
.mat-accent .mat-slider-thumb-label-text {
  color: white;
}
.mat-accent .mat-slider-focus-ring {
  background-color: rgba(255, 64, 129, 0.2);
}
.mat-warn .mat-slider-track-fill,
.mat-warn .mat-slider-thumb,
.mat-warn .mat-slider-thumb-label {
  background-color: #f44336;
}
.mat-warn .mat-slider-thumb-label-text {
  color: white;
}
.mat-warn .mat-slider-focus-ring {
  background-color: rgba(244, 67, 54, 0.2);
}
.mat-slider:hover .mat-slider-track-background,
.cdk-focused .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.38);
}
.mat-slider-disabled .mat-slider-track-background,
.mat-slider-disabled .mat-slider-track-fill,
.mat-slider-disabled .mat-slider-thumb {
  background-color: rgba(0, 0, 0, 0.26);
}
.mat-slider-disabled:hover .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.26);
}
.mat-slider-min-value .mat-slider-focus-ring {
  background-color: rgba(0, 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, 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, 0.26);
}
.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.26);
  background-color: transparent;
}
.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.38);
}
.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.26);
}
.mat-slider-has-ticks .mat-slider-wrapper::after {
  border-color: rgba(0, 0, 0, 0.7);
}
.mat-slider-horizontal .mat-slider-ticks {
  background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
  background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(0, 0, 0, 0.7), rgba(0, 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, 0.7), rgba(0, 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, 0.04);
}
@media (hover: none) {
  .mat-step-header:hover {
    background: none;
  }
}
.mat-step-header .mat-step-label,
.mat-step-header .mat-step-optional {
  color: rgba(0, 0, 0, 0.54);
}
.mat-step-header .mat-step-icon {
  background-color: rgba(0, 0, 0, 0.54);
  color: white;
}
.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: white;
}
.mat-step-header.mat-accent .mat-step-icon {
  color: white;
}
.mat-step-header.mat-accent .mat-step-icon-selected,
.mat-step-header.mat-accent .mat-step-icon-state-done,
.mat-step-header.mat-accent .mat-step-icon-state-edit {
  background-color: #ff4081;
  color: white;
}
.mat-step-header.mat-warn .mat-step-icon {
  color: white;
}
.mat-step-header.mat-warn .mat-step-icon-selected,
.mat-step-header.mat-warn .mat-step-icon-state-done,
.mat-step-header.mat-warn .mat-step-icon-state-edit {
  background-color: #f44336;
  color: white;
}
.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, 0.87);
}
.mat-step-header .mat-step-label.mat-step-label-error {
  color: #f44336;
}
.mat-stepper-horizontal, .mat-stepper-vertical {
  background-color: white;
}
.mat-stepper-vertical-line::before {
  border-left-color: rgba(0, 0, 0, 0.12);
}
.mat-horizontal-stepper-header::before,
.mat-horizontal-stepper-header::after,
.mat-stepper-horizontal-line {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.mat-horizontal-stepper-header {
  height: 72px;
}
.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,
.mat-vertical-stepper-header {
  padding: 24px 24px;
}
.mat-stepper-vertical-line::before {
  top: -16px;
  bottom: -16px;
}
.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after, .mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before {
  top: 36px;
}
.mat-stepper-label-position-bottom .mat-stepper-horizontal-line {
  top: 36px;
}
.mat-sort-header-arrow {
  color: #757575;
}
.mat-tab-nav-bar,
.mat-tab-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.mat-tab-group-inverted-header .mat-tab-nav-bar,
.mat-tab-group-inverted-header .mat-tab-header {
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: none;
}
.mat-tab-label, .mat-tab-link {
  color: rgba(0, 0, 0, 0.87);
}
.mat-tab-label.mat-tab-disabled, .mat-tab-link.mat-tab-disabled {
  color: rgba(0, 0, 0, 0.38);
}
.mat-tab-header-pagination-chevron {
  border-color: rgba(0, 0, 0, 0.87);
}
.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(0, 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, 0.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: white;
}
.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, 0.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: white;
}
.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, 0.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: white;
}
.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, 0.3);
}
.mat-tab-group.mat-background-primary .mat-tab-header, .mat-tab-group.mat-background-primary .mat-tab-links, .mat-tab-group.mat-background-primary .mat-tab-header-pagination, .mat-tab-nav-bar.mat-background-primary .mat-tab-header, .mat-tab-nav-bar.mat-background-primary .mat-tab-links, .mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination {
  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: white;
}
.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, 0.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: white;
}
.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, 0.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, 0.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, 0.3);
}
.mat-tab-group.mat-background-accent .mat-tab-header, .mat-tab-group.mat-background-accent .mat-tab-links, .mat-tab-group.mat-background-accent .mat-tab-header-pagination, .mat-tab-nav-bar.mat-background-accent .mat-tab-header, .mat-tab-nav-bar.mat-background-accent .mat-tab-links, .mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination {
  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: white;
}
.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, 0.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: white;
}
.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, 0.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, 0.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, 0.3);
}
.mat-tab-group.mat-background-warn .mat-tab-header, .mat-tab-group.mat-background-warn .mat-tab-links, .mat-tab-group.mat-background-warn .mat-tab-header-pagination, .mat-tab-nav-bar.mat-background-warn .mat-tab-header, .mat-tab-nav-bar.mat-background-warn .mat-tab-links, .mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination {
  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: white;
}
.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, 0.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: white;
}
.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, 0.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, 0.12);
}
.mat-toolbar {
  background: whitesmoke;
  color: rgba(0, 0, 0, 0.87);
}
.mat-toolbar.mat-primary {
  background: #3f51b5;
  color: white;
}
.mat-toolbar.mat-accent {
  background: #ff4081;
  color: white;
}
.mat-toolbar.mat-warn {
  background: #f44336;
  color: white;
}
.mat-toolbar .mat-form-field-underline,
.mat-toolbar .mat-form-field-ripple,
.mat-toolbar .mat-focused .mat-form-field-ripple {
  background-color: currentColor;
}
.mat-toolbar .mat-form-field-label,
.mat-toolbar .mat-focused .mat-form-field-label,
.mat-toolbar .mat-select-value,
.mat-toolbar .mat-select-arrow,
.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {
  color: inherit;
}
.mat-toolbar .mat-input-element {
  caret-color: currentColor;
}
.mat-toolbar-multiple-rows {
  min-height: 64px;
}
.mat-toolbar-row, .mat-toolbar-single-row {
  height: 64px;
}
@media (max-width: 599px) {
  .mat-toolbar-multiple-rows {
    min-height: 56px;
  }

  .mat-toolbar-row, .mat-toolbar-single-row {
    height: 56px;
  }
}
.mat-tooltip {
  background: rgba(97, 97, 97, 0.9);
}
.mat-tree {
  background: white;
}
.mat-tree-node,
.mat-nested-tree-node {
  color: rgba(0, 0, 0, 0.87);
}
.mat-tree-node {
  min-height: 48px;
}
.mat-snack-bar-container {
  color: rgba(255, 255, 255, 0.7);
  background: #323232;
  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);
}
.mat-simple-snackbar-action {
  color: #ff4081;
}
/* You can add global styles to this file, and also import other style files */
.notifier__container * {
  box-sizing: border-box;
}
.notifier__container-list {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
}
.notifier__notification {
  display: block;
  position: fixed;
  visibility: hidden;
  z-index: 10000;
  will-change: transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.notifier__notification--material {
  border-radius: 3px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  cursor: default;
  padding-top: 11px;
  padding-right: 26px;
  padding-bottom: 10px;
  padding-left: 26px;
}
.notifier__notification--material .notifier__notification-message {
  display: inline-block;
  margin-top: 0;
  margin-bottom: 0;
  vertical-align: top;
  line-height: 32px;
  font-size: 15px;
}
.notifier__notification--material .notifier__notification-button {
  display: inline-block;
  transition: opacity 0.2s ease;
  opacity: 0.5;
  margin-right: -10px;
  margin-left: 10px;
  outline: none;
  border: none;
  background: none;
  cursor: pointer;
  padding: 6px;
  width: 32px;
  height: 32px;
  vertical-align: top;
}
.notifier__notification--material .notifier__notification-button:hover, .notifier__notification--material .notifier__notification-button:focus {
  opacity: 1;
}
.notifier__notification--material .notifier__notification-button:active {
  transform: scale(0.82);
  opacity: 1;
}
.notifier__notification--default {
  background-color: #444;
  color: #FFF;
}
.notifier__notification--default .notifier__notification-button-icon {
  fill: #FFF;
}
.notifier__notification--error {
  background-color: #D9534F;
  color: #FFF;
}
.notifier__notification--error .notifier__notification-button-icon {
  fill: #FFF;
}
.notifier__notification--info {
  background-color: #5BC0DE;
  color: #FFF;
}
.notifier__notification--info .notifier__notification-button-icon {
  fill: #FFF;
}
.notifier__notification--success {
  background-color: #5CB85C;
  color: #FFF;
}
.notifier__notification--success .notifier__notification-button-icon {
  fill: #FFF;
}
.notifier__notification--warning {
  background-color: #F0AD4E;
  color: #FFF;
}
.notifier__notification--warning .notifier__notification-button-icon {
  fill: #FFF;
}
body.dialog-open {
  overflow: hidden;
}
.nsm-dialog-btn-close {
  border: 0;
  background: none;
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 1.2em;
  cursor: pointer;
}
.overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow-x: hidden;
  overflow-y: auto;
  transition: background-color 500ms;
  background-color: transparent;
  z-index: 999;
}
.overlay.nsm-overlay-open {
  background-color: rgba(0, 0, 0, 0.5);
}
.overlay.transparent {
  background-color: transparent;
}
.nsm-dialog {
  position: relative;
  opacity: 1;
  visibility: visible;
  min-height: 200px;
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  pointer-events: none;
  outline: none;
}
.nsm-dialog.nsm-dialog-close {
  opacity: 0;
}
.nsm-dialog.nsm-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - (1.75rem * 2));
}
.nsm-content {
  position: relative;
  display: flex;
  flex-direction: column;
  pointer-events: auto;
  background-clip: padding-box;
  background-color: #fff;
  border-radius: 2px;
  padding: 1rem;
  margin-top: 1.75rem;
  margin-bottom: 1.75rem;
  margin-left: 1.75rem;
  margin-right: 1.75rem;
  box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 13px 19px 2px rgba(0, 0, 0, 0.14), 0 5px 24px 4px rgba(0, 0, 0, 0.12);
  outline: 0;
  transform: translate3d(0, 0, 0);
}
.nsm-body {
  position: relative;
  flex: 1 1 auto;
}
/* *************************
* Animations
* *************************/
.nsm-dialog[class*=nsm-dialog-animation-] {
  transition: transform 500ms ease-in-out, opacity 500ms;
}
.nsm-dialog-animation-ltr {
  transform: translate3d(-50%, 0, 0);
}
.nsm-dialog-animation-ltr.nsm-dialog-open {
  transform: translate3d(0, 0, 0);
}
.nsm-dialog-animation-ltr.nsm-dialog-close {
  transform: translate3d(-50%, 0, 0);
}
.nsm-dialog-animation-rtl {
  transform: translate3d(50%, 0, 0);
}
.nsm-dialog-animation-rtl.nsm-dialog-open {
  transform: translate3d(0, 0, 0);
}
.nsm-dialog-animation-rtl.nsm-dialog-close {
  transform: translate3d(50%, 0, 0);
}
.nsm-dialog-animation-ttb {
  transform: translate3d(0, -50%, 0);
}
.nsm-dialog-animation-ttb.nsm-dialog-open {
  transform: translate3d(0, 0, 0);
}
.nsm-dialog-animation-ttb.nsm-dialog-close {
  transform: translate3d(0, -50%, 0);
}
.nsm-dialog-animation-btt {
  transform: translate3d(0, 50%, 0);
}
.nsm-dialog-animation-btt.nsm-dialog-open {
  transform: translate3d(0, 0, 0);
}
.nsm-dialog-animation-btt.nsm-dialog-close {
  transform: translate3d(0, 50%, 0);
}
.navbar-brand-img {
  max-height: 5.5rem !important;
}
.nsm-dialog.medium-modal {
  max-width: 85%;
}
.nsm-dialog.small-modal {
  max-width: 60%;
}
.app-loading {
  overflow: hidden;
  position: fixed;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  /*centers items on the line (the x-axis by default)*/
  align-items: center;
  z-index: 1100;
  background: white;
  opacity: 0.7;
  top: 0;
  left: 0;
}
.app-loading-message {
  text-align: center;
  height: 200px;
  width: 500px;
  transform-origin: center center;
  position: absolute;
  top: 400px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.app-loading .spinner {
  height: 200px;
  width: 200px;
  -webkit-animation: rotate 2s linear infinite;
          animation: rotate 2s linear infinite;
  transform-origin: center center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.app-loading .spinner .path {
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  -webkit-animation: dash 1.5s ease-in-out infinite;
          animation: dash 1.5s ease-in-out infinite;
  stroke-linecap: round;
  stroke: #ddd;
}
.app-loading .logo {
  background-image: url(https://opolen.com.br/content/assets/img/o-polen.svg);
  height: 100px;
  width: 100px;
  background-size: 100px 100px;
}
@-webkit-keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}
@keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}
.videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0;
}
.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.cut-text {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
html, body {
  height: 100%;
}
body {
  margin: 0;
  font-family: Roboto, "Helvetica Neue", sans-serif;
  background-color: #FFFFFF !important;
}
main h1,
main h2,
h5 {
  color: #000000;
}
main {
  color: #000000;
}
section {
  margin-top: 20px;
}
.container-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  -moz-column-gap: 1%;
       column-gap: 1%;
}
.container-grid-10 {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  -moz-column-gap: 1%;
       column-gap: 1%;
}
.container-grid-start-2 {
  grid-column-start: 2;
  grid-column-end: 12;
}
@media (min-width: 760px) {
  .grid-column-1 {
    grid-column: span 1;
  }

  .grid-column-2 {
    grid-column: span 2;
  }

  .grid-column-3 {
    grid-column: span 3;
  }

  .grid-column-4 {
    grid-column: span 4;
  }

  .grid-column-5 {
    grid-column: span 5;
  }

  .grid-column-6 {
    grid-column: span 6;
  }

  .grid-column-7 {
    grid-column: span 7;
  }

  .grid-column-8 {
    grid-column: span 8;
  }

  .grid-column-9 {
    grid-column: span 9;
  }

  .grid-column-10 {
    grid-column: span 10;
  }

  .grid-column-11 {
    grid-column: span 11;
  }

  .grid-column-12 {
    grid-column: span 12;
  }
}
@media (max-width: 760px) {
  .grid-sm-column-none {
    display: none;
  }

  .grid-sm-column-1 {
    grid-column: span 1;
  }

  .grid-sm-column-2 {
    grid-column: span 2;
  }

  .grid-sm-column-3 {
    grid-column: span 3;
  }

  .grid-sm-column-4 {
    grid-column: span 4;
  }

  .grid-sm-column-5 {
    grid-column: span 5;
  }

  .grid-sm-column-6 {
    grid-column: span 6;
  }

  .grid-sm-column-7 {
    grid-column: span 7;
  }

  .grid-sm-column-8 {
    grid-column: span 8;
  }

  .grid-sm-column-9 {
    grid-column: span 9;
  }

  .grid-sm-column-10 {
    grid-column: span 10;
  }

  .grid-sm-column-11 {
    grid-column: span 11;
  }

  .grid-sm-column-12 {
    grid-column: span 12;
  }
}
.card-dashboard {
  color: #C4C4C4;
  background-color: #FFFFFF;
  box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.15);
  border-radius: 20px;
  margin: 15px 5px;
  padding: 15px 10px;
  text-align: center;
}
.card-dashboard-title-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.dashboard-title-text {
  line-height: 1rem;
}
.card-dasboard-value {
  margin: 5px 0;
  color: #000000;
  font-size: 1.7rem;
}
.card-dasboard-subtitle {
  font-size: 0.8rem;
}
.icon-circle {
  line-height: 1.9rem;
  justify-content: center;
  align-content: center;
  min-width: 1.6rem;
  min-height: 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
  max-width: 1.6rem;
  max-height: 1.6rem;
  border-radius: 50%;
  color: #FFFFFF;
  text-align: center;
}
.dashboard-title-explain {
  font-size: 9px;
  margin-bottom: 9px;
  border: 1px solid #C4C4C4;
  color: #C4C4C4;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  text-align: center;
  line-height: 1;
  cursor: pointer;
}
.button-small {
  width: 35%;
}
.button-blue {
  background: #5E72E4;
}
.button-disabled {
  background: #a5a5a5;
}
.button-green {
  background: #02902A;
}
.button-green-light {
  background-color: #2DCE89;
}
.button-todos {
  border: 3px solid #A5A6F6;
  color: #000000;
}
.button-red {
  background: #FF002E;
}
.button-orange {
  background: #FF8A00;
}
.button-yellow {
  background: #F5ED2E;
}
.button-excel {
  border: none;
  color: #FFFFFF;
  padding: 5px 15px;
  font-size: 1.18rem;
  justify-content: center;
  cursor: pointer;
  border-radius: 30px;
}
.button-filter {
  display: flex;
  justify-content: center;
  color: #000000;
  border-radius: 20px;
  padding: 5px 10px;
  font-size: 0.75rem;
  cursor: pointer;
}
.status-pendente {
  background-color: #FF8A00;
}
.status-cancelado {
  background-color: #FF002E;
}
.status-processando {
  background-color: #7695CD;
}
.status-agendado {
  background-color: #F5ED2E;
  color: #000000 !important;
}
.status-pago {
  background-color: #12D301;
}
.filter-no-selected-all {
  border: 3px solid #A5A6F6;
  background-color: #FFFFFF;
}
.filter-selected-all {
  background-color: #A5A6F6 !important;
}
.filter-no-selected-pending {
  border: 3px solid #FF8A00;
  background-color: #FFFFFF;
}
.filter-selected-pending {
  background-color: #FF8A00 !important;
}
.filter-no-selected-canceled {
  border: 3px solid #FF002E;
  background-color: #FFFFFF;
}
.filter-selected-canceled {
  background-color: #FF002E !important;
}
.filter-no-selected-processing {
  border: 3px solid #7695CD;
  background-color: #FFFFFF;
}
.filter-selected-processing {
  background-color: #7695CD !important;
}
.filter-no-selected-scheduled {
  border: 3px solid #F5ED2E;
  background-color: #FFFFFF;
}
.filter-selected-scheduled {
  background-color: #F5ED2E !important;
}
.filter-no-selected-concluded {
  border: 3px solid #12D301;
  background-color: #FFFFFF;
}
.filter-selected-concluded {
  background-color: #12D301 !important;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9AYW5ndWxhci9tYXRlcmlhbC9fdGhlbWluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BuZy1zZWxlY3Qvbmctc2VsZWN0L3RoZW1lcy9tYXRlcmlhbC50aGVtZS5jc3MiLCIuLi9zdHlsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmd1bGFyLW5vdGlmaWVyL3N0eWxlcy9jb3JlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5ndWxhci1ub3RpZmllci9zdHlsZXMvdGhlbWVzL3RoZW1lLW1hdGVyaWFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5ndWxhci1ub3RpZmllci9zdHlsZXMvdHlwZXMvdHlwZS1kZWZhdWx0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5ndWxhci1ub3RpZmllci9zdHlsZXMvdHlwZXMvdHlwZS1lcnJvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuZ3VsYXItbm90aWZpZXIvc3R5bGVzL3R5cGVzL3R5cGUtaW5mby5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuZ3VsYXItbm90aWZpZXIvc3R5bGVzL3R5cGVzL3R5cGUtc3VjY2Vzcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuZ3VsYXItbm90aWZpZXIvc3R5bGVzL3R5cGVzL3R5cGUtd2FybmluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25neC1zbWFydC1tb2RhbC9uZ3gtc21hcnQtbW9kYWwuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEydERBLG1DQUFBO0FBZ0pBLHlEQUFBO0FBdWJBLHlEQUFBO0FBaTFEQSwyQ0FBQTtBQTZDQSxxQkFBQTtBQ2hxSUEsV0FBVyxxQkFBcUI7QUFBQyx5REFBeUQsK0JBQStCLENBQUMscUdBQXFHLENBQUMsdUJBQXVCLENBQUMsMEJBQTBCO0FBQUMsaUZBQWlGLHNCQUFzQjtBQUFDLHVGQUF1RixzQkFBc0I7QUFBQywwR0FBMEcsc0JBQXNCO0FBQUMsd0RBQXdELG9CQUFvQixDQUFDLGdCQUFnQjtBQUFDLGtLQUFrSyxvQkFBb0IsQ0FBQyxnQkFBZ0I7QUFBQyxzRkFBc0YsbUZBQW1GLENBQUMsYUFBYTtBQUFDLDhFQUE4RSxhQUFhO0FBQUMsNEdBQTRHLGVBQWU7QUFBQyxxRkFBcUYsbUZBQW1GO0FBQUMsZ0NBQWdDLHNCQUFzQixDQUFDLG9CQUFvQixDQUFDLGlCQUFpQjtBQUFDLHNDQUFzQyx5Q0FBeUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsNkRBQTZEO0FBQUMsc0RBQXNELGNBQWMsQ0FBQyxlQUFlO0FBQUMsNERBQTRELGlDQUFpQyxDQUFDLGlCQUFpQixDQUFDLHdCQUF3QixDQUFDLG1CQUFtQixDQUFDLDZEQUE2RDtBQUFDLGtFQUFrRSw2QkFBNkIsQ0FBQyxnQkFBZ0I7QUFBQyxzRUFBc0UsZUFBZSxDQUFDLHFCQUFxQixDQUFDLFNBQVM7QUFBQyxnRUFBZ0Usa0JBQWtCO0FBQUMsb0RBQW9ELG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLHFDQUFxQztBQUFDLG9FQUFvRSxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsQ0FBQyxrSkFBa0o7QUFBQyxnRkFBZ0Ysd0JBQXdCO0FBQUMsOERBQThELGNBQWM7QUFBQyx5RkFBeUYsV0FBVztBQUFDLHlGQUF5RixXQUFXO0FBQUMsbUVBQW1FLG1CQUFtQixDQUFDLFVBQVU7QUFBQyxtRUFBbUUsbUJBQW1CLENBQUMsVUFBVTtBQUFDLG9HQUFvRyxpQ0FBaUMsQ0FBQyxzQkFBc0I7QUFBQyxrS0FBa0sscUJBQXFCLENBQUMsa0NBQWtDO0FBQUMsZ05BQWdOLGVBQWU7QUFBQywyRkFBMkYsS0FBSztBQUFDLDJGQUEyRixPQUFPO0FBQUMsaUZBQWlGLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsNEJBQTRCO0FBQUMsNkZBQTZGLDRCQUE0QjtBQUFDLG1HQUFtRyxpQ0FBaUMsQ0FBQyxzQkFBc0I7QUFBQyxpR0FBaUcsY0FBYyxDQUFDLGVBQWU7QUFBQyxnR0FBZ0csNEJBQTRCLENBQUMsaUJBQWlCO0FBQUMsNEdBQTRHLGdCQUFnQixDQUFDLGVBQWU7QUFBQyxzR0FBc0csNEJBQTRCO0FBQUMsaUZBQWlGLG1CQUFtQjtBQUFDLGdFQUFnRSxrQkFBa0I7QUFBQyxvRkFBb0YsZ0JBQWdCLENBQUMsbUJBQW1CO0FBQUMsb0tBQW9LLHFDQUFxQztBQUFDLDZCQUE2QixzQkFBc0I7QUFBQyxtQ0FBbUMsc0JBQXNCO0FBQUMsNkJBQTZCLFVBQVU7QUFBQyx1Q0FBdUMsaUNBQWlDLENBQUMsa0NBQWtDLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLHNCQUFzQjtBQUFDLDRCQUE0QixPQUFPO0FBQUMsbUJBQW1CLGVBQWUsQ0FBQyxNQUFNO0FBQUMsb0NBQW9DLHVCQUF1QixDQUFDLHlHQUF5RztBQUFDLGlDQUFpQyw0QkFBNEIsQ0FBQyw0R0FBNEc7QUFBQyxnREFBZ0QsZUFBZTtBQUFDLDhDQUE4QywyQkFBMkI7QUFBQyx1Q0FBdUMsd0NBQXdDLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxjQUFjO0FBQUMsdUNBQXVDLHFDQUFxQyxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsY0FBYztBQUFDLHlEQUF5RCx3QkFBZ0IsQ0FBaEIscUJBQWdCLENBQWhCLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlO0FBQUMsMEVBQTBFLDJCQUEyQjtBQUFDLDRFQUE0RSxjQUFjO0FBQUMsNEVBQTRFLDJCQUEyQixDQUFDLGFBQWE7QUFBQyx1REFBdUQsZUFBZSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLGVBQWU7QUFBQyxtRUFBbUUsZ0JBQWdCO0FBQUMsd0VBQXdFLDJCQUEyQixDQUFDLHNCQUFzQjtBQUFDLDBFQUEwRSwyQkFBMkIsQ0FBQyxhQUFhO0FBQUMsMEVBQTBFLHNCQUFzQjtBQUFDLHVFQUF1RSxpQkFBaUI7QUFBQyxtRkFBbUYsa0JBQWtCLENBQUMsY0FBYztBQUFDLHFFQUFxRSxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLHNCQUFzQjtBQUFDLGlGQUFpRixnQkFBZ0IsQ0FBQyxlQUFlO0FENG1GeHNRO0VBQ0UsZ0JBdkxvQjtFQXdMcEIsZUF6TGtCO0VBMExsQixpREFBQTtBRXJtRko7QUZ3bUZFO0VBRUUsY0FBQTtBRXRtRko7QUZ5bUZFO0VBQ0UsZUFBQTtBRXRtRko7QUZreEVFO0VBaldFLHdEQUFBO0VBWUYsc0JBQUE7RUF1VkUsZ0JBQUE7QUU5d0VKO0FGaXhFRTtFQXRXRSx3REFBQTtFQVlGLHNCQUFBO0VBNFZFLGdCQUFBO0FFN3dFSjtBRmd4RUU7RUEzV0Usd0RBQUE7RUFZRixzQkFBQTtFQWlXRSxnQkFBQTtBRTV3RUo7QUYrd0VFO0VBaFhFLHdEQUFBO0VBWUYsc0JBQUE7RUFzV0UsZ0JBQUE7QUUzd0VKO0FGaXhFRTtFQXhYRSxxRUFBQTtFQWlZQSxnQkFBQTtBRXJ4RUo7QUZ3eEVFO0VBcFlFLHFFQUFBO0VBNllBLGdCQUFBO0FFNXhFSjtBRit4RUU7RUFoWkUsd0RBQUE7RUFZRixzQkFBQTtBRXQ1REY7QUY4eEVFO0VBcFpFLHdEQUFBO0VBWUYsc0JBQUE7QUVqNURGO0FGNHhFSTtFQUNFLGdCQUFBO0FFMXhFTjtBRjh4RUU7RUE1WkUsd0RBQUE7RUFZRixzQkFBQTtBRXo0REY7QUY2eEVFO0VBaGFFLDBEQUFBO0VBWUYsdUJBQUE7RUFzWkUsZ0JBQUE7QUV6eEVKO0FGNHhFRTtFQXJhRSx3REFBQTtFQVlGLHVCQUFBO0VBMlpFLGdCQUFBO0FFeHhFSjtBRjJ4RUU7RUExYUUsd0RBQUE7RUFZRix3QkFBQTtFQWdhRSxnQkFBQTtBRXZ4RUo7QUYweEVFO0VBL2FFLHdEQUFBO0VBWUYsc0JBQUE7RUFxYUUsZ0JBQUE7QUV0eEVKO0FGdWtGRTtFQWx1QkUsd0RBQUE7RUFZRixzQkFBQTtBRTUyREY7QUZpd0ZFOztFQUdJLGlEQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FFL3ZGTjtBRm84RkU7RUFDRSxpREFBQTtBRWo4Rko7QUZrZ0dFO0VBQ0UsaURBQUE7QUUvL0ZKO0FGa2dHRTtFQUVJLGVBQUE7RUFDQSxnQkFBQTtBRWhnR047QUZvZ0dFO0VBQ0UsZUFBQTtBRWpnR0o7QUZvZ0dFOztFQUVFLGVBQUE7QUVqZ0dKO0FGOG5HRTtFQUNFLGlEQUFBO0FFM25HSjtBRituR0U7RUFDRSxpQkFBQTtBRTVuR0o7QUZndkdFO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0FFN3VHSjtBRit1R0k7O0VBRUUsZUEzRnNCO0FFbHBHNUI7QUZzMUdFO0VBQ0UsaURBQUE7QUVuMUdKO0FGczFHRTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtBRW4xR0o7QUZzMUdFO0VBQ0UsZUFBQTtBRW4xR0o7QUZtaUhFO0VBQ0UsaURBQUE7QUVoaUhKO0FGbWlIRTtFQUNFLGVBakwwQjtBRS8yRzlCO0FGbWlIRTs7RUFHSSxlQUFBO0VBQ0EsZ0JBQUE7QUVqaUhOO0FGcWlIRTtFQUVJLGVBN0xpQztFQThMakMsZ0JBQUE7QUVuaUhOO0FGc25IRTtFQXAyREUsd0RBQUE7RUFZRixzQkFBQTtBRXp4REY7QUZ3dUhFO0VBRUksaURBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QUV0dUhOO0FGMHVIRTtFQW4rREUsd0RBQUE7RUFZRixzQkFBQTtBRTl3REY7QUYyNk1FO0VBbHJKRSxrQkFlVTtFQWRWLGdCQWVZO0VBZFosa0JBZVk7RUFkWixpREFlWTtFQUdkLHNCQUFBO0FFdHdERjtBRnU2TUU7RUFDRSx5QkFQdUI7QUU3NU0zQjtBRjA2TUk7O0VBQ0UsZUF2QjJCO0VBd0IzQixrQkF0Q1U7QUVoNE1oQjtBRjA2TUk7O0VBQ0UsYUFBQTtFQUNBLFlBQUE7QUV2Nk1OO0FGeTZNTTs7RUFDRSxlQUFBO0VBQ0Esa0JBaERRO0FFdDNNaEI7QUYyNk1FO0VBQ0UsZ0JBQUE7RUFFQSx1Q0FBQTtBRXo2TUo7QUY2Nk1JOztFQXRFRiw2Q0FBQTtFQUVBLHNCQUFBO0FFbjJNRjtBRis2TUk7RUE5RUYsNkNBQUE7RUFFQSxzQkFBQTtBRS8xTUY7QUZrN01FO0VBQ0UsZUFBQTtFQUNBLHNCQW5FaUI7QUU1Mk1yQjtBRms3TUU7RUFDRSxjQUFBO0FFLzZNSjtBRms3TUU7RUFHRSxpQkFoRXVCO0FFajNNM0I7QUZvN01FO0VBQ0UsY0EvRW9CO0VBZ0ZwQiwwQkF6RXFCO0VBNkVyQixnQ0FBQTtBRXA3TUo7QUZvNkxJO0VBQ0Usc0JBSnFCO0FFNzVMM0I7QUZvNkxJO0VBQ0UsbUJBQUE7QUVsNkxOO0FGczZMTTs7RUExREosb0ZBQUE7RUFJQSxpREFBQTtFQUdBLHNCQUFBO0FFNzJMRjtBRnU2TE07RUFqRUosc0ZBQUE7RUFJQSxpREFBQTtFQUdBLHNCQUFBO0FFeDJMRjtBRjA2TE07RUF6RUosc0ZBQUE7RUFJQSxpREFBQTtFQUdBLHNCQUFBO0FFbjJMRjtBRjQ2TEk7RUFDRSxjQUFBO0FFMTZMTjtBRjY2TEk7RUFHRSxjQXpDcUI7QUVwNEwzQjtBRmc3TEk7RUFDRSwwQkFqRG1CO0VBcURuQixnQ0FBQTtBRWo3TE47QUZ1N0xFO0VBR007O0lBeEZOLDZDQUFBO0VFNTFMQTtFRjI3TE07SUEvRk4sNkNBQUE7RUV6MUxBO0VGZzhMTTtJQXZHTiw0Q0FBQTtFRXQxTEE7QUFDRjtBRm11TEk7RUFDRSwwQkFBQTtBRWp1TE47QUZvdUxJO0VBQ0UsY0FBQTtFQUNBLGtCQVQyQjtBRXp0TGpDO0FGc3VMTTs7RUFqQ0osNkNBQUE7RUFFQSxzQkFBQTtBRWxzTEY7QUYwdUxNO0VBMUNKLDZDQUFBO0VBRUEsc0JBQUE7QUU5ckxGO0FGb2pNSTtFQUNFLG9CQUFBO0FFampNTjtBRm9qTUk7RUFDRSxjQUFBO0VBQ0EsbUJBVDhCO0FFemlNcEM7QUZzak1NOztFQXhDSiw2Q0FBQTtFQUVBLHNCQUFBO0FFM2dNRjtBRjBqTU07RUFqREosNkNBQUE7RUFFQSxzQkFBQTtBRXZnTUY7QUYrckhFOztFQUdFLGVBQUE7QUU3ckhKO0FGNG9IRTs7RUFSQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFRRSxjQUFBO0VBQ0Esc0JBQUE7QUV2b0hKO0FGMG9ISTs7RUFDRSxlQXlDcUI7QUVockgzQjtBRnE0SEU7RUFDRSxxQkFBQTtBRWw0SEo7QUYraklFO0VBRUksaURBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QUU3aklOO0FGaXBJRTs7RUFHSSxpREFBQTtFQUNBLGVBQUE7QUUvb0lOO0FGcTNJRTtFQUNFLGlEQUFBO0FFbDNJSjtBRms5SUU7RUFDRSxpREFBQTtBRS84SUo7QUZrOUlFO0VBQ0UsZUFBQTtBRS84SUo7QUZ3cEpFO0VBQ0UsaURBQUE7QUVycEpKO0FGdTFKRTtFQUVJLGlEQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FFcjFKTjtBRnkvSkU7RUFDRSxpREFBQTtBRXQvSko7QUZ5L0pFO0VBRUksZUFBQTtFQUNBLGdCQUFBO0FFdi9KTjtBRjIvSkU7RUFDRSxtQkFBQTtBRXgvSko7QUYyL0pFO0VBQ0UsZUFBQTtBRXgvSko7QUYyL0pFO0VBRUksZUFBQTtFQUNBLGdCQUFBO0FFei9KTjtBRjJ1S0U7RUFDRSxpREFBQTtBRXh1S0o7QUYydUtFO0VBRUksaURBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QUV6dUtOO0FGdTJLRTs7Ozs7OztFQXowSEUsd0RBQUE7RUFZRixzQkFBQTtFQXEwSEUsU0FBQTtBRW4yS0o7QUZ1NktFO0VBQ0UsaURBQUE7RUFDQSxlQXJCb0I7RUFzQnBCLGdCQXJCMkI7RUFzQjNCLG1CQXRCMkI7QUU5NEsvQjtBRnU2S0U7RUFDRSxlQXZCNEI7RUF3QjVCLGdCQXRCQTtFQXVCQSxtQkF2QkE7QUU3NEtKO0FGaTNIRTtFQUNFLGlEQUhZO0FFMzJIaEI7QUZpM0hFO0VBQ0UsaURBUFk7QUV2MkhoQjtBRm0zSEk7RUFDRSxlQUFBO0FFaDNITjtBRnFoSEU7RUFSQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFRRSxjQUFBO0VBQ0Esc0JBQUE7QUVqaEhKO0FGb2hISTtFQUNFLGVBcVZ1QjtBRXYySDdCO0FGMDJISTtFQUNFLGVBQUE7QUV4MkhOO0FGd2dIRTtFQVJBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQVFFLGNBQUE7RUFDQSxzQkFBQTtBRXBnSEo7QUZ1Z0hJO0VBQ0UsZUEwVnVCO0FFLzFIN0I7QUZrMkhJO0VBQ0UsaURBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QUVoMkhOO0FGczJISTtFQUNFLGVBQUE7QUVuMkhOO0FGcS9HRTtFQVJBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQVFFLGNBQUE7RUFDQSxzQkFBQTtBRWovR0o7QUZvL0dJO0VBQ0UsZUF3V3VCO0FFMTFIN0I7QUY2MUhJO0VBQ0UsZUFBQTtBRTMxSE47QUZ3K0dFO0VBUkEsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0VBUUUsY0FBQTtFQUNBLHNCQUFBO0FFcCtHSjtBRnUrR0k7RUFDRSxlQTZXdUI7QUVsMUg3QjtBRnExSEk7RUFDRSxpREExQ1U7RUEyQ1YsZUFBQTtFQUNBLGdCQUFBO0FFbjFITjtBRjIvQ0U7RUFFSSxpREFBQTtFQUNBLGVBQUE7QUV6L0NOO0FGdWlERTtFQS9HRSx3REFBQTtFQVlGLHNCQUFBO0FFLzdDRjtBRnU0S0U7RUFFSSxpREFBQTtFQUNBLGVBQUE7QUVyNEtOO0FGeTRLRTtFQUNFLGNBQUE7RUFFRSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QUV2NEtOO0FGaXVNRTtFQUNFLGlEQUFBO0FFOXRNSjtBRml1TUU7O0VBRUUsZ0JBQUE7RUFDQSxlQUFBO0FFOXRNSjtBRmlwQ0U7RUFDRSxnQkFBQTtFQUlBLGtCQUFBO0FFanBDSjtBRndwQ0k7RUFDRSx3QkFBQTtBRXRwQ047QUYwcENFO0VBQ0UsaUJBQUE7QUV2cENKO0FGMHBDRTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtFQUVBLDZEQUFBO0VBQ0EsbUJBQUE7QUV4cENKO0FGNVlJO0VBd2lERSxhQUFBO0FFenBDTjtBRjFhRTtFQUNFLFNBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBR0EsVUFBQTtFQUdBLHdCQUFBO0VBQ0EscUJBQUE7QUV5YUo7QUZ2akJFO0VBRUUsb0JBQUE7RUFHQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0FFdWpCSjtBRm5qQkU7RUFDRSxlQUFBO0VBQ0EsYUEzQjRCO0FFaWxCaEM7QUZwakJJO0VBR0UsYUFBQTtBRW9qQk47QUY1aUJFO0VBQ0UsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsYUExQ2tCO0FFeWxCdEI7QUYzaUJFO0VBR0Usa0JBQUE7RUFDQSxvQkFBQTtFQUNBLHNCQUFBO0VBQ0EsYUFwRGtCO0VBd0RsQixhQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FFeWlCSjtBRnRpQkU7RUFFRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFFQSxhQXBFMkI7RUFxRTNCLG9CQUFBO0VBQ0Esd0NBQUE7RUFDQSwwREFBQTtFQUNBLFVBQUE7QUV1aUJKO0FGcmlCSTtFQUNFLFVBQUE7QUV1aUJOO0FGamlCTTtFQVBGO0lBUUksWUFBQTtFRW9pQk47QUFDRjtBRmhpQkU7RUFDRSwrQkFyRm1DO0FFd25CdkM7QUYzaEJJO0VBQ0UsVUFBQTtBRThoQk47QUZ4aEJFO0VBQ0Usa0JBQUE7RUFDQSxhQTFHa0I7RUErR2xCLGFBQUE7RUFJQSxzQkFBQTtFQUdBLGNBQUE7RUFDQSxlQUFBO0FFa2hCSjtBRjlnQkU7RUFDRSxlQUFBO0VBS0EsV0FBQTtFQUtBLGtCQUFBO0FFeWdCSjtBRmhiRTtFQUEwQyxJQUFBO0FFb2I1QztBRnBiRTtFQUEwQyxJQUFBO0FFb2I1QztBRm5iRTtFQUF3QyxJQUFBO0FFc2IxQztBRnRiRTtFQUF3QyxJQUFBO0FFc2IxQztBRnBiRTtFQUVFLHVEQUFBO1VBQUEsK0NBQUE7QUVxYko7QUZsYkU7RUFFRSxxREFBQTtVQUFBLDZDQUFBO0FFb2JKO0FGL2FFO0VBQ0UsWUFBQTtBRWtiSjtBRjVhRTtFQXFCQSx5QkFBQTtFQUNBLGtDQUFBO0VBcEJFLHVCQUFBO0VBQ0EsMkJBQUE7QUVnYko7QUZ2YUU7RUFTQSx5QkFBQTtFQUNBLGtDQUFBO0VBUkUsb0JBQUE7QUUyYUo7QUZ5c0NFO0VBQ0Usa0JBQUE7QUV0c0NKO0FGNnVNRTtFQUNFLGtCQUFBO0FFMXVNSjtBRm1pQ0U7RUFJSSxvQ0FBQTtBRW5pQ047QUZ5eENFO0VBQ0UsMEJBQUE7QUV0eENKO0FGd3hDSTtFQUVFLCtCQUFBO0FFdnhDTjtBRjJ4Q0k7RUFDRSwrQkFBQTtBRXp4Q047QUY0eENJO0VBQ0UsK0JBQUE7RUFDQSwwQkFBQTtBRTF4Q047QUY2eENJO0VBQ0UsMEJBQUE7QUUzeENOO0FGK3hDRTtFQUNFLGNBQUE7QUU1eENKO0FGK3hDRTtFQUNFLGNBQUE7QUU1eENKO0FGK3hDRTtFQUNFLGNBQUE7QUU1eENKO0FGdzBDRTtFQUNFLDBCQUFBO0FFcjBDSjtBRncwQ0U7RUFDRSwwQkFBQTtBRXIwQ0o7QUZ3M0NFO0VBQ0UsMEJBQUE7QUVyM0NKO0FGdTNDSTtFQUNFLGNBQUE7QUVyM0NOO0FGeTNDRTtFQUNFLGNBWmU7QUUxMkNuQjtBRnkzQ0U7O0VBRUUsbUJBQUE7QUV0M0NKO0FGODNDRTs7OztFQUlFLG1CQUFBO0FFMzNDSjtBRjgzQ0U7O0VBRUUsbUJBQUE7QUUzM0NKO0FGZzRDSTs7RUFDRSxtQkF4Q2E7QUVwMUNuQjtBRjBtTUU7RUFJRSx5QkFBQTtFQUNBLDBCQUFBO0FFMW1NSjtBRmluTUk7RUFuNE1GLHdIQUFBO0FFc1JGO0FGNm1NSTtFQW40TUYseUhBQUE7QUUwUkY7QUZ5bU1JO0VBbjRNRix5SEFBQTtBRThSRjtBRnFtTUk7RUFuNE1GLHlIQUFBO0FFa1NGO0FGaW1NSTtFQW40TUYsMEhBQUE7QUVzU0Y7QUY2bE1JO0VBbjRNRiwwSEFBQTtBRTBTRjtBRnlsTUk7RUFuNE1GLDJIQUFBO0FFOFNGO0FGcWxNSTtFQW40TUYsMkhBQUE7QUVrVEY7QUZpbE1JO0VBbjRNRiwySEFBQTtBRXNURjtBRjZrTUk7RUFuNE1GLDJIQUFBO0FFMFRGO0FGeWtNSTtFQW40TUYsNEhBQUE7QUU4VEY7QUZxa01JO0VBbjRNRiw0SEFBQTtBRWtVRjtBRmlrTUk7RUFuNE1GLDRIQUFBO0FFc1VGO0FGNmpNSTtFQW40TUYsNEhBQUE7QUUwVUY7QUZ5ak1JO0VBbjRNRiw0SEFBQTtBRThVRjtBRnFqTUk7RUFuNE1GLDRIQUFBO0FFa1ZGO0FGaWpNSTtFQW40TUYsNkhBQUE7QUVzVkY7QUY2aU1JO0VBbjRNRiw2SEFBQTtBRTBWRjtBRnlpTUk7RUFuNE1GLDZIQUFBO0FFOFZGO0FGcWlNSTtFQW40TUYsNkhBQUE7QUVrV0Y7QUZpaU1JO0VBbjRNRiw4SEFBQTtBRXNXRjtBRjZoTUk7RUFuNE1GLDhIQUFBO0FFMFdGO0FGeWhNSTtFQW40TUYsOEhBQUE7QUU4V0Y7QUZxaE1JO0VBbjRNRiw4SEFBQTtBRWtYRjtBRmloTUk7RUFuNE1GLDhIQUFBO0FFc1hGO0FGb2hNSTtFQUNFLGFBQUE7QUVqaE1OO0FGNGdERTtFQUVFLGlCQUFBO0VBQ0EsMEJBQUE7QUUxZ0RKO0FGNVdFO0VBbkJBLDBIQUFBO0FFa1lGO0FGOGdESTtFQUNFLGlCQUFBO0FFNWdETjtBRjhnRE07RUFDRSwwQkFBQTtBRTVnRFI7QUYyb0RFO0VBQ0UsWUFBQTtFQUNBLG1CQUFBO0FFeG9ESjtBRjF0Qkk7RUFxMkVFLGtCQUFBO0VBQ0EsZ0JBQUE7QUV4b0ROO0FGNm9ESTtFQUNFLG1CQUFBO0VBQ0EsWUFBQTtBRTFvRE47QUYrb0RJO0VBQ0UsWUFBQTtFQUNBLG1CQUFBO0FFNW9ETjtBRmdwREU7RUFDRSxrQkFBQTtBRTdvREo7QUZpcERJO0VBQ0UsYUFBQTtBRTlvRE47QUZtcERJO0VBV0ksbUJBQUE7RUFNRiwwQkFBQTtBRS9wRE47QUZtcURFO0VBQ0Usa0JBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSx1Q0FBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0Esb0JBQUE7QUVocURKO0FGbXFERTs7RUFFRSxnQkFBQTtBRWhxREo7QUZxcURFO0VBRUUsZUFBQTtBRW5xREo7QUZvZ0RFO0VBQ0UsV0FObUI7RUFPbkIsWUFQbUI7RUFRbkIsaUJBUm1CO0FFei9DdkI7QUZxZ0RJO0VBQ0UsU0FBQTtBRW5nRE47QUZ3Z0RJO0VBQ0UsWUFBQTtBRXRnRE47QUYyZ0RJO0VBQ0UsV0FBQTtBRXpnRE47QUY4Z0RJO0VBQ0UsVUFBQTtFQUNBLFlBQUE7QUU1Z0ROO0FGaWhESTtFQUNFLFlBQUE7QUUvZ0ROO0FGb2hESTtFQUNFLFdBQUE7RUFDQSxXQUFBO0FFbGhETjtBRndoRE07RUFDRSxVQUFBO0FFdGhEUjtBRjJoRE07RUFDRSxVQUFBO0VBQ0EsV0FBQTtBRXpoRFI7QUY4aERNO0VBQ0UsV0FBQTtBRTVoRFI7QUZpaURNO0VBQ0UsV0FBQTtFQUNBLFVBQUE7QUUvaERSO0FGNDlDRTtFQUNFLFdBUHFCO0VBUXJCLFlBUnFCO0VBU3JCLGlCQVRxQjtBRWg5Q3pCO0FGNjlDSTtFQUNFLFVBQUE7QUUzOUNOO0FGZytDSTtFQUNFLGFBQUE7QUU5OUNOO0FGbStDSTtFQUNFLFdBQUE7QUVqK0NOO0FGcytDSTtFQUNFLFVBQUE7RUFDQSxZQUFBO0FFcCtDTjtBRnkrQ0k7RUFDRSxZQUFBO0FFditDTjtBRjQrQ0k7RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRTErQ047QUZnL0NNO0VBQ0UsV0FBQTtBRTkrQ1I7QUZtL0NNO0VBQ0UsVUFBQTtFQUNBLFlBQUE7QUVqL0NSO0FGcy9DTTtFQUNFLFlBQUE7QUVwL0NSO0FGeS9DTTtFQUNFLFdBQUE7RUFDQSxXQUFBO0FFdi9DUjtBRm83Q0U7RUFDRSxXQUxtQjtFQU1uQixZQU5tQjtFQU9uQixpQkFQbUI7QUUxNkN2QjtBRnE3Q0k7RUFDRSxVQUFBO0FFbjdDTjtBRnc3Q0k7RUFDRSxhQUFBO0FFdDdDTjtBRjI3Q0k7RUFDRSxXQUFBO0FFejdDTjtBRjg3Q0k7RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRTU3Q047QUZpOENJO0VBQ0UsWUFBQTtBRS83Q047QUZvOENJO0VBQ0UsV0FBQTtFQUNBLFdBQUE7QUVsOENOO0FGdzhDTTtFQUNFLFdBQUE7QUV0OENSO0FGMjhDTTtFQUNFLFVBQUE7RUFDQSxZQUFBO0FFejhDUjtBRjg4Q007RUFDRSxZQUFBO0FFNThDUjtBRmk5Q007RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRS84Q1I7QUYybURFO0VBanFFQSw2SEFBQTtFQW1xRUUsaUJBQUE7RUFDQSwwQkFBQTtBRXhtREo7QUZzdURFO0VBS0UsY0FBQTtFQUNBLHVCQUFBO0FFdnVESjtBRnVzREU7RUFDRSxjQUFBO0FFcnNESjtBRnVzREU7RUFDRSxjQUFBO0FFcnNESjtBRnVzREU7RUFDRSxjQUFBO0FFcnNESjtBRnlzREk7RUFFRSwwQkFBQTtBRXhzRE47QUZxb0RFO0VBQ0UseUJBQUE7QUVub0RKO0FGc29ERTtFQUNFLHlCQUFBO0FFcG9ESjtBRnVvREU7RUFDRSx5QkFBQTtBRXJvREo7QUZ3b0RFO0VBQ0UsNkJBQUE7QUV0b0RKO0FGdXRESTtFQUNFLFlBeEd1QjtFQXlHdkIsOEJBQUE7QUVydEROO0FGeXRERTtFQUNFLGlCQUFBO0FFdHRESjtBRjJ0REU7RUFDRSxpQ0FBQTtBRXh0REo7QUYydERFO0VBRUUsMEJBQUE7RUFDQSx1QkFBQTtBRXp0REo7QUY4cERFO0VBQ0UsWUFBQTtBRTVwREo7QUY4cERFO0VBQ0UsWUFBQTtBRTVwREo7QUY4cERFO0VBQ0UsWUFBQTtBRTVwREo7QUZncURJO0VBRUUsMEJBQUE7QUUvcEROO0FGa3BERTtFQUNFLHlCQUFBO0FFaHBESjtBRmtwREU7RUFDRSx5QkFBQTtBRWhwREo7QUZrcERFO0VBQ0UseUJBQUE7QUVocERKO0FGb3BESTtFQUVFLHFDQUFBO0FFbnBETjtBRmluREU7RUFYQSwwQ0FEbUI7QUVsbURyQjtBRmtuREU7RUFmQSwwQ0FEbUI7QUUvbERyQjtBRm1uREU7RUFuQkEsMENBRG1CO0FFNWxEckI7QUZ4bkJFO0VBbkJBLHdIQUFBO0FFK29CRjtBRjVuQkU7RUFuQkEseUhBQUE7QUVtcEJGO0FGaG9CRTtFQW5CQSwySEFBQTtBRXNwQkY7QUZub0JFO0VBbkJBLHdIQUFBO0FFeXBCRjtBRnRvQkU7RUFuQkEsMkhBQUE7QUU2cEJGO0FGMW9CRTtFQW5CQSw0SEFBQTtBRWdxQkY7QUY3b0JFO0VBbkJBLHdIQUFBO0FFbXFCRjtBRnMwREU7O0VBeitFQSx5SEFBQTtBRXdxQkY7QUZzMERFOztFQUVFLGdCQUFBO0FFbjBESjtBRnMwREU7RUFDRSwwQkFBQTtBRW4wREo7QUZxMERJO0VBQ0UscUNBQUE7QUVuMEROO0FGdTBERTtFQUNFLDBCQUFBO0VBQ0EsaUJBQUE7QUVwMERKO0FGczBESTtFQUNFLHVCQUFBO0FFcDBETjtBRncwREU7RUFDRSwwQ0FBQTtBRXIwREo7QUZ3MERFO0VBQ0UsaUJBQUE7RUFDQSwyQ0FBQTtBRXIwREo7QUZ5MERJO0VBQ0UsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLHlDQUFBO0FFdDBETjtBRjAwREU7RUFDRSx5QkFBQTtFQUNBLDBCQUFBO0FFdjBESjtBRnkwREk7RUFDRSwwQkFBQTtBRXYwRE47QUYyMERFO0VBQ0UsMEJBQUE7RUFDQSx5QkFBQTtBRXgwREo7QUYwMERJO0VBQ0UsaUJBQUE7QUV4MEROO0FGMjBESTtFQUNFLHlCQUFBO0FFejBETjtBRjYwREU7O0VBRUUscUNBQUE7QUUxMERKO0FGMjFESTtFQUNFLGlCQUxjO0FFbjFEcEI7QUY0M0RFO0VBRUUsaUJBQUE7RUFDQSwwQkFBQTtBRTEzREo7QUZ6dEJFO0VBbkJBLHlIQUFBO0FFK3VCRjtBRjV0QkU7RUFuQkEsd0hBQUE7QUVrdkJGO0FGNDNERTtFQUNFLDBCQUFBO0FFejNESjtBRms4REU7RUFDRSxpQ0FBQTtBRS83REo7QUZrOERFO0VBQ0UsYUFkb0I7QUVqN0R4QjtBRms4REU7RUFHRSwwQkFBQTtBRWo4REo7QUZvOERFO0VBQ0UseUJBeEJvQjtBRXo2RHhCO0FGcThESTtFQUNFLHlCQUFBO0FFbDhETjtBRnE4REk7RUFDRSx5QkFBQTtBRW44RE47QUZzOERJO0VBQ0UseUJBQUE7QUVwOEROO0FGMjhETTtFQUNFLHlCQXRDVztBRWw2RG5CO0FGNjhETTtFQUNFLHFCQTVDVztBRS81RG5CO0FGKzhESTtFQUNFLDBCQUFBO0FFNzhETjtBRm05REU7RUFDRSx1QkFBQTtBRWg5REo7QUZxOURJOztFQUNFLG1CQUFBO0FFajlETjtBRm85REk7O0VBQ0UsbUJBQUE7QUVqOUROO0FGbzlESTs7RUFDRSxtQkFBQTtBRWo5RE47QUYyaUVFO0VBM0NBLHlCQXdDd0I7RUF2Q3hCLDBCQXdDd0I7QUVwaUUxQjtBRjgvREU7RUFDRSwwQkFxQ3NCO0VBcEN0QixZQUFBO0FFNS9ESjtBRnNpRU07RUExMUZKLHlIQUFBO0FFdXpCRjtBRnVpRU07RUFDRSxhQUFBO0FFcmlFUjtBRnlpRUk7RUFDRSxZQUFBO0FFdmlFTjtBRjBpRUk7RUFDRSxpQkFBQTtBRXhpRU47QUY2aUVJO0VBbEVGLHlCQXdCd0U7RUF2QnhFLFlBdUJpQztBRTkvRG5DO0FGeStERTtFQUNFLFlBb0IrQjtFQW5CL0IsWUFBQTtBRXYrREo7QUY0L0RFO0VBVEEsMENBRG1CO0FFLytEckI7QUZxaUVJO0VBdEVGLHlCQXdCd0U7RUF2QnhFLFlBdUJpQztBRW4vRG5DO0FGODlERTtFQUNFLFlBb0IrQjtFQW5CL0IsWUFBQTtBRTU5REo7QUZpL0RFO0VBVEEsMENBRG1CO0FFcCtEckI7QUY4aEVJO0VBMUVGLHlCQXdCd0U7RUF2QnhFLFlBdUJpQztBRXgrRG5DO0FGbTlERTtFQUNFLFlBb0IrQjtFQW5CL0IsWUFBQTtBRWo5REo7QUZzK0RFO0VBVEEsMENBRG1CO0FFejlEckI7QUYrbUVFO0VBQ0UsaUJBQUE7QUU1bUVKO0FGK21FRTs7OztFQUlFLG1CQUFBO0FFNW1FSjtBRittRUU7O0VBRUUsd0NBQUE7QUU1bUVKO0FGK21FRTtFQUNFLDBCQUFBO0FFNW1FSjtBRittRUU7RUFDRSwwQkFBQTtBRTVtRUo7QUZzdEVFO0VBQ0UscUNBQUE7QUVudEVKO0FGd3RFRTs7O0VBR0UsMEJBQUE7QUVydEVKO0FGd3RFRTtFQUNFLDBCQUFBO0FFcnRFSjtBRnd0RUU7RUFDRSwrQkFBQTtBRXJ0RUo7QUZ3dEVFO0VBQ0UsMEJBQUE7QUVydEVKO0FGd3RFRTs7RUFFRSwwQkFBQTtFQUNBLHlCQUFBO0FFcnRFSjtBRitxRUU7RUEyQ0ksMEJBbENhO0FFcHJFbkI7QUYwdEVFO0VBQ0UsMEJBdkNlO0FFaHJFbkI7QUYwdEVFO0VBT0ksMEJBQUE7QUU3dEVOO0FGbXFFRTtFQXFFSSxpQ0FBQTtBRXB1RU47QUYrcEVFO0VBOEVNLGlDQUFBO0FFenVFUjtBRjB6RUU7RUFDRSxrQ0F0TUE7QUVqbkVKO0FGMHpFRTs7RUFFRSxrQ0FWaUI7QUU3eUVyQjtBRjB6RUU7O0VBRUUsNkZBQUE7QUV2ekVKO0FGMHpFRTs7RUFFRSw0RkFBQTtBRXZ6RUo7QUYwekVFOztFQUVFLG1CQXhCYztBRS94RWxCO0FGMHpFRTs7RUFFRSxtQkE1QnVCO0FFM3hFM0I7QUYwbEVFO0VBQ0UseUJBQUE7RUFDQSxZQUFBO0FFdmxFSjtBRjBsRUU7RUFJSSx3Q0FBQTtBRTFsRU47QUZtbUVFO0VBQ0UsaUNBQUE7QUVobUVKO0FGaW5FRTs7O0VBUk0sd0NBQUE7QUVubUVSO0FGdXNFRTtFQWpxR0EsMEhBQUE7RUFtcUdFLHVCQUFBO0VBQ0EsMEJBQUE7QUVwc0VKO0FGb3dFRTtFQUNFLG1DQXRNQTtBRTVqRUo7QUZxd0VFOztFQUVFLGtDQVZpQjtBRXp2RXJCO0FGc3dFRTs7RUFFRSw4RkFBQTtBRXB3RUo7QUZ1d0VFOztFQUVFLDZGQUFBO0FFcndFSjtBRnd3RUU7O0VBRUUsbUJBeEJjO0FFOXVFbEI7QUZ5d0VFOztFQUVFLG1CQTVCdUI7QUUzdUUzQjtBRjBpRUU7RUFDRSx5QkFBQTtFQUNBLFlBQUE7QUV4aUVKO0FGMmlFRTtFQUlJLHlDQUFBO0FFNWlFTjtBRnFqRUU7RUFDRSxpQ0FBQTtBRW5qRUo7QUZva0VFOzs7RUFSTSx5Q0FBQTtBRXZqRVI7QUY4dEVFO0VBQ0Usa0NBdE1BO0FFdGhFSjtBRit0RUU7O0VBRUUsa0NBVmlCO0FFbnRFckI7QUZndUVFOztFQUVFLDZGQUFBO0FFOXRFSjtBRml1RUU7O0VBRUUsNEZBQUE7QUUvdEVKO0FGa3VFRTs7RUFFRSxtQkF4QmM7QUV4c0VsQjtBRm11RUU7O0VBRUUsbUJBNUJ1QjtBRXJzRTNCO0FGb2dFRTtFQUNFLHlCQUFBO0VBQ0EsWUFBQTtBRWxnRUo7QUZxZ0VFO0VBSUksd0NBQUE7QUV0Z0VOO0FGK2dFRTtFQUNFLGlDQUFBO0FFN2dFSjtBRjhoRUU7OztFQVJNLHdDQUFBO0FFamhFUjtBRm1vRUU7RUEvcUdBLHdIQUFBO0FFZ2pDRjtBRm1vRUU7RUFDRSxjQUFBO0FFaG9FSjtBRmtvRUk7RUFDRSxjQUFBO0FFaG9FTjtBRm1vRUk7RUFDRSxjQUFBO0FFam9FTjtBRnFvRUU7RUFDRSwwQkFBQTtBRWxvRUo7QUZxdUVFO0VBbnlHQSw4SEFBQTtFQXF5R0UsaUJBQUE7RUFDQSwwQkFBQTtBRWx1RUo7QUZtMkRFO0VBQ0UscUNBQUE7QUVoMkRKO0FGbTJERTtFQUNFLHVDQUFBO0FFaDJESjtBRnF5RUU7RUFFRSxpQkFBQTtFQUNBLDBCQUFBO0FFbnlFSjtBRjlqQ0U7RUFuQkEseUhBQUE7QUVvbENGO0FGbXlFRTtFQUNFLHFDQUFBO0FFaHlFSjtBRnV5RU07RUFDRSwrQkFBQTtBRXB5RVI7QUYyeUVFO0VBQ0U7SUFFRSxpQkFBQTtFRXp5RUo7QUFDRjtBRjR5RUU7RUFDRSwwQkFBQTtBRTF5RUo7QUY2eUVFOztFQUVFLDBCQUFBO0FFMXlFSjtBRjZ5RUU7RUFDRSwwQkFBQTtBRTF5RUo7QUY0eUVJOztFQUVFLGNBQUE7QUUxeUVOO0FGczBFSTtFQUNFLFlBTGU7QUU5ekVyQjtBRnEwRU07RUFDRSxZQVZZO0FFenpFcEI7QUZ3M0pFO0VBQ0UseUJBWFk7QUUxMkpoQjtBRnczSkU7RUFDRSx5QkFmWTtBRXQySmhCO0FGdzNKRTtFQUNFLGNBbEJvQjtBRW4ySnhCO0FGdTNKSTtFQUNFLGNBaEJxQjtBRXIySjNCO0FGdzNKSTtFQUNFLGNBbkJtQjtBRW4ySnpCO0FGMDNKRTtFQUNFLGNBN0JxQjtBRTExSnpCO0FGMDNKRTtFQUNFLHFDQTlCcUI7QUV6MUp6QjtBRjIzSkk7RUFDRSx5QkFoQ3NCO0FFeDFKNUI7QUYwM0pNO0VBQ0UseUJBckNtQjtBRW4xSjNCO0FGMjNKTTtFQUNFLHlCQXhDaUI7QUVqMUp6QjtBRiszSkk7RUFDRSxjQTlDc0I7QUU5MEo1QjtBRiszSkk7RUFDRSxjQXBEcUI7QUV6MEozQjtBRmc0Skk7RUFDRSxjQXZEbUI7QUV2MEp6QjtBRnM0Skk7RUFDRSxjQWhFbUI7QUVuMEp6QjtBRnE0Sk07O0VBRUUsY0FwRWlCO0FFL3pKekI7QUZ1NEpJOztFQUVFLHlCQTFFbUI7QUUzekp6QjtBRnk0SkU7RUFDRSxjQS9FcUI7QUV2ekp6QjtBRms2SUk7RUFDRSwwQkFMVTtBRTE1SWhCO0FGazZJSTtFQUNFLDBCQVRVO0FFdjVJaEI7QUZtNklJO0VBQ0UscUNBWmM7QUVyNUlwQjtBRm82SUk7RUE1L0RGLDRHQUFBO0VBQ0EseUJBQUE7RUFDQSwyQkFBQTtBRXI2RUY7QUZvdkpJO0VBQ0UscUNBSmM7QUU3dUpwQjtBRm92Skk7RUFyMUVGLDRHQUFBO0VBQ0EseUJBQUE7RUFDQSwyQkFBQTtBRTU1RUY7QUYrd0lJO0VBQ0UscUNBUGM7QUVyd0lwQjtBRit3SUk7RUFDRSxxQ0FWdUI7QUVud0k3QjtBRmd4SUk7RUFDRSxxQ0FiYztBRWp3SXBCO0FGa3hJTTtFQUNFLDBCQWpCaUI7QUUvdkl6QjtBRm14SU07RUFDRSw2QkFBQTtBRWp4SVI7QUZ3a0pJO0VBQ0UsMEJBVFk7QUU1akpsQjtBRndrSkk7RUFDRSwwQkFaa0I7QUUxakp4QjtBRjBrSk07RUFDRSxjQWhCa0I7QUV4akoxQjtBRjJrSk07RUFDRSxjQW5CaUI7QUV0akp6QjtBRjRrSk07RUFDRSxjQXRCZTtBRXBqSnZCO0FGZ2xKTTtFQUNFLGNBN0JlO0FFampKdkI7QUZtbEpNO0VBQ0UsMEJBeENpQjtBRXppSnpCO0FGb2xKTTtFQUNFLDBCQXRDbUI7QUU1aUozQjtBRmswRUk7RUFDRSxjQUFBO0FFL3pFTjtBRmswRUk7RUFDRSxjQUFBO0FFaDBFTjtBRm0wRUk7RUFDRSxjQUFBO0FFajBFTjtBRjg2RUU7RUFDRSwwQkFBQTtBRTM2RUo7QUY4NkVFOztFQUVFLDBCQUFBO0FFMzZFSjtBRjg2RUU7RUFDRSxvQkFBQTtBRTM2RUo7QUZrM0VFO0VBNERJLDBCQUFBO0FFMzZFTjtBRisyRUU7RUE0REksMEJBQUE7QUUzNkVOO0FGbTNFRTtFQXdESSwwQkFBQTtBRXg2RU47QUZvM0VFO0VBb0RJLDBCQUFBO0FFcjZFTjtBRnEzRUU7RUFnREksMEJBQUE7QUVsNkVOO0FGcTdFRTtFQUNFLG9CQUFBO0FFbDdFSjtBRnE3RUU7O0VBRUUsb0JBQUE7QUVsN0VKO0FGcTdFRTtFQUNFLGNBQUE7QUVsN0VKO0FGdytFSTtFQUNFLDBCQUFBO0FFcitFTjtBRncrRUk7RUFDRSwwQkFBQTtBRXQrRU47QUZ5K0VJO0VBQ0UsMEJBQUE7QUV2K0VOO0FGMitFRTtFQUNFLHlCQUFBO0FFeCtFSjtBRjgrRUk7Ozs7O0VBQ0UsK0JBQUE7QUV2K0VOO0FGNCtFSTtFQUNFLCtCQUFBO0FFeitFTjtBRmtrRkU7RUFFRSxpQkFBQTtBRWhrRko7QUZuekNFO0VBbkJBLDBIQUFBO0FFeTBDRjtBRmdrRkU7RUFDRSx1QkFBQTtFQUNBLDBCQUFBO0FFN2pGSjtBRmdrRk07O0VBR0UsMEJBQUE7QUUvakZSO0FGb2tGRTs7RUFFRSwwQkFBQTtBRWprRko7QUZ3a0ZJOzs7O0VBQ0UsK0JBQUE7QUVsa0ZOO0FGaW9GRTtFQUNFLGlCQUFBO0FFOW5GSjtBRmlvRkU7O0VBRUUsMEJBQUE7QUU5bkZKO0FGaW9GRTs7RUFFRSx5Q0FBQTtFQUNBLDJDQUFBO0FFOW5GSjtBRmlvRkU7O0VBRUUseUNBQUE7QUU5bkZKO0FGa29GSTs7OztFQUlFLGlDQUFBO0FFL25GTjtBRm9wRkk7RUFDRSxnQkFKSztBRTdvRlg7QUZtckZFO0VBQ0UsYUFBQTtBRWhyRko7QUZtckZFO0VBQ0UseUJBQUE7QUVockZKO0FGbXJGRTtFQUNFLHlCQUFBO0FFaHJGSjtBRm9yRkk7RUFDRSxhQUFBO0FFanJGTjtBRm9yRkk7RUFDRSx5QkFBQTtBRWxyRk47QUZxckZJO0VBQ0UseUJBQUE7QUVuckZOO0FGd3JGSTtFQUNFLGFBQUE7QUVyckZOO0FGd3JGSTtFQUNFLHlCQUFBO0FFdHJGTjtBRnlyRkk7RUFDRSx5QkFBQTtBRXZyRk47QUYrdEZJO0VBQ0UsZUFBQTtBRTV0Rk47QUYrdEZJO0VBQ0UsZUFBQTtBRTd0Rk47QUZndUZJO0VBQ0UsZUFBQTtBRTl0Rk47QUZveEZFO0VBQ0UsaUNBQUE7QUVqeEZKO0FGNHZGRTtFQUNFLHFCQUFBO0FFenZGSjtBRjR2RkU7O0VBSUUseUJBQUE7QUU1dkZKO0FGb3ZGRTtFQUNFLHFCQUFBO0FFbHZGSjtBRnF2RkU7O0VBSUUseUJBQUE7QUVydkZKO0FGNnVGRTtFQUNFLHFCQUFBO0FFM3VGSjtBRjh1RkU7O0VBSUUseUJBQUE7QUU5dUZKO0FGK3dGTTs7RUFFRSxpQ0FBQTtBRTd3RlI7QUZneEZNOztFQUVFLHFDQUFBO0FFOXdGUjtBRml4Rk07RUFDRSwwQkFBQTtBRS93RlI7QUZxeEZJO0VBQ0UsdUJBQUE7QUVueEZOO0FGbzBGRTtFQUNFLDBCQUFBO0FFajBGSjtBRm8wRkU7RUFDRSwwQkFBQTtBRWowRko7QUZvMEZFO0VBQ0UsMEJBQUE7QUVqMEZKO0FGbzBGRTtFQUNFLDBCQUFBO0FFajBGSjtBRm8wRkU7RUFDRSxpQkFBQTtBRWowRko7QUZoOUNFO0VBbkJBLDBIQUFBO0FFcytDRjtBRmkwRkk7RUFDRSwrQkFBQTtBRS96Rk47QUZxMEZNO0VBQ0UsY0FBQTtBRWwwRlI7QUZxMEZNO0VBQ0UsY0FBQTtBRW4wRlI7QUZzMEZNO0VBQ0UsY0FBQTtBRXAwRlI7QUZ3MEZJO0VBQ0UsY0FBQTtBRXQwRk47QUZ5MEZJO0VBQ0UsMEJBQUE7QUV2MEZOO0FGaTRGRTtFQUNFLHlCQUxtQztFQU1uQywwQkFBQTtBRTkzRko7QUZpNEZFO0VBQ0UsdUJBWHdCO0VBWXhCLDBCQUFBO0FFOTNGSjtBRmc0Rkk7RUFDRSx1QkFiMkI7QUVqM0ZqQztBRmk0Rkk7RUF2NElGLDZIQUFBO0FFeWdERjtBRnE0RkU7RUFDRSwyQ0F2Qm1CO0FFMzJGdkI7QUZvNEZJO0VBQ0UsMENBMUJpQjtFQTJCakIsa0JBQUE7QUVsNEZOO0FGczRGRTtFQUNFLDBDQWhDbUI7RUFpQ25CLGtCQUFBO0FFbjRGSjtBRnE0Rkk7RUFDRSxpQkFBQTtFQUNBLDJDQXJDaUI7QUU5MUZ2QjtBRnU0RkU7RUFRSSxvQ0FBQTtBRTM0Rk47QUZxN0ZJO0VBQ0UseUJBQUE7QUVsN0ZOO0FGcTdGSTtFQUdFLDBDQUFBO0FFcjdGTjtBRnc3Rkk7RUFHRSx5QkFBQTtBRXg3Rk47QUYyNkZJO0VBQ0UseUJBQUE7QUV6NkZOO0FGNDZGSTtFQUdFLHlDQUFBO0FFNTZGTjtBRis2Rkk7RUFHRSx5QkFBQTtBRS82Rk47QUZrNkZJO0VBQ0UseUJBQUE7QUVoNkZOO0FGbTZGSTtFQUdFLHlDQUFBO0FFbjZGTjtBRnM2Rkk7RUFHRSx5QkFBQTtBRXQ2Rk47QUYyOEZJO0VBR0UsdUJBaEJxQjtBRTM3RjNCO0FGKzhGRTtFQTVnSkEseUhBQUE7RUE4Z0pFLHlCQUFBO0FFNThGSjtBRis4RkU7RUFDRSxxQ0EzQm9CO0FFajdGeEI7QUYyaEdFO0VBQ0UscUNBVnFCO0FFOWdHekI7QUYrK0ZFOzs7RUFHRSx5QkFBQTtBRTUrRko7QUYrK0ZFO0VBQ0UsWUFBQTtBRTcrRko7QUZnL0ZFO0VBR0Usd0NBRFE7QUUvK0ZaO0FGbStGRTs7O0VBR0UseUJBQUE7QUVoK0ZKO0FGbStGRTtFQUNFLFlBQUE7QUVqK0ZKO0FGbytGRTtFQUdFLHlDQURRO0FFbitGWjtBRnU5RkU7OztFQUdFLHlCQUFBO0FFcDlGSjtBRnU5RkU7RUFDRSxZQUFBO0FFcjlGSjtBRnc5RkU7RUFHRSx3Q0FEUTtBRXY5Rlo7QUZxZ0dJOztFQUNFLHFDQTNCMkI7QUV0K0ZqQztBRnNnR0k7OztFQUdFLHFDQWxDd0I7QUVqK0Y5QjtBRnVnR007RUFDRSxxQ0F2Q3NCO0FFOTlGOUI7QUYyZ0dJO0VBR0UscUNBRFE7QUV6Z0dkO0FGb2hHTTs7RUFFRSxxQ0EzRHFDO0FFdjlGN0M7QUZzaEdROztFQUVFLHFDQWhFeUM7QUVwOUZuRDtBRjBoR007RUFDRSxpQ0EzRWlCO0VBNEVqQiw2QkFBQTtBRXhoR1I7QUY2aEdRO0VBQ0UsaUNBakZ1QjtBRTE4RmpDO0FGOGhHUTtFQUNFLGlDQXBGb0I7QUV4OEY5QjtBRmtpR0U7RUFDRSxnQ0F2RnNCO0FFeDhGMUI7QUZ3aUdFO0VBQ0UsNkhBQUE7RUFJQSxtSUFBQTtBRXhpR0o7QUZrakdFO0VBQ0UsOEhBQUE7QUUvaUdKO0FGdW9HSTtFQUdFLHFDQUFBO0FFdG9HTjtBRjRvR0k7RUFDRTtJQUNFLGdCQUFBO0VFMW9HTjtBQUNGO0FGNm9HSTs7RUFJRSwwQkFBQTtBRTdvR047QUZncEdJO0VBR0UscUNBQUE7RUFDQSxZQUFBO0FFaHBHTjtBRm1wR0k7OztFQUdFLHlCQUFBO0VBQ0EsWUFBQTtBRWpwR047QUZxcEdNO0VBQ0UsWUFBQTtBRW5wR1I7QUZzcEdNOzs7RUFHRSx5QkFBQTtFQUNBLFlBQUE7QUVwcEdSO0FGeXBHTTtFQUNFLFlBQUE7QUV2cEdSO0FGMHBHTTs7O0VBR0UseUJBQUE7RUFDQSxZQUFBO0FFeHBHUjtBRjRwR0k7RUFDRSw2QkFBQTtFQUNBLGNBQUE7QUUxcEdOO0FGNnBHSTtFQUNFLDBCQUFBO0FFM3BHTjtBRjhwR0k7RUFDRSxjQUFBO0FFNXBHTjtBRmdxR0U7RUFDRSx1QkFBQTtBRTdwR0o7QUZncUdFO0VBQ0Usc0NBQUE7QUU3cEdKO0FGZ3FHRTs7O0VBR0UscUNBQUE7QUU3cEdKO0FGb3NHSTtFQUNFLFlBTEs7QUU1ckdYO0FGb3NHSTs7RUFFRSxrQkFBQTtBRWpzR047QUZzc0dJO0VBQ0UsVUFBQTtFQUNBLGFBQUE7QUVuc0dOO0FGd3NHTTtFQUNFLFNBQUE7QUVyc0dSO0FGMHNHSTtFQUNFLFNBQUE7QUV2c0dOO0FGdXVHRTtFQVlJLGNBQUE7QUUvdUdOO0FGNHhHRTs7RUFFRSw0Q0FKYztBRXJ4R2xCO0FGNnhHSTs7RUFFRSx5Q0FWWTtFQVdaLG1CQUFBO0FFMXhHTjtBRjh4R0U7RUFDRSwwQkFBQTtBRTN4R0o7QUY2eEdJO0VBQ0UsMEJBQUE7QUUzeEdOO0FGK3hHRTtFQUNFLGlDQUFBO0FFNXhHSjtBRit4R0U7RUFDRSxpQ0FBQTtBRTV4R0o7QUZneUdFOztFQUVFLG1CQUFBO0VBQ0EsZ0JBQUE7QUU3eEdKO0FGeTBHTTs7Ozs7RUFDRSwwQ0FBQTtBRWwwR1I7QUZ1ekdFO0VBQ0UseUJBQUE7QUVyekdKO0FGb3pHRTtFQUNFLHVCQUFBO0FFbHpHSjtBRjJ6R007Ozs7O0VBQ0UsMENBQUE7QUVyekdSO0FGMHlHRTtFQUNFLHlCQUFBO0FFeHlHSjtBRnV5R0U7RUFDRSx1QkFBQTtBRXJ5R0o7QUY4eUdNOzs7OztFQUNFLDBDQUFBO0FFeHlHUjtBRjZ4R0U7RUFDRSx5QkFBQTtBRTN4R0o7QUYweEdFO0VBQ0UsdUJBQUE7QUV4eEdKO0FGaXlHTTs7Ozs7RUFDRSwwQ0FBQTtBRTN4R1I7QUZteUdFO0VBQ0UseUJBQUE7QUVqeUdKO0FGcXlHRTtFQUNFLFlBQUE7QUVueUdKO0FGcXlHSTtFQUNFLCtCQUFBO0FFbnlHTjtBRnd5R0U7RUFDRSxtQkFBQTtBRXR5R0o7QUZ5eUdFO0VBQ0Usc0NBQUE7QUV2eUdKO0FGNHlHRTtFQUNFLDJDQUFBO0FFMXlHSjtBRnd3R007Ozs7O0VBQ0UsMENBQUE7QUVsd0dSO0FGMHdHRTtFQUNFLHlCQUFBO0FFeHdHSjtBRjR3R0U7RUFDRSxZQUFBO0FFMXdHSjtBRjR3R0k7RUFDRSwrQkFBQTtBRTF3R047QUYrd0dFO0VBQ0UsbUJBQUE7QUU3d0dKO0FGZ3hHRTtFQUNFLHNDQUFBO0FFOXdHSjtBRm14R0U7RUFDRSwyQ0FBQTtBRWp4R0o7QUYrdUdNOzs7OztFQUNFLDBDQUFBO0FFenVHUjtBRml2R0U7RUFDRSx5QkFBQTtBRS91R0o7QUZtdkdFO0VBQ0UsWUFBQTtBRWp2R0o7QUZtdkdJO0VBQ0UsK0JBQUE7QUVqdkdOO0FGc3ZHRTtFQUNFLG1CQUFBO0FFcHZHSjtBRnV2R0U7RUFDRSxzQ0FBQTtBRXJ2R0o7QUYwdkdFO0VBQ0UsMkNBQUE7QUV4dkdKO0FGODJHRTtFQUNFLHNCQUFBO0VBQ0EsMEJBQUE7QUUzMkdKO0FGNjJHSTtFQXBDRixtQkFBQTtFQUNBLFlBQUE7QUV0MEdGO0FGNjJHSTtFQXhDRixtQkFBQTtFQUNBLFlBQUE7QUVsMEdGO0FGNjJHSTtFQTVDRixtQkFBQTtFQUNBLFlBQUE7QUU5ekdGO0FGazBHRTs7O0VBR0UsOEJBQUE7QUVoMEdKO0FGbTBHRTs7Ozs7RUFLRSxjQUFBO0FFajBHSjtBRm8wR0U7RUFDRSx5QkFBQTtBRWwwR0o7QUZxeUdFO0VBQ0UsZ0JBNEVlO0FFOTJHbkI7QUZveUdFO0VBQ0UsWUF5RWU7QUUxMkduQjtBRnMzR0k7RUF6RkY7SUFDRSxnQkE4RWM7RUV2MkdoQjs7RUYyeEdBO0lBQ0UsWUEyRWM7RUVuMkdoQjtBQUNGO0FGdTVHRTtFQUNFLGlDQUFBO0FFcjVHSjtBRm96SUU7RUFDRSxpQkFBQTtBRWp6SUo7QUZveklFOztFQUVFLDBCQUFBO0FFanpJSjtBRnUwSUk7RUFDRSxnQkFKSztBRWgwSVg7QUY2N0dFO0VBR0UsK0JBQUE7RUFDQSxtQkFBQTtFQWg1S0YsMkhBQUE7QUVxOURGO0FGZzhHRTtFQUNFLGNBQUE7QUU3N0dKO0FBdjdFQSw4RUFBQTtBQ3JCRTtFQUNDLHNCQUFBO0FEZzlFSDtBQzc4RUU7RUFFRSxhQUFBO0VBQ0EsZ0JBQUE7RUFHQSxlQUFBO0VBRUQscUJBQUE7QUQyOEVIO0FDdDhFQztFQUNDLGNBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0VBR0Esc0JBQUE7RUFJQSxtQ0FBQTtVQUFBLDJCQUFBO0FEbThFRjtBRS85RUE7RUFDQyxrQkFBQTtFQUNBLHdDQUFBO0VBQ0EsZUFBQTtFQUVDLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0FGaStFRjtBRTU5RUU7RUFDQyxxQkFBQTtFQUVDLGFBQUE7RUFDQSxnQkFBQTtFQUVELG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0FGNDlFSDtBRXo5RUU7RUFDQyxxQkFBQTtFQUNBLDZCQUFBO0VBQ0EsWUFBQTtFQUVDLG1CQUFBO0VBQ0EsaUJBQUE7RUFFRCxhQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0FGeTlFSDtBRXY5RUc7RUFFQyxVQUFBO0FGdzlFSjtBRXI5RUc7RUFDQyxzQkFBQTtFQUNBLFVBQUE7QUZ1OUVKO0FHemdGQTtFQUNDLHNCQUxtQztFQU1uQyxXQUw2QjtBSGloRjlCO0FHMWdGQztFQUNDLFVBUDRCO0FIbWhGOUI7QUlqaEZBO0VBQ0MseUJBTGlDO0VBTWpDLFdBTDJCO0FKeWhGNUI7QUlsaEZDO0VBQ0MsVUFQMEI7QUoyaEY1QjtBS3poRkE7RUFDQyx5QkFMZ0M7RUFNaEMsV0FMMEI7QUxpaUYzQjtBSzFoRkM7RUFDQyxVQVB5QjtBTG1pRjNCO0FNamlGQTtFQUNDLHlCQUxtQztFQU1uQyxXQUw2QjtBTnlpRjlCO0FNbGlGQztFQUNDLFVBUDRCO0FOMmlGOUI7QU96aUZBO0VBQ0MseUJBTG1DO0VBTW5DLFdBTDZCO0FQaWpGOUI7QU8xaUZDO0VBQ0MsVUFQNEI7QVBtakY5QjtBUWppRkE7RUFDRSxnQkFKMkI7QVJ3aUY3QjtBUWhpRkE7RUFDRSxTQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0FSbWlGRjtBUS9oRkE7RUFDRSxlQUFBO0VBQ0EsTUFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQ0FBQTtFQUNBLDZCQUFBO0VBQ0EsWUFBQTtBUmtpRkY7QVFoaUZFO0VBQ0Usb0NBbERZO0FSb2xGaEI7QVEvaEZFO0VBQ0UsNkJBQUE7QVJpaUZKO0FRNWhGQTtFQUNFLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0VBQ0Esb0JBQUE7RUFDQSxhQUFBO0FSK2hGRjtBUTVoRkU7RUFDRSxVQUFBO0FSOGhGSjtBUTNoRkU7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQ0FBQTtBUjZoRko7QVF6aEZBO0VBQ0Usa0JBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxvQkFBQTtFQUNBLDRCQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkF4Rm9CO0VBeUZwQixzQkF4RnVCO0VBeUZ2QixvQkF4RnFCO0VBeUZyQixxQkF4RnNCO0VBeUZ0QixzSEFBQTtFQUNBLFVBQUE7RUFHQSwrQkFBQTtBUjBoRkY7QVF2aEZBO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0FSMGhGRjtBUXZoRkE7OzJCQUFBO0FBSUE7RUFDRSxzREFBQTtBUnloRkY7QVFyaEZBO0VBQ0Usa0NBQUE7QVJ3aEZGO0FRdGhGRTtFQUNFLCtCQUFBO0FSd2hGSjtBUXJoRkU7RUFDRSxrQ0FBQTtBUnVoRko7QVFsaEZBO0VBQ0UsaUNBQUE7QVJxaEZGO0FRbmhGRTtFQUNFLCtCQUFBO0FScWhGSjtBUWxoRkU7RUFDRSxpQ0FBQTtBUm9oRko7QVEvZ0ZBO0VBQ0Usa0NBQUE7QVJraEZGO0FRaGhGRTtFQUNFLCtCQUFBO0FSa2hGSjtBUS9nRkU7RUFDRSxrQ0FBQTtBUmloRko7QVE1Z0ZBO0VBQ0UsaUNBQUE7QVIrZ0ZGO0FRN2dGRTtFQUNFLCtCQUFBO0FSK2dGSjtBUTVnRkU7RUFDRSxpQ0FBQTtBUjhnRko7QUFqcEZBO0VBQ0UsNkJBQUE7QUFvcEZGO0FBanBGQTtFQUNFLGNBQUE7QUFvcEZGO0FBanBGQTtFQUNFLGNBQUE7QUFvcEZGO0FBanBGQTtFQUNFLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLFdBQUE7RUFDQSxhQUFBO0VBQ0EsYUFBQTtFQUNBLHVCQUFBO0VBQ0Esb0RBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxNQUFBO0VBQ0UsT0FBQTtBQW9wRko7QUFqcEZBO0VBQ0Usa0JBQUE7RUFDQSxhQUFBO0VBQ0EsWUFBQTtFQUNBLCtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsWUFBQTtBQW9wRkY7QUFqcEZBO0VBQ0UsYUFBQTtFQUNBLFlBQUE7RUFDQSw0Q0FBQTtVQUFBLG9DQUFBO0VBQ0EsK0JBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxZQUFBO0FBb3BGRjtBQWpwRkE7RUFDRSx3QkFBQTtFQUNBLG9CQUFBO0VBQ0EsaURBQUE7VUFBQSx5Q0FBQTtFQUNBLHFCQUFBO0VBQ0EsWUFBQTtBQW9wRkY7QUFqcEZBO0VBQ0UsMkVBQUE7RUFDQSxhQUFBO0VBQ0EsWUFBQTtFQUNBLDRCQUFBO0FBb3BGRjtBQWpwRkE7RUFDRTtJQUNFLHlCQUFBO0VBb3BGRjtBQUNGO0FBdnBGQTtFQUNFO0lBQ0UseUJBQUE7RUFvcEZGO0FBQ0Y7QUFqcEZBO0VBQ0U7SUFDRSx3QkFBQTtJQUNBLG9CQUFBO0VBbXBGRjtFQWpwRkE7SUFDRSx5QkFBQTtJQUNBLHdCQUFBO0VBbXBGRjtFQWpwRkE7SUFDRSx5QkFBQTtJQUNBLHlCQUFBO0VBbXBGRjtBQUNGO0FBL3BGQTtFQUNFO0lBQ0Usd0JBQUE7SUFDQSxvQkFBQTtFQW1wRkY7RUFqcEZBO0lBQ0UseUJBQUE7SUFDQSx3QkFBQTtFQW1wRkY7RUFqcEZBO0lBQ0UseUJBQUE7SUFDQSx5QkFBQTtFQW1wRkY7QUFDRjtBQWhwRkE7RUFDRSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsU0FBQTtFQUNBLGlCQUFBO0VBQ0EsU0FBQTtBQWtwRkY7QUEvb0ZBO0VBQ0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0FBa3BGRjtBQS9vRkE7RUFDRSx1QkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7QUFrcEZGO0FBL29GQTtFQUFhLFlBQUE7QUFtcEZiO0FBbHBGQTtFQUFPLFNBQUE7RUFBVyxpREFBQTtFQUFtRCxvQ0FBQTtBQXdwRnJFO0FBcHBGQTs7O0VBR0UsY0FBQTtBQXVwRkY7QUFycEZBO0VBQ0UsY0FBQTtBQXdwRkY7QUF0cEZBO0VBQ0UsZ0JBQUE7QUF5cEZGO0FBdHBGQTtFQUNFLGFBQUE7RUFDQSxzQ0FBQTtFQUNBLG1CQUFBO09BQUEsY0FBQTtBQXlwRkY7QUF0cEZBO0VBQ0UsYUFBQTtFQUNBLHNDQUFBO0VBQ0EsbUJBQUE7T0FBQSxjQUFBO0FBeXBGRjtBQXRwRkE7RUFDRSxvQkFBQTtFQUNBLG1CQUFBO0FBeXBGRjtBQXRwRkE7RUFDRTtJQUNJLG1CQUFBO0VBeXBGSjs7RUF2cEZBO0lBQ0ksbUJBQUE7RUEwcEZKOztFQXhwRkE7SUFDSSxtQkFBQTtFQTJwRko7O0VBenBGQTtJQUNJLG1CQUFBO0VBNHBGSjs7RUExcEZBO0lBQ0ksbUJBQUE7RUE2cEZKOztFQTNwRkE7SUFDSSxtQkFBQTtFQThwRko7O0VBNXBGQTtJQUNJLG1CQUFBO0VBK3BGSjs7RUE3cEZBO0lBQ0ksbUJBQUE7RUFncUZKOztFQTlwRkE7SUFDSSxtQkFBQTtFQWlxRko7O0VBL3BGQTtJQUNJLG9CQUFBO0VBa3FGSjs7RUFocUZBO0lBQ0ksb0JBQUE7RUFtcUZKOztFQWpxRkE7SUFDSSxvQkFBQTtFQW9xRko7QUFDRjtBQWpxRkE7RUFDRTtJQUNFLGFBQUE7RUFtcUZGOztFQWpxRkE7SUFDSSxtQkFBQTtFQW9xRko7O0VBbHFGQTtJQUNJLG1CQUFBO0VBcXFGSjs7RUFucUZBO0lBQ0ksbUJBQUE7RUFzcUZKOztFQXBxRkE7SUFDSSxtQkFBQTtFQXVxRko7O0VBcnFGQTtJQUNJLG1CQUFBO0VBd3FGSjs7RUF0cUZBO0lBQ0ksbUJBQUE7RUF5cUZKOztFQXZxRkE7SUFDSSxtQkFBQTtFQTBxRko7O0VBeHFGQTtJQUNJLG1CQUFBO0VBMnFGSjs7RUF6cUZBO0lBQ0ksbUJBQUE7RUE0cUZKOztFQTFxRkE7SUFDSSxvQkFBQTtFQTZxRko7O0VBM3FGQTtJQUNJLG9CQUFBO0VBOHFGSjs7RUE1cUZBO0lBQ0ksb0JBQUE7RUErcUZKO0FBQ0Y7QUEzcUZBO0VBQ0UsY0FBQTtFQUNBLHlCQUFBO0VBQ0EsNENBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBQTZxRkY7QUEzcUZBO0VBQ0UsYUFBQTtFQUNBLDhCQUFBO0VBQ0EsbUJBQUE7QUE4cUZGO0FBNXFGQTtFQUNFLGlCQUFBO0FBK3FGRjtBQTdxRkE7RUFDRSxhQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBO0FBZ3JGRjtBQTlxRkE7RUFDRSxpQkFBQTtBQWlyRkY7QUEvcUZBO0VBQ0UsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxjQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0FBa3JGRjtBQWhyRkE7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtBQW1yRkY7QUEvcUZBO0VBQ0UsVUFBQTtBQWtyRkY7QUFockZBO0VBQ0UsbUJBQUE7QUFtckZGO0FBanJGQTtFQUNFLG1CQUFBO0FBb3JGRjtBQWxyRkE7RUFDRSxtQkFBQTtBQXFyRkY7QUFuckZBO0VBQ0UseUJBQUE7QUFzckZGO0FBcHJGQTtFQUNFLHlCQUFBO0VBQ0EsY0FBQTtBQXVyRkY7QUFyckZBO0VBQ0UsbUJBQUE7QUF3ckZGO0FBdHJGQTtFQUNFLG1CQUFBO0FBeXJGRjtBQXZyRkE7RUFDRSxtQkFBQTtBQTByRkY7QUF4ckZBO0VBQ0UsWUFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsdUJBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7QUEyckZGO0FBenJGQTtFQUNFLGFBQUE7RUFDQSx1QkFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0FBNHJGRjtBQXpyRkE7RUFDRSx5QkFBQTtBQTRyRkY7QUExckZBO0VBQ0UseUJBQUE7QUE2ckZGO0FBM3JGQTtFQUNFLHlCQUFBO0FBOHJGRjtBQTVyRkE7RUFDRSx5QkFBQTtFQUNBLHlCQUFBO0FBK3JGRjtBQTdyRkE7RUFDRSx5QkFBQTtBQWdzRkY7QUE3ckZBO0VBQ0UseUJBQUE7RUFDQSx5QkFBQTtBQWdzRkY7QUE5ckZBO0VBQ0Usb0NBQUE7QUFpc0ZGO0FBL3JGQTtFQUNFLHlCQUFBO0VBQ0EseUJBQUE7QUFrc0ZGO0FBaHNGQTtFQUNFLG9DQUFBO0FBbXNGRjtBQWpzRkE7RUFDRSx5QkFBQTtFQUNBLHlCQUFBO0FBb3NGRjtBQWxzRkE7RUFDRSxvQ0FBQTtBQXFzRkY7QUFuc0ZBO0VBQ0UseUJBQUE7RUFDQSx5QkFBQTtBQXNzRkY7QUFwc0ZBO0VBQ0Usb0NBQUE7QUF1c0ZGO0FBcnNGQTtFQUNFLHlCQUFBO0VBQ0EseUJBQUE7QUF3c0ZGO0FBdHNGQTtFQUNFLG9DQUFBO0FBeXNGRjtBQXZzRkE7RUFDRSx5QkFBQTtFQUNBLHlCQUFBO0FBMHNGRjtBQXhzRkE7RUFDRSxvQ0FBQTtBQTJzRkYiLCJmaWxlIjoic3R5bGVzLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGaWxlIGZvciB3aGljaCBhbGwgaW1wb3J0cyBhcmUgcmVzb2x2ZWQgYW5kIGJ1bmRsZWQuIFRoaXMgaXMgdGhlIGVudHJ5LXBvaW50IGZvclxuLy8gdGhlIGBAYW5ndWxhci9tYXRlcmlhbGAgdGhlbWluZyBTYXNzIGJ1bmRsZS4gU2VlIGAvL3NyYy9tYXRlcmlhbDp0aGVtaW5nX2J1bmRsZWAuXG5cbi8vIEltcG9ydCBhbGwgdGhlIHRoZW1pbmcgZnVuY3Rpb25hbGl0eS5cbi8vIFdlIHdhbnQgb3ZlcmxheXMgdG8gYWx3YXlzIGFwcGVhciBvdmVyIHVzZXIgY29udGVudCwgc28gc2V0IGEgYmFzZWxpbmVcbi8vIHZlcnkgaGlnaCB6LWluZGV4IGZvciB0aGUgb3ZlcmxheSBjb250YWluZXIsIHdoaWNoIGlzIHdoZXJlIHdlIGNyZWF0ZSB0aGUgbmV3XG4vLyBzdGFja2luZyBjb250ZXh0IGZvciBhbGwgb3ZlcmxheXMuXG4kY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI6IDEwMDAgIWRlZmF1bHQ7XG4kY2RrLXotaW5kZXgtb3ZlcmxheTogMTAwMCAhZGVmYXVsdDtcbiRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wOiAxMDAwICFkZWZhdWx0O1xuXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbGwgb2YgdGhlIGJhY2tkcm9wc1xuJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMyKSAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBiYWNrZHJvcCBhbmltYXRpb24gaXMgYmFzZWQgb24gdGhlIE1hdGVyaWFsIERlc2lnbiBzd2lmdC1lYXNlLW91dC5cbiRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb246IDQwMG1zICFkZWZhdWx0O1xuJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpICFkZWZhdWx0O1xuXG5cbkBtaXhpbiBjZGstb3ZlcmxheSgpIHtcbiAgLmNkay1vdmVybGF5LWNvbnRhaW5lciwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgICAvLyBEaXNhYmxlIGV2ZW50cyBmcm9tIGJlaW5nIGNhcHR1cmVkIG9uIHRoZSBvdmVybGF5IGNvbnRhaW5lci5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC8vIFRoZSBjb250YWluZXIgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZSB2aWV3cG9ydC5cbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBUaGUgb3ZlcmxheS1jb250YWluZXIgaXMgYW4gaW52aXNpYmxlIGVsZW1lbnQgd2hpY2ggY29udGFpbnMgYWxsIGluZGl2aWR1YWwgb3ZlcmxheXMuXG4gIC5jZGstb3ZlcmxheS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI7XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgIC8vIEhpZGUgdGhlIGVsZW1lbnQgd2hlbiBpdCBkb2Vzbid0IGhhdmUgYW55IGNoaWxkIG5vZGVzLiBUaGlzIGRvZXNuJ3RcbiAgICAgIC8vIGluY2x1ZGUgb3ZlcmxheXMgdGhhdCBoYXZlIGJlZW4gZGV0YWNoZWQsIHJhdGhlciB0aGFuIGRpc3Bvc2VkLlxuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSB1c2UgYW4gZXh0cmEgd3JhcHBlciBlbGVtZW50IGluIG9yZGVyIHRvIHVzZSBtYWtlIHRoZSBvdmVybGF5IGl0c2VsZiBhIGZsZXggaXRlbS5cbiAgLy8gVGhpcyBtYWtlcyBjZW50ZXJpbmcgdGhlIG92ZXJsYXkgZWFzeSB3aXRob3V0IHJ1bm5pbmcgaW50byB0aGUgc3VicGl4ZWwgcmVuZGVyaW5nXG4gIC8vIHByb2JsZW1zIHRpZWQgdG8gdXNpbmcgYHRyYW5zZm9ybWAgYW5kIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCB0aGUgb3RoZXIgcG9zaXRpb25cbiAgLy8gc3RyYXRlZ2llcy5cbiAgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIEEgc2luZ2xlIG92ZXJsYXkgcGFuZS5cbiAgLmNkay1vdmVybGF5LXBhbmUge1xuICAgIC8vIE5vdGU6IGl0J3MgaW1wb3J0YW50IGZvciB0aGlzIG9uZSB0byBzdGFydCBvZmYgYGFic29sdXRlYCxcbiAgICAvLyBpbiBvcmRlciBmb3IgdXMgdG8gYmUgYWJsZSB0byBtZWFzdXJlIGl0IGNvcnJlY3RseS5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcblxuICAgIC8vIEZvciBjb25uZWN0ZWQtcG9zaXRpb24gb3ZlcmxheXMsIHdlIHNldCBgZGlzcGxheTogZmxleGAgaW5cbiAgICAvLyBvcmRlciB0byBmb3JjZSBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIHRvIHRha2UgZWZmZWN0LlxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuY2RrLW92ZXJsYXktYmFja2Ryb3Age1xuICAgIC8vIFRPRE8oamVsYm91cm4pOiByZXVzZSBzaWRlbmF2IGZ1bGxzY3JlZW4gbWl4aW4uXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcblxuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uICRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgLy8gSW4gaGlnaCBjb250cmFzdCBtb2RlIHRoZSByZ2JhIGJhY2tncm91bmQgd2lsbCBiZWNvbWUgc29saWQgc28gd2UgbmVlZCB0byBmYWxsIGJhY2tcbiAgICAgIC8vIHRvIG1ha2luZyBpdCBvcGFxdWUgdXNpbmcgYG9wYWNpdHlgLiBOb3RlIHRoYXQgd2UgY2FuJ3QgdXNlIHRoZSBgY2RrLWhpZ2gtY29udHJhc3RgXG4gICAgICAvLyBtaXhpbiwgYmVjYXVzZSB3ZSBjYW4ndCBub3JtYWxpemUgdGhlIGltcG9ydCBwYXRoIHRvIHRoZSBfYTExeS5zY3NzIGJvdGggZm9yIHRoZVxuICAgICAgLy8gc291cmNlIGFuZCB3aGVuIHRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZC4gU2VlICMxMDkwOC5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XG4gICAgYmFja2dyb3VuZDogJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCB7XG4gICAgLy8gTm90ZTogYXMgb2YgRmlyZWZveCA1NywgaGF2aW5nIHRoZSBiYWNrZHJvcCBiZSBgYmFja2dyb3VuZDogbm9uZWAgd2lsbCBwcmV2ZW50IGl0IGZyb21cbiAgICAvLyBjYXB0dXJpbmcgdGhlIHVzZXIncyBtb3VzZSBzY3JvbGwgZXZlbnRzLiBTaW5jZSB3ZSBhbHNvIGNhbid0IHVzZSBzb21ldGhpbmcgbGlrZVxuICAgIC8vIGByZ2JhKDAsIDAsIDAsIDApYCwgd2Ugd29yayBhcm91bmQgdGhlIGluY29uc2lzdGVuY3kgYnkgbm90IHNldHRpbmcgdGhlIGJhY2tncm91bmQgYXRcbiAgICAvLyBhbGwgYW5kIHVzaW5nIGBvcGFjaXR5YCB0byBtYWtlIHRoZSBlbGVtZW50IHRyYW5zcGFyZW50LlxuICAgICYsICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXkgcGFyZW50IGVsZW1lbnQgdXNlZCB3aXRoIHRoZSBjb25uZWN0ZWQgcG9zaXRpb24gc3RyYXRlZ3kuIFVzZWQgdG8gY29uc3RyYWluIHRoZVxuICAvLyBvdmVybGF5IGVsZW1lbnQncyBzaXplIHRvIGZpdCB3aXRoaW4gdGhlIHZpZXdwb3J0LlxuICAuY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xuXG4gICAgLy8gV2UgdXNlIGBkaXNwbGF5OiBmbGV4YCBvbiB0aGlzIGVsZW1lbnQgZXhjbHVzaXZlbHkgZm9yIGNlbnRlcmluZyBjb25uZWN0ZWQgb3ZlcmxheXMuXG4gICAgLy8gV2hlbiAqbm90KiBjZW50ZXJpbmcsIGEgdG9wL2xlZnQvYm90dG9tL3JpZ2h0IHdpbGwgYmUgc2V0IHdoaWNoIG92ZXJyaWRlcyB0aGUgbm9ybWFsXG4gICAgLy8gZmxleCBsYXlvdXQuXG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC8vIFdlIHVzZSB0aGUgYGNvbHVtbmAgZGlyZWN0aW9uIGhlcmUgdG8gYXZvaWQgc29tZSBmbGV4Ym94IGlzc3VlcyBpbiBFZGdlXG4gICAgLy8gd2hlbiB1c2luZyB0aGUgXCJncm93IGFmdGVyIG9wZW5cIiBvcHRpb25zLlxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAvLyBBZGQgc29tZSBkaW1lbnNpb25zIHNvIHRoZSBlbGVtZW50IGhhcyBhbiBgaW5uZXJUZXh0YCB3aGljaCBzb21lIHBlb3BsZSBkZXBlbmQgb24gaW4gdGVzdHMuXG4gICAgbWluLXdpZHRoOiAxcHg7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG5cbiAgLy8gVXNlZCB3aGVuIGRpc2FibGluZyBnbG9iYWwgc2Nyb2xsaW5nLlxuICAuY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgLy8gTmVjZXNzYXJ5IGZvciB0aGUgY29udGVudCBub3QgdG8gbG9zZSBpdHMgd2lkdGguIE5vdGUgdGhhdCB3ZSdyZSB1c2luZyAxMDAlLCBpbnN0ZWFkIG9mXG4gICAgLy8gMTAwdncsIGJlY2F1c2UgMTAwdncgaW5jbHVkZXMgdGhlIHdpZHRoIHBsdXMgdGhlIHNjcm9sbGJhciwgd2hlcmVhcyAxMDAlIGlzIHRoZSB3aWR0aFxuICAgIC8vIHRoYXQgdGhlIGVsZW1lbnQgaGFkIGJlZm9yZSB3ZSBtYWRlIGl0IGBmaXhlZGAuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAvLyBOb3RlOiB0aGlzIHdpbGwgYWx3YXlzIGFkZCBhIHNjcm9sbGJhciB0byB3aGF0ZXZlciBlbGVtZW50IGl0IGlzIG9uLCB3aGljaCBjYW5cbiAgICAvLyBwb3RlbnRpYWxseSByZXN1bHQgaW4gZG91YmxlIHNjcm9sbGJhcnMuIEl0IHNob3VsZG4ndCBiZSBhbiBpc3N1ZSwgYmVjYXVzZSB3ZSB3b24ndFxuICAgIC8vIGJsb2NrIHNjcm9sbGluZyBvbiBhIHBhZ2UgdGhhdCBkb2Vzbid0IGhhdmUgYSBzY3JvbGxiYXIgaW4gdGhlIGZpcnN0IHBsYWNlLlxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgfVxufVxuXG5AbWl4aW4gY2RrLWExMXkge1xuICAuY2RrLXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcblxuICAgIC8vIEF2b2lkIGJyb3dzZXJzIHJlbmRlcmluZyB0aGUgZm9jdXMgcmluZyBpbiBzb21lIGNhc2VzLlxuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBBdm9pZCBzb21lIGNhc2VzIHdoZXJlIHRoZSBicm93c2VyIHdpbGwgc3RpbGwgcmVuZGVyIHRoZSBuYXRpdmUgY29udHJvbHMgKHNlZSAjOTA0OSkuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxufVxuXG4vLy8gRW1pdHMgdGhlIG1peGluJ3MgY29udGVudCBuZXN0ZWQgdW5kZXIgYCRzZWxlY3Rvci1jb250ZXh0YCBpZiBgJHNlbGVjdG9yLWNvbnRleHRgXG4vLy8gaXMgbm9uLWVtcHR5LlxuLy8vIEBwYXJhbSBzZWxlY3Rvci1jb250ZXh0IFRoZSBzZWxlY3RvciB1bmRlciB3aGljaCB0byBuZXN0IHRoZSBtaXhpbidzIGNvbnRlbnQuXG5AbWl4aW4gX2Nkay1vcHRpb25hbGx5LW5lc3QtY29udGVudCgkc2VsZWN0b3ItY29udGV4dCkge1xuICBAaWYgKCRzZWxlY3Rvci1jb250ZXh0ID09ICcnKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JHNlbGVjdG9yLWNvbnRleHR9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIHVzZXJzIGluIGhpZ2ggY29udHJhc3QgbW9kZS4gTm90ZSB0aGF0IHRoaXMgb25seSBhcHBsaWVzXG4vLy8gdG8gTWljcm9zb2Z0IGJyb3dzZXJzLiBDaHJvbWUgY2FuIGJlIGluY2x1ZGVkIGJ5IGNoZWNraW5nIGZvciB0aGUgYGh0bWxbaGNdYFxuLy8vIGF0dHJpYnV0ZSwgaG93ZXZlciBDaHJvbWUgaGFuZGxlcyBoaWdoIGNvbnRyYXN0IGRpZmZlcmVudGx5LlxuLy8vXG4vLy8gQHBhcmFtIHRhcmdldCBXaGljaCBraW5kIG9mIGhpZ2ggY29udHJhc3Qgc2V0dGluZyB0byB0YXJnZXQuIERlZmF1bHRzIHRvIGBhY3RpdmVgLCBjYW4gYmVcbi8vLyAgICBgd2hpdGUtb24tYmxhY2tgIG9yIGBibGFjay1vbi13aGl0ZWAuXG4vLy8gQHBhcmFtIGVuY2Fwc3VsYXRpb24gV2hldGhlciB0byBlbWl0IHN0eWxlcyBmb3IgdmlldyBlbmNhcHN1bGF0aW9uLiBWYWx1ZXMgYXJlOlxuLy8vICAgICAqIGBvbmAgLSB3b3JrcyBmb3IgYEVtdWxhdGVkYCwgYE5hdGl2ZWAsIGFuZCBgU2hhZG93RG9tYFxuLy8vICAgICAqIGBvZmZgIC0gd29ya3MgZm9yIGBOb25lYFxuLy8vICAgICAqIGBhbnlgIC0gd29ya3MgZm9yIGFsbCBlbmNhcHN1bGF0aW9uIG1vZGVzIGJ5IGVtaXR0aW5nIHRoZSBDU1MgdHdpY2UgKGRlZmF1bHQpLlxuQG1peGluIGNkay1oaWdoLWNvbnRyYXN0KCR0YXJnZXQ6IGFjdGl2ZSwgJGVuY2Fwc3VsYXRpb246ICdhbnknKSB7XG4gIEBpZiAoJHRhcmdldCAhPSAnYWN0aXZlJyBhbmQgJHRhcmdldCAhPSAnYmxhY2stb24td2hpdGUnIGFuZCAkdGFyZ2V0ICE9ICd3aGl0ZS1vbi1ibGFjaycpIHtcbiAgICBAZXJyb3IgJ1Vua25vd24gY2RrLWhpZ2gtY29udHJhc3QgdmFsdWUgXCIjeyR0YXJnZXR9XCIgcHJvdmlkZWQuICcgK1xuICAgICAgICAgICAnQWxsb3dlZCB2YWx1ZXMgYXJlIFwiYWN0aXZlXCIsIFwiYmxhY2stb24td2hpdGVcIiwgYW5kIFwid2hpdGUtb24tYmxhY2tcIic7XG4gIH1cblxuICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvbicgYW5kICRlbmNhcHN1bGF0aW9uICE9ICdvZmYnIGFuZCAkZW5jYXBzdWxhdGlvbiAhPSAnYW55Jykge1xuICAgIEBlcnJvciAnVW5rbm93biBjZGstaGlnaC1jb250cmFzdCBlbmNhcHN1bGF0aW9uIFwiI3skZW5jYXBzdWxhdGlvbn1cIiBwcm92aWRlZC4gJyArXG4gICAgICAgICAgICdBbGxvd2VkIHZhbHVlcyBhcmUgXCJvblwiLCBcIm9mZlwiLCBhbmQgXCJhbnlcIic7XG4gIH1cblxuICAvLyBJZiB0aGUgc2VsZWN0b3IgY29udGV4dCBoYXMgbXVsdGlwbGUgcGFydHMsIHN1Y2ggYXMgYC5zZWN0aW9uLCAucmVnaW9uYCwganVzdCBkb2luZ1xuICAvLyBgLmNkay1oaWdoLWNvbnRyYXN0LXh4eCAjeyZ9YCB3aWxsIG9ubHkgYXBwbHkgdGhlIHBhcmVudCBzZWxlY3RvciB0byB0aGUgZmlyc3QgcGFydCBvZiB0aGVcbiAgLy8gY29udGV4dC4gV2UgYWRkcmVzcyB0aGlzIGJ5IG5lc3RpbmcgdGhlIHNlbGVjdG9yIGNvbnRleHQgdW5kZXIgLmNkay1oaWdoLWNvbnRyYXN0LlxuICBAYXQtcm9vdCB7XG4gICAgJHNlbGVjdG9yLWNvbnRleHQ6ICN7Jn07XG5cbiAgICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvbicpIHtcbiAgICAgIC5jZGstaGlnaC1jb250cmFzdC0jeyR0YXJnZXR9IHtcbiAgICAgICAgQGluY2x1ZGUgX2Nkay1vcHRpb25hbGx5LW5lc3QtY29udGVudCgkc2VsZWN0b3ItY29udGV4dCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkZW5jYXBzdWxhdGlvbiAhPSAnb2ZmJykge1xuICAgICAgLmNkay1oaWdoLWNvbnRyYXN0LSN7JHRhcmdldH0gOmhvc3Qge1xuICAgICAgICBAaW5jbHVkZSBfY2RrLW9wdGlvbmFsbHktbmVzdC1jb250ZW50KCRzZWxlY3Rvci1jb250ZXh0KSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29yZSBzdHlsZXMgdGhhdCBlbmFibGUgbW9uaXRvcmluZyBhdXRvZmlsbCBzdGF0ZSBvZiB0ZXh0IGZpZWxkcy5cbkBtaXhpbiBjZGstdGV4dC1maWVsZCB7XG4gIC8vIEtleWZyYW1lcyB0aGF0IGFwcGx5IG5vIHN0eWxlcywgYnV0IGFsbG93IHVzIHRvIG1vbml0b3Igd2hlbiBhbiB0ZXh0IGZpZWxkIGJlY29tZXMgYXV0b2ZpbGxlZFxuICAvLyBieSB3YXRjaGluZyBmb3IgdGhlIGFuaW1hdGlvbiBldmVudHMgdGhhdCBhcmUgZmlyZWQgd2hlbiB0aGV5IHN0YXJ0LiBOb3RlOiB0aGUgLyohKi8gY29tbWVudCBpc1xuICAvLyBuZWVkZWQgdG8gcHJldmVudCBMaWJTYXNzIGZyb20gc3RyaXBwaW5nIHRoZSBrZXlmcmFtZXMgb3V0LlxuICAvLyBCYXNlZCBvbjogaHR0cHM6Ly9tZWRpdW0uY29tL0BicnVubi9kZXRlY3RpbmctYXV0b2ZpbGxlZC1maWVsZHMtaW4tamF2YXNjcmlwdC1hZWQ1OThkMjVkYTdcbiAgQGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCB7LyohKi99XG4gIEBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIHsvKiEqL31cblxuICAuY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIC8vIFNpbmNlIENocm9tZSA4MCB3ZSBuZWVkIGEgMW1zIGRlbGF5LCBvciB0aGUgYW5pbWF0aW9uc3RhcnQgZXZlbnQgd29uJ3QgZmlyZS5cbiAgICBhbmltYXRpb246IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtcztcbiAgfVxuXG4gIC5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6bm90KDotd2Via2l0LWF1dG9maWxsKSB7XG4gICAgLy8gU2luY2UgQ2hyb21lIDgwIHdlIG5lZWQgYSAxbXMgZGVsYXksIG9yIHRoZSBhbmltYXRpb25zdGFydCBldmVudCB3b24ndCBmaXJlLlxuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtcztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgcmVzaXplIGhhbmRsZSBvbiBhdXRvc2l6aW5nIHRleHRhcmVhcywgYmVjYXVzZSB3aGF0ZXZlciBoZWlnaHRcbiAgLy8gdGhlIHVzZXIgcmVzaXplZCB0byB3aWxsIGJlIG92ZXJ3cml0dGVuIG9uY2UgdGhleSBzdGFydCB0eXBpbmcgYWdhaW4uXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZSB7XG4gICAgcmVzaXplOiBub25lO1xuICB9XG5cbiAgLy8gVGhpcyBjbGFzcyBpcyB0ZW1wb3JhcmlseSBhcHBsaWVkIHRvIHRoZSB0ZXh0YXJlYSB3aGVuIGl0IGlzIGJlaW5nIG1lYXN1cmVkLiBJdCBpcyBpbW1lZGlhdGVseVxuICAvLyByZW1vdmVkIHdoZW4gbWVhc3VyaW5nIGlzIGNvbXBsZXRlLiBXZSB1c2UgYCFpbXBvcnRhbnRgIHJ1bGVzIGhlcmUgdG8gbWFrZSBzdXJlIHVzZXItc3BlY2lmaWVkXG4gIC8vIHJ1bGVzIGRvIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgbWVhc3VyZW1lbnQuXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmcge1xuICAgIEBpbmNsdWRlIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2U7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gU2ltaWxhciB0byB0aGUgYGNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdgIGNsYXNzLCBidXQgb25seSBhcHBsaWVkIG9uIEZpcmVmb3guIFdlIG5lZWRcbiAgLy8gdG8gdXNlIHRoaXMgY2xhc3MsIGJlY2F1c2UgRmlyZWZveCBoYXMgYSBidWcgd2hlcmUgY2hhbmdpbmcgdGhlIGBvdmVyZmxvd2AgYnJlYWtzIHRoZSB1c2VyJ3NcbiAgLy8gYWJpbGl0eSB0byB1bmRvL3JlZG8gd2hhdCB0aGV5IHdlcmUgdHlwaW5nIChzZWUgIzE2NjI5KS4gVGhpcyBjbGFzcyBpcyBvbmx5IHNjb3BlZCB0byBGaXJlZm94LFxuICAvLyBiZWNhdXNlIHRoZSBtZWFzdXJlbWVudHMgdGhlcmUgZG9uJ3Qgc2VlbSB0byBiZSBhZmZlY3RlZCBieSB0aGUgYGhlaWdodDogMGAsIHdoZXJlYXMgb24gb3RoZXJcbiAgLy8gYnJvd3NlcnMgdGhleSBhcmUsIGUuZy4gQ2hyb21lIGRldGVjdHMgbG9uZ2VyIHRleHQgYW5kIElFIGRvZXMndCByZXNpemUgYmFjayB0byBub3JtYWwuXG4gIC8vIElkZW50aWNhbCBpc3N1ZSByZXBvcnQ6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTQ0ODc4NFxuICB0ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3gge1xuICAgIEBpbmNsdWRlIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2U7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2Uge1xuICAvLyBIYXZpbmcgMnB4IHRvcCBhbmQgYm90dG9tIHBhZGRpbmcgc2VlbXMgdG8gZml4IGEgYnVnIHdoZXJlIENocm9tZSBnZXRzIGFuIGluY29ycmVjdFxuICAvLyBtZWFzdXJlbWVudC4gV2UganVzdCBoYXZlIHRvIGFjY291bnQgZm9yIGl0IGxhdGVyIGFuZCBzdWJ0cmFjdCBpdCBvZmYgdGhlIGZpbmFsIHJlc3VsdC5cbiAgcGFkZGluZzogMnB4IDAgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3ggIWltcG9ydGFudDtcbn1cblxuLy8gVXNlZCB0byBnZW5lcmF0ZSBVSURzIGZvciBrZXlmcmFtZXMgdXNlZCB0byBjaGFuZ2UgdGhlIHRleHQgZmllbGQgYXV0b2ZpbGwgc3R5bGVzLlxuJGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50OiAwO1xuXG4vLyBNaXhpbiB1c2VkIHRvIGFwcGx5IGN1c3RvbSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbG9ycyB0byBhbiBhdXRvZmlsbGVkIHRleHQgZmllbGQuXG4vLyBCYXNlZCBvbjogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjc4MTU0OS9cbi8vIHJlbW92aW5nLWlucHV0LWJhY2tncm91bmQtY29sb3VyLWZvci1jaHJvbWUtYXV0b2NvbXBsZXRlI2Fuc3dlci0zNzQzMjI2MFxuQG1peGluIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yKCRiYWNrZ3JvdW5kLCAkZm9yZWdyb3VuZDonJykge1xuICBAa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLSN7JGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50fSB7XG4gICAgdG8ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBAaWYgJGZvcmVncm91bmQgIT0gJycgeyBjb2xvcjogJGZvcmVncm91bmQ7IH1cbiAgICB9XG4gIH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItI3skY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnR9IGJvdGg7XG4gIH1cblxuICAmLmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAvLyBTaW5jZSBDaHJvbWUgODAgd2UgbmVlZCBhIDFtcyBkZWxheSBmb3IgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQsIG9yIHRoZSBhbmltYXRpb25zdGFydFxuICAgIC8vIGV2ZW50IHdvbid0IGZpcmUuXG4gICAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXMsXG4gICAgICAgICAgICAgICBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci0jeyRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudH0gYm90aDtcbiAgfVxuXG4gICRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudDpcbiAgICAgICRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudCArIDEgIWdsb2JhbDtcbn1cblxuXG4vLyBDb3JlIHN0eWxlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGFwcGx5IG1hdGVyaWFsIGRlc2lnbiB0cmVhdG1lbnRzIHRvIGFueSBlbGVtZW50LlxuLy8gTWVkaWEgcXVlcmllc1xuLy8gVE9ETyhqb3NlcGhwZXJyb3R0KTogQ2hhbmdlICRtYXQteHNtYWxsIGFuZCAkbWF0LXNtYWxsIHVzYWdlcyB0byByZWx5IG9uIEJyZWFrcG9pbnRPYnNlcnZlcixcbiRtYXQteHNtYWxsOiAnbWF4LXdpZHRoOiA1OTlweCc7XG4kbWF0LXNtYWxsOiAnbWF4LXdpZHRoOiA5NTlweCc7XG5cbi8vIFRPRE86IFJldmlzaXQgYWxsIHotaW5kaWNlcyBiZWZvcmUgYmV0YVxuLy8gei1pbmRleCBtYXN0ZXIgbGlzdFxuXG4kei1pbmRleC1mYWI6IDIwICFkZWZhdWx0O1xuJHotaW5kZXgtZHJhd2VyOiAxMDAgIWRlZmF1bHQ7XG5cbi8vIEdsb2JhbCBjb25zdGFudHNcbiRwaTogMy4xNDE1OTI2NTtcblxuLy8gUGFkZGluZyBiZXR3ZWVuIGlucHV0IHRvZ2dsZXMgYW5kIHRoZWlyIGxhYmVsc1xuJG1hdC10b2dnbGUtcGFkZGluZzogOHB4ICFkZWZhdWx0O1xuLy8gV2lkdGggYW5kIGhlaWdodCBvZiBpbnB1dCB0b2dnbGVzXG4kbWF0LXRvZ2dsZS1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLyBFYXNpbmcgQ3VydmVzXG4vLyBUT0RPKGplbGJvdXJuKTogYWxsIG9mIHRoZXNlIG5lZWQgdG8gYmUgcmV2aXNpdGVkXG5cbi8vIFRoZSBkZWZhdWx0IGFuaW1hdGlvbiBjdXJ2ZXMgdXNlZCBieSBtYXRlcmlhbCBkZXNpZ24uXG4kbWF0LWxpbmVhci1vdXQtc2xvdy1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSkgIWRlZmF1bHQ7XG4kbWF0LWZhc3Qtb3V0LXNsb3ctaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpICFkZWZhdWx0O1xuJG1hdC1mYXN0LW91dC1saW5lYXItaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKSAhZGVmYXVsdDtcblxuJGVhc2UtaW4tb3V0LWN1cnZlLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSkgIWRlZmF1bHQ7XG5cbiRzd2lmdC1lYXNlLW91dC1kdXJhdGlvbjogNDAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1vdXQtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLW91dDogYWxsICRzd2lmdC1lYXNlLW91dC1kdXJhdGlvbiAkc3dpZnQtZWFzZS1vdXQtdGltaW5nLWZ1bmN0aW9uICFkZWZhdWx0O1xuXG4kc3dpZnQtZWFzZS1pbi1kdXJhdGlvbjogMzAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLCAwLjU1LCAwLjIpICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2UtaW46IGFsbCAkc3dpZnQtZWFzZS1pbi1kdXJhdGlvbiAkc3dpZnQtZWFzZS1pbi10aW1pbmctZnVuY3Rpb24gIWRlZmF1bHQ7XG5cbiRzd2lmdC1lYXNlLWluLW91dC1kdXJhdGlvbjogNTAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi1vdXQtdGltaW5nLWZ1bmN0aW9uOiAkZWFzZS1pbi1vdXQtY3VydmUtZnVuY3Rpb24gIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi1vdXQ6IGFsbCAkc3dpZnQtZWFzZS1pbi1vdXQtZHVyYXRpb24gJHN3aWZ0LWVhc2UtaW4tb3V0LXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuJHN3aWZ0LWxpbmVhci1kdXJhdGlvbjogODBtcyAhZGVmYXVsdDtcbiRzd2lmdC1saW5lYXItdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWRlZmF1bHQ7XG4kc3dpZnQtbGluZWFyOiBhbGwgJHN3aWZ0LWxpbmVhci1kdXJhdGlvbiAkc3dpZnQtbGluZWFyLXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuXG5cbi8vIEEgY29sbGVjdGlvbiBvZiBtaXhpbnMgYW5kIENTUyBjbGFzc2VzIHRoYXQgY2FuIGJlIHVzZWQgdG8gYXBwbHkgZWxldmF0aW9uIHRvIGEgbWF0ZXJpYWxcbi8vIGVsZW1lbnQuXG4vLyBTZWU6IGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2Vudmlyb25tZW50L2VsZXZhdGlvbi5odG1sXG4vLyBFeGFtcGxlczpcbi8vXG4vL1xuLy8gLm1hdC1mb28ge1xuLy8gICBAaW5jbHVkZSAkbWF0LWVsZXZhdGlvbigyKTtcbi8vXG4vLyAgICY6YWN0aXZlIHtcbi8vICAgICBAaW5jbHVkZSAkbWF0LWVsZXZhdGlvbig4KTtcbi8vICAgfVxuLy8gfVxuLy9cbi8vIDxkaXYgaWQ9XCJleHRlcm5hbC1jYXJkXCIgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXoyXCI+PHA+U29tZSBjb250ZW50PC9wPjwvZGl2PlxuLy9cbi8vIEZvciBhbiBleHBsYW5hdGlvbiBvZiB0aGUgZGVzaWduIGJlaGluZCBob3cgZWxldmF0aW9uIGlzIGltcGxlbWVudGVkLCBzZWUgdGhlIGRlc2lnbiBkb2MgYXRcbi8vIGh0dHBzOi8vZ29vLmdsL0txMGs5Wi5cblxuLy8gQ29sb3JzIGZvciB1bWJyYSwgcGVudW1icmEsIGFuZCBhbWJpZW50IHNoYWRvd3MuIEFzIGRlc2NyaWJlZCBpbiB0aGUgZGVzaWduIGRvYywgZWFjaCBlbGV2YXRpb25cbi8vIGxldmVsIGlzIGNyZWF0ZWQgdXNpbmcgYSBzZXQgb2YgMyBzaGFkb3cgdmFsdWVzLCBvbmUgZm9yIHVtYnJhICh0aGUgc2hhZG93IHJlcHJlc2VudGluZyB0aGVcbi8vIHNwYWNlIGNvbXBsZXRlbHkgb2JzY3VyZWQgYnkgYW4gb2JqZWN0IHJlbGF0aXZlIHRvIGl0cyBsaWdodCBzb3VyY2UpLCBvbmUgZm9yIHBlbnVtYnJhICh0aGVcbi8vIHNwYWNlIHBhcnRpYWxseSBvYnNjdXJlZCBieSBhbiBvYmplY3QpLCBhbmQgb25lIGZvciBhbWJpZW50ICh0aGUgc3BhY2Ugd2hpY2ggY29udGFpbnMgdGhlIG9iamVjdFxuLy8gaXRzZWxmKS4gRm9yIGEgZnVydGhlciBleHBsYW5hdGlvbiBvZiB0aGVzZSB0ZXJtcyBhbmQgdGhlaXIgbWVhbmluZ3MsIHNlZVxuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW1icmEsX3BlbnVtYnJhX2FuZF9hbnR1bWJyYS5cblxuLy8gTWFwcyBmb3IgdGhlIGRpZmZlcmVudCBzaGFkb3cgc2V0cyBhbmQgdGhlaXIgdmFsdWVzIHdpdGhpbiBlYWNoIHotc3BhY2UuIFRoZXNlIHZhbHVlcyB3ZXJlXG4vLyBjcmVhdGVkIGJ5IHRha2luZyBhIGZldyByZWZlcmVuY2Ugc2hhZG93IHNldHMgY3JlYXRlZCBieSBHb29nbGUncyBEZXNpZ25lcnMgYW5kIGludGVycG9sYXRpbmdcbi8vIGFsbCBvZiB0aGUgdmFsdWVzIGJldHdlZW4gdGhlbS5cblxuQGZ1bmN0aW9uIF9nZXQtdW1icmEtbWFwKCRjb2xvciwgJG9wYWNpdHkpIHtcbiAgJHNoYWRvdy1jb2xvcjogaWYodHlwZS1vZigkY29sb3IpID09IGNvbG9yLCByZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpLCAkY29sb3IpO1xuXG4gIEByZXR1cm4gKFxuICAgIDA6ICcwcHggMHB4IDBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTogJzBweCAycHggMXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjogJzBweCAzcHggMXB4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMzogJzBweCAzcHggM3B4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNDogJzBweCAycHggNHB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNTogJzBweCAzcHggNXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNjogJzBweCAzcHggNXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNzogJzBweCA0cHggNXB4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgODogJzBweCA1cHggNXB4IC0zcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgOTogJzBweCA1cHggNnB4IC0zcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTA6ICcwcHggNnB4IDZweCAtM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDExOiAnMHB4IDZweCA3cHggLTRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMjogJzBweCA3cHggOHB4IC00cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTM6ICcwcHggN3B4IDhweCAtNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE0OiAnMHB4IDdweCA5cHggLTRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNTogJzBweCA4cHggOXB4IC01cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTY6ICcwcHggOHB4IDEwcHggLTVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNzogJzBweCA4cHggMTFweCAtNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE4OiAnMHB4IDlweCAxMXB4IC01cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTk6ICcwcHggOXB4IDEycHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMDogJzBweCAxMHB4IDEzcHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMTogJzBweCAxMHB4IDEzcHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMjogJzBweCAxMHB4IDE0cHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMzogJzBweCAxMXB4IDE0cHggLTdweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyNDogJzBweCAxMXB4IDE1cHggLTdweCAjeyRzaGFkb3ctY29sb3J9J1xuICApO1xufVxuXG5AZnVuY3Rpb24gX2dldC1wZW51bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSkge1xuICAkc2hhZG93LWNvbG9yOiBpZih0eXBlLW9mKCRjb2xvcikgPT0gY29sb3IsIHJnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpLCAkY29sb3IpO1xuXG4gIEByZXR1cm4gKFxuICAgIDA6ICcwcHggMHB4IDBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTogJzBweCAxcHggMXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyOiAnMHB4IDJweCAycHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDM6ICcwcHggM3B4IDRweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNDogJzBweCA0cHggNXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA1OiAnMHB4IDVweCA4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDY6ICcwcHggNnB4IDEwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDc6ICcwcHggN3B4IDEwcHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDg6ICcwcHggOHB4IDEwcHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDk6ICcwcHggOXB4IDEycHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEwOiAnMHB4IDEwcHggMTRweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTE6ICcwcHggMTFweCAxNXB4IDFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMjogJzBweCAxMnB4IDE3cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEzOiAnMHB4IDEzcHggMTlweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTQ6ICcwcHggMTRweCAyMXB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNTogJzBweCAxNXB4IDIycHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE2OiAnMHB4IDE2cHggMjRweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTc6ICcwcHggMTdweCAyNnB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxODogJzBweCAxOHB4IDI4cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE5OiAnMHB4IDE5cHggMjlweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjA6ICcwcHggMjBweCAzMXB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMTogJzBweCAyMXB4IDMzcHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIyOiAnMHB4IDIycHggMzVweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjM6ICcwcHggMjNweCAzNnB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyNDogJzBweCAyNHB4IDM4cHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nXG4gICk7XG59XG5cbkBmdW5jdGlvbiBfZ2V0LWFtYmllbnQtbWFwKCRjb2xvciwgJG9wYWNpdHkpIHtcbiAgJHNoYWRvdy1jb2xvcjogaWYodHlwZS1vZigkY29sb3IpID09IGNvbG9yLCByZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjEyKSwgJGNvbG9yKTtcblxuICBAcmV0dXJuIChcbiAgICAwOiAnMHB4IDBweCAwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE6ICcwcHggMXB4IDNweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjogJzBweCAxcHggNXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAzOiAnMHB4IDFweCA4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDQ6ICcwcHggMXB4IDEwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDU6ICcwcHggMXB4IDE0cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDY6ICcwcHggMXB4IDE4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDc6ICcwcHggMnB4IDE2cHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDg6ICcwcHggM3B4IDE0cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDk6ICcwcHggM3B4IDE2cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEwOiAnMHB4IDRweCAxOHB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMTogJzBweCA0cHggMjBweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTI6ICcwcHggNXB4IDIycHggNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEzOiAnMHB4IDVweCAyNHB4IDRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNDogJzBweCA1cHggMjZweCA0cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTU6ICcwcHggNnB4IDI4cHggNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE2OiAnMHB4IDZweCAzMHB4IDVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNzogJzBweCA2cHggMzJweCA1cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTg6ICcwcHggN3B4IDM0cHggNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE5OiAnMHB4IDdweCAzNnB4IDZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMDogJzBweCA4cHggMzhweCA3cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjE6ICcwcHggOHB4IDQwcHggN3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIyOiAnMHB4IDhweCA0MnB4IDdweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMzogJzBweCA5cHggNDRweCA4cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjQ6ICcwcHggOXB4IDQ2cHggOHB4ICN7JHNoYWRvdy1jb2xvcn0nXG4gICk7XG59XG5cbi8vIFRoZSBkZWZhdWx0IGR1cmF0aW9uIHZhbHVlIGZvciBlbGV2YXRpb24gdHJhbnNpdGlvbnMuXG4kbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uOiAyODBtcyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZWFzaW5nIHZhbHVlIGZvciBlbGV2YXRpb24gdHJhbnNpdGlvbnMuXG4kbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1hdC1mYXN0LW91dC1zbG93LWluLXRpbWluZy1mdW5jdGlvbjtcblxuLy8gVGhlIGRlZmF1bHQgY29sb3IgZm9yIGVsZXZhdGlvbiBzaGFkb3dzLlxuJG1hdC1lbGV2YXRpb24tY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBvcGFjaXR5IHNjYWxpbmcgdmFsdWUgZm9yIGVsZXZhdGlvbiBzaGFkb3dzLlxuJG1hdC1lbGV2YXRpb24tb3BhY2l0eTogMSAhZGVmYXVsdDtcblxuLy8gUHJlZml4IGZvciBlbGV2YXRpb24tcmVsYXRlZCBzZWxlY3RvcnMuXG4kX21hdC1lbGV2YXRpb24tcHJlZml4OiAnbWF0LWVsZXZhdGlvbi16JztcblxuLy8gQXBwbGllcyB0aGUgY29ycmVjdCBjc3MgcnVsZXMgdG8gYW4gZWxlbWVudCB0byBnaXZlIGl0IHRoZSBlbGV2YXRpb24gc3BlY2lmaWVkIGJ5ICR6VmFsdWUuXG4vLyBUaGUgJHpWYWx1ZSBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjQuXG5AbWl4aW4gbWF0LWVsZXZhdGlvbigkelZhbHVlLCAkY29sb3I6ICRtYXQtZWxldmF0aW9uLWNvbG9yLCAkb3BhY2l0eTogJG1hdC1lbGV2YXRpb24tb3BhY2l0eSkge1xuICBAaWYgdHlwZS1vZigkelZhbHVlKSAhPSBudW1iZXIgb3Igbm90IHVuaXRsZXNzKCR6VmFsdWUpIHtcbiAgICBAZXJyb3IgJyR6VmFsdWUgbXVzdCBiZSBhIHVuaXRsZXNzIG51bWJlcic7XG4gIH1cbiAgQGlmICR6VmFsdWUgPCAwIG9yICR6VmFsdWUgPiAyNCB7XG4gICAgQGVycm9yICckelZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNCc7XG4gIH1cblxuICBib3gtc2hhZG93OiAje21hcC1nZXQoX2dldC11bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSksICR6VmFsdWUpfSxcbiAgICAgICAgICAgICAgI3ttYXAtZ2V0KF9nZXQtcGVudW1icmEtbWFwKCRjb2xvciwgJG9wYWNpdHkpLCAkelZhbHVlKX0sXG4gICAgICAgICAgICAgICN7bWFwLWdldChfZ2V0LWFtYmllbnQtbWFwKCRjb2xvciwgJG9wYWNpdHkpLCAkelZhbHVlKX07XG59XG5cbkBtaXhpbiBfbWF0LXRoZW1lLWVsZXZhdGlvbigkelZhbHVlLCAkY29uZmlnLCAkb3BhY2l0eTogJG1hdC1lbGV2YXRpb24tb3BhY2l0eSkge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGVsZXZhdGlvbi1jb2xvcjogbWFwLWdldCgkZm9yZWdyb3VuZCwgZWxldmF0aW9uKTtcbiAgJGVsZXZhdGlvbi1jb2xvci1vci1kZWZhdWx0OiBpZigkZWxldmF0aW9uLWNvbG9yID09IG51bGwsICRtYXQtZWxldmF0aW9uLWNvbG9yLCAkZWxldmF0aW9uLWNvbG9yKTtcblxuICBAaW5jbHVkZSBtYXQtZWxldmF0aW9uKCR6VmFsdWUsICRlbGV2YXRpb24tY29sb3Itb3ItZGVmYXVsdCwgJG9wYWNpdHkpO1xufVxuXG4vLyBBcHBsaWVzIHRoZSBlbGV2YXRpb24gdG8gYW4gZWxlbWVudCBpbiBhIG1hbm5lciB0aGF0IGFsbG93c1xuLy8gY29uc3VtZXJzIHRvIG92ZXJyaWRlIGl0IHZpYSB0aGUgTWF0ZXJpYWwgZWxldmF0aW9uIGNsYXNzZXMuXG5AbWl4aW4gbWF0LW92ZXJyaWRhYmxlLWVsZXZhdGlvbihcbiAgICAkelZhbHVlLFxuICAgICRjb2xvcjogJG1hdC1lbGV2YXRpb24tY29sb3IsXG4gICAgJG9wYWNpdHk6ICRtYXQtZWxldmF0aW9uLW9wYWNpdHkpIHtcbiAgJjpub3QoW2NsYXNzKj0nI3skX21hdC1lbGV2YXRpb24tcHJlZml4fSddKSB7XG4gICAgQGluY2x1ZGUgbWF0LWVsZXZhdGlvbigkelZhbHVlLCAkY29sb3IsICRvcGFjaXR5KTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbmZpZywgJG9wYWNpdHk6ICRtYXQtZWxldmF0aW9uLW9wYWNpdHkpIHtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRlbGV2YXRpb24tY29sb3I6IG1hcC1nZXQoJGZvcmVncm91bmQsIGVsZXZhdGlvbik7XG4gICRlbGV2YXRpb24tY29sb3Itb3ItZGVmYXVsdDogaWYoJGVsZXZhdGlvbi1jb2xvciA9PSBudWxsLCAkbWF0LWVsZXZhdGlvbi1jb2xvciwgJGVsZXZhdGlvbi1jb2xvcik7XG5cbiAgQGluY2x1ZGUgbWF0LW92ZXJyaWRhYmxlLWVsZXZhdGlvbigkelZhbHVlLCAkZWxldmF0aW9uLWNvbG9yLW9yLWRlZmF1bHQsICRvcGFjaXR5KTtcbn1cblxuLy8gUmV0dXJucyBhIHN0cmluZyB0aGF0IGNhbiBiZSB1c2VkIGFzIHRoZSB2YWx1ZSBmb3IgYSB0cmFuc2l0aW9uIHByb3BlcnR5IGZvciBlbGV2YXRpb24uXG4vLyBDYWxsaW5nIHRoaXMgZnVuY3Rpb24gZGlyZWN0bHkgaXMgdXNlZnVsIGluIHNpdHVhdGlvbnMgd2hlcmUgYSBjb21wb25lbnQgbmVlZHMgdG8gdHJhbnNpdGlvblxuLy8gbW9yZSB0aGFuIG9uZSBwcm9wZXJ0eS5cbi8vXG4vLyAuZm9vIHtcbi8vICAgdHJhbnNpdGlvbjogbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXByb3BlcnR5LXZhbHVlKCksIG9wYWNpdHkgMTAwbXMgZWFzZTtcbi8vIH1cbkBmdW5jdGlvbiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tcHJvcGVydHktdmFsdWUoXG4gICAgJGR1cmF0aW9uOiAkbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAgICRlYXNpbmc6ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSB7XG4gIEByZXR1cm4gYm94LXNoYWRvdyAjeyRkdXJhdGlvbn0gI3skZWFzaW5nfTtcbn1cblxuLy8gQXBwbGllcyB0aGUgY29ycmVjdCBjc3MgcnVsZXMgbmVlZGVkIHRvIGhhdmUgYW4gZWxlbWVudCB0cmFuc2l0aW9uIGJldHdlZW4gZWxldmF0aW9ucy5cbi8vIFRoaXMgbWl4aW4gc2hvdWxkIGJlIGFwcGxpZWQgdG8gZWxlbWVudHMgd2hvc2UgZWxldmF0aW9uIHZhbHVlcyB3aWxsIGNoYW5nZSBkZXBlbmRpbmcgb24gdGhlaXJcbi8vIGNvbnRleHQgKGUuZy4gd2hlbiBhY3RpdmUgb3IgZGlzYWJsZWQpLlxuLy9cbi8vIE5PVEUodHJhdmlza2F1Zm1hbik6IEJvdGggdGhpcyBtaXhpbiBhbmQgdGhlIGFib3ZlIGZ1bmN0aW9uIHVzZSBkZWZhdWx0IHBhcmFtZXRlcnMgc28gdGhleSBjYW5cbi8vIGJlIHVzZWQgaW4gdGhlIHNhbWUgd2F5IGJ5IGNsaWVudHMuXG5AbWl4aW4gbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uKFxuICAgICRkdXJhdGlvbjogJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1kdXJhdGlvbixcbiAgICAkZWFzaW5nOiAkbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikge1xuICB0cmFuc2l0aW9uOiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tcHJvcGVydHktdmFsdWUoJGR1cmF0aW9uLCAkZWFzaW5nKTtcbn1cblxuLy8gQ29sb3IgcGFsZXR0ZXMgZnJvbSB0aGUgTWF0ZXJpYWwgRGVzaWduIHNwZWMuXG4vLyBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29sb3IvXG4vL1xuLy8gQ29udHJhc3QgY29sb3JzIGFyZSBoYXJkLWNvZGVkIGJlY2F1c2UgaXQgaXMgdG9vIGRpZmZpY3VsdCAocHJvYmFibHkgaW1wb3NzaWJsZSkgdG9cbi8vIGNhbGN1bGF0ZSB0aGVtLiBUaGVzZSBjb250cmFzdCBjb2xvcnMgYXJlIHB1bGxlZCBmcm9tIHRoZSBwdWJsaWMgTWF0ZXJpYWwgRGVzaWduIHNwZWMgc3dhdGNoZXMuXG4vLyBXaGlsZSB0aGUgY29udHJhc3QgY29sb3JzIGluIHRoZSBzcGVjIGFyZSBub3QgcHJlc2NyaXB0aXZlLCB3ZSB1c2UgdGhlbSBmb3IgY29udmVuaWVuY2UuXG5cblxuLy8gQGRlcHJlY2F0ZWQgcmVuYW1lZCB0byAkZGFyay1wcmltYXJ5LXRleHQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kYmxhY2stODctb3BhY2l0eTogcmdiYShibGFjaywgMC44Nyk7XG4vLyBAZGVwcmVjYXRlZCByZW5hbWVkIHRvICRsaWdodC1wcmltYXJ5LXRleHQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kd2hpdGUtODctb3BhY2l0eTogcmdiYSh3aGl0ZSwgMC44Nyk7XG4vLyBAZGVwcmVjYXRlZCB1c2UgJGRhcmstW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiRibGFjay0xMi1vcGFjaXR5OiByZ2JhKGJsYWNrLCAwLjEyKTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkbGlnaHQtW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiR3aGl0ZS0xMi1vcGFjaXR5OiByZ2JhKHdoaXRlLCAwLjEyKTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkZGFyay1bc2Vjb25kYXJ5LXRleHQsZGlzYWJsZWQtdGV4dCxkaXZpZGVycyxmb2N1c2VkXSBpbnN0ZWFkLlxuLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMFxuJGJsYWNrLTYtb3BhY2l0eTogcmdiYShibGFjaywgMC4wNik7XG4vLyBAZGVwcmVjYXRlZCB1c2UgJGxpZ2h0LVtzZWNvbmRhcnktdGV4dCxkaXNhYmxlZC10ZXh0LGRpdmlkZXJzLGZvY3VzZWRdIGluc3RlYWQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kd2hpdGUtNi1vcGFjaXR5OiByZ2JhKHdoaXRlLCAwLjA2KTtcblxuJGRhcmstcHJpbWFyeS10ZXh0OiByZ2JhKGJsYWNrLCAwLjg3KTtcbiRkYXJrLXNlY29uZGFyeS10ZXh0OiByZ2JhKGJsYWNrLCAwLjU0KTtcbiRkYXJrLWRpc2FibGVkLXRleHQ6IHJnYmEoYmxhY2ssIDAuMzgpO1xuJGRhcmstZGl2aWRlcnM6IHJnYmEoYmxhY2ssIDAuMTIpO1xuJGRhcmstZm9jdXNlZDogcmdiYShibGFjaywgMC4xMik7XG4kbGlnaHQtcHJpbWFyeS10ZXh0OiB3aGl0ZTtcbiRsaWdodC1zZWNvbmRhcnktdGV4dDogcmdiYSh3aGl0ZSwgMC43KTtcbiRsaWdodC1kaXNhYmxlZC10ZXh0OiByZ2JhKHdoaXRlLCAwLjUpO1xuJGxpZ2h0LWRpdmlkZXJzOiByZ2JhKHdoaXRlLCAwLjEyKTtcbiRsaWdodC1mb2N1c2VkOiByZ2JhKHdoaXRlLCAwLjEyKTtcblxuJG1hdC1yZWQ6IChcbiAgNTA6ICNmZmViZWUsXG4gIDEwMDogI2ZmY2RkMixcbiAgMjAwOiAjZWY5YTlhLFxuICAzMDA6ICNlNTczNzMsXG4gIDQwMDogI2VmNTM1MCxcbiAgNTAwOiAjZjQ0MzM2LFxuICA2MDA6ICNlNTM5MzUsXG4gIDcwMDogI2QzMmYyZixcbiAgODAwOiAjYzYyODI4LFxuICA5MDA6ICNiNzFjMWMsXG4gIEExMDA6ICNmZjhhODAsXG4gIEEyMDA6ICNmZjUyNTIsXG4gIEE0MDA6ICNmZjE3NDQsXG4gIEE3MDA6ICNkNTAwMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1waW5rOiAoXG4gIDUwOiAjZmNlNGVjLFxuICAxMDA6ICNmOGJiZDAsXG4gIDIwMDogI2Y0OGZiMSxcbiAgMzAwOiAjZjA2MjkyLFxuICA0MDA6ICNlYzQwN2EsXG4gIDUwMDogI2U5MWU2MyxcbiAgNjAwOiAjZDgxYjYwLFxuICA3MDA6ICNjMjE4NWIsXG4gIDgwMDogI2FkMTQ1NyxcbiAgOTAwOiAjODgwZTRmLFxuICBBMTAwOiAjZmY4MGFiLFxuICBBMjAwOiAjZmY0MDgxLFxuICBBNDAwOiAjZjUwMDU3LFxuICBBNzAwOiAjYzUxMTYyLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtcHVycGxlOiAoXG4gIDUwOiAjZjNlNWY1LFxuICAxMDA6ICNlMWJlZTcsXG4gIDIwMDogI2NlOTNkOCxcbiAgMzAwOiAjYmE2OGM4LFxuICA0MDA6ICNhYjQ3YmMsXG4gIDUwMDogIzljMjdiMCxcbiAgNjAwOiAjOGUyNGFhLFxuICA3MDA6ICM3YjFmYTIsXG4gIDgwMDogIzZhMWI5YSxcbiAgOTAwOiAjNGExNDhjLFxuICBBMTAwOiAjZWE4MGZjLFxuICBBMjAwOiAjZTA0MGZiLFxuICBBNDAwOiAjZDUwMGY5LFxuICBBNzAwOiAjYWEwMGZmLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1kZWVwLXB1cnBsZTogKFxuICA1MDogI2VkZTdmNixcbiAgMTAwOiAjZDFjNGU5LFxuICAyMDA6ICNiMzlkZGIsXG4gIDMwMDogIzk1NzVjZCxcbiAgNDAwOiAjN2U1N2MyLFxuICA1MDA6ICM2NzNhYjcsXG4gIDYwMDogIzVlMzViMSxcbiAgNzAwOiAjNTEyZGE4LFxuICA4MDA6ICM0NTI3YTAsXG4gIDkwMDogIzMxMWI5MixcbiAgQTEwMDogI2IzODhmZixcbiAgQTIwMDogIzdjNGRmZixcbiAgQTQwMDogIzY1MWZmZixcbiAgQTcwMDogIzYyMDBlYSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtaW5kaWdvOiAoXG4gIDUwOiAjZThlYWY2LFxuICAxMDA6ICNjNWNhZTksXG4gIDIwMDogIzlmYThkYSxcbiAgMzAwOiAjNzk4NmNiLFxuICA0MDA6ICM1YzZiYzAsXG4gIDUwMDogIzNmNTFiNSxcbiAgNjAwOiAjMzk0OWFiLFxuICA3MDA6ICMzMDNmOWYsXG4gIDgwMDogIzI4MzU5MyxcbiAgOTAwOiAjMWEyMzdlLFxuICBBMTAwOiAjOGM5ZWZmLFxuICBBMjAwOiAjNTM2ZGZlLFxuICBBNDAwOiAjM2Q1YWZlLFxuICBBNzAwOiAjMzA0ZmZlLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1ibHVlOiAoXG4gIDUwOiAjZTNmMmZkLFxuICAxMDA6ICNiYmRlZmIsXG4gIDIwMDogIzkwY2FmOSxcbiAgMzAwOiAjNjRiNWY2LFxuICA0MDA6ICM0MmE1ZjUsXG4gIDUwMDogIzIxOTZmMyxcbiAgNjAwOiAjMWU4OGU1LFxuICA3MDA6ICMxOTc2ZDIsXG4gIDgwMDogIzE1NjVjMCxcbiAgOTAwOiAjMGQ0N2ExLFxuICBBMTAwOiAjODJiMWZmLFxuICBBMjAwOiAjNDQ4YWZmLFxuICBBNDAwOiAjMjk3OWZmLFxuICBBNzAwOiAjMjk2MmZmLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtbGlnaHQtYmx1ZTogKFxuICA1MDogI2UxZjVmZSxcbiAgMTAwOiAjYjNlNWZjLFxuICAyMDA6ICM4MWQ0ZmEsXG4gIDMwMDogIzRmYzNmNyxcbiAgNDAwOiAjMjliNmY2LFxuICA1MDA6ICMwM2E5ZjQsXG4gIDYwMDogIzAzOWJlNSxcbiAgNzAwOiAjMDI4OGQxLFxuICA4MDA6ICMwMjc3YmQsXG4gIDkwMDogIzAxNTc5YixcbiAgQTEwMDogIzgwZDhmZixcbiAgQTIwMDogIzQwYzRmZixcbiAgQTQwMDogIzAwYjBmZixcbiAgQTcwMDogIzAwOTFlYSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1jeWFuOiAoXG4gIDUwOiAjZTBmN2ZhLFxuICAxMDA6ICNiMmViZjIsXG4gIDIwMDogIzgwZGVlYSxcbiAgMzAwOiAjNGRkMGUxLFxuICA0MDA6ICMyNmM2ZGEsXG4gIDUwMDogIzAwYmNkNCxcbiAgNjAwOiAjMDBhY2MxLFxuICA3MDA6ICMwMDk3YTcsXG4gIDgwMDogIzAwODM4ZixcbiAgOTAwOiAjMDA2MDY0LFxuICBBMTAwOiAjODRmZmZmLFxuICBBMjAwOiAjMThmZmZmLFxuICBBNDAwOiAjMDBlNWZmLFxuICBBNzAwOiAjMDBiOGQ0LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtdGVhbDogKFxuICA1MDogI2UwZjJmMSxcbiAgMTAwOiAjYjJkZmRiLFxuICAyMDA6ICM4MGNiYzQsXG4gIDMwMDogIzRkYjZhYyxcbiAgNDAwOiAjMjZhNjlhLFxuICA1MDA6ICMwMDk2ODgsXG4gIDYwMDogIzAwODk3YixcbiAgNzAwOiAjMDA3OTZiLFxuICA4MDA6ICMwMDY5NWMsXG4gIDkwMDogIzAwNGQ0MCxcbiAgQTEwMDogI2E3ZmZlYixcbiAgQTIwMDogIzY0ZmZkYSxcbiAgQTQwMDogIzFkZTliNixcbiAgQTcwMDogIzAwYmZhNSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWdyZWVuOiAoXG4gIDUwOiAjZThmNWU5LFxuICAxMDA6ICNjOGU2YzksXG4gIDIwMDogI2E1ZDZhNyxcbiAgMzAwOiAjODFjNzg0LFxuICA0MDA6ICM2NmJiNmEsXG4gIDUwMDogIzRjYWY1MCxcbiAgNjAwOiAjNDNhMDQ3LFxuICA3MDA6ICMzODhlM2MsXG4gIDgwMDogIzJlN2QzMixcbiAgOTAwOiAjMWI1ZTIwLFxuICBBMTAwOiAjYjlmNmNhLFxuICBBMjAwOiAjNjlmMGFlLFxuICBBNDAwOiAjMDBlNjc2LFxuICBBNzAwOiAjMDBjODUzLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1saWdodC1ncmVlbjogKFxuICA1MDogI2YxZjhlOSxcbiAgMTAwOiAjZGNlZGM4LFxuICAyMDA6ICNjNWUxYTUsXG4gIDMwMDogI2FlZDU4MSxcbiAgNDAwOiAjOWNjYzY1LFxuICA1MDA6ICM4YmMzNGEsXG4gIDYwMDogIzdjYjM0MixcbiAgNzAwOiAjNjg5ZjM4LFxuICA4MDA6ICM1NThiMmYsXG4gIDkwMDogIzMzNjkxZSxcbiAgQTEwMDogI2NjZmY5MCxcbiAgQTIwMDogI2IyZmY1OSxcbiAgQTQwMDogIzc2ZmYwMyxcbiAgQTcwMDogIzY0ZGQxNyxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1saW1lOiAoXG4gIDUwOiAjZjlmYmU3LFxuICAxMDA6ICNmMGY0YzMsXG4gIDIwMDogI2U2ZWU5YyxcbiAgMzAwOiAjZGNlNzc1LFxuICA0MDA6ICNkNGUxNTcsXG4gIDUwMDogI2NkZGMzOSxcbiAgNjAwOiAjYzBjYTMzLFxuICA3MDA6ICNhZmI0MmIsXG4gIDgwMDogIzllOWQyNCxcbiAgOTAwOiAjODI3NzE3LFxuICBBMTAwOiAjZjRmZjgxLFxuICBBMjAwOiAjZWVmZjQxLFxuICBBNDAwOiAjYzZmZjAwLFxuICBBNzAwOiAjYWVlYTAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC15ZWxsb3c6IChcbiAgNTA6ICNmZmZkZTcsXG4gIDEwMDogI2ZmZjljNCxcbiAgMjAwOiAjZmZmNTlkLFxuICAzMDA6ICNmZmYxNzYsXG4gIDQwMDogI2ZmZWU1OCxcbiAgNTAwOiAjZmZlYjNiLFxuICA2MDA6ICNmZGQ4MzUsXG4gIDcwMDogI2ZiYzAyZCxcbiAgODAwOiAjZjlhODI1LFxuICA5MDA6ICNmNTdmMTcsXG4gIEExMDA6ICNmZmZmOGQsXG4gIEEyMDA6ICNmZmZmMDAsXG4gIEE0MDA6ICNmZmVhMDAsXG4gIEE3MDA6ICNmZmQ2MDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtYW1iZXI6IChcbiAgNTA6ICNmZmY4ZTEsXG4gIDEwMDogI2ZmZWNiMyxcbiAgMjAwOiAjZmZlMDgyLFxuICAzMDA6ICNmZmQ1NGYsXG4gIDQwMDogI2ZmY2EyOCxcbiAgNTAwOiAjZmZjMTA3LFxuICA2MDA6ICNmZmIzMDAsXG4gIDcwMDogI2ZmYTAwMCxcbiAgODAwOiAjZmY4ZjAwLFxuICA5MDA6ICNmZjZmMDAsXG4gIEExMDA6ICNmZmU1N2YsXG4gIEEyMDA6ICNmZmQ3NDAsXG4gIEE0MDA6ICNmZmM0MDAsXG4gIEE3MDA6ICNmZmFiMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtb3JhbmdlOiAoXG4gIDUwOiAjZmZmM2UwLFxuICAxMDA6ICNmZmUwYjIsXG4gIDIwMDogI2ZmY2M4MCxcbiAgMzAwOiAjZmZiNzRkLFxuICA0MDA6ICNmZmE3MjYsXG4gIDUwMDogI2ZmOTgwMCxcbiAgNjAwOiAjZmI4YzAwLFxuICA3MDA6ICNmNTdjMDAsXG4gIDgwMDogI2VmNmMwMCxcbiAgOTAwOiAjZTY1MTAwLFxuICBBMTAwOiAjZmZkMTgwLFxuICBBMjAwOiAjZmZhYjQwLFxuICBBNDAwOiAjZmY5MTAwLFxuICBBNzAwOiAjZmY2ZDAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiBibGFjayxcbiAgKVxuKTtcblxuJG1hdC1kZWVwLW9yYW5nZTogKFxuICA1MDogI2ZiZTllNyxcbiAgMTAwOiAjZmZjY2JjLFxuICAyMDA6ICNmZmFiOTEsXG4gIDMwMDogI2ZmOGE2NSxcbiAgNDAwOiAjZmY3MDQzLFxuICA1MDA6ICNmZjU3MjIsXG4gIDYwMDogI2Y0NTExZSxcbiAgNzAwOiAjZTY0YTE5LFxuICA4MDA6ICNkODQzMTUsXG4gIDkwMDogI2JmMzYwYyxcbiAgQTEwMDogI2ZmOWU4MCxcbiAgQTIwMDogI2ZmNmU0MCxcbiAgQTQwMDogI2ZmM2QwMCxcbiAgQTcwMDogI2RkMmMwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtYnJvd246IChcbiAgNTA6ICNlZmViZTksXG4gIDEwMDogI2Q3Y2NjOCxcbiAgMjAwOiAjYmNhYWE0LFxuICAzMDA6ICNhMTg4N2YsXG4gIDQwMDogIzhkNmU2MyxcbiAgNTAwOiAjNzk1NTQ4LFxuICA2MDA6ICM2ZDRjNDEsXG4gIDcwMDogIzVkNDAzNyxcbiAgODAwOiAjNGUzNDJlLFxuICA5MDA6ICMzZTI3MjMsXG4gIEExMDA6ICNkN2NjYzgsXG4gIEEyMDA6ICNiY2FhYTQsXG4gIEE0MDA6ICM4ZDZlNjMsXG4gIEE3MDA6ICM1ZDQwMzcsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtZ3JleTogKFxuICA1MDogI2ZhZmFmYSxcbiAgMTAwOiAjZjVmNWY1LFxuICAyMDA6ICNlZWVlZWUsXG4gIDMwMDogI2UwZTBlMCxcbiAgNDAwOiAjYmRiZGJkLFxuICA1MDA6ICM5ZTllOWUsXG4gIDYwMDogIzc1NzU3NSxcbiAgNzAwOiAjNjE2MTYxLFxuICA4MDA6ICM0MjQyNDIsXG4gIDkwMDogIzIxMjEyMSxcbiAgQTEwMDogI2ZmZmZmZixcbiAgQTIwMDogI2VlZWVlZSxcbiAgQTQwMDogI2JkYmRiZCxcbiAgQTcwMDogIzYxNjE2MSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4vLyBBbGlhcyBmb3IgYWx0ZXJuYXRlIHNwZWxsaW5nLlxuJG1hdC1ncmF5OiAkbWF0LWdyZXk7XG5cbiRtYXQtYmx1ZS1ncmV5OiAoXG4gIDUwOiAjZWNlZmYxLFxuICAxMDA6ICNjZmQ4ZGMsXG4gIDIwMDogI2IwYmVjNSxcbiAgMzAwOiAjOTBhNGFlLFxuICA0MDA6ICM3ODkwOWMsXG4gIDUwMDogIzYwN2Q4YixcbiAgNjAwOiAjNTQ2ZTdhLFxuICA3MDA6ICM0NTVhNjQsXG4gIDgwMDogIzM3NDc0ZixcbiAgOTAwOiAjMjYzMjM4LFxuICBBMTAwOiAjY2ZkOGRjLFxuICBBMjAwOiAjYjBiZWM1LFxuICBBNDAwOiAjNzg5MDljLFxuICBBNzAwOiAjNDU1YTY0LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbi8vIEFsaWFzIGZvciBhbHRlcm5hdGUgc3BlbGxpbmcuXG4kbWF0LWJsdWUtZ3JheTogJG1hdC1ibHVlLWdyZXk7XG5cblxuLy8gQmFja2dyb3VuZCBwYWxldHRlIGZvciBsaWdodCB0aGVtZXMuXG4kbWF0LWxpZ2h0LXRoZW1lLWJhY2tncm91bmQ6IChcbiAgc3RhdHVzLWJhcjogbWFwLWdldCgkbWF0LWdyZXksIDMwMCksXG4gIGFwcC1iYXI6ICAgIG1hcC1nZXQoJG1hdC1ncmV5LCAxMDApLFxuICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRtYXQtZ3JleSwgNTApLFxuICBob3ZlcjogICAgICByZ2JhKGJsYWNrLCAwLjA0KSwgLy8gVE9ETyhrYXJhKTogY2hlY2sgc3R5bGUgd2l0aCBNYXRlcmlhbCBEZXNpZ24gVVhcbiAgY2FyZDogICAgICAgd2hpdGUsXG4gIGRpYWxvZzogICAgIHdoaXRlLFxuICBkaXNhYmxlZC1idXR0b246IHJnYmEoYmxhY2ssIDAuMTIpLFxuICByYWlzZWQtYnV0dG9uOiB3aGl0ZSxcbiAgZm9jdXNlZC1idXR0b246ICRkYXJrLWZvY3VzZWQsXG4gIHNlbGVjdGVkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDMwMCksXG4gIHNlbGVjdGVkLWRpc2FibGVkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDQwMCksXG4gIGRpc2FibGVkLWJ1dHRvbi10b2dnbGU6IG1hcC1nZXQoJG1hdC1ncmV5LCAyMDApLFxuICB1bnNlbGVjdGVkLWNoaXA6IG1hcC1nZXQoJG1hdC1ncmV5LCAzMDApLFxuICBkaXNhYmxlZC1saXN0LW9wdGlvbjogbWFwLWdldCgkbWF0LWdyZXksIDIwMCksXG4gIHRvb2x0aXA6IG1hcC1nZXQoJG1hdC1ncmV5LCA3MDApLFxuKTtcblxuLy8gQmFja2dyb3VuZCBwYWxldHRlIGZvciBkYXJrIHRoZW1lcy5cbiRtYXQtZGFyay10aGVtZS1iYWNrZ3JvdW5kOiAoXG4gIHN0YXR1cy1iYXI6IGJsYWNrLFxuICBhcHAtYmFyOiAgICBtYXAtZ2V0KCRtYXQtZ3JleSwgOTAwKSxcbiAgYmFja2dyb3VuZDogIzMwMzAzMCxcbiAgaG92ZXI6ICAgICAgcmdiYSh3aGl0ZSwgMC4wNCksIC8vIFRPRE8oa2FyYSk6IGNoZWNrIHN0eWxlIHdpdGggTWF0ZXJpYWwgRGVzaWduIFVYXG4gIGNhcmQ6ICAgICAgIG1hcC1nZXQoJG1hdC1ncmV5LCA4MDApLFxuICBkaWFsb2c6ICAgICBtYXAtZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZGlzYWJsZWQtYnV0dG9uOiByZ2JhKHdoaXRlLCAwLjEyKSxcbiAgcmFpc2VkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDgwMCksXG4gIGZvY3VzZWQtYnV0dG9uOiAkbGlnaHQtZm9jdXNlZCxcbiAgc2VsZWN0ZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgOTAwKSxcbiAgc2VsZWN0ZWQtZGlzYWJsZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZGlzYWJsZWQtYnV0dG9uLXRvZ2dsZTogYmxhY2ssXG4gIHVuc2VsZWN0ZWQtY2hpcDogbWFwLWdldCgkbWF0LWdyZXksIDcwMCksXG4gIGRpc2FibGVkLWxpc3Qtb3B0aW9uOiBibGFjayxcbiAgdG9vbHRpcDogbWFwLWdldCgkbWF0LWdyZXksIDcwMCksXG4pO1xuXG4vLyBGb3JlZ3JvdW5kIHBhbGV0dGUgZm9yIGxpZ2h0IHRoZW1lcy5cbiRtYXQtbGlnaHQtdGhlbWUtZm9yZWdyb3VuZDogKFxuICBiYXNlOiAgICAgICAgICAgICAgYmxhY2ssXG4gIGRpdmlkZXI6ICAgICAgICAgICAkZGFyay1kaXZpZGVycyxcbiAgZGl2aWRlcnM6ICAgICAgICAgICRkYXJrLWRpdmlkZXJzLFxuICBkaXNhYmxlZDogICAgICAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgZGlzYWJsZWQtYnV0dG9uOiAgIHJnYmEoYmxhY2ssIDAuMjYpLFxuICBkaXNhYmxlZC10ZXh0OiAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgZWxldmF0aW9uOiAgICAgICAgIGJsYWNrLFxuICBoaW50LXRleHQ6ICAgICAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgc2Vjb25kYXJ5LXRleHQ6ICAgICRkYXJrLXNlY29uZGFyeS10ZXh0LFxuICBpY29uOiAgICAgICAgICAgICAgcmdiYShibGFjaywgMC41NCksXG4gIGljb25zOiAgICAgICAgICAgICByZ2JhKGJsYWNrLCAwLjU0KSxcbiAgdGV4dDogICAgICAgICAgICAgIHJnYmEoYmxhY2ssIDAuODcpLFxuICBzbGlkZXItbWluOiAgICAgICAgcmdiYShibGFjaywgMC44NyksXG4gIHNsaWRlci1vZmY6ICAgICAgICByZ2JhKGJsYWNrLCAwLjI2KSxcbiAgc2xpZGVyLW9mZi1hY3RpdmU6IHJnYmEoYmxhY2ssIDAuMzgpLFxuKTtcblxuLy8gRm9yZWdyb3VuZCBwYWxldHRlIGZvciBkYXJrIHRoZW1lcy5cbiRtYXQtZGFyay10aGVtZS1mb3JlZ3JvdW5kOiAoXG4gIGJhc2U6ICAgICAgICAgICAgICB3aGl0ZSxcbiAgZGl2aWRlcjogICAgICAgICAgICRsaWdodC1kaXZpZGVycyxcbiAgZGl2aWRlcnM6ICAgICAgICAgICRsaWdodC1kaXZpZGVycyxcbiAgZGlzYWJsZWQ6ICAgICAgICAgICRsaWdodC1kaXNhYmxlZC10ZXh0LFxuICBkaXNhYmxlZC1idXR0b246ICAgcmdiYSh3aGl0ZSwgMC4zKSxcbiAgZGlzYWJsZWQtdGV4dDogICAgICRsaWdodC1kaXNhYmxlZC10ZXh0LFxuICBlbGV2YXRpb246ICAgICAgICAgYmxhY2ssXG4gIGhpbnQtdGV4dDogICAgICAgICAkbGlnaHQtZGlzYWJsZWQtdGV4dCxcbiAgc2Vjb25kYXJ5LXRleHQ6ICAgICRsaWdodC1zZWNvbmRhcnktdGV4dCxcbiAgaWNvbjogICAgICAgICAgICAgIHdoaXRlLFxuICBpY29uczogICAgICAgICAgICAgd2hpdGUsXG4gIHRleHQ6ICAgICAgICAgICAgICB3aGl0ZSxcbiAgc2xpZGVyLW1pbjogICAgICAgIHdoaXRlLFxuICBzbGlkZXItb2ZmOiAgICAgICAgcmdiYSh3aGl0ZSwgMC4zKSxcbiAgc2xpZGVyLW9mZi1hY3RpdmU6IHJnYmEod2hpdGUsIDAuMyksXG4pO1xuXG5cbi8vIFdoZXRoZXIgZGVuc2l0eSBzaG91bGQgYmUgZ2VuZXJhdGVkIGJ5IGRlZmF1bHQuXG4kX21hdC10aGVtZS1nZW5lcmF0ZS1kZWZhdWx0LWRlbnNpdHk6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEZvciBhIGdpdmVuIGh1ZSBpbiBhIHBhbGV0dGUsIHJldHVybiB0aGUgY29udHJhc3QgY29sb3IgZnJvbSB0aGUgbWFwIG9mIGNvbnRyYXN0IHBhbGV0dGVzLlxuLy8gQHBhcmFtICRjb2xvci1tYXBcbi8vIEBwYXJhbSAkaHVlXG5AZnVuY3Rpb24gbWF0LWNvbnRyYXN0KCRwYWxldHRlLCAkaHVlKSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRwYWxldHRlLCBjb250cmFzdCksICRodWUpO1xufVxuXG5cbi8vIENyZWF0ZXMgYSBtYXAgb2YgaHVlcyB0byBjb2xvcnMgZm9yIGEgdGhlbWUuIFRoaXMgaXMgdXNlZCB0byBkZWZpbmUgYSB0aGVtZSBwYWxldHRlIGluIHRlcm1zXG4vLyBvZiB0aGUgTWF0ZXJpYWwgRGVzaWduIGh1ZXMuXG4vLyBAcGFyYW0gJGNvbG9yLW1hcFxuLy8gQHBhcmFtICRwcmltYXJ5XG4vLyBAcGFyYW0gJGxpZ2h0ZXJcbkBmdW5jdGlvbiBtYXQtcGFsZXR0ZSgkYmFzZS1wYWxldHRlLCAkZGVmYXVsdDogNTAwLCAkbGlnaHRlcjogMTAwLCAkZGFya2VyOiA3MDAsICR0ZXh0OiAkZGVmYXVsdCkge1xuICAkcmVzdWx0OiBtYXAtbWVyZ2UoJGJhc2UtcGFsZXR0ZSwgKFxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJGRlZmF1bHQpLFxuICAgIGxpZ2h0ZXI6IG1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJGxpZ2h0ZXIpLFxuICAgIGRhcmtlcjogbWFwLWdldCgkYmFzZS1wYWxldHRlLCAkZGFya2VyKSxcbiAgICB0ZXh0OiBtYXAtZ2V0KCRiYXNlLXBhbGV0dGUsICR0ZXh0KSxcblxuICAgIGRlZmF1bHQtY29udHJhc3Q6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkZGVmYXVsdCksXG4gICAgbGlnaHRlci1jb250cmFzdDogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRsaWdodGVyKSxcbiAgICBkYXJrZXItY29udHJhc3Q6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkZGFya2VyKVxuICApKTtcblxuICAvLyBGb3IgZWFjaCBodWUgaW4gdGhlIHBhbGV0dGUsIGFkZCBhIFwiLWNvbnRyYXN0XCIgY29sb3IgdG8gdGhlIG1hcC5cbiAgQGVhY2ggJGh1ZSwgJGNvbG9yIGluICRiYXNlLXBhbGV0dGUge1xuICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoXG4gICAgICAnI3skaHVlfS1jb250cmFzdCc6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkaHVlKVxuICAgICkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG5cbi8vIEdldHMgYSBjb2xvciBmcm9tIGEgdGhlbWUgcGFsZXR0ZSAodGhlIG91dHB1dCBvZiBtYXQtcGFsZXR0ZSkuXG4vLyBUaGUgaHVlIGNhbiBiZSBvbmUgb2YgdGhlIHN0YW5kYXJkIHZhbHVlcyAoNTAwLCBBNDAwLCBldGMuKSwgb25lIG9mIHRoZSB0aHJlZSBwcmVjb25maWd1cmVkXG4vLyBodWVzIChkZWZhdWx0LCBsaWdodGVyLCBkYXJrZXIpLCBvciBhbnkgb2YgdGhlIGFmb3JlbWVudGlvbmVkIHByZWZpeGVkIHdpdGggXCItY29udHJhc3RcIi5cbi8vXG4vLyBAcGFyYW0gJGNvbG9yLW1hcCBUaGUgdGhlbWUgcGFsZXR0ZSAob3V0cHV0IG9mIG1hdC1wYWxldHRlKS5cbi8vIEBwYXJhbSAkaHVlIFRoZSBodWUgZnJvbSB0aGUgcGFsZXR0ZSB0byB1c2UuIElmIHRoaXMgaXMgYSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEsIGl0IHdpbGxcbi8vICAgICBiZSB0cmVhdGVkIGFzIG9wYWNpdHkuXG4vLyBAcGFyYW0gJG9wYWNpdHkgVGhlIGFscGhhIGNoYW5uZWwgdmFsdWUgZm9yIHRoZSBjb2xvci5cbkBmdW5jdGlvbiBtYXQtY29sb3IoJHBhbGV0dGUsICRodWU6IGRlZmF1bHQsICRvcGFjaXR5OiBudWxsKSB7XG4gIC8vIElmIGh1ZUtleSBpcyBhIG51bWJlciBiZXR3ZWVuIHplcm8gYW5kIG9uZSwgdGhlbiBpdCBhY3R1YWxseSBjb250YWlucyBhblxuICAvLyBvcGFjaXR5IHZhbHVlLCBzbyByZWNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIHRoZSBkZWZhdWx0IGh1ZSBhbmQgdGhhdCBnaXZlbiBvcGFjaXR5LlxuICBAaWYgdHlwZS1vZigkaHVlKSA9PSBudW1iZXIgYW5kICRodWUgPj0gMCBhbmQgJGh1ZSA8PSAxIHtcbiAgICBAcmV0dXJuIG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdCwgJGh1ZSk7XG4gIH1cblxuICAkY29sb3I6IG1hcC1nZXQoJHBhbGV0dGUsICRodWUpO1xuXG4gIEBpZiAodHlwZS1vZigkY29sb3IpICE9IGNvbG9yKSB7XG4gICAgLy8gSWYgdGhlICRjb2xvciByZXNvbHZlZCB0byBzb21ldGhpbmcgZGlmZmVyZW50IGZyb20gYSBjb2xvciAoZS5nLiBhIENTUyB2YXJpYWJsZSksXG4gICAgLy8gd2UgY2FuJ3QgYXBwbHkgdGhlIG9wYWNpdHkgYW55d2F5IHNvIHdlIHJldHVybiB0aGUgdmFsdWUgYXMgaXMsIG90aGVyd2lzZSBTYXNzIGNhblxuICAgIC8vIHRocm93IGFuIGVycm9yIG9yIG91dHB1dCBzb21ldGhpbmcgaW52YWxpZC5cbiAgICBAcmV0dXJuICRjb2xvcjtcbiAgfVxuXG4gIEByZXR1cm4gcmdiYSgkY29sb3IsIGlmKCRvcGFjaXR5ID09IG51bGwsIG9wYWNpdHkoJGNvbG9yKSwgJG9wYWNpdHkpKTtcbn1cblxuLy8gVmFsaWRhdGVzIHRoZSBzcGVjaWZpZWQgdGhlbWUgYnkgZW5zdXJpbmcgdGhhdCB0aGUgb3B0aW9uYWwgY29sb3IgY29uZmlnIGRlZmluZXNcbi8vIGEgcHJpbWFyeSwgYWNjZW50IGFuZCB3YXJuIHBhbGV0dGUuIFJldHVybnMgdGhlIHRoZW1lIGlmIG5vIGZhaWx1cmVzIHdlcmUgZm91bmQuXG5AZnVuY3Rpb24gX21hdC12YWxpZGF0ZS10aGVtZSgkdGhlbWUpIHtcbiAgQGlmIG1hcC1nZXQoJHRoZW1lLCBjb2xvcikge1xuICAgICRjb2xvcjogbWFwLWdldCgkdGhlbWUsIGNvbG9yKTtcbiAgICBAaWYgbm90IG1hcC1nZXQoJGNvbG9yLCBwcmltYXJ5KSB7XG4gICAgICBAZXJyb3IgJ1RoZW1lIGRvZXMgbm90IGRlZmluZSBhIHZhbGlkIFwicHJpbWFyeVwiIHBhbGV0dGUuJztcbiAgICB9XG4gICAgQGVsc2UgaWYgbm90IG1hcC1nZXQoJGNvbG9yLCBhY2NlbnQpIHtcbiAgICAgIEBlcnJvciAnVGhlbWUgZG9lcyBub3QgZGVmaW5lIGEgdmFsaWQgXCJhY2NlbnRcIiBwYWxldHRlLic7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtZ2V0KCRjb2xvciwgd2Fybikge1xuICAgICAgQGVycm9yICdUaGVtZSBkb2VzIG5vdCBkZWZpbmUgYSB2YWxpZCBcIndhcm5cIiBwYWxldHRlLic7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHRoZW1lO1xufVxuXG4vLyBDcmVhdGVzIGEgYmFja3dhcmRzIGNvbXBhdGlibGUgdGhlbWUuIFByZXZpb3VzbHkgaW4gQW5ndWxhciBNYXRlcmlhbCwgdGhlbWUgb2JqZWN0c1xuLy8gY29udGFpbmVkIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGRpcmVjdGx5LiBXaXRoIHRoZSByZWNlbnQgcmVmYWN0b3Jpbmcgb2YgdGhlIHRoZW1pbmdcbi8vIHN5c3RlbSB0byBhbGxvdyBmb3IgZGVuc2l0eSBhbmQgdHlwb2dyYXBoeSBjb25maWd1cmF0aW9ucywgdGhpcyBpcyBubyBsb25nZXIgdGhlIGNhc2UuXG4vLyBUbyBlbnN1cmUgdGhhdCBjb25zdHJ1Y3RlZCB0aGVtZXMgd2hpY2ggd2lsbCBiZSBwYXNzZWQgdG8gY3VzdG9tIHRoZW1lIG1peGlucyBkbyBub3QgYnJlYWssXG4vLyB3ZSBjb3B5IHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGFuZCBwdXQgaXRzIHByb3BlcnRpZXMgYXQgdGhlIHRvcC1sZXZlbCBvZiB0aGUgdGhlbWUgb2JqZWN0LlxuLy8gSGVyZSBpcyBhbiBleGFtcGxlIG9mIGEgcGF0dGVybiB0aGF0IHNob3VsZCBzdGlsbCB3b3JrIHVudGlsIGl0J3Mgb2ZmaWNpYWxseSBtYXJrZWQgYXMgYVxuLy8gYnJlYWtpbmcgY2hhbmdlOlxuLy9cbi8vICAgIEBtaXhpbiBteS1jdXN0b20tY29tcG9uZW50LXRoZW1lKCR0aGVtZSkge1xuLy8gICAgICAubXktY29tcCB7XG4vLyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KSk7XG4vLyAgICAgIH1cbi8vICAgIH1cbi8vXG4vLyBOb3RlIHRoYXQgdGhlIGAkdGhlbWUucHJpbWFyeWAga2V5IGRvZXMgdXN1YWxseSBub3QgZXhpc3Qgc2luY2UgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb25cbi8vIGlzIHN0b3JlZCBpbiBgJHRoZW1lLmNvbG9yYCB3aGljaCBjb250YWlucyBhIHByb3BlcnR5IGZvciBgcHJpbWFyeWAuIFRoaXMgbWV0aG9kIGNvcGllc1xuLy8gdGhlIG1hcCBmcm9tIGAkdGhlbWUuY29sb3JgIHRvIGAkdGhlbWVgIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbkBmdW5jdGlvbiBfbWF0LWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZSgkdGhlbWUpIHtcbiAgQGlmIG5vdCBtYXAtZ2V0KCR0aGVtZSwgY29sb3IpIHtcbiAgICBAcmV0dXJuICR0aGVtZTtcbiAgfVxuICAkY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBjb2xvcik7XG4gIEByZXR1cm4gbWFwLW1lcmdlKCR0aGVtZSwgJGNvbG9yKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGxpZ2h0LXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIHNwZWNpZmllZFxuLy8gcHJpbWFyeSwgYWNjZW50IGFuZCB3YXJuIHBhbGV0dGVzLlxuQGZ1bmN0aW9uIF9tYXQtY3JlYXRlLWxpZ2h0LWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm46IG51bGwpIHtcbiAgQHJldHVybiAoXG4gICAgcHJpbWFyeTogJHByaW1hcnksXG4gICAgYWNjZW50OiAkYWNjZW50LFxuICAgIHdhcm46IGlmKCR3YXJuICE9IG51bGwsICR3YXJuLCBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpLFxuICAgIGlzLWRhcms6IGZhbHNlLFxuICAgIGZvcmVncm91bmQ6ICRtYXQtbGlnaHQtdGhlbWUtZm9yZWdyb3VuZCxcbiAgICBiYWNrZ3JvdW5kOiAkbWF0LWxpZ2h0LXRoZW1lLWJhY2tncm91bmQsXG4gICk7XG59XG5cbi8vIENyZWF0ZXMgYSBkYXJrLXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIHNwZWNpZmllZFxuLy8gcHJpbWFyeSwgYWNjZW50IGFuZCB3YXJuIHBhbGV0dGVzLlxuQGZ1bmN0aW9uIF9tYXQtY3JlYXRlLWRhcmstY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybjogbnVsbCkge1xuICBAcmV0dXJuIChcbiAgICBwcmltYXJ5OiAkcHJpbWFyeSxcbiAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgd2FybjogaWYoJHdhcm4gIT0gbnVsbCwgJHdhcm4sIG1hdC1wYWxldHRlKCRtYXQtcmVkKSksXG4gICAgaXMtZGFyazogdHJ1ZSxcbiAgICBmb3JlZ3JvdW5kOiAkbWF0LWRhcmstdGhlbWUtZm9yZWdyb3VuZCxcbiAgICBiYWNrZ3JvdW5kOiAkbWF0LWRhcmstdGhlbWUtYmFja2dyb3VuZCxcbiAgKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBvYmplY3QgZm9yIGEgbGlnaHQgdGhlbWUgdG8gYmUgZ2l2ZW4gdG8gaW5kaXZpZHVhbCBjb21wb25lbnQgdGhlbWUgbWl4aW5zLlxuLy8gVE9ETzogUmVtb3ZlIGxlZ2FjeSBBUEkgYW5kIHJlbmFtZSBgJHByaW1hcnlgIHRvIGAkY29uZmlnYC4gQ3VycmVudGx5IGl0IGNhbm5vdCBiZSByZW5hbWVkXG4vLyBhcyBpdCB3b3VsZCBicmVhayBleGlzdGluZyBhcHBzIHRoYXQgc2V0IHRoZSBwYXJhbWV0ZXIgYnkgbmFtZS5cbkBmdW5jdGlvbiBtYXQtbGlnaHQtdGhlbWUoJHByaW1hcnksICRhY2NlbnQ6IG51bGwsICR3YXJuOiBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgdGhlIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy4gQ29uc3VtZXJzXG4gIC8vIGNhbiBjb25zdHJ1Y3Qgc3VjaCBhbiBvYmplY3QgYnkgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCBvciBieSBidWlsZGluZyB0aGUgb2JqZWN0IG1hbnVhbGx5LlxuICAvLyBUaGVyZSBhcmUgdHdvIHBvc3NpYmxlIHdheXMgdG8gaW52b2tlIHRoaXMgZnVuY3Rpb24gaW4gb3JkZXIgdG8gY3JlYXRlIHN1Y2ggYW4gb2JqZWN0OlxuICAvL1xuICAvLyAgICAoMSkgUGFzc2luZyBpbiBhIG1hcCB0aGF0IGhvbGRzIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zIGZvciBpbmRpdmlkdWFsIHBhcnRzIG9mIHRoZVxuICAvLyAgICAgICAgdGhlbWluZyBzeXN0ZW0uIEZvciBgY29sb3JgIGNvbmZpZ3VyYXRpb25zLCB0aGUgZnVuY3Rpb24gb25seSBleHBlY3RzIHRoZSBwYWxldHRlc1xuICAvLyAgICAgICAgZm9yIGBwcmltYXJ5YCBhbmQgYGFjY2VudGAgKGFuZCBvcHRpb25hbGx5IGB3YXJuYCkuIFRoZSBmdW5jdGlvbiB3aWxsIGV4cGFuZCB0aGVcbiAgLy8gICAgICAgIHNob3J0aGFuZCBpbnRvIGFuIGFjdHVhbCBjb25maWd1cmF0aW9uIHRoYXQgY2FuIGJlIGNvbnN1bWVkIGluIGAtY29sb3JgIG1peGlucy5cbiAgLy8gICAgKDIpIExlZ2FjeSBwYXR0ZXJuOiBQYXNzaW5nIGluIHRoZSBwYWxldHRlcyBhcyBwYXJhbWV0ZXJzLiBUaGlzIGlzIG5vdCBhcyBmbGV4aWJsZVxuICAvLyAgICAgICAgYXMgcGFzc2luZyBpbiBhIGNvbmZpZ3VyYXRpb24gbWFwIGJlY2F1c2Ugb25seSB0aGUgYGNvbG9yYCBzeXN0ZW0gY2FuIGJlIGNvbmZpZ3VyZWQuXG4gIC8vXG4gIC8vIElmIHRoZSBsZWdhY3kgcGF0dGVybiBpcyB1c2VkLCB3ZSBnZW5lcmF0ZSBhIGNvbnRhaW5lciBvYmplY3Qgb25seSB3aXRoIGEgbGlnaHQtdGhlbWVkXG4gIC8vIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBgY29sb3JgIHRoZW1pbmcgcGFydC5cbiAgQGlmICRhY2NlbnQgIT0gbnVsbCB7XG4gICAgQHJldHVybiBfbWF0LWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZShfbWF0LXZhbGlkYXRlLXRoZW1lKChcbiAgICAgIF9pcy1sZWdhY3ktdGhlbWU6IHRydWUsXG4gICAgICBjb2xvcjogX21hdC1jcmVhdGUtbGlnaHQtY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybiksXG4gICAgKSkpO1xuICB9XG4gIC8vIElmIHRoZSBtYXAgcGF0dGVybiBpcyB1c2VkICgxKSwgd2UganVzdCBwYXNzLXRocm91Z2ggdGhlIGNvbmZpZ3VyYXRpb25zIGZvciBpbmRpdmlkdWFsXG4gIC8vIHBhcnRzIG9mIHRoZSB0aGVtaW5nIHN5c3RlbSwgYnV0IHVwZGF0ZSB0aGUgYGNvbG9yYCBjb25maWd1cmF0aW9uIGlmIHNldC4gQXMgZXhwbGFpbmVkXG4gIC8vIGFib3ZlLCB0aGUgY29sb3Igc2hvcnRoYW5kIHdpbGwgYmUgZXhwYW5kZWQgdG8gYW4gYWN0dWFsIGxpZ2h0LXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uLlxuICAkcmVzdWx0OiAkcHJpbWFyeTtcbiAgQGlmIG1hcC1nZXQoJHByaW1hcnksIGNvbG9yKSB7XG4gICAgJGNvbG9yLXNldHRpbmdzOiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcik7XG4gICAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCBwcmltYXJ5KTtcbiAgICAkYWNjZW50OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgYWNjZW50KTtcbiAgICAkd2FybjogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIHdhcm4pO1xuICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoY29sb3I6IF9tYXQtY3JlYXRlLWxpZ2h0LWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pKSk7XG4gIH1cbiAgQHJldHVybiBfbWF0LWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZShfbWF0LXZhbGlkYXRlLXRoZW1lKCRyZXN1bHQpKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBvYmplY3QgZm9yIGEgZGFyayB0aGVtZSB0byBiZSBnaXZlbiB0byBpbmRpdmlkdWFsIGNvbXBvbmVudCB0aGVtZSBtaXhpbnMuXG4vLyBUT0RPOiBSZW1vdmUgbGVnYWN5IEFQSSBhbmQgcmVuYW1lIGAkcHJpbWFyeWAgdG8gYCRjb25maWdgLiBDdXJyZW50bHkgaXQgY2Fubm90IGJlIHJlbmFtZWRcbi8vIGFzIGl0IHdvdWxkIGJyZWFrIGV4aXN0aW5nIGFwcHMgdGhhdCBzZXQgdGhlIHBhcmFtZXRlciBieSBuYW1lLlxuQGZ1bmN0aW9uIG1hdC1kYXJrLXRoZW1lKCRwcmltYXJ5LCAkYWNjZW50OiBudWxsLCAkd2FybjogbWF0LXBhbGV0dGUoJG1hdC1yZWQpKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIGNvbnRhaW5lciBvYmplY3QgZm9yIHRoZSBpbmRpdmlkdWFsIGNvbXBvbmVudCB0aGVtZSBtaXhpbnMuIENvbnN1bWVyc1xuICAvLyBjYW4gY29uc3RydWN0IHN1Y2ggYW4gb2JqZWN0IGJ5IGNhbGxpbmcgdGhpcyBmdW5jdGlvbiwgb3IgYnkgYnVpbGRpbmcgdGhlIG9iamVjdCBtYW51YWxseS5cbiAgLy8gVGhlcmUgYXJlIHR3byBwb3NzaWJsZSB3YXlzIHRvIGludm9rZSB0aGlzIGZ1bmN0aW9uIGluIG9yZGVyIHRvIGNyZWF0ZSBzdWNoIGFuIG9iamVjdDpcbiAgLy9cbiAgLy8gICAgKDEpIFBhc3NpbmcgaW4gYSBtYXAgdGhhdCBob2xkcyBvcHRpb25hbCBjb25maWd1cmF0aW9ucyBmb3IgaW5kaXZpZHVhbCBwYXJ0cyBvZiB0aGVcbiAgLy8gICAgICAgIHRoZW1pbmcgc3lzdGVtLiBGb3IgYGNvbG9yYCBjb25maWd1cmF0aW9ucywgdGhlIGZ1bmN0aW9uIG9ubHkgZXhwZWN0cyB0aGUgcGFsZXR0ZXNcbiAgLy8gICAgICAgIGZvciBgcHJpbWFyeWAgYW5kIGBhY2NlbnRgIChhbmQgb3B0aW9uYWxseSBgd2FybmApLiBUaGUgZnVuY3Rpb24gd2lsbCBleHBhbmQgdGhlXG4gIC8vICAgICAgICBzaG9ydGhhbmQgaW50byBhbiBhY3R1YWwgY29uZmlndXJhdGlvbiB0aGF0IGNhbiBiZSBjb25zdW1lZCBpbiBgLWNvbG9yYCBtaXhpbnMuXG4gIC8vICAgICgyKSBMZWdhY3kgcGF0dGVybjogUGFzc2luZyBpbiB0aGUgcGFsZXR0ZXMgYXMgcGFyYW1ldGVycy4gVGhpcyBpcyBub3QgYXMgZmxleGlibGVcbiAgLy8gICAgICAgIGFzIHBhc3NpbmcgaW4gYSBjb25maWd1cmF0aW9uIG1hcCBiZWNhdXNlIG9ubHkgdGhlIGBjb2xvcmAgc3lzdGVtIGNhbiBiZSBjb25maWd1cmVkLlxuICAvL1xuICAvLyBJZiB0aGUgbGVnYWN5IHBhdHRlcm4gaXMgdXNlZCwgd2UgZ2VuZXJhdGUgYSBjb250YWluZXIgb2JqZWN0IG9ubHkgd2l0aCBhIGRhcmstdGhlbWVkXG4gIC8vIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBgY29sb3JgIHRoZW1pbmcgcGFydC5cbiAgQGlmICRhY2NlbnQgIT0gbnVsbCB7XG4gICAgQHJldHVybiBfbWF0LWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZShfbWF0LXZhbGlkYXRlLXRoZW1lKChcbiAgICAgIF9pcy1sZWdhY3ktdGhlbWU6IHRydWUsXG4gICAgICBjb2xvcjogX21hdC1jcmVhdGUtZGFyay1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuKSxcbiAgICApKSk7XG4gIH1cbiAgLy8gSWYgdGhlIG1hcCBwYXR0ZXJuIGlzIHVzZWQgKDEpLCB3ZSBqdXN0IHBhc3MtdGhyb3VnaCB0aGUgY29uZmlndXJhdGlvbnMgZm9yIGluZGl2aWR1YWxcbiAgLy8gcGFydHMgb2YgdGhlIHRoZW1pbmcgc3lzdGVtLCBidXQgdXBkYXRlIHRoZSBgY29sb3JgIGNvbmZpZ3VyYXRpb24gaWYgc2V0LiBBcyBleHBsYWluZWRcbiAgLy8gYWJvdmUsIHRoZSBjb2xvciBzaG9ydGhhbmQgd2lsbCBiZSBleHBhbmRlZCB0byBhbiBhY3R1YWwgZGFyay10aGVtZWQgY29sb3IgY29uZmlndXJhdGlvbi5cbiAgJHJlc3VsdDogJHByaW1hcnk7XG4gIEBpZiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcikge1xuICAgICRjb2xvci1zZXR0aW5nczogbWFwLWdldCgkcHJpbWFyeSwgY29sb3IpO1xuICAgICRwcmltYXJ5OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgcHJpbWFyeSk7XG4gICAgJGFjY2VudDogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIGFjY2VudCk7XG4gICAgJHdhcm46IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCB3YXJuKTtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKGNvbG9yOiBfbWF0LWNyZWF0ZS1kYXJrLWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pKSk7XG4gIH1cbiAgQHJldHVybiBfbWF0LWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZShfbWF0LXZhbGlkYXRlLXRoZW1lKCRyZXN1bHQpKTtcbn1cblxuLy8vIEdldHMgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgZ2l2ZW4gdGhlbWUgb3IgY29uZmlndXJhdGlvbi5cbkBmdW5jdGlvbiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUsICRkZWZhdWx0OiBudWxsKSB7XG4gIC8vIElmIGEgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBwYXNzZWQsIHJldHVybiB0aGUgY29uZmlnIGRpcmVjdGx5LlxuICBAaWYgbm90IF9tYXQtaXMtdGhlbWUtb2JqZWN0KCR0aGVtZSkge1xuICAgIEByZXR1cm4gJHRoZW1lO1xuICB9XG4gIC8vIElmIHRoZSB0aGVtZSBoYXMgYmVlbiBjb25zdHJ1Y3RlZCB0aHJvdWdoIHRoZSBsZWdhY3kgdGhlbWluZyBBUEksIHdlIHVzZSB0aGUgdGhlbWUgb2JqZWN0XG4gIC8vIGFzIGNvbG9yIGNvbmZpZ3VyYXRpb24gaW5zdGVhZCBvZiB0aGUgZGVkaWNhdGVkIGBjb2xvcmAgcHJvcGVydHkuIFdlIGRvIHRoaXMgYmVjYXVzZSBmb3JcbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHdlIGNvcGllZCB0aGUgY29sb3IgY29uZmlndXJhdGlvbiBmcm9tIGAkdGhlbWUuY29sb3JgIHRvIGAkdGhlbWVgLlxuICAvLyBIZW5jZSBkZXZlbG9wZXJzIGNvdWxkIGN1c3RvbWl6ZSB0aGUgY29sb3JzIGF0IHRvcC1sZXZlbCBhbmQgd2FudCB0byByZXNwZWN0IHRoZXNlIGNoYW5nZXNcbiAgLy8gVE9ETzogUmVtb3ZlIHdoZW4gbGVnYWN5IHRoZW1pbmcgQVBJIGlzIHJlbW92ZWQuXG4gIEBpZiBfbWF0LWlzLWxlZ2FjeS1jb25zdHJ1Y3RlZC10aGVtZSgkdGhlbWUpIHtcbiAgICBAcmV0dXJuICR0aGVtZTtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJHRoZW1lLCBjb2xvcikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkdGhlbWUsIGNvbG9yKTtcbiAgfVxuICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG4vLy8gR2V0cyB0aGUgZGVuc2l0eSBjb25maWd1cmF0aW9uIGZyb20gdGhlIGdpdmVuIHRoZW1lIG9yIGNvbmZpZ3VyYXRpb24uXG5AZnVuY3Rpb24gbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUtb3ItY29uZmlnLCAkZGVmYXVsdDogMCkge1xuICAvLyBJZiBhIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gcGFzc2VkLCByZXR1cm4gdGhlIGNvbmZpZyBkaXJlY3RseS5cbiAgQGlmIG5vdCBfbWF0LWlzLXRoZW1lLW9iamVjdCgkdGhlbWUtb3ItY29uZmlnKSB7XG4gICAgQHJldHVybiAkdGhlbWUtb3ItY29uZmlnO1xuICB9XG4gIC8vIEluIGNhc2UgYSB0aGVtZSBoYXMgYmVlbiBwYXNzZWQsIGV4dHJhY3QgdGhlIGNvbmZpZ3VyYXRpb24gaWYgcHJlc2VudCxcbiAgLy8gb3IgZmFsbCBiYWNrIHRvIHRoZSBkZWZhdWx0IGRlbnNpdHkgY29uZmlnLlxuICBAaWYgbWFwLWhhcy1rZXkoJHRoZW1lLW9yLWNvbmZpZywgZGVuc2l0eSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtb3ItY29uZmlnLCBkZW5zaXR5KTtcbiAgfVxuICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG4vLy8gR2V0cyB0aGUgdHlwb2dyYXBoeSBjb25maWd1cmF0aW9uIGZyb20gdGhlIGdpdmVuIHRoZW1lIG9yIGNvbmZpZ3VyYXRpb24uXG4vLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB0eXBvZ3JhcGh5IGlzIG5vdCBpbmNsdWRlZCBieSBkZWZhdWx0LlxuQGZ1bmN0aW9uIG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lLW9yLWNvbmZpZywgJGRlZmF1bHQ6IG51bGwpIHtcbiAgLy8gSWYgYSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIHBhc3NlZCwgcmV0dXJuIHRoZSBjb25maWcgZGlyZWN0bHkuXG4gIEBpZiBub3QgX21hdC1pcy10aGVtZS1vYmplY3QoJHRoZW1lLW9yLWNvbmZpZykge1xuICAgIEByZXR1cm4gJHRoZW1lLW9yLWNvbmZpZztcbiAgfVxuICAvLyBJbiBjYXNlIGEgdGhlbWUgaGFzIGJlZW4gcGFzc2VkLCBleHRyYWN0IHRoZSBjb25maWd1cmF0aW9uIGlmIHByZXNlbnQsXG4gIC8vIG9yIGZhbGwgYmFjayB0byB0aGUgZGVmYXVsdCB0eXBvZ3JhcGh5IGNvbmZpZy5cbiAgQGlmIChtYXAtaGFzLWtleSgkdGhlbWUtb3ItY29uZmlnLCB0eXBvZ3JhcGh5KSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtb3ItY29uZmlnLCB0eXBvZ3JhcGh5KTtcbiAgfVxuICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG4vLyBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gdmFsdWUgcmVzb2x2ZXMgdG8gYSB0aGVtZSBvYmplY3QuIFRoZW1lIG9iamVjdHMgYXJlIGFsd2F5c1xuLy8gb2YgdHlwZSBgbWFwYCBhbmQgY2FuIG9wdGlvbmFsbHkgb25seSBzcGVjaWZ5IGBjb2xvcmAsIGBkZW5zaXR5YCBvciBgdHlwb2dyYXBoeWAuXG5AZnVuY3Rpb24gX21hdC1pcy10aGVtZS1vYmplY3QoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpID09ICdtYXAnIGFuZCAoXG4gICAgbWFwLWhhcy1rZXkoJHZhbHVlLCBjb2xvcikgb3JcbiAgICBtYXAtaGFzLWtleSgkdmFsdWUsIGRlbnNpdHkpIG9yXG4gICAgbWFwLWhhcy1rZXkoJHZhbHVlLCB0eXBvZ3JhcGh5KSBvclxuICAgIGxlbmd0aCgkdmFsdWUpID09IDBcbiAgKTtcbn1cblxuLy8gQ2hlY2tzIHdoZXRoZXIgYSBnaXZlbiB2YWx1ZSBjb3JyZXNwb25kcyB0byBhIGxlZ2FjeSBjb25zdHJ1Y3RlZCB0aGVtZS5cbkBmdW5jdGlvbiBfbWF0LWlzLWxlZ2FjeS1jb25zdHJ1Y3RlZC10aGVtZSgkdmFsdWUpIHtcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ21hcCcgYW5kIG1hcC1nZXQoJHZhbHVlLCAnX2lzLWxlZ2FjeS10aGVtZScpO1xufVxuXG4vLyBHZXRzIHRoZSB0aGVtZSBmcm9tIHRoZSBnaXZlbiB2YWx1ZSB0aGF0IGlzIGVpdGhlciBhbHJlYWR5IGEgdGhlbWUsIG9yIGEgY29sb3IgY29uZmlndXJhdGlvbi5cbi8vIFRoaXMgaGFuZGxlcyB0aGUgbGVnYWN5IGNhc2Ugd2hlcmUgZGV2ZWxvcGVycyBwYXNzIGEgY29sb3IgY29uZmlndXJhdGlvbiBkaXJlY3RseSB0byB0aGVcbi8vIHRoZW1lIG1peGluLiBCZWZvcmUgd2UgaW50cm9kdWNlZCB0aGUgbmV3IHBhdHRlcm4gZm9yIGNvbnN0cnVjdGluZyBhIHRoZW1lLCBkZXZlbG9wZXJzIHBhc3NlZFxuLy8gdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkgdG8gdGhlIHRoZW1lIG1peGlucy4gVGhpcyBjYW4gYmUgc3RpbGwgdGhlIGNhc2UgaWYgZGV2ZWxvcGVyc1xuLy8gY29uc3RydWN0IGEgdGhlbWUgbWFudWFsbHkgYW5kIHBhc3MgaXQgdG8gYSB0aGVtZS4gV2Ugc3VwcG9ydCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbi8vIFRPRE8oZGV2dmVyc2lvbik6IHJlbW92ZSB0aGlzIGluIHRoZSBmdXR1cmUuIENvbnN0cnVjdGluZyB0aGVtZXMgbWFudWFsbHkgaXMgcmFyZSxcbi8vIGFuZCB0aGUgY29kZSBjYW4gYmUgZWFzaWx5IHVwZGF0ZWQgdG8gdGhlIG5ldyBBUEkuXG5AZnVuY3Rpb24gX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgQGlmIF9tYXQtaXMtdGhlbWUtb2JqZWN0KCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgICBAcmV0dXJuICR0aGVtZS1vci1jb2xvci1jb25maWc7XG4gIH1cbiAgQHJldHVybiBfbWF0LWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZSgoXG4gICAgX2lzLWxlZ2FjeS10aGVtZTogdHJ1ZSxcbiAgICBjb2xvcjogJHRoZW1lLW9yLWNvbG9yLWNvbmZpZ1xuICApKTtcbn1cblxuXG5cbi8vIFdoZXRoZXIgZHVwbGljYXRpb24gd2FybmluZ3Mgc2hvdWxkIGJlIGRpc2FibGVkLiBXYXJuaW5ncyBlbmFibGVkIGJ5IGRlZmF1bHQuXG4kbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdhcm5pbmcgdGhhdCB3aWxsIGJlIHByaW50ZWQgaWYgZHVwbGljYXRlZCBzdHlsZXMgYXJlIGdlbmVyYXRlZCBieSBhIHRoZW1lLlxuJF9tYXQtdGhlbWUtZHVwbGljYXRlLXdhcm5pbmc6ICdSZWFkIG1vcmUgYWJvdXQgaG93IHN0eWxlIGR1cGxpY2F0aW9uIGNhbiBiZSBhdm9pZGVkIGluIGEgJyArXG4gICdkZWRpY2F0ZWQgZ3VpZGUuIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYXN0ZXIvZ3VpZGVzL2R1cGxpY2F0ZS10aGVtaW5nLXN0eWxlcy5tZCc7XG5cbi8vIFRoZXNlIHZhcmlhYmxlIGFyZSBub3QgaW50ZW5kZWQgdG8gYmUgb3ZlcnJpZGRlbiBleHRlcm5hbGx5LiBUaGV5IHVzZSBgIWRlZmF1bHRgIHRvXG4vLyBhdm9pZCBiZWluZyByZXNldCBldmVyeSB0aW1lIHRoaXMgZmlsZSBpcyBpbXBvcnRlZC5cbiRfbWF0LXRoZW1lLWVtaXR0ZWQtY29sb3I6ICgpICFkZWZhdWx0O1xuJF9tYXQtdGhlbWUtZW1pdHRlZC10eXBvZ3JhcGh5OiAoKSAhZGVmYXVsdDtcbiRfbWF0LXRoZW1lLWVtaXR0ZWQtZGVuc2l0eTogKCkgIWRlZmF1bHQ7XG5cbi8vIENoZWNrcyBpZiBjb25maWd1cmF0aW9ucyB0aGF0IGhhdmUgYmVlbiBkZWNsYXJlZCBpbiB0aGUgZ2l2ZW4gdGhlbWUgaGF2ZSBiZWVuIGdlbmVyYXRlZFxuLy8gYmVmb3JlLiBJZiBzbywgd2FybmluZ3Mgd2lsbCBiZSByZXBvcnRlZC4gVGhpcyBzaG91bGQgbm90aWZ5IGRldmVsb3BlcnMgaW4gY2FzZSBkdXBsaWNhdGVcbi8vIHN0eWxlcyBhcmUgYWNjaWRlbnRhbGx5IGdlbmVyYXRlZCBkdWUgdG8gd3JvbmcgdXNhZ2Ugb2YgdGhlIGFsbC10aGVtZSBtaXhpbnMuXG4vL1xuLy8gQWRkaXRpb25hbGx5LCB0aGlzIG1peGluIGNvbnRyb2xzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgZGVuc2l0eSBjb25maWd1cmF0aW9uLiBCeVxuLy8gZGVmYXVsdCwgZGVuc2l0eSBzdHlsZXMgYXJlIGdlbmVyYXRlZCBhdCBzY2FsZSB6ZXJvLiBJZiB0aGUgc2FtZSBkZW5zaXR5IHN0eWxlcyB3b3VsZCBiZVxuLy8gZ2VuZXJhdGVkIGEgc2Vjb25kIHRpbWUgdGhvdWdoLCB0aGUgZGVmYXVsdCB2YWx1ZSB3aWxsIGNoYW5nZSB0byBhdm9pZCBkdXBsaWNhdGUgc3R5bGVzLlxuLy9cbi8vIFRoZSBtaXhpbiBrZWVwcyB0cmFjayBvZiBhbGwgY29uZmlndXJhdGlvbnMgaW4gYSBsaXN0IHRoYXQgaXMgc2NvcGVkIHRvIHRoZSBzcGVjaWZpZWRcbi8vIGlkLiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIGEgZ2l2ZW4gdGhlbWUgY2FuIGJlIHBhc3NlZCB0byBtdWx0aXBsZSBkaXNqb2ludCB0aGVtZSBtaXhpbnNcbi8vIChlLmcuIGBhbmd1bGFyLW1hdGVyaWFsLXRoZW1lYCBhbmQgYGFuZ3VsYXItbWF0ZXJpYWwtbWRjLXRoZW1lYCkgd2l0aG91dCBjYXVzaW5nIGFueVxuLy8gc3R5bGUgZHVwbGljYXRpb24uXG5AbWl4aW4gX21hdC1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZS1vci1jb2xvci1jb25maWcsICRpZCkge1xuICAkdGhlbWU6IF9tYXQtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgJGNvbG9yLWNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgJGRlbnNpdHktY29uZmlnOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICR0eXBvZ3JhcGh5LWNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuICAvLyBMaXN0cyBvZiBwcmV2aW91cyBgY29sb3JgLCBgZGVuc2l0eWAgYW5kIGB0eXBvZ3JhcGh5YCBjb25maWd1cmF0aW9ucy5cbiAgJHByZXZpb3VzLWNvbG9yOiBtYXAtZ2V0KCRfbWF0LXRoZW1lLWVtaXR0ZWQtY29sb3IsICRpZCkgb3IgKCk7XG4gICRwcmV2aW91cy10eXBvZ3JhcGh5OiBtYXAtZ2V0KCRfbWF0LXRoZW1lLWVtaXR0ZWQtdHlwb2dyYXBoeSwgJGlkKSBvciAoKTtcbiAgJHByZXZpb3VzLWRlbnNpdHk6IG1hcC1nZXQoJF9tYXQtdGhlbWUtZW1pdHRlZC1kZW5zaXR5LCAkaWQpIG9yICgpO1xuICAvLyBXaGV0aGVyIGR1cGxpY2F0ZSBsZWdhY3kgZGVuc2l0eSBzdHlsZXMgd291bGQgYmUgZ2VuZXJhdGVkLlxuICAkZHVwbGljYXRlLWxlZ2FjeS1kZW5zaXR5OiBmYWxzZTtcblxuICAvLyBDaGVjayBpZiB0aGUgY29sb3IgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBnZW5lcmF0ZWQgYmVmb3JlLlxuICBAaWYgJGNvbG9yLWNvbmZpZyAhPSBudWxsIHtcbiAgICBAaWYgaW5kZXgoJHByZXZpb3VzLWNvbG9yLCAkY29sb3ItY29uZmlnKSAhPSBudWxsIGFuZFxuICAgICAgICBub3QgJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3Mge1xuICAgICAgQHdhcm4gJ1RoZSBzYW1lIGNvbG9yIHN0eWxlcyBhcmUgZ2VuZXJhdGVkIG11bHRpcGxlIHRpbWVzLiAnICtcbiAgICAgICAgICAkX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZztcbiAgICB9XG4gICAgJHByZXZpb3VzLWNvbG9yOiBhcHBlbmQoJHByZXZpb3VzLWNvbG9yLCAkY29sb3ItY29uZmlnKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSB0eXBvZ3JhcGh5IGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gZ2VuZXJhdGVkIGJlZm9yZS5cbiAgQGlmICR0eXBvZ3JhcGh5LWNvbmZpZyAhPSBudWxsIHtcbiAgICBAaWYgaW5kZXgoJHByZXZpb3VzLXR5cG9ncmFwaHksICR0eXBvZ3JhcGh5LWNvbmZpZykgIT0gbnVsbCBhbmRcbiAgICAgICAgbm90ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuICdUaGUgc2FtZSB0eXBvZ3JhcGh5IHN0eWxlcyBhcmUgZ2VuZXJhdGVkIG11bHRpcGxlIHRpbWVzLiAnICtcbiAgICAgICAgICAkX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZztcbiAgICB9XG4gICAgJHByZXZpb3VzLXR5cG9ncmFwaHk6IGFwcGVuZCgkcHJldmlvdXMtdHlwb2dyYXBoeSwgJHR5cG9ncmFwaHktY29uZmlnKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gZ2VuZXJhdGVkIGJlZm9yZS5cbiAgQGlmICRkZW5zaXR5LWNvbmZpZyAhPSBudWxsIHtcbiAgICBAaWYgaW5kZXgoJHByZXZpb3VzLWRlbnNpdHksICRkZW5zaXR5LWNvbmZpZykgIT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlcG9ydCBhIHdhcm5pbmcgaWYgZGVuc2l0eSBzdHlsZXMgd291bGQgYmUgZHVwbGljYXRlZCBmb3Igbm9uLWxlZ2FjeSB0aGVtZVxuICAgICAgLy8gZGVmaW5pdGlvbnMuIEZvciBsZWdhY3kgdGhlbWVzLCB3ZSBoYXZlIGNvbXBhdGliaWxpdHkgbG9naWMgdGhhdCBhdm9pZHMgZHVwbGljYXRpb25cbiAgICAgIC8vIG9mIGRlZmF1bHQgZGVuc2l0eSBzdHlsZXMuIFdlIGRvbid0IHdhbnQgdG8gcmVwb3J0IGEgd2FybmluZyBpbiB0aG9zZSBjYXNlcy5cbiAgICAgIEBpZiBfbWF0LWlzLWxlZ2FjeS1jb25zdHJ1Y3RlZC10aGVtZSgkdGhlbWUpIHtcbiAgICAgICAgJGR1cGxpY2F0ZS1sZWdhY3ktZGVuc2l0eTogdHJ1ZTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIG5vdCAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5ncyB7XG4gICAgICAgIEB3YXJuICdUaGUgc2FtZSBkZW5zaXR5IHN0eWxlcyBhcmUgZ2VuZXJhdGVkIG11bHRpcGxlIHRpbWVzLiAnICtcbiAgICAgICAgICAgJF9tYXQtdGhlbWUtZHVwbGljYXRlLXdhcm5pbmc7XG4gICAgICB9XG4gICAgfVxuICAgICRwcmV2aW91cy1kZW5zaXR5OiBhcHBlbmQoJHByZXZpb3VzLWRlbnNpdHksICRkZW5zaXR5LWNvbmZpZyk7XG4gIH1cblxuICAkX21hdC10aGVtZS1lbWl0dGVkLWNvbG9yOiBtYXAtbWVyZ2UoXG4gICAgICAkX21hdC10aGVtZS1lbWl0dGVkLWNvbG9yLCAoJGlkOiAkcHJldmlvdXMtY29sb3IpKSAhZ2xvYmFsO1xuICAkX21hdC10aGVtZS1lbWl0dGVkLWRlbnNpdHk6IG1hcC1tZXJnZShcbiAgICAgICRfbWF0LXRoZW1lLWVtaXR0ZWQtZGVuc2l0eSwgKCRpZDogJHByZXZpb3VzLWRlbnNpdHkpKSAhZ2xvYmFsO1xuICAkX21hdC10aGVtZS1lbWl0dGVkLXR5cG9ncmFwaHk6IG1hcC1tZXJnZShcbiAgICAgICRfbWF0LXRoZW1lLWVtaXR0ZWQtdHlwb2dyYXBoeSwgKCRpZDogJHByZXZpb3VzLXR5cG9ncmFwaHkpKSAhZ2xvYmFsO1xuXG4gIC8vIE9wdGlvbmFsbHksIGNvbnN1bWVycyBvZiB0aGlzIG1peGluIGNhbiB3cmFwIGNvbnRlbnRzIGluc2lkZSBzbyB0aGF0IG5lc3RlZFxuICAvLyBkdXBsaWNhdGUgc3R5bGUgY2hlY2tzIGRvIG5vdCByZXBvcnQgYW5vdGhlciB3YXJuaW5nLiBlLmcuIGlmIGRldmVsb3BlcnMgaW5jbHVkZVxuICAvLyB0aGUgYGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWVgIG1peGluIHR3aWNlLCBvbmx5IHRoZSB0b3AtbGV2ZWwgZHVwbGljYXRlIHN0eWxlcyBjaGVja1xuICAvLyBzaG91bGQgcmVwb3J0IGEgd2FybmluZy4gTm90IGFsbCBpbmRpdmlkdWFsIGNvbXBvbmVudHMgc2hvdWxkIHJlcG9ydCBhIHdhcm5pbmcgdG9vLlxuICAkb3JpZy1tYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzOiAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5ncztcbiAgJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3M6IHRydWUgIWdsb2JhbDtcblxuICAvLyBJZiBkdXBsaWNhdGUgZGVmYXVsdCBkZW5zaXR5IHN0eWxlcyB3b3VsZCBiZSBnZW5lcmF0ZWQgZm9yIGEgbGVnYWN5IGNvbnN0cnVjdGVkIHRoZW1lLFxuICAvLyB3ZSBhZGp1c3QgdGhlIGRlbnNpdHkgZ2VuZXJhdGlvbiBzbyB0aGF0IG5vIGRlbnNpdHkgc3R5bGVzIGFyZSBnZW5lcmF0ZWQgYnkgZGVmYXVsdC5cbiAgLy8gSWYgbm8gZGVmYXVsdCBkZW5zaXR5IHN0eWxlcyBoYXZlIGJlZW4gZ2VuZXJhdGVkIHlldCwgd2UgZW5zdXJlIHRoYXQgdGhlIHN0eWxlc1xuICAvLyBhcmUgZ2VuZXJhdGVkIGF0IHJvb3QuIEZvciBsZWdhY3kgdGhlbWVzIG91ciBnb2FsIGlzIHRvIGdlbmVyYXRlIGRlZmF1bHQgZGVuc2l0eVxuICAvLyBzdHlsZXMgKipvbmNlKiogYW5kIGF0IHJvb3QuIFRoaXMgbWF0Y2hlcyB0aGUgb2xkIGJlaGF2aW9yIHdoZXJlIGRlbnNpdHkgc3R5bGVzIHdlcmVcbiAgLy8gcGFydCBvZiB0aGUgYmFzZSBjb21wb25lbnQgc3R5bGVzICh0aGF0IGRpZCBub3QgdXNlIHZpZXcgZW5jYXBzdWxhdGlvbikuXG4gIC8vIFRPRE86IFJlbW92ZSB0aGlzIGNvbXBhdGliaWxpdHkgbG9naWMgd2hlbiB0aGUgbGVnYWN5IHRoZW1pbmcgQVBJIGlzIHJlbW92ZWQuXG4gICRfbWF0LWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdDogX21hdC1pcy1sZWdhY3ktY29uc3RydWN0ZWQtdGhlbWUoJHRoZW1lKSAhZ2xvYmFsO1xuICAkX21hdC1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlczogbm90ICRkdXBsaWNhdGUtbGVnYWN5LWRlbnNpdHkgIWdsb2JhbDtcblxuICBAY29udGVudDtcbiAgJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3M6ICRvcmlnLW1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3MgIWdsb2JhbDtcblxuICAkX21hdC1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3Q6IGZhbHNlICFnbG9iYWw7XG4gICRfbWF0LWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzOiB0cnVlICFnbG9iYWw7XG59XG5cblxuXG4kbWF0LXJpcHBsZS1jb2xvci1vcGFjaXR5OiAwLjE7XG5cbkBtaXhpbiBtYXQtcmlwcGxlKCkge1xuXG4gIC8vIFRoZSBob3N0IGVsZW1lbnQgb2YgYW4gbWF0LXJpcHBsZSBkaXJlY3RpdmUgc2hvdWxkIGFsd2F5cyBoYXZlIGEgcG9zaXRpb24gb2YgXCJhYnNvbHV0ZVwiIG9yXG4gIC8vIFwicmVsYXRpdmVcIiBzbyB0aGF0IHRoZSByaXBwbGVzIGluc2lkZSBhcmUgY29ycmVjdGx5IHBvc2l0aW9uZWQgcmVsYXRpdmVseSB0byB0aGUgY29udGFpbmVyLlxuICAubWF0LXJpcHBsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIEJ5IGRlZmF1bHQsIGV2ZXJ5IHJpcHBsZSBjb250YWluZXIgc2hvdWxkIGhhdmUgcG9zaXRpb246IHJlbGF0aXZlIGluIGZhdm9yIG9mIGNyZWF0aW5nIGFuXG4gICAgLy8gZWFzeSBBUEkgZm9yIGRldmVsb3BlcnMgdXNpbmcgdGhlIE1hdFJpcHBsZSBkaXJlY3RpdmUuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gUHJvbW90ZSBjb250YWluZXJzIHRoYXQgaGF2ZSByaXBwbGVzIHRvIGEgbmV3IGxheWVyLiBXZSB3YW50IHRvIHRhcmdldCBgOm5vdCg6ZW1wdHkpYCxcbiAgICAvLyBiZWNhdXNlIHdlIGRvbid0IHdhbnQgYWxsIHJpcHBsZSBjb250YWluZXJzIHRvIGhhdmUgdGhlaXIgb3duIGxheWVyIHNpbmNlIHRoZXkncmUgdXNlZCBpbiBhXG4gICAgLy8gbG90IG9mIHBsYWNlcyBhbmQgdGhlIGxheWVyIGlzIG9ubHkgcmVsZXZhbnQgd2hpbGUgYW5pbWF0aW5nLiBOb3RlIHRoYXQgaWRlYWxseSB3ZSdkIHVzZVxuICAgIC8vIHRoZSBgY29udGFpbmAgcHJvcGVydHkgaGVyZSAoc2VlICMxMzE3NSksIGJlY2F1c2UgYDplbXB0eWAgY2FuIGJlIGJyb2tlbiBieSBoYXZpbmcgZXh0cmFcbiAgICAvLyB0ZXh0IGluc2lkZSB0aGUgZWxlbWVudCwgYnV0IGl0IGlzbid0IHZlcnkgd2VsbCBzdXBwb3J0ZWQgeWV0LlxuICAgICY6bm90KDplbXB0eSkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCB0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG5cbiAgICAvLyBJbiBoaWdoIGNvbnRyYXN0IG1vZGUgdGhlIHJpcHBsZSBpcyBvcGFxdWUsIGNhdXNpbmcgaXQgdG8gb2JzdHJ1Y3QgdGhlIGNvbnRlbnQuXG4gICAgQGluY2x1ZGUgY2RrLWhpZ2gtY29udHJhc3QoYWN0aXZlLCBvZmYpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIENvbG9ycyBmb3IgdGhlIHJpcHBsZSBlbGVtZW50cy4qL1xuQG1peGluIG1hdC1yaXBwbGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRmb3JlZ3JvdW5kLWJhc2U6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIC8vIElmIHRoZSByaXBwbGUgY29sb3IgaXMgcmVzb2x2ZXMgdG8gYSBjb2xvciAqdHlwZSosIHdlIGNhbiB1c2UgaXQgZGlyZWN0bHksIG90aGVyd2lzZVxuICAgIC8vIChlLmcuIGl0IHJlc29sdmVzIHRvIGEgQ1NTIHZhcmlhYmxlKSB3ZSBmYWxsIGJhY2sgdG8gdXNpbmcgdGhlIGNvbG9yIGFuZCBzZXR0aW5nIGFuIG9wYWNpdHkuXG4gICAgQGlmICh0eXBlLW9mKCRmb3JlZ3JvdW5kLWJhc2UpID09IGNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRmb3JlZ3JvdW5kLWJhc2UsICRtYXQtcmlwcGxlLWNvbG9yLW9wYWNpdHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9yZWdyb3VuZC1iYXNlO1xuICAgICAgb3BhY2l0eTogJG1hdC1yaXBwbGUtY29sb3Itb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1yaXBwbGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IF9tYXQtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgX21hdC1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1yaXBwbGUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcmlwcGxlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBUaGlzIG1peGluIGVuc3VyZXMgYW4gZWxlbWVudCBzcGFucyB0byBmaWxsIHRoZSBuZWFyZXN0IGFuY2VzdG9yIHdpdGggZGVmaW5lZCBwb3NpdGlvbmluZy5cbkBtaXhpbiBtYXQtZmlsbCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5cbi8vLyBNaXhpbiB0aGF0IHR1cm5zIG9uIHN0cm9uZyBmb2N1cyBpbmRpY2F0b3JzLlxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgIC5teS1hcHAge1xuLy8vICAgICBAaW5jbHVkZSBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMoJGNvbmZpZyk7XG4vLy8gICB9XG5AbWl4aW4gbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzKCRjb25maWc6ICgpKSB7XG4gIC8vIERlZmF1bHQgZm9jdXMgaW5kaWNhdG9yIGNvbmZpZy5cbiAgJGRlZmF1bHQtY29uZmlnOiAoXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZCxcbiAgICBib3JkZXItd2lkdGg6IDNweCxcbiAgICBib3JkZXItcmFkaXVzOiA0cHgsXG4gICk7XG5cbiAgLy8gTWVyZ2UgZGVmYXVsdCBjb25maWcgd2l0aCB1c2VyIGNvbmZpZy5cbiAgJGNvbmZpZzogbWFwLW1lcmdlKCRkZWZhdWx0LWNvbmZpZywgJGNvbmZpZyk7XG4gICRib3JkZXItc3R5bGU6IG1hcC1nZXQoJGNvbmZpZywgYm9yZGVyLXN0eWxlKTtcbiAgJGJvcmRlci13aWR0aDogbWFwLWdldCgkY29uZmlnLCBib3JkZXItd2lkdGgpO1xuICAkYm9yZGVyLXJhZGl1czogbWFwLWdldCgkY29uZmlnLCBib3JkZXItcmFkaXVzKTtcblxuICAvLyBCYXNlIHN0eWxlcyBmb3IgZm9jdXMgaW5kaWNhdG9ycy5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWF0LWZpbGwoKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCAkYm9yZGVyLXN0eWxlIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLy8gQnkgZGVmYXVsdCwgYWxsIGZvY3VzIGluZGljYXRvcnMgYXJlIGZsdXNoIHdpdGggdGhlIGJvdW5kaW5nIGJveCBvZiB0aGVpclxuICAvLyBob3N0IGVsZW1lbnQuIEZvciBwYXJ0aWN1bGFyIGVsZW1lbnRzIChsaXN0ZWQgYmVsb3cpLCBkZWZhdWx0IGluc2V0L29mZnNldFxuICAvLyB2YWx1ZXMgYXJlIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgZm9jdXMgaW5kaWNhdG9yIGlzIHN1ZmZpY2llbnRseVxuICAvLyBjb250cmFzdGl2ZSBhbmQgcmVuZGVycyBhcHByb3ByaWF0ZWx5LlxuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1mbGF0LWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtcmFpc2VkLWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtZmFiOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1taW5pLWZhYjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtY2hpcDo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyOjpiZWZvcmUge1xuICAgIG1hcmdpbjogLSgkYm9yZGVyLXdpZHRoICsgMnB4KTtcbiAgfVxuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1zdHJva2VkLWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiAtKCRib3JkZXItd2lkdGggKyAzcHgpO1xuICB9XG5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LXRhYi1saW5rOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC10YWItbGFiZWw6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiA1cHg7XG4gIH1cblxuICAvLyBSZW5kZXIgdGhlIGZvY3VzIGluZGljYXRvciBvbiBmb2N1cy4gRGVmaW5pbmcgYSBwc2V1ZG8gZWxlbWVudCdzXG4gIC8vIGNvbnRlbnQgd2lsbCBjYXVzZSBpdCB0byByZW5kZXIuXG5cbiAgLy8gQ2hlY2tib3hlcywgcmFkaW9zLCBhbmQgc2xpZGUgdG9nZ2xlcyByZW5kZXIgZm9jdXMgaW5kaWNhdG9ycyB3aGVuIHRoZVxuICAvLyBhc3NvY2lhdGVkIHZpc3VhbGx5LWhpZGRlbiBpbnB1dCBpcyBmb2N1c2VkLlxuICAubWF0LWNoZWNrYm94LWlucHV0OmZvY3VzIH4gLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcbiAgLm1hdC1yYWRpby1pbnB1dDpmb2N1cyB+IC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG4gIC5tYXQtc2xpZGUtdG9nZ2xlLWlucHV0OmZvY3VzIH4gLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG5cbiAgLy8gRm9yIG9wdGlvbnMsIHJlbmRlciB0aGUgZm9jdXMgaW5kaWNhdG9yIHdoZW4gdGhlIGNsYXNzIC5tYXQtYWN0aXZlXG4gIC8vIGlzIHByZXNlbnQuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1vcHRpb24ubWF0LWFjdGl2ZTo6YmVmb3JlLFxuXG4gIC8vIEZvciBjYWxlbmRhciBjZWxscywgcmVuZGVyIHRoZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgcGFyZW50IGNlbGwgaXNcbiAgLy8gZm9jdXNlZC5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6Zm9jdXMgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcblxuICAvLyBGb3IgYWxsIG90aGVyIGNvbXBvbmVudHMsIHJlbmRlciB0aGUgZm9jdXMgaW5kaWNhdG9yIG9uIGZvY3VzLlxuICAubWF0LWZvY3VzLWluZGljYXRvcjpmb2N1czo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4vLyBNaXhpbiB0aGF0IGFwcGxpZXMgdGhlIGJvcmRlciBjb2xvciBmb3IgdGhlIGZvY3VzIGluZGljYXRvcnMuXG5AbWl4aW4gX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IoJGNvbG9yKSB7XG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgQGluY2x1ZGUgX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IobWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSkpKTtcbn1cblxuLy8vIE1peGluIHRoYXQgc2V0cyB0aGUgY29sb3Igb2YgdGhlIGZvY3VzIGluZGljYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge2NvbG9yfG1hcH0gJHRoZW1lLW9yLWNvbG9yXG4vLy8gICBJZiB0aGVtZSwgZm9jdXMgaW5kaWNhdG9ycyBhcmUgc2V0IHRvIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSB0aGVtZS4gSWZcbi8vLyAgIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3JzIGFyZSBzZXQgdG8gdGhhdCBjb2xvci5cbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gICAuZGVtby1kYXJrLXRoZW1lIHtcbi8vLyAgICAgQGluY2x1ZGUgbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lKCRkYXJrLXRoZW1lLW1hcCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vICAgLmRlbW8tcmVkLXRoZW1lIHtcbi8vLyAgICAgQGluY2x1ZGUgbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lKCNmMDApO1xuLy8vICAgfVxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1hdGVyaWFsL3RoZW1lLW1peGluLWFwaSAqL1xuQG1peGluIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy10aGVtZSgkdGhlbWUtb3ItY29sb3IpIHtcbiAgQGlmIHR5cGUtb2YoJHRoZW1lLW9yLWNvbG9yKSAhPSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IoJHRoZW1lLW9yLWNvbG9yKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzJykge1xuICAgICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgICAgQGluY2x1ZGUgbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLWNvbG9yKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1peGluIHRoYXQgZW5zdXJlcyBmb2N1cyBpbmRpY2F0b3IgaG9zdCBlbGVtZW50cyBhcmUgcG9zaXRpb25lZCBzbyB0aGF0IHRoZSBmb2N1cyBpbmRpY2F0b3Jcbi8vIHBzZXVkbyBlbGVtZW50IHdpdGhpbiBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSBob3N0LiBQcml2YXRlIG1peGluIGluY2x1ZGVkIHdpdGhpblxuLy8gYG1hdC1jb3JlYC5cbkBtaXhpbiBfbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXBvc2l0aW9uaW5nKCkge1xuICAubWF0LWZvY3VzLWluZGljYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cblxuXG5cbi8vIFV0aWxpdHkgZm9yIGZldGNoaW5nIGEgbmVzdGVkIHZhbHVlIGZyb20gYSB0eXBvZ3JhcGh5IGNvbmZpZy5cbkBmdW5jdGlvbiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgJG5hbWUpIHtcbiAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJGNvbmZpZywgJGxldmVsKSwgJG5hbWUpO1xufVxuXG4vLyBHZXRzIHRoZSBmb250IHNpemUgZm9yIGEgbGV2ZWwgaW5zaWRlIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCAkbGV2ZWwpIHtcbiAgQHJldHVybiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgZm9udC1zaXplKTtcbn1cblxuLy8gR2V0cyB0aGUgbGluZSBoZWlnaHQgZm9yIGEgbGV2ZWwgaW5zaWRlIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsICRsZXZlbCkge1xuICBAcmV0dXJuIF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBsaW5lLWhlaWdodCk7XG59XG5cbi8vIEdldHMgdGhlIGZvbnQgd2VpZ2h0IGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1mb250LXdlaWdodCgkY29uZmlnLCAkbGV2ZWwpIHtcbiAgQHJldHVybiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgZm9udC13ZWlnaHQpO1xufVxuXG4vLyBHZXRzIHRoZSBsZXR0ZXIgc3BhY2luZyBmb3IgYSBsZXZlbCBpbnNpZGUgYSB0eXBvZ3JhcGh5IGNvbmZpZy5cbkBmdW5jdGlvbiBtYXQtbGV0dGVyLXNwYWNpbmcoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGxldHRlci1zcGFjaW5nKTtcbn1cblxuLy8gR2V0cyB0aGUgZm9udC1mYW1pbHkgZnJvbSBhIHR5cG9ncmFwaHkgY29uZmlnIGFuZCByZW1vdmVzIHRoZSBxdW90ZXMgYXJvdW5kIGl0LlxuQGZ1bmN0aW9uIG1hdC1mb250LWZhbWlseSgkY29uZmlnLCAkbGV2ZWw6IG51bGwpIHtcbiAgJGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRjb25maWcsIGZvbnQtZmFtaWx5KTtcblxuICBAaWYgJGxldmVsICE9IG51bGwge1xuICAgICRmb250LWZhbWlseTogX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGZvbnQtZmFtaWx5KTtcbiAgfVxuXG4gIC8vIEd1YXJkIGFnYWluc3QgdW5xdW90aW5nIG5vbi1zdHJpbmcgdmFsdWVzLCBiZWNhdXNlIGl0J3MgZGVwcmVjYXRlZC5cbiAgQHJldHVybiBpZih0eXBlLW9mKCRmb250LWZhbWlseSkgPT0gc3RyaW5nLCB1bnF1b3RlKCRmb250LWZhbWlseSksICRmb250LWZhbWlseSk7XG59XG5cbi8vIE91dHB1dHMgdGhlIHNob3J0aGFuZCBgZm9udGAgQ1NTIHByb3BlcnR5LCBiYXNlZCBvbiBhIHNldCBvZiB0eXBvZ3JhcGh5IHZhbHVlcy4gRmFsbHMgYmFjayB0b1xuLy8gdGhlIGluZGl2aWR1YWwgcHJvcGVydGllcyBpZiBhIHZhbHVlIHRoYXQgaXNuJ3QgYWxsb3dlZCBpbiB0aGUgc2hvcnRoYW5kIGlzIHBhc3NlZCBpbi5cbkBtaXhpbiBtYXQtdHlwb2dyYXBoeS1mb250LXNob3J0aGFuZCgkZm9udC1zaXplLCAkZm9udC13ZWlnaHQsICRsaW5lLWhlaWdodCwgJGZvbnQtZmFtaWx5KSB7XG4gIC8vIElmIGFueSBvZiB0aGUgdmFsdWVzIGFyZSBzZXQgdG8gYGluaGVyaXRgLCB3ZSBjYW4ndCB1c2UgdGhlIHNob3J0aGFuZFxuICAvLyBzbyB3ZSBmYWxsIGJhY2sgdG8gcGFzc2luZyBpbiB0aGUgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzLlxuICBAaWYgKCRmb250LXNpemUgPT0gaW5oZXJpdCBvclxuICAgICAgICRmb250LXdlaWdodCA9PSBpbmhlcml0IG9yXG4gICAgICAgJGxpbmUtaGVpZ2h0ID09IGluaGVyaXQgb3JcbiAgICAgICAkZm9udC1mYW1pbHkgPT0gaW5oZXJpdCBvclxuICAgICAgICRmb250LXNpemUgPT0gbnVsbCBvclxuICAgICAgICRmb250LXdlaWdodCA9PSBudWxsIG9yXG4gICAgICAgJGxpbmUtaGVpZ2h0ID09IG51bGwgb3JcbiAgICAgICAkZm9udC1mYW1pbHkgPT0gbnVsbCkge1xuXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UgdXNlIHRoZSBzaG9ydGhhbmQgYGZvbnRgLCBiZWNhdXNlIGl0J3MgdGhlIGxlYXN0IGFtb3VudCBvZiBieXRlcy4gTm90ZVxuICAgIC8vIHRoYXQgd2UgbmVlZCB0byB1c2UgaW50ZXJwb2xhdGlvbiBmb3IgYGZvbnQtc2l6ZS9saW5lLWhlaWdodGAgaW4gb3JkZXIgdG8gcHJldmVudFxuICAgIC8vIFNhc3MgZnJvbSBkaXZpZGluZyB0aGUgdHdvIHZhbHVlcy5cbiAgICBmb250OiAkZm9udC13ZWlnaHQgI3skZm9udC1zaXplfS8jeyRsaW5lLWhlaWdodH0gJGZvbnQtZmFtaWx5O1xuICB9XG59XG5cbi8vIENvbnZlcnRzIGEgdHlwb2dyYXBoeSBsZXZlbCBpbnRvIENTUyBzdHlsZXMuXG5AbWl4aW4gbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsICRsZXZlbCkge1xuICAkZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsICRsZXZlbCk7XG4gICRmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsICRsZXZlbCk7XG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsICRsZXZlbCk7XG4gICRmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsICRsZXZlbCk7XG5cbiAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoJGZvbnQtc2l6ZSwgJGZvbnQtd2VpZ2h0LCAkbGluZS1oZWlnaHQsICRmb250LWZhbWlseSk7XG4gIGxldHRlci1zcGFjaW5nOiBtYXQtbGV0dGVyLXNwYWNpbmcoJGNvbmZpZywgJGxldmVsKTtcbn1cblxuXG5AbWl4aW4gbWF0LW9wdGlvbi1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtb3B0aW9uIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICY6aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbiAgICAmOmZvY3VzOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgfVxuXG4gICAgLy8gSW4gbXVsdGlwbGUgbW9kZSB0aGVyZSBpcyBhIGNoZWNrYm94IHRvIHNob3cgdGhhdCB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkLlxuICAgICYubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSk6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyKTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAmLm1hdC1vcHRpb24tZGlzYWJsZWQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LXByaW1hcnkgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICB9XG5cbiAgLm1hdC1hY2NlbnQgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG4gIH1cblxuICAubWF0LXdhcm4gLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtb3B0aW9uLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LW9wdGlvbiB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LW9wdGlvbi1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtb3B0aW9uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIF9tYXQtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtb3B0aW9uJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGlvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LW9wdGlvbi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtb3B0Z3JvdXAtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1vcHRncm91cC1sYWJlbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1vcHRncm91cC1kaXNhYmxlZCAubWF0LW9wdGdyb3VwLWxhYmVsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtb3B0Z3JvdXAtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtb3B0Z3JvdXAtbGFiZWwge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTIpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LW9wdGdyb3VwLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1vcHRncm91cC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LW9wdGdyb3VwJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGdyb3VwLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtb3B0Z3JvdXAtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1vcHRncm91cC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuQG1peGluIG1hdC1wc2V1ZG8tY2hlY2tib3gtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcblxuICAvLyBOT1RFKHRyYXZpc2thdWZtYW4pOiBXaGlsZSB0aGUgc3BlYyBjYWxscyBmb3IgdHJhbnNsdWNlbnQgYmxhY2tzL3doaXRlcyBmb3IgZGlzYWJsZWQgY29sb3JzLFxuICAvLyB0aGlzIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGVsZW1lbnRzIGxheWVyZWQgb24gdG9wIG9mIG9uZSBhbm90aGVyLiBUbyBnZXQgYXJvdW5kIHRoaXMgd2VcbiAgLy8gYmxlbmQgdGhlIGNvbG9ycyB0b2dldGhlciBiYXNlZCBvbiB0aGUgYmFzZSBjb2xvciBhbmQgdGhlIHRoZW1lIGJhY2tncm91bmQuXG4gICR3aGl0ZS0zMHBjdC1vcGFjaXR5LW9uLWRhcms6ICM2ODY4Njg7XG4gICRibGFjay0yNnBjdC1vcGFjaXR5LW9uLWxpZ2h0OiAjYjBiMGIwO1xuICAkZGlzYWJsZWQtY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrLCAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodCk7XG4gICRjb2xvcmVkLWJveC1zZWxlY3RvcjogJy5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUnO1xuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCksIHNlY29uZGFyeS10ZXh0KTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGJhY2tncm91bmQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1wcmltYXJ5IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KSk7XG4gIH1cblxuICAvLyBEZWZhdWx0IHRvIHRoZSBhY2NlbnQgY29sb3IuIE5vdGUgdGhhdCB0aGUgcHNldWRvIGNoZWNrYm94ZXMgYXJlIG1lYW50IHRvIGluaGVyaXQgdGhlXG4gIC8vIHRoZW1lIGZyb20gdGhlaXIgcGFyZW50LCByYXRoZXIgdGhhbiBpbXBsZW1lbnRpbmcgdGhlaXIgb3duIHRoZW1pbmcsIHdoaWNoIGlzIHdoeSB3ZVxuICAvLyBkb24ndCBhdHRhY2ggdG8gdGhlIGBtYXQtKmAgY2xhc3Nlcy4gQWxzbyBub3RlIHRoYXQgdGhpcyBuZWVkcyB0byBiZSBiZWxvdyBgLm1hdC1wcmltYXJ5YFxuICAvLyBpbiBvcmRlciB0byBhbGxvdyBmb3IgdGhlIGNvbG9yIHRvIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSBjaGVja2JveCBpcyBpbnNpZGUgYSBwYXJlbnQgdGhhdFxuICAvLyBoYXMgYG1hdC1hY2NlbnRgIGFuZCBpcyBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcGFyZW50IHRoYXQgaGFzIGBtYXQtcHJpbWFyeWAuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXG4gIC5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIGFjY2VudCkpO1xuICB9XG5cbiAgLm1hdC13YXJuIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtd2FybiAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCB3YXJuKSk7XG4gIH1cblxuICAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICAmLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZDogJGRpc2FibGVkLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXBzZXVkby1jaGVja2JveC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXBzZXVkby1jaGVja2JveC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtcHNldWRvLWNoZWNrYm94LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIF9tYXQtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcHNldWRvLWNoZWNrYm94Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBzZXVkby1jaGVja2JveC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXBzZXVkby1jaGVja2JveC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBzZXVkby1jaGVja2JveC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFJlcHJlc2VudHMgYSB0eXBvZ3JhcGh5IGxldmVsIGZyb20gdGhlIE1hdGVyaWFsIGRlc2lnbiBzcGVjLlxuQGZ1bmN0aW9uIG1hdC10eXBvZ3JhcGh5LWxldmVsKFxuICAkZm9udC1zaXplLFxuICAkbGluZS1oZWlnaHQ6ICRmb250LXNpemUsXG4gICRmb250LXdlaWdodDogNDAwLFxuICAkZm9udC1mYW1pbHk6IG51bGwsXG4gICRsZXR0ZXItc3BhY2luZzogbm9ybWFsKSB7XG5cbiAgQHJldHVybiAoXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLFxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQsXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodCxcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LFxuICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmdcbiAgKTtcbn1cblxuLy8gUmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2YgdHlwb2dyYXBoeSBsZXZlbHMuXG4vLyBEZWZhdWx0cyBjb21lIGZyb20gaHR0cHM6Ly9tYXRlcmlhbC5pby9ndWlkZWxpbmVzL3N0eWxlL3R5cG9ncmFwaHkuaHRtbFxuLy8gTm90ZTogVGhlIHNwZWMgZG9lc24ndCBtZW50aW9uIGxldHRlciBzcGFjaW5nLiBUaGUgdmFsdWVzIGhlcmUgY29tZSBmcm9tXG4vLyBleWViYWxsaW5nIGl0IHVudGlsIGl0IGxvb2tlZCBleGFjdGx5IGxpa2UgdGhlIHNwZWMgZXhhbXBsZXMuXG5AZnVuY3Rpb24gbWF0LXR5cG9ncmFwaHktY29uZmlnKFxuICAkZm9udC1mYW1pbHk6ICAgJ1JvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmJyxcbiAgJGRpc3BsYXktNDogICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDExMnB4LCAxMTJweCwgMzAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW0pLFxuICAkZGlzcGxheS0zOiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoNTZweCwgNTZweCwgNDAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW0pLFxuICAkZGlzcGxheS0yOiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoNDVweCwgNDhweCwgNDAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjAwNWVtKSxcbiAgJGRpc3BsYXktMTogICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDM0cHgsIDQwcHgsIDQwMCksXG4gICRoZWFkbGluZTogICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgyNHB4LCAzMnB4LCA0MDApLFxuICAkdGl0bGU6ICAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMjBweCwgMzJweCwgNTAwKSxcbiAgJHN1YmhlYWRpbmctMjogIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE2cHgsIDI4cHgsIDQwMCksXG4gICRzdWJoZWFkaW5nLTE6ICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxNXB4LCAyNHB4LCA0MDApLFxuICAkYm9keS0yOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMjRweCwgNTAwKSxcbiAgJGJvZHktMTogICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE0cHgsIDIwcHgsIDQwMCksXG4gICRjYXB0aW9uOiAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxMnB4LCAyMHB4LCA0MDApLFxuICAkYnV0dG9uOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMTRweCwgNTAwKSxcbiAgLy8gTGluZS1oZWlnaHQgbXVzdCBiZSB1bml0LWxlc3MgZnJhY3Rpb24gb2YgdGhlIGZvbnQtc2l6ZS5cbiAgJGlucHV0OiAgICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKGluaGVyaXQsIDEuMTI1LCA0MDApXG4pIHtcblxuICAvLyBEZWNsYXJlIGFuIGluaXRpYWwgbWFwIHdpdGggYWxsIG9mIHRoZSBsZXZlbHMuXG4gICRjb25maWc6IChcbiAgICBkaXNwbGF5LTQ6ICAgICAgJGRpc3BsYXktNCxcbiAgICBkaXNwbGF5LTM6ICAgICAgJGRpc3BsYXktMyxcbiAgICBkaXNwbGF5LTI6ICAgICAgJGRpc3BsYXktMixcbiAgICBkaXNwbGF5LTE6ICAgICAgJGRpc3BsYXktMSxcbiAgICBoZWFkbGluZTogICAgICAgJGhlYWRsaW5lLFxuICAgIHRpdGxlOiAgICAgICAgICAkdGl0bGUsXG4gICAgc3ViaGVhZGluZy0yOiAgICRzdWJoZWFkaW5nLTIsXG4gICAgc3ViaGVhZGluZy0xOiAgICRzdWJoZWFkaW5nLTEsXG4gICAgYm9keS0yOiAgICAgICAgICRib2R5LTIsXG4gICAgYm9keS0xOiAgICAgICAgICRib2R5LTEsXG4gICAgY2FwdGlvbjogICAgICAgICRjYXB0aW9uLFxuICAgIGJ1dHRvbjogICAgICAgICAkYnV0dG9uLFxuICAgIGlucHV0OiAgICAgICAgICAkaW5wdXQsXG4gICk7XG5cbiAgLy8gTG9vcCB0aHJvdWdoIHRoZSBsZXZlbHMgYW5kIHNldCB0aGUgYGZvbnQtZmFtaWx5YCBvZiB0aGUgb25lcyB0aGF0IGRvbid0IGhhdmUgb25lIHRvIHRoZSBiYXNlLlxuICAvLyBOb3RlIHRoYXQgU2FzcyBjYW4ndCBtb2RpZnkgbWFwcyBpbiBwbGFjZSwgd2hpY2ggbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIG1lcmdlIGFuZCByZS1hc3NpZ24uXG4gIEBlYWNoICRrZXksICRsZXZlbCBpbiAkY29uZmlnIHtcbiAgICBAaWYgbWFwLWdldCgkbGV2ZWwsIGZvbnQtZmFtaWx5KSA9PSBudWxsIHtcbiAgICAgICRuZXctbGV2ZWw6IG1hcC1tZXJnZSgkbGV2ZWwsIChmb250LWZhbWlseTogJGZvbnQtZmFtaWx5KSk7XG4gICAgICAkY29uZmlnOiBtYXAtbWVyZ2UoJGNvbmZpZywgKCRrZXk6ICRuZXctbGV2ZWwpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBZGQgdGhlIGJhc2UgZm9udCBmYW1pbHkgdG8gdGhlIGNvbmZpZy5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJGNvbmZpZywgKGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHkpKTtcbn1cblxuLy8gV2hldGhlciBhIGNvbmZpZyBpcyBmb3IgdGhlIE1hdGVyaWFsIERlc2lnbiAyMDE4IHR5cG9ncmFwaHkgc3lzdGVtLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxOC1jb25maWcoJGNvbmZpZykge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtMSkgIT0gbnVsbDtcbn1cblxuLy8gV2hldGhlciBhIGNvbmZpZyBpcyBmb3IgdGhlIE1hdGVyaWFsIERlc2lnbiAyMDE0IHR5cG9ncmFwaHkgc3lzdGVtLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxNC1jb25maWcoJGNvbmZpZykge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUpICE9IG51bGw7XG59XG5cbi8vIEdpdmVuIGEgY29uZmlnIGZvciBlaXRoZXIgdGhlIDIwMTQgb3IgMjAxOCBNYXRlcmlhbCBEZXNpZ24gdHlwb2dyYXBoeSBzeXN0ZW0sXG4vLyBwcm9kdWNlcyBhIG5vcm1hbGl6ZWQgdHlwb2dyYXBoeSBjb25maWcgZm9yIHRoZSAyMDE0IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbS5cbi8vIDIwMTQgLSBodHRwczovL21hdGVyaWFsLmlvL2FyY2hpdmUvZ3VpZGVsaW5lcy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWwjdHlwb2dyYXBoeS1zdHlsZXNcbi8vIDIwMTggLSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi90eXBvZ3JhcGh5L3RoZS10eXBlLXN5c3RlbS5odG1sI3R5cGUtc2NhbGVcbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LXRvLTIwMTQtY29uZmlnKCRjb25maWcpIHtcbiAgQGlmIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxOC1jb25maWcoJGNvbmZpZykge1xuICAgIEByZXR1cm4gbWF0LXR5cG9ncmFwaHktY29uZmlnKFxuICAgICAgICAkZGlzcGxheS00OiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTEpLFxuICAgICAgICAkZGlzcGxheS0zOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTIpLFxuICAgICAgICAkZGlzcGxheS0yOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTMpLFxuICAgICAgICAkZGlzcGxheS0xOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTQpLFxuICAgICAgICAkaGVhZGxpbmU6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtNSksXG4gICAgICAgICR0aXRsZTogbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZS02KSxcbiAgICAgICAgJHN1YmhlYWRpbmctMjogbWFwLWdldCgkY29uZmlnLCBzdWJ0aXRsZS0xKSxcbiAgICAgICAgJHN1YmhlYWRpbmctMTogbWFwLWdldCgkY29uZmlnLCBzdWJ0aXRsZS0yKSxcbiAgICAgICAgJGJvZHktMjogbWFwLWdldCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgICAkYm9keS0xOiBtYXAtZ2V0KCRjb25maWcsIGJvZHktMiksXG4gICAgICAgICRidXR0b246IG1hcC1nZXQoJGNvbmZpZywgYnV0dG9uKSxcbiAgICAgICAgJGNhcHRpb246IG1hcC1nZXQoJGNvbmZpZywgY2FwdGlvbiksXG4gICAgKTtcbiAgfVxuICBAcmV0dXJuICRjb25maWc7XG59XG5cbi8vIEdpdmVuIGEgY29uZmlnIGZvciBlaXRoZXIgdGhlIDIwMTQgb3IgMjAxOCBNYXRlcmlhbCBEZXNpZ24gdHlwb2dyYXBoeSBzeXN0ZW0sXG4vLyBwcm9kdWNlcyBhIG5vcm1hbGl6ZWQgdHlwb2dyYXBoeSBjb25maWcgZm9yIHRoZSAyMDE4IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbS5cbi8vIDIwMTQgLSBodHRwczovL21hdGVyaWFsLmlvL2FyY2hpdmUvZ3VpZGVsaW5lcy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWwjdHlwb2dyYXBoeS1zdHlsZXNcbi8vIDIwMTggLSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi90eXBvZ3JhcGh5L3RoZS10eXBlLXN5c3RlbS5odG1sI3R5cGUtc2NhbGVcbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LXRvLTIwMTgtY29uZmlnKCRjb25maWcpIHtcbiAgQGlmIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxNC1jb25maWcoJGNvbmZpZykge1xuICAgIEByZXR1cm4gKFxuICAgICAgICBoZWFkbGluZS0xOiBtYXAtZ2V0KCRjb25maWcsIGRpc3BsYXktNCksXG4gICAgICAgIGhlYWRsaW5lLTI6IG1hcC1nZXQoJGNvbmZpZywgZGlzcGxheS0zKSxcbiAgICAgICAgaGVhZGxpbmUtMzogbWFwLWdldCgkY29uZmlnLCBkaXNwbGF5LTIpLFxuICAgICAgICBoZWFkbGluZS00OiBtYXAtZ2V0KCRjb25maWcsIGRpc3BsYXktMSksXG4gICAgICAgIGhlYWRsaW5lLTU6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUpLFxuICAgICAgICBoZWFkbGluZS02OiBtYXAtZ2V0KCRjb25maWcsIHRpdGxlKSxcbiAgICAgICAgc3VidGl0bGUtMTogbWFwLWdldCgkY29uZmlnLCBzdWJoZWFkaW5nLTIpLFxuICAgICAgICBzdWJ0aXRsZS0yOiBtYXAtZ2V0KCRjb25maWcsIHN1YmhlYWRpbmctMSksXG4gICAgICAgIGJvZHktMTogbWFwLWdldCgkY29uZmlnLCBib2R5LTIpLFxuICAgICAgICBib2R5LTI6IG1hcC1nZXQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgICAgYnV0dG9uOiBtYXAtZ2V0KCRjb25maWcsIGJ1dHRvbiksXG4gICAgICAgIGNhcHRpb246IG1hcC1nZXQoJGNvbmZpZywgY2FwdGlvbiksXG4gICAgKTtcbiAgfVxuICBAcmV0dXJuICRjb25maWc7XG59XG5cbi8vIEFkZHMgdGhlIGJhc2UgdHlwb2dyYXBoeSBzdHlsZXMsIGJhc2VkIG9uIGEgY29uZmlnLlxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1hdGVyaWFsL3RoZW1lLW1peGluLWFwaSAqL1xuQG1peGluIG1hdC1iYXNlLXR5cG9ncmFwaHkoJGNvbmZpZywgJHNlbGVjdG9yOiAnLm1hdC10eXBvZ3JhcGh5Jykge1xuICAubWF0LWgxLCAubWF0LWhlYWRsaW5lLCAjeyRzZWxlY3Rvcn0gaDEge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBoZWFkbGluZSk7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC5tYXQtaDIsIC5tYXQtdGl0bGUsICN7JHNlbGVjdG9yfSBoMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHRpdGxlKTtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICB9XG5cbiAgLm1hdC1oMywgLm1hdC1zdWJoZWFkaW5nLTIsICN7JHNlbGVjdG9yfSBoMyB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC5tYXQtaDQsIC5tYXQtc3ViaGVhZGluZy0xLCAjeyRzZWxlY3Rvcn0gaDQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBzdWJoZWFkaW5nLTEpO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gIH1cblxuICAvLyBOb3RlOiB0aGUgc3BlYyBkb2Vzbid0IGhhdmUgYW55dGhpbmcgdGhhdCB3b3VsZCBjb3JyZXNwb25kIHRvIGg1IGFuZCBoNiwgYnV0IHdlIGFkZCB0aGVzZSBmb3JcbiAgLy8gY29uc2lzdGVuY3kuIFRoZSBmb250IHNpemVzIGNvbWUgZnJvbSB0aGUgQ2hyb21lIHVzZXIgYWdlbnQgc3R5bGVzIHdoaWNoIGhhdmUgaDUgYXQgMC44M2VtXG4gIC8vIGFuZCBoNiBhdCAwLjY3ZW0uXG4gIC5tYXQtaDUsICN7JHNlbGVjdG9yfSBoNSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoXG4gICAgICAgLy8gY2FsYyBpcyB1c2VkIGhlcmUgdG8gc3VwcG9ydCBjc3MgdmFyaWFibGVzXG4gICAgICBjYWxjKCN7bWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpfSAqIDAuODMpLFxuICAgICAgbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgIG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpXG4gICAgKTtcblxuICAgIG1hcmdpbjogMCAwIDEycHg7XG4gIH1cblxuICAubWF0LWg2LCAjeyRzZWxlY3Rvcn0gaDYge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWZvbnQtc2hvcnRoYW5kKFxuICAgICAgIC8vIGNhbGMgaXMgdXNlZCBoZXJlIHRvIHN1cHBvcnQgY3NzIHZhcmlhYmxlc1xuICAgICAgY2FsYygje21hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKX0gKiAwLjY3KSxcbiAgICAgIG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKVxuICAgICk7XG5cbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICB9XG5cbiAgLm1hdC1ib2R5LXN0cm9uZywgLm1hdC1ib2R5LTIge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTIpO1xuICB9XG5cbiAgLm1hdC1ib2R5LCAubWF0LWJvZHktMSwgI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0xKTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICB9XG4gIH1cblxuICAubWF0LXNtYWxsLCAubWF0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBjYXB0aW9uKTtcbiAgfVxuXG4gIC5tYXQtZGlzcGxheS00LCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTQpO1xuICAgIG1hcmdpbjogMCAwIDU2cHg7XG4gIH1cblxuICAubWF0LWRpc3BsYXktMywgI3skc2VsZWN0b3J9IC5tYXQtZGlzcGxheS0zIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgZGlzcGxheS0zKTtcbiAgICBtYXJnaW46IDAgMCA2NHB4O1xuICB9XG5cbiAgLm1hdC1kaXNwbGF5LTIsICN7JHNlbGVjdG9yfSAubWF0LWRpc3BsYXktMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGRpc3BsYXktMik7XG4gICAgbWFyZ2luOiAwIDAgNjRweDtcbiAgfVxuXG4gIC5tYXQtZGlzcGxheS0xLCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTEge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTEpO1xuICAgIG1hcmdpbjogMCAwIDY0cHg7XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LWF1dG9jb21wbGV0ZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLm1hdC1hdXRvY29tcGxldGUtcGFuZWwge1xuICAgIEBpbmNsdWRlIF9tYXQtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDQsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAvLyBTZWxlY3RlZCBvcHRpb25zIGluIGF1dG9jb21wbGV0ZXMgc2hvdWxkIG5vdCBiZSBncmF5LCBidXQgd2VcbiAgICAvLyBvbmx5IHdhbnQgdG8gb3ZlcnJpZGUgdGhlIGJhY2tncm91bmQgZm9yIHNlbGVjdGVkIG9wdGlvbnMgaWZcbiAgICAvLyB0aGV5IGFyZSAqbm90KiBpbiBob3ZlciBvciBmb2N1cyBzdGF0ZS4gVGhpcyBjaGFuZ2UgaGFzIHRvIGJlXG4gICAgLy8gbWFkZSBoZXJlIGJlY2F1c2UgYmFzZSBvcHRpb24gc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGVcbiAgICAvLyBhdXRvY29tcGxldGUgYW5kIHRoZSBzZWxlY3QuXG4gICAgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LWFjdGl2ZSk6bm90KDpob3Zlcikge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcblxuICAgICAgJjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYXV0b2NvbXBsZXRlLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtYXV0b2NvbXBsZXRlLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1hdXRvY29tcGxldGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IF9tYXQtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgX21hdC1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1hdXRvY29tcGxldGUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYXV0b2NvbXBsZXRlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtYXV0b2NvbXBsZXRlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYXV0b2NvbXBsZXRlLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIGNvbnRhaW5zIGFsbCBvZiB0aGUgc3R5bGVzIGZvciB0aGUgYmFkZ2Vcbi8vIHJhdGhlciB0aGFuIGp1c3QgdGhlIGNvbG9yL3RoZW1lIGJlY2F1c2Ugb2Zcbi8vIG5vIHN0eWxlIHNoZWV0IHN1cHBvcnQgZm9yIGRpcmVjdGl2ZXMuXG5cblxuXG5cblxuXG4kbWF0LWJhZGdlLWZvbnQtc2l6ZTogMTJweDtcbiRtYXQtYmFkZ2UtZm9udC13ZWlnaHQ6IDYwMDtcbiRtYXQtYmFkZ2UtZGVmYXVsdC1zaXplOiAyMnB4ICFkZWZhdWx0O1xuJG1hdC1iYWRnZS1zbWFsbC1zaXplOiAkbWF0LWJhZGdlLWRlZmF1bHQtc2l6ZSAtIDY7XG4kbWF0LWJhZGdlLWxhcmdlLXNpemU6ICRtYXQtYmFkZ2UtZGVmYXVsdC1zaXplICsgNjtcblxuLy8gTWl4aW4gZm9yIGJ1aWxkaW5nIG9mZnNldCBnaXZlbiBkaWZmZXJlbnQgc2l6ZXNcbkBtaXhpbiBfbWF0LWJhZGdlLXNpemUoJHNpemUpIHtcbiAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHNpemU7XG4gIH1cblxuICAmLm1hdC1iYWRnZS1hYm92ZSB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIHRvcDogLSRzaXplIC8gMjtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1iZWxvdyB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGJvdHRvbTogLSRzaXplIC8gMjtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBsZWZ0OiAtJHNpemU7XG4gICAgfVxuICB9XG5cbiAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYmVmb3JlIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgfVxuICB9XG5cbiAgJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICByaWdodDogLSRzaXplO1xuICAgIH1cbiAgfVxuXG4gIFtkaXI9J3J0bCddICYubWF0LWJhZGdlLWFmdGVyIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAtJHNpemU7XG4gICAgfVxuICB9XG5cbiAgJi5tYXQtYmFkZ2Utb3ZlcmxhcCB7XG4gICAgJi5tYXQtYmFkZ2UtYmVmb3JlIHtcbiAgICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAgIGxlZnQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYmVmb3JlIHtcbiAgICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtJHNpemUgLyAyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LWJhZGdlLWFmdGVyIHtcbiAgICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAgIHJpZ2h0OiAtJHNpemUgLyAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtkaXI9J3J0bCddICYubWF0LWJhZGdlLWFmdGVyIHtcbiAgICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAtJHNpemUgLyAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJhZGdlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuXG4gICAgQGluY2x1ZGUgY2RrLWhpZ2gtY29udHJhc3QoYWN0aXZlLCBvZmYpIHtcbiAgICAgIG91dGxpbmU6IHNvbGlkIDFweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1iYWRnZS1hY2NlbnQge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2Utd2FybiB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAubWF0LWJhZGdlLWhpZGRlbiB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1iYWRnZS1kaXNhYmxlZCB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICRhcHAtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnYmFja2dyb3VuZCcpO1xuICAgICAgJGJhZGdlLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLWJ1dHRvbik7XG5cbiAgICAgIC8vIFRoZSBkaXNhYmxlZCBjb2xvciB1c3VhbGx5IGhhcyBzb21lIGtpbmQgb2Ygb3BhY2l0eSwgYnV0IGJlY2F1c2UgdGhlIGJhZGdlIGlzIG92ZXJsYXllZFxuICAgICAgLy8gb24gdG9wIG9mIHNvbWV0aGluZyBlbHNlLCBpdCB3b24ndCBsb29rIGdvb2QgaWYgaXQncyBvcGFxdWUuIElmIGl0IGlzIGEgY29sb3IgKnR5cGUqLFxuICAgICAgLy8gd2UgY29udmVydCBpdCBpbnRvIGEgc29saWQgY29sb3IgYnkgdGFraW5nIHRoZSBvcGFjaXR5IGZyb20gdGhlIHJnYmEgdmFsdWUgYW5kIHVzaW5nXG4gICAgICAvLyB0aGUgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZSBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIHRvIHB1dCBpbnRvIGZvcmVncm91bmQgd2hlblxuICAgICAgLy8gbWl4aW5nIHRoZSBjb2xvcnMgdG9nZXRoZXIuXG4gICAgICBAaWYgKHR5cGUtb2YoJGJhZGdlLWNvbG9yKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYXBwLWJhY2tncm91bmQpID09IGNvbG9yKSB7XG4gICAgICAgICRiYWRnZS1vcGFjaXR5OiBvcGFjaXR5KCRiYWRnZS1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IG1peCgkYXBwLWJhY2tncm91bmQsIHJnYmEoJGJhZGdlLWNvbG9yLCAxKSwgKDEgLSAkYmFkZ2Utb3BhY2l0eSkgKiAxMDAlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJhZGdlLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC5uZy1hbmltYXRlLWRpc2FibGVkIC5tYXQtYmFkZ2UtY29udGVudCxcbiAgLm1hdC1iYWRnZS1jb250ZW50Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gVGhlIGFjdGl2ZSBjbGFzcyBpcyBhZGRlZCBhZnRlciB0aGUgZWxlbWVudCBpcyBhZGRlZFxuICAvLyBzbyBpdCBjYW4gYW5pbWF0ZSBzY2FsZSB0byBkZWZhdWx0XG4gIC5tYXQtYmFkZ2UtY29udGVudC5tYXQtYmFkZ2UtYWN0aXZlIHtcbiAgICAvLyBTY2FsZSB0byBgbm9uZWAgaW5zdGVhZCBvZiBgMWAgdG8gYXZvaWQgYmx1cnJ5IHRleHQgaW4gc29tZSBicm93c2Vycy5cbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAubWF0LWJhZGdlLXNtYWxsIHtcbiAgICBAaW5jbHVkZSBfbWF0LWJhZGdlLXNpemUoJG1hdC1iYWRnZS1zbWFsbC1zaXplKTtcbiAgfVxuICAubWF0LWJhZGdlLW1lZGl1bSB7XG4gICAgQGluY2x1ZGUgX21hdC1iYWRnZS1zaXplKCRtYXQtYmFkZ2UtZGVmYXVsdC1zaXplKTtcbiAgfVxuICAubWF0LWJhZGdlLWxhcmdlIHtcbiAgICBAaW5jbHVkZSBfbWF0LWJhZGdlLXNpemUoJG1hdC1iYWRnZS1sYXJnZS1zaXplKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJhZGdlLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIGZvbnQtd2VpZ2h0OiAkbWF0LWJhZGdlLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJG1hdC1iYWRnZS1mb250LXNpemU7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtYmFkZ2Utc21hbGwgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAvLyBTZXQgdGhlIGZvbnQgc2l6ZSB0byA3NSUgb2YgdGhlIG9yaWdpbmFsLlxuICAgIGZvbnQtc2l6ZTogJG1hdC1iYWRnZS1mb250LXNpemUgKiAwLjc1O1xuICB9XG5cbiAgLm1hdC1iYWRnZS1sYXJnZSAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogJG1hdC1iYWRnZS1mb250LXNpemUgKiAyO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWJhZGdlLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1iYWRnZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWJhZGdlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJhZGdlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2UtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1iYWRnZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1ib3R0b20tc2hlZXQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgX21hdC10aGVtZS1lbGV2YXRpb24oMTYsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1ib3R0b20tc2hlZXQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWJvdHRvbS1zaGVldCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1ib3R0b20tc2hlZXQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1ib3R0b20tc2hlZXQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1ib3R0b20tc2hlZXQtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4kX21hdC1idXR0b24tcmlwcGxlLW9wYWNpdHk6IDAuMTtcblxuLy8gQXBwbGllcyBhIGZvY3VzIHN0eWxlIHRvIGFuIG1hdC1idXR0b24gZWxlbWVudCBmb3IgZWFjaCBvZiB0aGUgc3VwcG9ydGVkIHBhbGV0dGVzLlxuQG1peGluIF9tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXktY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgJi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICB9XG5cbiAgJi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgfVxuXG4gICYubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgfVxuXG4gICYubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLyBBcHBsaWVzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhIHJpcHBsZS4gSWYgdGhlIHZhbHVlIHByb3ZpZGVkIGlzIG5vdCBhIFNhc3MgY29sb3IsXG4vLyB3ZSBhc3N1bWUgdGhhdCB3ZSd2ZSBiZWVuIGdpdmVuIGEgQ1NTIHZhcmlhYmxlLiBTaW5jZSB3ZSBjYW4ndCBwZXJmb3JtIGFscGhhLWJsZW5kaW5nXG4vLyBvbiBhIENTUyB2YXJpYWJsZSwgd2UgaW5zdGVhZCBhZGQgdGhlIG9wYWNpdHkgZGlyZWN0bHkgdG8gdGhlIHJpcHBsZSBlbGVtZW50LlxuQG1peGluIF9tYXQtYnV0dG9uLXJpcHBsZS1iYWNrZ3JvdW5kKCRwYWxldHRlLCAkaHVlLCAkb3BhY2l0eSkge1xuICAkYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkaHVlLCAkb3BhY2l0eSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBAaWYgKHR5cGUtb2YoJGJhY2tncm91bmQtY29sb3IpICE9IGNvbG9yKSB7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtYnV0dG9uLXJpcHBsZS1jb2xvcigkdGhlbWUsICRodWUsICRvcGFjaXR5OiAkX21hdC1idXR0b24tcmlwcGxlLW9wYWNpdHkpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG5cbiAgJi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtYmFja2dyb3VuZCgkcHJpbWFyeSwgJGh1ZSwgJG9wYWNpdHkpO1xuICB9XG5cbiAgJi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXJpcHBsZS1iYWNrZ3JvdW5kKCRhY2NlbnQsICRodWUsICRvcGFjaXR5KTtcbiAgfVxuXG4gICYubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tcmlwcGxlLWJhY2tncm91bmQoJHdhcm4sICRodWUsICRvcGFjaXR5KTtcbiAgfVxufVxuXG4vLyBBcHBsaWVzIGEgcHJvcGVydHkgdG8gYW4gbWF0LWJ1dHRvbiBlbGVtZW50IGZvciBlYWNoIG9mIHRoZSBzdXBwb3J0ZWQgcGFsZXR0ZXMuXG5AbWl4aW4gX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJHRoZW1lLCAkcHJvcGVydHksICRodWUpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG5cbiAgJi5tYXQtcHJpbWFyeSB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHByaW1hcnksICRodWUpO1xuICB9XG4gICYubWF0LWFjY2VudCB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJGFjY2VudCwgJGh1ZSk7XG4gIH1cbiAgJi5tYXQtd2FybiB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHdhcm4sICRodWUpO1xuICB9XG5cbiAgJi5tYXQtcHJpbWFyeSwgJi5tYXQtYWNjZW50LCAmLm1hdC13YXJuLCAmLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICAgICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICAkcGFsZXR0ZTogaWYoJHByb3BlcnR5ID09ICdjb2xvcicsICRmb3JlZ3JvdW5kLCAkYmFja2dyb3VuZCk7XG4gICAgICAjeyRwcm9wZXJ0eX06IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGlzYWJsZWQtYnV0dG9uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1idXR0b24tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWJ1dHRvbiwgLm1hdC1pY29uLWJ1dHRvbiwgLm1hdC1zdHJva2VkLWJ1dHRvbiB7XG4gICAgLy8gQnV0dG9ucyB3aXRob3V0IGEgYmFja2dyb3VuZCBjb2xvciBzaG91bGQgaW5oZXJpdCB0aGUgZm9udCBjb2xvci4gVGhpcyBpcyBuZWNlc3NhcnkgdG9cbiAgICAvLyBlbnN1cmUgdGhhdCB0aGUgYnV0dG9uIGlzIHJlYWRhYmxlIG9uIGN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9ycy4gSXQncyB3cm9uZyB0byBhbHdheXMgYXNzdW1lXG4gICAgLy8gdGhhdCB0aG9zZSBidXR0b25zIGFyZSBhbHdheXMgcGxhY2VkIGluc2lkZSBvZiBjb250YWluZXJzIHdpdGggdGhlIGRlZmF1bHQgYmFja2dyb3VuZFxuICAgIC8vIGNvbG9yIG9mIHRoZSB0aGVtZSAoZS5nLiB0aGVtZWQgdG9vbGJhcnMpLlxuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2NvbG9yJywgdGV4dCk7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tZm9jdXMtb3ZlcmxheS1jb2xvcigkY29uZmlnKTtcblxuICAgIC8vIFNldHVwIHRoZSByaXBwbGUgY29sb3IgdG8gYmUgYmFzZWQgb24gdGhlIHRleHQgY29sb3IuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSByaXBwbGVzXG4gICAgLy8gYXJlIG1hdGNoaW5nIHdpdGggdGhlIGN1cnJlbnQgdGhlbWUgcGFsZXR0ZSBhbmQgYXJlIGluIGNvbnRyYXN0IHRvIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4gICAgLy8gKGUuZyBpbiB0aGVtZWQgdG9vbGJhcnMpLlxuICAgIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgb3BhY2l0eTogJF9tYXQtYnV0dG9uLXJpcHBsZS1vcGFjaXR5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuICB9XG5cbiAgLy8gTm90ZTogdGhpcyBuZWVkcyBhIGJpdCBleHRyYSBzcGVjaWZpY2l0eSwgYmVjYXVzZSB3ZSdyZSBub3QgZ3VhcmFudGVlZCB0aGUgaW5jbHVzaW9uXG4gIC8vIG9yZGVyIG9mIHRoZSB0aGVtZSBzdHlsZXMgYW5kIHRoZSBidXR0b24gcmVzZXQgbWF5IGVuZCB1cCByZXNldHRpbmcgdGhpcyBhcyB3ZWxsLlxuICAubWF0LXN0cm9rZWQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtZmxhdC1idXR0b24sIC5tYXQtcmFpc2VkLWJ1dHRvbiwgLm1hdC1mYWIsIC5tYXQtbWluaS1mYWIge1xuICAgIC8vIERlZmF1bHQgZm9udCBhbmQgYmFja2dyb3VuZCBjb2xvciB3aGVuIG5vdCB1c2luZyBhbnkgY29sb3IgcGFsZXR0ZS5cbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHJhaXNlZC1idXR0b24pO1xuXG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2NvbG9yJywgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2JhY2tncm91bmQtY29sb3InLCBkZWZhdWx0KTtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtY29sb3IoJGNvbmZpZywgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICAubWF0LXN0cm9rZWQtYnV0dG9uLCAubWF0LWZsYXQtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBfbWF0LXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigwLCAkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtcmFpc2VkLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgX21hdC10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMiwgJGNvbmZpZyk7XG5cbiAgICAmOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDgsICRjb25maWcpO1xuICAgIH1cblxuICAgICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigwLCAkY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWZhYiwgLm1hdC1taW5pLWZhYiB7XG4gICAgQGluY2x1ZGUgX21hdC10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNiwgJGNvbmZpZyk7XG5cbiAgICAmOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDEyLCAkY29uZmlnKTtcbiAgICB9XG5cbiAgICAmLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgX21hdC10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWJ1dHRvbiwgLm1hdC1yYWlzZWQtYnV0dG9uLCAubWF0LWljb24tYnV0dG9uLCAubWF0LXN0cm9rZWQtYnV0dG9uLFxuICAubWF0LWZsYXQtYnV0dG9uLCAubWF0LWZhYiwgLm1hdC1taW5pLWZhYiB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJ1dHRvbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LWJ1dHRvbi1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIF9tYXQtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYnV0dG9uJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuLy8gVGFrZW4gZnJvbSBtYXQtZGVuc2l0eSB3aXRoIHNtYWxsIG1vZGlmaWNhdGlvbnMgdG8gbm90IHJlbHkgb24gdGhlIG5ldyBTYXNzIG1vZHVsZVxuLy8gc3lzdGVtLCBhbmQgdG8gc3VwcG9ydCBhcmJpdHJhcnkgcHJvcGVydGllcyBpbiBhIGRlbnNpdHkgY29uZmlndXJhdGlvbi5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXRlcmlhbC1jb21wb25lbnRzL21hdGVyaWFsLWNvbXBvbmVudHMtd2ViL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL21kYy1kZW5zaXR5XG5cbiRfbWF0LWRlbnNpdHktaW50ZXJ2YWw6IDRweCAhZGVmYXVsdDtcbiRfbWF0LWRlbnNpdHktbWluaW11bS1zY2FsZTogbWluaW11bSAhZGVmYXVsdDtcbiRfbWF0LWRlbnNpdHktbWF4aW11bS1zY2FsZTogbWF4aW11bSAhZGVmYXVsdDtcbiRfbWF0LWRlbnNpdHktc3VwcG9ydGVkLXNjYWxlczogKGRlZmF1bHQsIG1pbmltdW0sIG1heGltdW0pICFkZWZhdWx0O1xuJF9tYXQtZGVuc2l0eS1kZWZhdWx0LXNjYWxlOiAwICFkZWZhdWx0O1xuXG4vLyBXaGV0aGVyIGRlbnNpdHkgc2hvdWxkIGJlIGdlbmVyYXRlZCBhdCByb290LiBUaGlzIHdpbGwgYmUgdGVtcG9yYXJpbHkgc2V0IHRvIGB0cnVlYFxuLy8gd2hlbmV2ZXIgZGVuc2l0eSBzdHlsZXMgZm9yIGxlZ2FjeSB0aGVtZXMgYXJlIGdlbmVyYXRlZC5cbiRfbWF0LWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdDogZmFsc2U7XG4vLyBXaGV0aGVyIGRlbnNpdHkgc3R5bGVzIHNob3VsZCBiZSBnZW5lcmF0ZWQuIFRoaXMgd2lsbCBiZSB0ZW1wb3JhcmlseSBzZXQgdG8gYGZhbHNlYCBpZlxuLy8gZHVwbGljYXRlIGRlbnNpdHkgc3R5bGVzIGZvciBhIGxlZ2FjeSB0aGVtZSB3b3VsZCBiZSBnZW5lcmF0ZWQuIEZvciBsZWdhY3kgdGhlbWVzLFxuLy8gd2UgYWx3YXlzIGdlbmVyYXRlIHRoZSBkZWZhdWx0IGRlbnNpdHkgKipvbmx5IG9uY2UqKiBhdCByb290LlxuJF9tYXQtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXM6IHRydWU7XG5cbi8vIE1peGluIHRoYXQgY2FuIGJlIHVzZWQgdG8gd3JhcCBkZW5zaXR5IHN0eWxlcyBvZiBnaXZlbiBjb21wb25lbnRzLiBUaGUgbWl4aW4gd2lsbFxuLy8gbW92ZSB0aGUgZGVuc2l0eSBzdHlsZXMgdG8gcm9vdCBpZiB0aGUgYCRfbWF0LWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdGAgZ2xvYmFsIHZhcmlhYmxlXG4vLyBpcyBzZXQuIElmIGAkX21hdC1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlc2AgaXMgc2V0IHRvIGBmYWxzZWAsIGdlbmVyYXRpb24gb2YgZGVuc2l0eVxuLy8gc3R5bGVzIHdyYXBwZWQgaW4gdGhpcyBtaXhpbiBpcyBza2lwcGVkLiBUaGlzIG1peGluIGV4aXN0cyB0byBpbXByb3ZlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4vLyBvZiB0aGUgbmV3IHRoZW1pbmcgQVBJIHdoZXJlIGRlbnNpdHkgc3R5bGVzIGFyZSBpbmNsdWRlZCBhcyBwYXJ0IG9mIHRoZW1lcy4gUHJldmlvdXNseSxcbi8vIGRlbnNpdHkgc3R5bGVzIG9mIGNvbXBvbmVudHMgd2VyZSBwYXJ0IG9mIHRoZWlyIGJhc2Ugc3R5bGVzLiBXaXRoIHRoZSBuZXcgQVBJLCB0aGV5IGFyZVxuLy8gcGFydCBvZiB0aGUgdGhlbWluZyBzeXN0ZW0uIFRoZSBgPC4uPi10aGVtZWAgbWl4aW5zIGdlbmVyYXRlIGRlbnNpdHkgYnkgZGVmYXVsdCB1bmxlc3Ncbi8vIHRoZSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24gaXMgZXhwbGljaXRseSBzcGVjaWZpZWQgYXMgcGVyIG5ldyBBUEkuIFRoaXMgbWVhbnMsIHRoYXQgcHJvamVjdHNcbi8vIHVzaW5nIGA8Li4+LXRoZW1lYCBtaXhpbnMgZm9yIHNlcGFyYXRlIHRoZW1lcyAobGlrZSBgLmRhcmstdGhlbWVgKSB3aWxsIGNhdXNlIGR1cGxpY2F0ZVxuLy8gZGVuc2l0eSBzdHlsZXMuIFRoaXMgaXMgYnJlYWtpbmcgYXMgaXQgaW5jcmVhc2VzIHNwZWNpZmljaXR5IG9mIGRlbnNpdHkgc3R5bGVzLiBUaGlzIG1peGluXG4vLyBwcm92aWRlcyBhbiBBUEkgdG8gY29udHJvbCBnZW5lcmF0aW9uIG9mIGRlbnNpdHkgc3R5bGVzIHNvIHRoYXQgd2UgY2FuIGVuc3VyZSB0aGV5IGFyZSBvbmx5XG4vLyBjcmVhdGVkICpvbmNlKiBhbmQgYXQgcm9vdC5cbkBtaXhpbiBfbWF0LWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gIEBpZiAkX21hdC1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlcyBhbmQgJF9tYXQtZGVuc2l0eS1nZW5lcmF0ZS1hdC1yb290IHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJF9tYXQtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBmdW5jdGlvbiBfbWF0LWRlbnNpdHktcHJvcC12YWx1ZSgkZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCAkcHJvcGVydHktbmFtZSkge1xuICBAaWYgKHR5cGUtb2YoJGRlbnNpdHktc2NhbGUpID09ICdzdHJpbmcnIGFuZFxuICAgICAgaW5kZXgoJGxpc3Q6ICRfbWF0LWRlbnNpdHktc3VwcG9ydGVkLXNjYWxlcywgJHZhbHVlOiAkZGVuc2l0eS1zY2FsZSkgPT0gbnVsbCkge1xuICAgIEBlcnJvciAnbWF0LWRlbnNpdHk6IFN1cHBvcnRlZCBkZW5zaXR5IHNjYWxlcyAjeyRfbWF0LWRlbnNpdHktc3VwcG9ydGVkLXNjYWxlc30sICcgICtcbiAgICAgICdidXQgcmVjZWl2ZWQgI3skZGVuc2l0eS1zY2FsZX0uJztcbiAgfVxuXG4gICR2YWx1ZTogbnVsbDtcbiAgJHByb3BlcnR5LXNjYWxlLW1hcDogbWFwLWdldCgkZGVuc2l0eS1jb25maWcsICRwcm9wZXJ0eS1uYW1lKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJHByb3BlcnR5LXNjYWxlLW1hcCwgJGRlbnNpdHktc2NhbGUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJHByb3BlcnR5LXNjYWxlLW1hcCwgJGRlbnNpdHktc2NhbGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJHByb3BlcnR5LXNjYWxlLW1hcCwgZGVmYXVsdCkgKyAkZGVuc2l0eS1zY2FsZSAqICRfbWF0LWRlbnNpdHktaW50ZXJ2YWw7XG4gIH1cblxuICAkbWluLXZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRfbWF0LWRlbnNpdHktbWluaW11bS1zY2FsZSk7XG4gICRtYXgtdmFsdWU6IG1hcC1nZXQoJHByb3BlcnR5LXNjYWxlLW1hcCwgJF9tYXQtZGVuc2l0eS1tYXhpbXVtLXNjYWxlKTtcblxuICBAaWYgKCR2YWx1ZSA8ICRtaW4tdmFsdWUgb3IgJHZhbHVlID4gJG1heC12YWx1ZSkge1xuICAgIEBlcnJvciAnbWF0LWRlbnNpdHk6ICN7JHByb3BlcnR5LW5hbWV9IG11c3QgYmUgYmV0d2VlbiAjeyRtaW4tdmFsdWV9IGFuZCAnICtcbiAgICAgICcjeyRtYXgtdmFsdWV9IChpbmNsdXNpdmUpLCBidXQgcmVjZWl2ZWQgI3skdmFsdWV9Lic7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciBoaWdoZXN0IGRlbnNpdHkgY2FuIHZhcnkgYmFzZWQgb24gdGhlIGNvbnRlbnQgdGhhdCBkZXZlbG9wZXJzXG4vLyBwcm9qZWN0IGludG8gYnV0dG9uLXRvZ2dsZSdzLiBXZSB1c2UgYSBtaW5pbXVtIG9mIGAyNHB4YCB0aG91Z2ggYmVjYXVzZSBjb21tb25seVxuLy8gaWNvbnMgb3IgdGV4dCBhcmUgZGlzcGxheWVkLiBJY29ucyBieSBkZWZhdWx0IGhhdmUgYSBzaXplIG9mIGAyNHB4YC5cbiRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1taW5pbXVtLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbiRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1tYXhpbXVtLWhlaWdodDogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZGl2aWRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcblxuICAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZSxcbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBfbWF0LXRoZW1lLWVsZXZhdGlvbigyLCAkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuXG4gICAgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBmb2N1c2VkLWJ1dHRvbik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG5cbiAgICAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGZvY3VzZWQtYnV0dG9uLCAxKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUgKyAubWF0LWJ1dHRvbi10b2dnbGUge1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggJGRpdmlkZXItY29sb3I7XG4gIH1cblxuICBbZGlyPSdydGwnXSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUgKyAubWF0LWJ1dHRvbi10b2dnbGUge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICRkaXZpZGVyLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWJ1dHRvbi10b2dnbGUtdmVydGljYWwge1xuICAgIC5tYXQtYnV0dG9uLXRvZ2dsZSArIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkZGl2aWRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBzZWxlY3RlZC1idXR0b24pO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcblxuICAgICYubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLWJ1dHRvbik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24tdG9nZ2xlKTtcblxuICAgICYubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIH1cblxuICAgICYubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHNlbGVjdGVkLWRpc2FibGVkLWJ1dHRvbik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCxcbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRkaXZpZGVyLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWJ1dHRvbi10b2dnbGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkc3RhbmRhcmQtaGVpZ2h0OiBfbWF0LWRlbnNpdHktcHJvcC12YWx1ZShcbiAgICAgICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG5cbiAgQGluY2x1ZGUgX21hdC1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICAgIC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZS1sYWJlbC1jb250ZW50IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkc3RhbmRhcmQtaGVpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IF9tYXQtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgX21hdC1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1idXR0b24tdG9nZ2xlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1idXR0b24tdG9nZ2xlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRvZ2dsZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWNhcmQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtY2FyZCB7XG4gICAgQGluY2x1ZGUgX21hdC10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMSwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgIC8vIE5lZWRzIGV4dHJhIHNwZWNpZmljaXR5IHRvIGJlIGFibGUgdG8gb3ZlcnJpZGUgdGhlIGVsZXZhdGlvbiBzZWxlY3RvcnMuXG4gICAgJi5tYXQtY2FyZC1mbGF0IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDAsICRjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FyZC1zdWJ0aXRsZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtY2FyZC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jYXJkIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1jYXJkLXRpdGxlIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGhlYWRsaW5lKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIHRpdGxlKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhcmQtaGVhZGVyIC5tYXQtY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHRpdGxlKTtcbiAgfVxuXG4gIC5tYXQtY2FyZC1zdWJ0aXRsZSxcbiAgLm1hdC1jYXJkLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNhcmQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWNhcmQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IF9tYXQtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgX21hdC1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1jYXJkJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNhcmQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1jYXJkLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2FyZC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtY2hlY2tib3gtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cblxuICAvLyBUaGUgY29sb3Igb2YgdGhlIGNoZWNrYm94J3MgY2hlY2ttYXJrIC8gbWl4ZWRtYXJrLlxuICAkY2hlY2tib3gtbWFyay1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcblxuICAvLyBOT1RFKHRyYXZpc2thdWZtYW4pOiBXaGlsZSB0aGUgc3BlYyBjYWxscyBmb3IgdHJhbnNsdWNlbnQgYmxhY2tzL3doaXRlcyBmb3IgZGlzYWJsZWQgY29sb3JzLFxuICAvLyB0aGlzIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGVsZW1lbnRzIGxheWVyZWQgb24gdG9wIG9mIG9uZSBhbm90aGVyLiBUbyBnZXQgYXJvdW5kIHRoaXMgd2VcbiAgLy8gYmxlbmQgdGhlIGNvbG9ycyB0b2dldGhlciBiYXNlZCBvbiB0aGUgYmFzZSBjb2xvciBhbmQgdGhlIHRoZW1lIGJhY2tncm91bmQuXG4gICR3aGl0ZS0zMHBjdC1vcGFjaXR5LW9uLWRhcms6ICM2ODY4Njg7XG4gICRibGFjay0yNnBjdC1vcGFjaXR5LW9uLWxpZ2h0OiAjYjBiMGIwO1xuICAkZGlzYWJsZWQtY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrLCAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodCk7XG5cbiAgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrIHtcbiAgICBmaWxsOiAkY2hlY2tib3gtbWFyay1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGgge1xuICAgIC8vICFpbXBvcnRhbnQgaXMgbmVlZGVkIGhlcmUgYmVjYXVzZSBhIHN0cm9rZSBtdXN0IGJlIHNldCBhcyBhblxuICAgIC8vIGF0dHJpYnV0ZSBvbiB0aGUgU1ZHIGluIG9yZGVyIGZvciBsaW5lIGFuaW1hdGlvbiB0byB3b3JrIHByb3Blcmx5LlxuICAgIHN0cm9rZTogJGNoZWNrYm94LW1hcmstY29sb3IgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hlY2tib3gtbWFyay1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSwgLm1hdC1jaGVja2JveC1jaGVja2VkIHtcbiAgICAmLm1hdC1wcmltYXJ5IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jaGVja2JveC1kaXNhYmxlZCB7XG4gICAgJi5tYXQtY2hlY2tib3gtY2hlY2tlZCxcbiAgICAmLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICAgIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LWNoZWNrYm94LWNoZWNrZWQpIHtcbiAgICAgIC5tYXQtY2hlY2tib3gtZnJhbWUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LWNoZWNrYm94LWxhYmVsIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAvLyBTd2l0Y2ggdGhpcyB0byBhIHNvbGlkIGNvbG9yIHNpbmNlIHdlJ3JlIHVzaW5nIGBvcGFjaXR5YFxuICAvLyB0byBjb250cm9sIGhvdyBvcGFxdWUgdGhlIHJpcHBsZSBzaG91bGQgYmUuXG4gIC5tYXQtY2hlY2tib3ggLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldChtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpLCBiYXNlKTtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2tlZDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCksXG4gIC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKSB7XG4gICAgJi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWNoZWNrYm94IHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLy8gVE9ETyhrYXJhKTogUmVtb3ZlIHRoaXMgc3R5bGUgd2hlbiBmaXhpbmcgdmVydGljYWwgYmFzZWxpbmVcbiAgLm1hdC1jaGVja2JveC1sYXlvdXQgLm1hdC1jaGVja2JveC1sYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNoZWNrYm94LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWNoZWNrYm94Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNoZWNrYm94LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2hlY2tib3gtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jaGVja2JveC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuJG1hdC1jaGlwLXJlbW92ZS1mb250LXNpemU6IDE4cHg7XG5cbkBtaXhpbiBfbWF0LWNoaXAtZWxlbWVudC1jb2xvcigkZm9yZWdyb3VuZCwgJGJhY2tncm91bmQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkZm9yZWdyb3VuZDtcblxuICAubWF0LWNoaXAtcmVtb3ZlIHtcbiAgICBjb2xvcjogJGZvcmVncm91bmQ7XG4gICAgb3BhY2l0eTogMC40O1xuICB9XG59XG5cblxuLy8gQXBwbGllcyB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgYSByaXBwbGUgZWxlbWVudC5cbi8vIElmIHRoZSBjb2xvciB2YWx1ZSBwcm92aWRlZCBpcyBub3QgYSBTYXNzIGNvbG9yLFxuLy8gd2UgYXNzdW1lIHRoYXQgd2UndmUgYmVlbiBnaXZlbiBhIENTUyB2YXJpYWJsZS5cbi8vIFNpbmNlIHdlIGNhbid0IHBlcmZvcm0gYWxwaGEtYmxlbmRpbmcgb24gYSBDU1MgdmFyaWFibGUsXG4vLyB3ZSBpbnN0ZWFkIGFkZCB0aGUgb3BhY2l0eSBkaXJlY3RseSB0byB0aGUgcmlwcGxlIGVsZW1lbnQuXG5AbWl4aW4gX21hdC1jaGlwcy1yaXBwbGUtYmFja2dyb3VuZCgkcGFsZXR0ZSwgJGRlZmF1bHQtY29udHJhc3QsICRvcGFjaXR5KSB7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICRkZWZhdWx0LWNvbnRyYXN0LCAkb3BhY2l0eSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBAaWYgKHR5cGUtb2YoJGJhY2tncm91bmQtY29sb3IpICE9IGNvbG9yKSB7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkcGFsZXR0ZSkge1xuICBAaW5jbHVkZSBfbWF0LWNoaXAtZWxlbWVudC1jb2xvcihtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpLCBtYXQtY29sb3IoJHBhbGV0dGUpKTtcblxuICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWNoaXBzLXJpcHBsZS1iYWNrZ3JvdW5kKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjEpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtY2hpcHMtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgJHVuc2VsZWN0ZWQtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCB1bnNlbGVjdGVkLWNoaXApO1xuICAkdW5zZWxlY3RlZC1mb3JlZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcCB7XG4gICAgQGluY2x1ZGUgX21hdC1jaGlwLWVsZW1lbnQtY29sb3IoJHVuc2VsZWN0ZWQtZm9yZWdyb3VuZCwgJHVuc2VsZWN0ZWQtYmFja2dyb3VuZCk7XG5cbiAgICAmOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpIHtcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC10aGVtZS1lbGV2YXRpb24oMywgJGNvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtY2hpcC1yZW1vdmU6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjU0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LWNoaXAtZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZCB7XG4gICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWNoaXAtdGhlbWUtY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwLXRoZW1lLWNvbG9yKCR3YXJuKTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwLXRoZW1lLWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWNoaXBzLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWNoaXAge1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTIpO1xuICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcblxuICAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uLFxuICAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb24ge1xuICAgICAgZm9udC1zaXplOiAkbWF0LWNoaXAtcmVtb3ZlLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtY2hpcHMtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWNoaXBzLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIF9tYXQtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY2hpcHMnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2hpcHMtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwcy1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNoaXBzLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWRpdmlkZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1kaXZpZGVyLXZlcnRpY2FsIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cbn1cblxuQG1peGluIG1hdC1kaXZpZGVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtZGl2aWRlci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZGl2aWRlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRpdmlkZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGl2aWRlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRpdmlkZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaXZpZGVyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIG1hdC10YWJsZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC10YWJsZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnY2FyZCcpO1xuICB9XG5cbiAgLm1hdC10YWJsZSB0aGVhZCwgLm1hdC10YWJsZSB0Ym9keSwgLm1hdC10YWJsZSB0Zm9vdCxcbiAgbWF0LWhlYWRlci1yb3csIG1hdC1yb3csIG1hdC1mb290ZXItcm93LFxuICBbbWF0LWhlYWRlci1yb3ddLCBbbWF0LXJvd10sIFttYXQtZm9vdGVyLXJvd10sXG4gIC5tYXQtdGFibGUtc3RpY2t5IHtcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB9XG5cbiAgbWF0LXJvdywgbWF0LWhlYWRlci1yb3csIG1hdC1mb290ZXItcm93LFxuICB0aC5tYXQtaGVhZGVyLWNlbGwsIHRkLm1hdC1jZWxsLCB0ZC5tYXQtZm9vdGVyLWNlbGwge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cblxuICAubWF0LWhlYWRlci1jZWxsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWNlbGwsIC5tYXQtZm9vdGVyLWNlbGwge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdGFibGUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdGFibGUge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWhlYWRlci1jZWxsIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICB9XG5cbiAgLm1hdC1jZWxsLCAubWF0LWZvb3Rlci1jZWxsIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC10YWJsZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtdGFibGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IF9tYXQtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgX21hdC1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10YWJsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10YWJsZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRhYmxlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdGFibGUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cblxuJG1hdC1kYXRlcGlja2VyLXNlbGVjdGVkLXRvZGF5LWJveC1zaGFkb3ctd2lkdGg6IDFweDtcbiRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC1mYWRlLWFtb3VudDogMC42O1xuJG1hdC1kYXRlcGlja2VyLXJhbmdlLWZhZGUtYW1vdW50OiAwLjI7XG4kbWF0LWRhdGVwaWNrZXItdG9kYXktZmFkZS1hbW91bnQ6IDAuMjtcbiRtYXQtY2FsZW5kYXItYm9keS1mb250LXNpemU6IDEzcHggIWRlZmF1bHQ7XG4kbWF0LWNhbGVuZGFyLXdlZWtkYXktdGFibGUtZm9udC1zaXplOiAxMXB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gX21hdC1kYXRlcGlja2VyLWNvbG9yKCRwYWxldHRlKSB7XG4gIEBpbmNsdWRlIG1hdC1kYXRlLXJhbmdlLWNvbG9ycyhcbiAgICBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQsICRtYXQtZGF0ZXBpY2tlci1yYW5nZS1mYWRlLWFtb3VudCkpO1xuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgJGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGJhY2tncm91bmQpID09IGNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlLW91dCgkYmFja2dyb3VuZCwgJG1hdC1kYXRlcGlja2VyLXNlbGVjdGVkLWZhZGUtYW1vdW50KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gSWYgd2UgY291bGRuJ3QgcmVzb2x2ZSB0byBiYWNrZ3JvdW5kIHRvIGEgY29sb3IgKGUuZy4gaXQncyBhIENTUyB2YXJpYWJsZSksXG4gICAgICAvLyBmYWxsIGJhY2sgdG8gZmFkaW5nIHRoZSBjb250ZW50IG91dCB2aWEgYG9wYWNpdHlgLlxuICAgICAgb3BhY2l0eTogJG1hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50O1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgJG1hdC1kYXRlcGlja2VyLXNlbGVjdGVkLXRvZGF5LWJveC1zaGFkb3ctd2lkdGhcbiAgICAgICAgICAgICAgICBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXIsXG4gIC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlLFxuICAuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlIHtcbiAgICAmID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItdW5zZWxlY3RlZC1jZWxsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAwLjMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBVdGlsaXR5IG1peGluIHRvIHRhcmdldCBjZWxscyB0aGF0IGFyZW4ndCBzZWxlY3RlZC4gVXNlZCB0byBtYWtlIHNlbGVjdG9yIGVhc2llciB0byBmb2xsb3cuXG5AbWl4aW4gX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICY6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGF0ZXBpY2tlci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRkaXNhYmxlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcblxuICAubWF0LWNhbGVuZGFyLWFycm93IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGljb24pO1xuICB9XG5cbiAgLy8gVGhlIHByZXYvbmV4dCBidXR0b25zIG5lZWQgYSBiaXQgbW9yZSBzcGVjaWZpY2l0eSB0b1xuICAvLyBhdm9pZCBiZWluZyBvdmVyd3JpdHRlbiBieSB0aGUgLm1hdC1pY29uLWJ1dHRvbi5cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSxcbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbixcbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24ge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGljb24pO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1sYWJlbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCxcbiAgLm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAgICAgY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvciB7XG4gICAgY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1pbi1wcmV2aWV3IHtcbiAgICAkZGl2aWRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcblxuICAgIEBpZiB0eXBlLW9mKCRkaXZpZGVyLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgICAvLyBUaGUgZGl2aWRlciBjb2xvciBpcyBzZXQgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCBpdCdsbCBiZSB1c2VkXG4gICAgICAvLyBmb3IgYSBzb2xpZCBib3JkZXIsIGJ1dCBiZWNhdXNlIHdlJ3JlIHVzaW5nIGEgZGFzaGVkIGJvcmRlciBmb3IgdGhlXG4gICAgICAvLyBwcmV2aWV3IHJhbmdlLCB3ZSBuZWVkIHRvIGJ1bXAgaXRzIG9wYWNpdHkgdG8gZW5zdXJlIHRoYXQgaXQncyB2aXNpYmxlLlxuICAgICAgY29sb3I6IHJnYmEoJGRpdmlkZXItY29sb3IsIG1pbihvcGFjaXR5KCRkaXZpZGVyLWNvbG9yKSAqIDIsIDEpKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgY29sb3I6ICRkaXZpZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS10b2RheSB7XG4gICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICAvLyBOb3RlOiB0aG91Z2ggaXQncyBub3QgdGV4dCwgdGhlIGJvcmRlciBpcyBhIGhpbnQgYWJvdXQgdGhlIGZhY3QgdGhhdCB0aGlzIGlzIHRvZGF5J3MgZGF0ZSxcbiAgICAgIC8vIHNvIHdlIHVzZSB0aGUgaGludCBjb2xvci5cbiAgICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS10b2RheSB7XG4gICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICAkY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcblxuICAgICAgQGlmICh0eXBlLW9mKCRjb2xvcikgPT0gY29sb3IpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBmYWRlLW91dCgkY29sb3IsICRtYXQtZGF0ZXBpY2tlci10b2RheS1mYWRlLWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIElmIHRoZSBjb2xvciBkaWRuJ3QgcmVzb2x2ZSB0byBhIGNvbG9yIHZhbHVlLCBidXQgc29tZXRoaW5nIGxpa2UgYSBDU1MgdmFyaWFibGUsIHdlIGNhbid0XG4gICAgICAgIC8vIGZhZGUgaXQgb3V0IHNvIHdlIGZhbGwgYmFjayB0byByZWR1Y2luZyB0aGUgZWxlbWVudCBvcGFjaXR5LiBOb3RlIHRoYXQgd2UgZG9uJ3QgdXNlIHRoZVxuICAgICAgICAvLyAkbWF0LWRhdGVwaWNrZXItdG9kYXktZmFkZS1hbW91bnQsIGJlY2F1c2UgaGludCB0ZXh0IHVzdWFsbHkgaGFzIHNvbWUgb3BhY2l0eSBhcHBsaWVkXG4gICAgICAgIC8vIHRvIGl0IGFscmVhZHkgYW5kIHdlIGRvbid0IHdhbnQgdGhlbSB0byBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpKTtcblxuICAubWF0LWRhdGVwaWNrZXItY29udGVudCB7XG4gICAgQGluY2x1ZGUgX21hdC10aGVtZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItY29sb3IobWFwLWdldCgkY29uZmlnLCBhY2NlbnQpKTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHdhcm4pKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWRhdGVwaWNrZXItY29udGVudC10b3VjaCB7XG4gICAgQGluY2x1ZGUgX21hdC10aGVtZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpLCB0ZXh0KTtcblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KSwgdGV4dCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgd2FybiksIHRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1pbm5lcltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGF0ZXBpY2tlci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jYWxlbmRhciB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keSB7XG4gICAgZm9udC1zaXplOiAkbWF0LWNhbGVuZGFyLWJvZHktZm9udC1zaXplO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsLFxuICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24ge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJ1dHRvbik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGgge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6ICRtYXQtY2FsZW5kYXItd2Vla2RheS10YWJsZS1mb250LXNpemU7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRhdGUtcmFuZ2UtY29sb3JzKFxuICAkcmFuZ2UtY29sb3IsXG4gICRjb21wYXJpc29uLWNvbG9yOiByZ2JhKCNmOWFiMDAsICRtYXQtZGF0ZXBpY2tlci1yYW5nZS1mYWRlLWFtb3VudCksXG4gICRvdmVybGFwLWNvbG9yOiAjYThkYWI1LFxuICAkb3ZlcmxhcC1zZWxlY3RlZC1jb2xvcjogZGFya2VuKCRvdmVybGFwLWNvbG9yLCAzMCUpKSB7XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRyYW5nZS1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbXBhcmlzb24tY29sb3I7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSxcbiAgW2Rpcj0ncnRsJ10gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRyYW5nZS1jb2xvciA1MCUsICRjb21wYXJpc29uLWNvbG9yIDUwJSk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmUsXG4gIFtkaXI9J3J0bCddIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJHJhbmdlLWNvbG9yIDUwJSwgJGNvbXBhcmlzb24tY29sb3IgNTAlKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZSA+IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3ZlcmxhcC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGFwLXNlbGVjdGVkLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWRhdGVwaWNrZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWRhdGVwaWNrZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IF9tYXQtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgX21hdC1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1kYXRlcGlja2VyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWRhdGVwaWNrZXItY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGF0ZXBpY2tlci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWRpYWxvZy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBfbWF0LXRoZW1lLWVsZXZhdGlvbigyNCwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaWFsb2cpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGlhbG9nLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWRpYWxvZy10aXRsZSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHRpdGxlKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1kaWFsb2ctZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWRpYWxvZy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRpYWxvZycpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1kaWFsb2ctZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbi8vIERlZmF1bHQgbWluaW11bSBhbmQgbWF4aW11bSBoZWlnaHQgZm9yIGNvbGxhcHNlZCBwYW5lbCBoZWFkZXJzLlxuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1oZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLW1pbmltdW0taGVpZ2h0OiAzNnB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1tYXhpbXVtLWhlaWdodDpcbiAgICAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLWhlaWdodCAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBtaW5pbXVtIGFuZCBtYXhpbXVtIGhlaWdodCBmb3IgZXhwYW5kZWQgcGFuZWwgaGVhZGVycy5cbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1oZWlnaHQ6IDY0cHggIWRlZmF1bHQ7XG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtbWluaW11bS1oZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtbWF4aW11bS1oZWlnaHQ6XG4gICAgJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLWhlaWdodCAhZGVmYXVsdDtcblxuLy8gRGVuc2l0eSBjb25maWd1cmF0aW9uIGZvciB0aGUgZXhwYW5zaW9uIHBhbmVsLiBDYXB0dXJlcyB0aGVcbi8vIGhlaWdodCBmb3IgYm90aCBleHBhbmRlZCBhbmQgY29sbGFwc2VkIHBhbmVsIGhlYWRlcnMuXG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVuc2l0eS1jb25maWc6IChcbiAgY29sbGFwc2VkLWhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtaGVpZ2h0LFxuICAgIG1heGltdW06ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1taW5pbXVtLWhlaWdodCxcbiAgKSxcbiAgZXhwYW5kZWQtaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1pbmltdW0taGVpZ2h0LFxuICApXG4pICFkZWZhdWx0O1xuXG4vLyBOb3RlOiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIHRoZSBhbmltYXRpb24gdGltaW5nIGZvciB0aGUgdG9nZ2xlIGluZGljYXRvclxuLy8gYW5kIGJvZHkgZXhwYW5zaW9uLiBUaGVzZSBhcmUgYW5pbWF0ZWQgdXNpbmcgQW5ndWxhciBhbmltYXRpb25zLlxuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRyYW5zaXRpb246IDIyNW1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICBAaW5jbHVkZSBfbWF0LXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigyLCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1hY3Rpb24tcm93IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwge1xuICAgICYgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAgICYgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQsXG4gICAgJjpub3QoLm1hdC1leHBhbmRlZCkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyIHtcbiAgICAgICY6bm90KFthcmlhLWRpc2FibGVkPSd0cnVlJ10pIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZSB0aGUgaG92ZXIgb24gdG91Y2ggZGV2aWNlcyBzaW5jZSBpdCBjYW4gYXBwZWFyIGxpa2UgaXQgaXMgc3R1Y2suIFdlIGNhbid0IHVzZVxuICAvLyBgQG1lZGlhIChob3ZlcilgIGFib3ZlLCBiZWNhdXNlIHRoZSBkZXNrdG9wIHN1cHBvcnQgYnJvd3NlciBzdXBwb3J0IGlzbid0IGdyZWF0LlxuICBAbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWw6bm90KC5tYXQtZXhwYW5kZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddKVxuICAgICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbixcbiAgLm1hdC1leHBhbnNpb24taW5kaWNhdG9yOjphZnRlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW2FyaWEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtYnV0dG9uKTtcblxuICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10aXRsZSxcbiAgICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtZXhwYW5zaW9uLXBhbmVsLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIHN1YmhlYWRpbmctMSk7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHN1YmhlYWRpbmctMSk7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBzdWJoZWFkaW5nLTEpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWV4cGFuc2lvbi1wYW5lbC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRleHBhbmRlZC1oZWlnaHQ6IF9tYXQtZGVuc2l0eS1wcm9wLXZhbHVlKFxuICAgICAgICAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBleHBhbmRlZC1oZWlnaHQpO1xuICAkY29sbGFwc2VkLWhlaWdodDogX21hdC1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBjb2xsYXBzZWQtaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBfbWF0LWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIHtcbiAgICAgIGhlaWdodDogJGNvbGxhcHNlZC1oZWlnaHQ7XG5cbiAgICAgICYubWF0LWV4cGFuZGVkIHtcbiAgICAgICAgaGVpZ2h0OiAkZXhwYW5kZWQtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWV4cGFuc2lvbi1wYW5lbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWV4cGFuc2lvbi1wYW5lbCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1leHBhbnNpb24tcGFuZWwtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1leHBhbnNpb24tcGFuZWwtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1leHBhbnNpb24tcGFuZWwtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuLy8gVGhpcyBtaXhpbiB3aWxsIGVuc3VyZSB0aGF0IGxpbmVzIHRoYXQgb3ZlcmZsb3cgdGhlIGNvbnRhaW5lciB3aWxsIGhpZGUgdGhlIG92ZXJmbG93IGFuZFxuLy8gdHJ1bmNhdGUgbmVhdGx5IHdpdGggYW4gZWxsaXBzaXMuXG5AbWl4aW4gbWF0LXRydW5jYXRlLWxpbmUoKSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vLyBNaXhpbiB0byBwcm92aWRlIGFsbCBtYXQtbGluZSBzdHlsZXMsIGNoYW5naW5nIHNlY29uZGFyeSBmb250IHNpemUgYmFzZWQgb24gd2hldGhlciB0aGUgbGlzdFxuLy8gaXMgaW4gZGVuc2UgbW9kZS5cbkBtaXhpbiBtYXQtbGluZS1iYXNlKCRzZWNvbmRhcnktZm9udC1zaXplKSB7XG4gIC5tYXQtbGluZSB7XG4gICAgQGluY2x1ZGUgbWF0LXRydW5jYXRlLWxpbmUoKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLy8gYWxsIGxpbmVzIGJ1dCB0aGUgdG9wIGxpbmUgc2hvdWxkIGhhdmUgc21hbGxlciB0ZXh0XG4gICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICBmb250LXNpemU6ICRzZWNvbmRhcnktZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIG1peGluIG5vcm1hbGl6ZXMgZGVmYXVsdCBlbGVtZW50IHN0eWxlcywgZS5nLiBmb250IHdlaWdodCBmb3IgaGVhZGluZyB0ZXh0LlxuQG1peGluIG1hdC1ub3JtYWxpemUtdGV4dCgpIHtcbiAgJiA+ICoge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFRoaXMgbWl4aW4gcHJvdmlkZXMgYmFzZSBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIGFyb3VuZCBtYXQtbGluZSBlbGVtZW50cyBpbiBhIGxpc3QuXG5AbWl4aW4gbWF0LWxpbmUtd3JhcHBlci1iYXNlKCkge1xuICBAaW5jbHVkZSBtYXQtbm9ybWFsaXplLXRleHQoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIE11c3QgcmVtb3ZlIHdyYXBwZXIgd2hlbiBsaW5lcyBhcmUgZW1wdHkgb3IgaXQgdGFrZXMgdXAgaG9yaXpvbnRhbFxuICAvLyBzcGFjZSBhbmQgcHVzaGVzIG90aGVyIGVsZW1lbnRzIHRvIHRoZSByaWdodC5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cblxuLy8gSW5jbHVkZSB0aGlzIGVtcHR5IG1peGluIGZvciBjb25zaXN0ZW5jeSB3aXRoIHRoZSBvdGhlciBjb21wb25lbnRzLlxuQG1peGluIG1hdC1ncmlkLWxpc3QtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1ncmlkLWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtZ3JpZC10aWxlLWhlYWRlcixcbiAgLm1hdC1ncmlkLXRpbGUtZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbikpO1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWdyaWQtbGlzdC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZ3JpZC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIF9tYXQtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZ3JpZC1saXN0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWdyaWQtbGlzdC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWdyaWQtbGlzdC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWdyaWQtbGlzdC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuQG1peGluIG1hdC1pY29uLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1pY29uIHtcbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtaWNvbi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LWljb24tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWljb24tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IF9tYXQtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgX21hdC1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1pY29uJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWljb24tY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1pY29uLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtaWNvbi10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuLy8gUmVuZGVycyBhIGdyYWRpZW50IGZvciBzaG93aW5nIHRoZSBkYXNoZWQgbGluZSB3aGVuIHRoZSBpbnB1dCBpcyBkaXNhYmxlZC5cbi8vIFVubGlrZSB1c2luZyBhIGJvcmRlciwgYSBncmFkaWVudCBhbGxvd3MgdXMgdG8gYWRqdXN0IHRoZSBzcGFjaW5nIG9mIHRoZSBkb3R0ZWQgbGluZVxuLy8gdG8gbWF0Y2ggdGhlIE1hdGVyaWFsIERlc2lnbiBzcGVjLlxuQG1peGluIG1hdC1jb250cm9sLWRpc2FibGVkLXVuZGVybGluZSgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY29sb3IgMCUsICRjb2xvciAzMyUsIHRyYW5zcGFyZW50IDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiA0cHggMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBGaWd1cmVzIG91dCB0aGUgY29sb3Igb2YgdGhlIHBsYWNlaG9sZGVyIGZvciBhIGZvcm0gY29udHJvbC5cbi8vIFVzZWQgcHJpbWFyaWx5IHRvIHByZXZlbnQgdGhlIHZhcmlvdXMgZm9ybSBjb250cm9scyBmcm9tXG4vLyBiZWNvbWluZyBvdXQgb2Ygc3luYyBzaW5jZSB0aGVzZSBjb2xvcnMgYXJlbid0IGluIGEgcGFsZXR0ZS5cbkBmdW5jdGlvbiBfbWF0LWNvbnRyb2wtcGxhY2Vob2xkZXItY29sb3IoJGNvbmZpZykge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gIEByZXR1cm4gbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNSwgMC40MikpO1xufVxuXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIG1hdGVyaWFsL25vLXByZWZpeGVzICovXG5AbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlKSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbiAgLW1vei11c2VyLXNlbGVjdDogJHZhbHVlO1xuICAtbXMtdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbiAgdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbn1cblxuQG1peGluIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gY3Vyc29yLWdyYWIge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiO1xufVxuXG5AbWl4aW4gY3Vyc29yLWdyYWJiaW5nIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmFsdWUpIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmFsdWU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2YWx1ZTtcbn1cblxuQG1peGluIHBvc2l0aW9uLXN0aWNreSgkaW1wb3J0YW50OiBmYWxzZSkge1xuICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kgI3tpZigkaW1wb3J0YW50LCAnIWltcG9ydGFudCcsICcnKX07XG4gIHBvc2l0aW9uOiBzdGlja3kgI3tpZigkaW1wb3J0YW50LCAnIWltcG9ydGFudCcsICcnKX07XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cblxuXG5AbWl4aW4gbWF0LWlucHV0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWlucHV0LWVsZW1lbnQ6ZGlzYWJsZWQsXG4gIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG5cbiAgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcblxuICAgIEBpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiBfbWF0LWNvbnRyb2wtcGxhY2Vob2xkZXItY29sb3IoJGNvbmZpZyk7XG4gICAgfVxuXG4gICAgLy8gT24gZGFyayB0aGVtZXMgd2Ugc2V0IHRoZSBuYXRpdmUgYHNlbGVjdGAgY29sb3IgdG8gc29tZSBzaGFkZSBvZiB3aGl0ZSxcbiAgICAvLyBob3dldmVyIHRoZSBjb2xvciBwcm9wYWdhdGVzIHRvIGFsbCBvZiB0aGUgYG9wdGlvbmAgZWxlbWVudHMsIHdoaWNoIGFyZVxuICAgIC8vIGFsd2F5cyBvbiBhIHdoaXRlIGJhY2tncm91bmQgaW5zaWRlIHRoZSBkcm9wZG93biwgY2F1c2luZyB0aGVtIHRvIGJsZW5kIGluLlxuICAgIC8vIFNpbmNlIHdlIGNhbid0IGNoYW5nZSBiYWNrZ3JvdW5kIG9mIHRoZSBkcm9wZG93biwgd2UgbmVlZCB0byBleHBsaWNpdGx5XG4gICAgLy8gcmVzZXQgdGhlIGNvbG9yIG9mIHRoZSBvcHRpb25zIHRvIHNvbWV0aGluZyBkYXJrLlxuICAgIEBpZiAobWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKSkge1xuICAgICAgb3B0aW9uIHtcbiAgICAgICAgY29sb3I6ICRkYXJrLXByaW1hcnktdGV4dDtcbiAgICAgIH1cblxuICAgICAgb3B0aW9uOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRkYXJrLWRpc2FibGVkLXRleHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1hY2NlbnQgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC13YXJuIC5tYXQtaW5wdXQtZWxlbWVudCxcbiAgLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1pbnB1dC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuXG4gIC8vIFRoZSBhbW91bnQgb2Ygc3BhY2UgYmV0d2VlbiB0aGUgdG9wIG9mIHRoZSBsaW5lIGFuZCB0aGUgdG9wIG9mIHRoZSBhY3R1YWwgdGV4dFxuICAvLyAoYXMgYSBmcmFjdGlvbiBvZiB0aGUgZm9udC1zaXplKS5cbiAgJGxpbmUtc3BhY2luZzogKCRsaW5lLWhlaWdodCAtIDEpIC8gMjtcblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRzIHNlZW0gdG8gaGF2ZSB0aGVpciBoZWlnaHQgc2V0IHNsaWdodGx5IHRvbyBsYXJnZSBvbiBTYWZhcmkgY2F1c2luZyB0aGUgdGV4dCB0b1xuICAvLyBiZSBtaXNhbGlnbmVkIHcuci50LiB0aGUgcGxhY2Vob2xkZXIuIEFkZGluZyB0aGlzIG1hcmdpbiBjb3JyZWN0cyBpdC5cbiAgaW5wdXQubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIG1hcmdpbi10b3A6IC0kbGluZS1zcGFjaW5nICogMWVtO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWlucHV0LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1pbnB1dC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWlucHV0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWlucHV0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtaW5wdXQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1pbnB1dC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWxpc3QtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtbGlzdC1iYXNlIHtcbiAgICAubWF0LWxpc3QtaXRlbSB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIH1cblxuICAgIC5tYXQtc3ViaGVhZGVyIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWxpc3QtaXRlbS1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaXNhYmxlZC1saXN0LW9wdGlvbik7XG4gIH1cblxuICAubWF0LWxpc3Qtb3B0aW9uLFxuICAubWF0LW5hdi1saXN0IC5tYXQtbGlzdC1pdGVtLFxuICAubWF0LWFjdGlvbi1saXN0IC5tYXQtbGlzdC1pdGVtIHtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2hvdmVyJyk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1saXN0LXNpbmdsZS1zZWxlY3RlZC1vcHRpb24ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3ZlciwgMC4xMik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtbGlzdC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG5cbiAgLm1hdC1saXN0LWl0ZW0ge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIH1cblxuICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBsaXN0XG4gIC5tYXQtbGlzdC1iYXNlIHtcbiAgICAubWF0LWxpc3QtaXRlbSB7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpKTtcbiAgICB9XG5cbiAgICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBzdWJoZWFkaW5nLTIpO1xuICAgICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSkpO1xuICAgIH1cblxuICAgIC5tYXQtc3ViaGVhZGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0yKTtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTIpO1xuICAgICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlbnNlIGxpc3RcbiAgLm1hdC1saXN0LWJhc2VbZGVuc2VdIHtcbiAgICAubWF0LWxpc3QtaXRlbSB7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbikpO1xuICAgIH1cblxuICAgIC5tYXQtbGlzdC1vcHRpb24ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pKTtcbiAgICB9XG5cbiAgICAubWF0LXN1YmhlYWRlciB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1saXN0LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIF9tYXQtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtbGlzdCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1saXN0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtbGlzdC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWxpc3QtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1tZW51LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LW1lbnUtcGFuZWwge1xuICAgIEBpbmNsdWRlIF9tYXQtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDQsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtbWVudS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAndGV4dCcpO1xuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgJixcbiAgICAgICY6OmFmdGVyLFxuICAgICAgLm1hdC1pY29uLW5vLWNvbG9yIHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2Rpc2FibGVkJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLW5vLWNvbG9yLFxuICAubWF0LW1lbnUtaXRlbS1zdWJtZW51LXRyaWdnZXI6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnaWNvbicpO1xuICB9XG5cbiAgLm1hdC1tZW51LWl0ZW06aG92ZXIsXG4gIC5tYXQtbWVudS1pdGVtLmNkay1wcm9ncmFtLWZvY3VzZWQsXG4gIC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAubWF0LW1lbnUtaXRlbS1oaWdobGlnaHRlZCB7XG4gICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnaG92ZXInKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1tZW51LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LW1lbnUtaXRlbSB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LW1lbnUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LW1lbnUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IF9tYXQtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgX21hdC1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1tZW51Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW1lbnUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1tZW51LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtbWVudS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuJG1hdC1wYWdpbmF0b3ItaGVpZ2h0OiA1NnB4ICFkZWZhdWx0O1xuLy8gTWluaW11bSBoZWlnaHQgZm9yIHBhZ2luYXRvcidzIGluIHRoZSBoaWdoZXN0IGRlbnNpdHkgaXMgZGV0ZXJtaW5lZCBiYXNlZCBvbiBob3dcbi8vIG11Y2ggdGhlIHBhZ2luYXRvciBjYW4gc2hyaW5rIHVudGlsIHRoZSBjb250ZW50IGV4Y2VlZHMgKGkuZS4gbmF2aWdhdGlvbiBidXR0b25zKS5cbiRtYXQtcGFnaW5hdG9yLW1pbmltdW0taGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJG1hdC1wYWdpbmF0b3ItbWF4aW11bS1oZWlnaHQ6ICRtYXQtcGFnaW5hdG9yLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC1wYWdpbmF0b3ItZGVuc2l0eS1jb25maWc6IChcbiAgaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC1wYWdpbmF0b3ItaGVpZ2h0LFxuICAgIG1heGltdW06ICRtYXQtcGFnaW5hdG9yLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtcGFnaW5hdG9yLW1pbmltdW0taGVpZ2h0LFxuICApXG4pICFkZWZhdWx0O1xuXG5cbkBtaXhpbiBtYXQtcGFnaW5hdG9yLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcblxuICAubWF0LXBhZ2luYXRvciB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnY2FyZCcpO1xuICB9XG5cbiAgLm1hdC1wYWdpbmF0b3IsXG4gIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LXBhZ2luYXRvci1kZWNyZW1lbnQsXG4gIC5tYXQtcGFnaW5hdG9yLWluY3JlbWVudCB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2ljb24nKTtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBtYXQtY29sb3IoJGZvcmVncm91bmQsICdpY29uJyk7XG4gIH1cblxuICAubWF0LXBhZ2luYXRvci1maXJzdCxcbiAgLm1hdC1wYWdpbmF0b3ItbGFzdCB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2ljb24nKTtcbiAgfVxuXG4gIC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAubWF0LXBhZ2luYXRvci1kZWNyZW1lbnQsXG4gICAgLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50LFxuICAgIC5tYXQtcGFnaW5hdG9yLWZpcnN0LFxuICAgIC5tYXQtcGFnaW5hdG9yLWxhc3Qge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsICdkaXNhYmxlZCcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXBhZ2luYXRvci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1wYWdpbmF0b3IsXG4gIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LXBhZ2luYXRvci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRoZWlnaHQ6IF9tYXQtZGVuc2l0eS1wcm9wLXZhbHVlKCRtYXQtcGFnaW5hdG9yLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBfbWF0LWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1wYWdpbmF0b3ItY29udGFpbmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcGFnaW5hdG9yLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIF9tYXQtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcGFnaW5hdG9yJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBhZ2luYXRvci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXBhZ2luYXRvci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBhZ2luYXRvci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLWJhci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcblxuICAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5kIHtcbiAgICBmaWxsOiBtYXQtY29sb3IoJHByaW1hcnksIGxpZ2h0ZXIpO1xuICB9XG5cbiAgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIGxpZ2h0ZXIpO1xuICB9XG5cbiAgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IHtcbiAgICAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5kIHtcbiAgICAgIGZpbGw6IG1hdC1jb2xvcigkYWNjZW50LCBsaWdodGVyKTtcbiAgICB9XG5cbiAgICAubWF0LXByb2dyZXNzLWJhci1idWZmZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGxpZ2h0ZXIpO1xuICAgIH1cblxuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICB9XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiB7XG4gICAgLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZCB7XG4gICAgICBmaWxsOiBtYXQtY29sb3IoJHdhcm4sIGxpZ2h0ZXIpO1xuICAgIH1cblxuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIGxpZ2h0ZXIpO1xuICAgIH1cblxuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3MtYmFyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtcHJvZ3Jlc3MtYmFyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1wcm9ncmVzcy1iYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IF9tYXQtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgX21hdC1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1wcm9ncmVzcy1iYXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3MtYmFyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcHJvZ3Jlc3MtYmFyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3MtYmFyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIG1hdC1wcm9ncmVzcy1zcGlubmVyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lciwgLm1hdC1zcGlubmVyIHtcbiAgICBjaXJjbGUge1xuICAgICAgc3Ryb2tlOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCBjaXJjbGUge1xuICAgICAgc3Ryb2tlOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiBjaXJjbGUge1xuICAgICAgc3Ryb2tlOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLXNwaW5uZXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1wcm9ncmVzcy1zcGlubmVyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1wcm9ncmVzcy1zcGlubmVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIF9tYXQtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcHJvZ3Jlc3Mtc3Bpbm5lcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1zcGlubmVyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLXNwaW5uZXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5AbWl4aW4gX21hdC1yYWRpby1jb2xvcigkcGFsZXR0ZSkge1xuICAmLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG4gIH1cblxuICAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSxcbiAgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSksXG4gICYubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSxcbiAgJjphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXJhZGlvLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LXJhZGlvLWJ1dHRvbiB7XG4gICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXJhZGlvLWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgQGluY2x1ZGUgX21hdC1yYWRpby1jb2xvcigkYWNjZW50KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcmFkaW8tY29sb3IoJHdhcm4pO1xuICAgIH1cblxuICAgIC8vIFRoaXMgbmVlZHMgZXh0cmEgc3BlY2lmaWNpdHksIGJlY2F1c2UgdGhlIGNsYXNzZXMgYWJvdmUgYXJlIGNvbWJpbmVkXG4gICAgLy8gKGUuZy4gYC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnRgKSB3aGljaCBpbmNyZWFzZXMgdGhlaXIgc3BlY2lmaWNpdHkgYSBsb3QuXG4gICAgLy8gVE9ETzogY29uc2lkZXIgbWFraW5nIHRoZSBzZWxlY3RvcnMgaW50byBkZXNjZW5kYW50cyAoYC5tYXQtcHJpbWFyeSAubWF0LXJhZGlvLWJ1dHRvbmApLlxuICAgICYubWF0LXJhZGlvLWRpc2FibGVkIHtcbiAgICAgICYubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUsXG4gICAgICAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZCk7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQsXG4gICAgICAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQpO1xuICAgICAgfVxuXG4gICAgICAubWF0LXJhZGlvLWxhYmVsLWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3dpdGNoIHRoaXMgdG8gYSBzb2xpZCBjb2xvciBzaW5jZSB3ZSdyZSB1c2luZyBgb3BhY2l0eWBcbiAgICAvLyB0byBjb250cm9sIGhvdyBvcGFxdWUgdGhlIHJpcHBsZSBzaG91bGQgYmUuXG4gICAgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3JlZ3JvdW5kLCBiYXNlKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1yYWRpby10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1yYWRpby1idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtcmFkaW8tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXJhZGlvLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIF9tYXQtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcmFkaW8nKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcmFkaW8tY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1yYWRpby1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXJhZGlvLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1zZWxlY3QtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcblxuICAubWF0LXNlbGVjdC12YWx1ZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAubWF0LXNlbGVjdC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IF9tYXQtY29udHJvbC1wbGFjZWhvbGRlci1jb2xvcigkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LXZhbHVlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LXNlbGVjdC1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBAaW5jbHVkZSBfbWF0LXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbig0LCAkY29uZmlnKTtcblxuICAgIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIsIDAuMTIpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZCB7XG4gICAgJi5tYXQtZm9jdXNlZCB7XG4gICAgICAmLm1hdC1wcmltYXJ5IC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgdGV4dCk7XG4gICAgICB9XG5cbiAgICAgICYubWF0LWFjY2VudCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG4gICAgICB9XG5cbiAgICAgICYubWF0LXdhcm4gLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWludmFsaWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1kaXNhYmxlZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zZWxlY3QtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcblxuICAubWF0LXNlbGVjdCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICAgIGhlaWdodDogJGxpbmUtaGVpZ2h0ICogMWVtO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXNlbGVjdC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc2VsZWN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIF9tYXQtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2VsZWN0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNlbGVjdC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNlbGVjdC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNlbGVjdC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtc2lkZW5hdi1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gICRkcmF3ZXItYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaWFsb2cpO1xuICAkZHJhd2VyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG9yOiAgbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcbiAgJGRyYXdlci1wdXNoLWJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgJGRyYXdlci1zaWRlLWJvcmRlcjogc29saWQgMXB4IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG5cbiAgLm1hdC1kcmF3ZXItY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJhd2VyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1kcmF3ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcmF3ZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICYubWF0LWRyYXdlci1wdXNoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcmF3ZXItcHVzaC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cblxuICAgICY6bm90KC5tYXQtZHJhd2VyLXNpZGUpIHtcbiAgICAgIC8vIFRoZSBlbGV2YXRpb24gb2Ygei0xNiBpcyBub3RlZCBpbiB0aGUgZGVzaWduIHNwZWNpZmljYXRpb25zLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2NvbXBvbmVudHMvbmF2aWdhdGlvbi1kcmF3ZXIuaHRtbFxuICAgICAgQGluY2x1ZGUgX21hdC10aGVtZS1lbGV2YXRpb24oMTYsICRjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZHJhd2VyLXNpZGUge1xuICAgIGJvcmRlci1yaWdodDogJGRyYXdlci1zaWRlLWJvcmRlcjtcblxuICAgICYubWF0LWRyYXdlci1lbmQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICRkcmF3ZXItc2lkZS1ib3JkZXI7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgW2Rpcj0ncnRsJ10gLm1hdC1kcmF3ZXItc2lkZSB7XG4gICAgYm9yZGVyLWxlZnQ6ICRkcmF3ZXItc2lkZS1ib3JkZXI7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuXG4gICAgJi5tYXQtZHJhd2VyLWVuZCB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIGJvcmRlci1yaWdodDogJGRyYXdlci1zaWRlLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAubWF0LWRyYXdlci1iYWNrZHJvcC5tYXQtZHJhd2VyLXNob3duIHtcbiAgICAkb3BhY2l0eTogMC42O1xuICAgICRiYWNrZHJvcC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkLCAkb3BhY2l0eSk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGJhY2tkcm9wLWNvbG9yKSA9PSBjb2xvcikge1xuICAgICAgLy8gV2UgdXNlIGludmVydCgpIGhlcmUgdG8gaGF2ZSB0aGUgZGFya2VuIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGV4cGVjdGVkIHRvIGJlIHVzZWQuIElmIHRoZVxuICAgICAgLy8gYmFja2dyb3VuZCBpcyBsaWdodCwgd2UgdXNlIGEgZGFyayBiYWNrZHJvcC4gSWYgdGhlIGJhY2tncm91bmQgaXMgZGFyayxcbiAgICAgIC8vIHdlIHVzZSBhIGxpZ2h0IGJhY2tkcm9wLlxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW52ZXJ0KCRiYWNrZHJvcC1jb2xvcik7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIElmIHdlIGNvdWxkbid0IHJlc29sdmUgdGhlIGJhY2tkcm9wIGNvbG9yIHRvIGEgY29sb3IgdmFsdWUsIGZhbGwgYmFjayB0byB1c2luZ1xuICAgICAgLy8gYG9wYWNpdHlgIHRvIG1ha2UgaXQgb3BhcXVlIHNpbmNlIGl0cyBlbmQgdmFsdWUgY291bGQgYmUgYSBzb2xpZCBjb2xvci5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZHJvcC1jb2xvcjtcbiAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNpZGVuYXYtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1zaWRlbmF2LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1zaWRlbmF2LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIF9tYXQtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2lkZW5hdicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zaWRlbmF2LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2lkZW5hdi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNpZGVuYXYtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBfbWF0LXNsaWRlLXRvZ2dsZS1jaGVja2VkKCRwYWxldHRlLCAkdGh1bWItY2hlY2tlZC1odWUpIHtcbiAgJi5tYXQtY2hlY2tlZCB7XG4gICAgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkdGh1bWItY2hlY2tlZC1odWUpO1xuICAgIH1cblxuICAgIC5tYXQtc2xpZGUtdG9nZ2xlLWJhciB7XG4gICAgICAvLyBPcGFjaXR5IGlzIGRldGVybWluZWQgZnJvbSB0aGUgc3BlY3MgZm9yIHRoZSBzZWxlY3Rpb24gY29udHJvbHMuXG4gICAgICAvLyBTZWU6IGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2NvbXBvbmVudHMvc2VsZWN0aW9uLWNvbnRyb2xzLmh0bWwjc3BlY3NcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgJHRodW1iLWNoZWNrZWQtaHVlLCAwLjU0KTtcbiAgICB9XG5cbiAgICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIC8vIFNldCBubyBvcGFjaXR5IGZvciB0aGUgcmlwcGxlcyBiZWNhdXNlIHRoZSByaXBwbGUgb3BhY2l0eSB3aWxsIGJlIGFkanVzdGVkIGR5bmFtaWNhbGx5XG4gICAgICAvLyBiYXNlZCBvbiB0aGUgdHlwZSBvZiBpbnRlcmFjdGlvbiB3aXRoIHRoZSBzbGlkZS10b2dnbGUgKGUuZy4gZm9yIGhvdmVyLCBmb2N1cylcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgJHRodW1iLWNoZWNrZWQtaHVlKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zbGlkZS10b2dnbGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcms6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLy8gQ29sb3IgaHVlcyBhcmUgYmFzZWQgb24gdGhlIHNwZWNzIHdoaWNoIGJyaWVmbHkgc2hvdyB0aGUgaHVlcyB0aGF0IGFyZSBhcHBsaWVkIHRvIGEgc3dpdGNoLlxuICAvLyBUaGUgMjAxOCBzcGVjcyBubyBsb25nZXIgZGVzY3JpYmUgaG93IGRhcmsgc3dpdGNoZXMgc2hvdWxkIGxvb2sgbGlrZS4gRHVlIHRvIHRoZSBsYWNrIG9mXG4gIC8vIGluZm9ybWF0aW9uIGZvciBkYXJrIHRoZW1lZCBzd2l0Y2hlcywgd2UgcGFydGlhbGx5IGtlZXAgdGhlIG9sZCBiZWhhdmlvciB0aGF0IGlzIGJhc2VkIG9uXG4gIC8vIHRoZSBwcmV2aW91cyBzcGVjaWZpY2F0aW9ucy4gRm9yIHRoZSBjaGVja2VkIGNvbG9yIHdlIGFsd2F5cyB1c2UgdGhlIGBkZWZhdWx0YCBodWUgYmVjYXVzZVxuICAvLyB0aGF0IGZvbGxvd3MgTURDIGFuZCBhbHNvIG1ha2VzIGl0IGVhc2llciBmb3IgcGVvcGxlIHRvIGNyZWF0ZSBhIGN1c3RvbSB0aGVtZSB3aXRob3V0IG5lZWRpbmdcbiAgLy8gdG8gc3BlY2lmeSBlYWNoIGh1ZSBpbmRpdmlkdWFsbHkuXG4gICR0aHVtYi11bmNoZWNrZWQtaHVlOiBpZigkaXMtZGFyaywgNDAwLCA1MCk7XG4gICR0aHVtYi1jaGVja2VkLWh1ZTogZGVmYXVsdDtcblxuICAkYmFyLXVuY2hlY2tlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZCk7XG4gICRyaXBwbGUtdW5jaGVja2VkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGJhc2UpO1xuXG4gIC5tYXQtc2xpZGUtdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlLXRvZ2dsZS1jaGVja2VkKCRhY2NlbnQsICR0aHVtYi1jaGVja2VkLWh1ZSk7XG5cbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJHByaW1hcnksICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlLXRvZ2dsZS1jaGVja2VkKCR3YXJuLCAkdGh1bWItY2hlY2tlZC1odWUpO1xuICAgIH1cblxuICAgICY6bm90KC5tYXQtY2hlY2tlZCkgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICAvLyBTZXQgbm8gb3BhY2l0eSBmb3IgdGhlIHJpcHBsZXMgYmVjYXVzZSB0aGUgcmlwcGxlIG9wYWNpdHkgd2lsbCBiZSBhZGp1c3RlZCBkeW5hbWljYWxseVxuICAgICAgLy8gYmFzZWQgb24gdGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gd2l0aCB0aGUgc2xpZGUtdG9nZ2xlIChlLmcuIGZvciBob3ZlciwgZm9jdXMpXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmlwcGxlLXVuY2hlY2tlZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgQGluY2x1ZGUgX21hdC10aGVtZS1lbGV2YXRpb24oMSwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRtYXQtZ3JleSwgJHRodW1iLXVuY2hlY2tlZC1odWUpO1xuICB9XG5cbiAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFyLXVuY2hlY2tlZC1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1zbGlkZS10b2dnbGUtY29udGVudCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbGlkZS10b2dnbGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNsaWRlLXRvZ2dsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zbGlkZS10b2dnbGUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1zbGlkZS10b2dnbGUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zbGlkZS10b2dnbGUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRwYWxldHRlKSB7XG4gIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsXG4gIC5tYXQtc2xpZGVyLXRodW1iLFxuICAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgfVxuXG4gIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpO1xuICB9XG5cbiAgLm1hdC1zbGlkZXItZm9jdXMtcmluZyB7XG4gICAgJG9wYWNpdHk6IDAuMjtcbiAgICAkY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdCwgJG9wYWNpdHkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAgIC8vIGBtYXQtY29sb3JgIHVzZXMgYHJnYmFgIGZvciB0aGUgb3BhY2l0eSB3aGljaCB3b24ndCB3b3JrIHdpdGhcbiAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgIEBpZiAodHlwZS1vZigkY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zbGlkZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAkbWF0LXNsaWRlci1vZmYtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZik7XG4gICRtYXQtc2xpZGVyLW9mZi1mb2N1c2VkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1vZmYtYWN0aXZlKTtcbiAgJG1hdC1zbGlkZXItZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZik7XG4gICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1taW4pO1xuICAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1sYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzbGlkZXItb2ZmKTtcbiAgJG1hdC1zbGlkZXItdGljay1vcGFjaXR5OiAwLjc7XG4gICRtYXQtc2xpZGVyLXRpY2stY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgJG1hdC1zbGlkZXItdGljay1vcGFjaXR5KTtcbiAgJG1hdC1zbGlkZXItdGljay1zaXplOiAycHg7XG5cbiAgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRwcmltYXJ5KTtcbiAgfVxuXG4gIC5tYXQtYWNjZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRhY2NlbnQpO1xuICB9XG5cbiAgLm1hdC13YXJuIHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCR3YXJuKTtcbiAgfVxuXG4gIC5tYXQtc2xpZGVyOmhvdmVyLFxuICAuY2RrLWZvY3VzZWQge1xuICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWZvY3VzZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItZGlzYWJsZWQge1xuICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsXG4gICAgLm1hdC1zbGlkZXItdHJhY2stZmlsbCxcbiAgICAubWF0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1taW4tdmFsdWUge1xuICAgIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcge1xuICAgICAgJG9wYWNpdHk6IDAuMTI7XG4gICAgICAkY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgJG9wYWNpdHkpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgICAgQGlmICh0eXBlLW9mKCRjb2xvcikgIT0gY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcge1xuICAgICAgLm1hdC1zbGlkZXItdGh1bWIsXG4gICAgICAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmNkay1mb2N1c2VkIHtcbiAgICAgICAgLm1hdC1zbGlkZXItdGh1bWIsXG4gICAgICAgIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1sYWJlbC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpIHtcbiAgICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWF0LXNsaWRlci1vZmYtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5jZGstZm9jdXNlZCB7XG4gICAgICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLW9mZi1mb2N1c2VkLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLXRpY2stY29sb3I7XG5cbiAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgLy8gQ1NTIHZhcmlhYmxlcyBzbyB3ZSBuZWVkIHRvIHVzZSBgb3BhY2l0eWAgYXMgYSBmYWxsYmFjay5cbiAgICBAaWYgKHR5cGUtb2YoJG1hdC1zbGlkZXItdGljay1jb2xvcikgIT0gY29sb3IpIHtcbiAgICAgIG9wYWNpdHk6ICRtYXQtc2xpZGVyLXRpY2stb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuICAgIC8vIEZpcmVmb3ggZG9lc24ndCBkcmF3IHRoZSBncmFkaWVudCBjb3JyZWN0bHkgd2l0aCAndG8gcmlnaHQnXG4gICAgLy8gKHNlZSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE0MzE5KS5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMC4wMDAxZGVnLCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgQGlmICh0eXBlLW9mKCRtYXQtc2xpZGVyLXRpY2stY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgQGlmICh0eXBlLW9mKCRtYXQtc2xpZGVyLXRpY2stY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2xpZGVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0IHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbGlkZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNsaWRlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNsaWRlcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zbGlkZXItY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1zbGlkZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zbGlkZXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4kbWF0LXN0ZXBwZXItaGVhZGVyLWhlaWdodDogNzJweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciBoaWdoZXN0IGRlbnNpdHkgc3RlcHBlcidzIGlzIGRldGVybWluZWQgYmFzZWQgb24gaG93IG11Y2hcbi8vIHN0ZXBwZXIgaGVhZGVycyBjYW4gc2hyaW5rIHVudGlsIHRoZSBzdGVwIGljb24gb3Igc3RlcCBsYWJlbCBleGNlZWQuIFdlIGNhbid0IHVzZVxuLy8gYSB2YWx1ZSBiZWxvdyBgNDJweGAgYmVjYXVzZSB0aGUgb3B0aW9uYWwgbGFiZWwgZm9yIHN0ZXBzIHdvdWxkIG90aGVyd2lzZSBleGNlZWQuXG4kbWF0LXN0ZXBwZXItaGVhZGVyLW1pbmltdW0taGVpZ2h0OiA0MnB4ICFkZWZhdWx0O1xuJG1hdC1zdGVwcGVyLWhlYWRlci1tYXhpbXVtLWhlaWdodDogJG1hdC1zdGVwcGVyLWhlYWRlci1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtc3RlcHBlci1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXN0ZXBwZXItaGVhZGVyLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LXN0ZXBwZXItaGVhZGVyLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtc3RlcHBlci1oZWFkZXItbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGRlbm90ZWQgd2l0aCBgIWRlZmF1bHRgIGJlY2F1c2UgdGhleSBhcmUgdXNlZCBpbiB0aGUgbm9uLXRoZW1lXG4vLyBjb21wb25lbnQgc3R5bGVzLiBNb2RpZnlpbmcgdGhlc2UgdmFyaWFibGVzIGRvZXMgbm90IGhhdmUgdGhlIGRlc2lyZWQgZWZmZWN0IGZvciBjb25zdW1lcnMuXG4kbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodDogMjRweDtcbiRtYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20tdG9wLWdhcDogMTZweDtcbiRtYXQtc3RlcHBlci1sYWJlbC1taW4td2lkdGg6IDUwcHg7XG5cbiRtYXQtdmVydGljYWwtc3RlcHBlci1jb250ZW50LW1hcmdpbjogMzZweDtcblxuJG1hdC1zdGVwcGVyLXNpZGUtZ2FwOiAyNHB4O1xuJG1hdC1zdGVwcGVyLWxpbmUtd2lkdGg6IDFweDtcbiRtYXQtc3RlcHBlci1saW5lLWdhcDogOHB4O1xuXG4kbWF0LXN0ZXAtc3ViLWxhYmVsLWZvbnQtc2l6ZTogMTJweDtcbiRtYXQtc3RlcC1oZWFkZXItaWNvbi1zaXplOiAxNnB4O1xuXG5cbkBtaXhpbiBtYXQtc3RlcHBlci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtc3RlcC1oZWFkZXIge1xuICAgICYuY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gICAgJi5jZGstcHJvZ3JhbS1mb2N1c2VkLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgfVxuXG4gICAgLy8gT24gdG91Y2ggZGV2aWNlcyB0aGUgOmhvdmVyIHN0YXRlIHdpbGwgbGluZ2VyIG9uIHRoZSBlbGVtZW50IGFmdGVyIGEgdGFwLlxuICAgIC8vIFJlc2V0IGl0IHZpYSBgQG1lZGlhYCBhZnRlciB0aGUgZGVjbGFyYXRpb24sIGJlY2F1c2UgdGhlIG1lZGlhIHF1ZXJ5IGlzbid0XG4gICAgLy8gc3VwcG9ydGVkIGJ5IGFsbCBicm93c2VycyB5ZXQuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWxhYmVsLFxuICAgIC5tYXQtc3RlcC1vcHRpb25hbCB7XG4gICAgICAvLyBUT0RPKGpvc2VwaHBlcnJvdHQpOiBVcGRhdGUgdG8gdXNpbmcgYSBjb3JyZWN0ZWQgZGlzYWJsZWQtdGV4dCBjb250cmFzdFxuICAgICAgLy8gaW5zdGVhZCBvZiBzZWNvbmRhcnktdGV4dC5cbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtaWNvbiB7XG4gICAgICAvLyBUT0RPKGpvc2VwaHBlcnJvdHQpOiBVcGRhdGUgdG8gdXNpbmcgYSBjb3JyZWN0ZWQgZGlzYWJsZWQtdGV4dCBjb250cmFzdFxuICAgICAgLy8gaW5zdGVhZCBvZiBzZWNvbmRhcnktdGV4dC5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsXG4gICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZG9uZSxcbiAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgLm1hdC1zdGVwLWljb24ge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCxcbiAgICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgLm1hdC1zdGVwLWljb24ge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLFxuICAgICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVycm9yIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtbGFiZWwubWF0LXN0ZXAtbGFiZWwtZXJyb3Ige1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zdGVwcGVyLWhvcml6b250YWwsIC5tYXQtc3RlcHBlci12ZXJ0aWNhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgfVxuXG4gIC5tYXQtc3RlcHBlci12ZXJ0aWNhbC1saW5lOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjpiZWZvcmUsXG4gIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcjo6YWZ0ZXIsXG4gIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zdGVwcGVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXN0ZXBwZXItdmVydGljYWwsIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1zdGVwLWxhYmVsIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIH07XG4gIH1cblxuICAubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLm1hdC1zdGVwLWxhYmVsLWVycm9yIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxuXG4gIC5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZCB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTIpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9O1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXN0ZXBwZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaGVpZ2h0OiBfbWF0LWRlbnNpdHktcHJvcC12YWx1ZSgkbWF0LXN0ZXBwZXItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuICAkdmVydGljYWwtcGFkZGluZzogKCRoZWlnaHQgLSAkbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodCkgLyAyO1xuXG4gIEBpbmNsdWRlIF9tYXQtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgICAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cblxuICAgIC5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyLFxuICAgIC5tYXQtdmVydGljYWwtc3RlcHBlci1oZWFkZXIge1xuICAgICAgcGFkZGluZzogJHZlcnRpY2FsLXBhZGRpbmcgJG1hdC1zdGVwcGVyLXNpZGUtZ2FwO1xuICAgIH1cblxuICAgIC8vIEVuc3VyZXMgdGhhdCB0aGUgdmVydGljYWwgbGluZXMgZm9yIHRoZSBzdGVwIGNvbnRlbnQgZXhjZWVkIGludG8gdGhlIHN0ZXBcbiAgICAvLyBoZWFkZXJzIHdpdGggYSBnaXZlbiBkaXN0YW5jZSAoYCRtYXQtc3RlcHBlci1saW5lLWdhcGApIHRvIHRoZSBzdGVwIGljb24uXG4gICAgLm1hdC1zdGVwcGVyLXZlcnRpY2FsLWxpbmU6OmJlZm9yZSB7XG4gICAgICB0b3A6ICRtYXQtc3RlcHBlci1saW5lLWdhcCAtICR2ZXJ0aWNhbC1wYWRkaW5nO1xuICAgICAgYm90dG9tOiAkbWF0LXN0ZXBwZXItbGluZS1nYXAgLSAkdmVydGljYWwtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBFbnN1cmVzIHRoYXQgdGhlIGhvcml6b250YWwgbGluZXMgZm9yIHRoZSBzdGVwIGhlYWRlciBhcmUgY2VudGVyZWQgdmVydGljYWxseS5cbiAgICAubWF0LXN0ZXBwZXItbGFiZWwtcG9zaXRpb24tYm90dG9tIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlciB7XG4gICAgICAmOjphZnRlciwgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkdmVydGljYWwtcGFkZGluZyArICRtYXQtc3RlcHBlci1sYWJlbC1oZWFkZXItaGVpZ2h0IC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbnN1cmVzIHRoYXQgdGhlIGhvcml6b250YWwgbGluZSBmb3IgdGhlIHN0ZXAgY29udGVudCBpcyBhbGlnbmVkIGNlbnRlcmVkIHZlcnRpY2FsbHkuXG4gICAgLm1hdC1zdGVwcGVyLWxhYmVsLXBvc2l0aW9uLWJvdHRvbSAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbC1saW5lIHtcbiAgICAgIHRvcDogJHZlcnRpY2FsLXBhZGRpbmcgKyAkbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodCAvIDI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc3RlcHBlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXN0ZXBwZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc3RlcHBlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXN0ZXBwZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zdGVwcGVyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5AbWl4aW4gbWF0LXNvcnQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtc29ydC1oZWFkZXItYXJyb3cge1xuICAgICR0YWJsZS1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gICAgJHRleHQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuXG4gICAgLy8gQmVjYXVzZSB0aGUgYXJyb3cgaXMgbWFkZSB1cCBvZiBtdWx0aXBsZSBlbGVtZW50cyB0aGF0IGFyZSBzdGFja2VkIG9uIHRvcCBvZiBlYWNoIG90aGVyLFxuICAgIC8vIHdlIGNhbid0IHVzZSB0aGUgc2VtaS10cmFuc3BhcmVudCBjb2xvciBmcm9tIHRoZSB0aGVtZSBkaXJlY3RseS4gSWYgdGhlIHZhbHVlIGlzIGEgY29sb3JcbiAgICAvLyAqdHlwZSosIHdlIGNvbnZlcnQgaXQgaW50byBhIHNvbGlkIGNvbG9yIGJ5IHRha2luZyB0aGUgb3BhY2l0eSBmcm9tIHRoZSByZ2JhIHZhbHVlIGFuZFxuICAgIC8vIHVzaW5nIHRoZSB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgdG8gcHV0IGludG8gZm9yZWdyb3VuZFxuICAgIC8vIHdoZW4gbWl4aW5nIHRoZSBjb2xvcnMgdG9nZXRoZXIuIE90aGVyd2lzZSwgaWYgaXQgcmVzb2x2ZXMgdG8gc29tZXRoaW5nIGRpZmZlcmVudFxuICAgIC8vIChlLmcuIGl0IHJlc29sdmVzIHRvIGEgQ1NTIHZhcmlhYmxlKSwgd2UgdXNlIHRoZSBjb2xvciBkaXJlY3RseS5cbiAgICBAaWYgKHR5cGUtb2YoJHRhYmxlLWJhY2tncm91bmQpID09IGNvbG9yIGFuZCB0eXBlLW9mKCR0ZXh0LWNvbG9yKSA9PSBjb2xvcikge1xuICAgICAgJHRleHQtb3BhY2l0eTogb3BhY2l0eSgkdGV4dC1jb2xvcik7XG4gICAgICBjb2xvcjogbWl4KCR0YWJsZS1iYWNrZ3JvdW5kLCByZ2JhKCR0ZXh0LWNvbG9yLCAxKSwgKDEgLSAkdGV4dC1vcGFjaXR5KSAqIDEwMCUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc29ydC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXNvcnQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNvcnQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IF9tYXQtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgX21hdC1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zb3J0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNvcnQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1zb3J0LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc29ydC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtdGFicy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaGVhZGVyLWJvcmRlcjogMXB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG5cbiAgLm1hdC10YWItbmF2LWJhcixcbiAgLm1hdC10YWItaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciB7XG4gICAgLm1hdC10YWItbmF2LWJhcixcbiAgICAubWF0LXRhYi1oZWFkZXIge1xuICAgICAgYm9yZGVyLXRvcDogJGhlYWRlci1ib3JkZXI7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtdGFiLWxhYmVsLCAubWF0LXRhYi1saW5rIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICYubWF0LXRhYi1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gIH1cblxuICAvLyBSZW1vdmUgaGVhZGVyIGJvcmRlciB3aGVuIHRoZXJlIGlzIGEgYmFja2dyb3VuZCBjb2xvclxuICAubWF0LXRhYi1ncm91cFtjbGFzcyo9J21hdC1iYWNrZ3JvdW5kLSddIC5tYXQtdGFiLWhlYWRlcixcbiAgLm1hdC10YWItbmF2LWJhcltjbGFzcyo9J21hdC1iYWNrZ3JvdW5kLSddIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cblxuICAubWF0LXRhYi1ncm91cCwgLm1hdC10YWItbmF2LWJhciB7XG4gICAgJHRoZW1lLWNvbG9yczogKFxuICAgICAgcHJpbWFyeTogJHByaW1hcnksXG4gICAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgICB3YXJuOiAkd2FyblxuICAgICk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICR0aGVtZS1jb2xvcnMge1xuICAgICAgLy8gU2V0IHRoZSBmb3JlZ3JvdW5kIGNvbG9yIG9mIHRoZSB0YWJzXG4gICAgICAmLm1hdC0jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtdGFiLWxhYmVsLWZvY3VzKCRjb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtaW5rLWJhcigkY29sb3IpO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIGluayBiYXIgd2hlbiBiYWNrZ3JvdW5kIGNvbG9yIGlzIHRoZSBzYW1lXG4gICAgICAgICYubWF0LWJhY2tncm91bmQtI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIF9tYXQtaW5rLWJhcigkY29sb3IsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAgIC8vIFNldCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB0YWJzIGFuZCBvdmVycmlkZSBmb2N1cyBjb2xvclxuICAgICAgJi5tYXQtYmFja2dyb3VuZC0jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtdGFiLWxhYmVsLWZvY3VzKCRjb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtdGFicy1iYWNrZ3JvdW5kKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LWluay1iYXIoJGNvbG9yLCAkaHVlOiBkZWZhdWx0KSB7XG4gIC5tYXQtaW5rLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRjb2xvciwgJGh1ZSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFiLWxhYmVsLWZvY3VzKCR0YWItZm9jdXMtY29sb3IpIHtcbiAgLm1hdC10YWItbGFiZWwsXG4gIC5tYXQtdGFiLWxpbmsge1xuICAgICYuY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gICAgJi5jZGstcHJvZ3JhbS1mb2N1c2VkIHtcbiAgICAgICY6bm90KC5tYXQtdGFiLWRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkdGFiLWZvY3VzLWNvbG9yLCBsaWdodGVyLCAwLjMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC10YWJzLWJhY2tncm91bmQoJGJhY2tncm91bmQtY29sb3IpIHtcbiAgLy8gU2V0IGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0YWIgZ3JvdXBcbiAgLm1hdC10YWItaGVhZGVyLCAubWF0LXRhYi1saW5rcywgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvcik7XG4gIH1cblxuICAvLyBTZXQgbGFiZWxzIHRvIGNvbnRyYXN0IGFnYWluc3QgYmFja2dyb3VuZFxuICAubWF0LXRhYi1sYWJlbCwgLm1hdC10YWItbGluayB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCk7XG5cbiAgICAmLm1hdC10YWItZGlzYWJsZWQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCwgMC40KTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgcGFnaW5hdGlvbiBjaGV2cm9ucyB0byBjb250cmFzdCBiYWNrZ3JvdW5kXG4gIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24ge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24ge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjQpO1xuICB9XG5cbiAgLy8gU2V0IHJpcHBsZXMgY29sb3IgdG8gYmUgdGhlIGNvbnRyYXN0IGNvbG9yIG9mIHRoZSBuZXcgYmFja2dyb3VuZC4gT3RoZXJ3aXNlIHRoZSByaXBwbGVcbiAgLy8gY29sb3Igd2lsbCBiZSBiYXNlZCBvbiB0aGUgYXBwIGJhY2tncm91bmQgY29sb3IuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCwgMC4xMik7XG4gIH1cbn1cblxuQG1peGluIG1hdC10YWJzLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRhYi1ncm91cCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtdGFiLWxhYmVsLCAubWF0LXRhYi1saW5rIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBidXR0b24pO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBidXR0b24pO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYnV0dG9uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFicy1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtdGFicy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXRhYnMnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdGFicy1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRhYnMtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10YWJzLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG4vLyBNaW5pbXVtIGhlaWdodCBmb3IgdG9vbGJhcidzIGluIHRoZSBoaWdoZXN0IGRlbnNpdHkgaXMgZGlmZmljdWx0IHRvIGRldGVybWluZSBiZWNhdXNlXG4vLyBkZXZlbG9wZXJzIGNhbiBwcm9qZWN0IGFyYml0cmFyeSBjb250ZW50LiBXZSB1c2UgYSBtaW5pbXVtIHZhbHVlIHRoYXQgZW5zdXJlcyB0aGF0IG1vc3Rcbi8vIGNvbW1vbiBjb250ZW50IChlLmcuIGljb24gYnV0dG9ucykgZG9lcyBub3QgZXhjZWVkIHRoZSByb3cgYm91bmRhcmllcyBpbiBoaWdoZXN0IGRlbnNpdHkuXG4kbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQ6IDQ0cHggIWRlZmF1bHQ7XG5cbiRtYXQtdG9vbGJhci1oZWlnaHQtZGVza3RvcDogNjRweCAhZGVmYXVsdDtcbiRtYXQtdG9vbGJhci1tYXhpbXVtLWhlaWdodC1kZXNrdG9wOiAkbWF0LXRvb2xiYXItaGVpZ2h0LWRlc2t0b3AgIWRlZmF1bHQ7XG4kbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQtZGVza3RvcDogJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0ICFkZWZhdWx0O1xuXG4kbWF0LXRvb2xiYXItaGVpZ2h0LW1vYmlsZTogNTZweCAhZGVmYXVsdDtcbiRtYXQtdG9vbGJhci1tYXhpbXVtLWhlaWdodC1tb2JpbGU6ICRtYXQtdG9vbGJhci1oZWlnaHQtbW9iaWxlICFkZWZhdWx0O1xuJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0LW1vYmlsZTogJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0ICFkZWZhdWx0O1xuXG4kbWF0LXRvb2xiYXItZGVza3RvcC1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXRvb2xiYXItaGVpZ2h0LWRlc2t0b3AsXG4gICAgbWF4aW11bTogJG1hdC10b29sYmFyLW1heGltdW0taGVpZ2h0LWRlc2t0b3AsXG4gICAgbWluaW11bTogJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0LWRlc2t0b3AsXG4gIClcbikgIWRlZmF1bHQ7XG5cbiRtYXQtdG9vbGJhci1tb2JpbGUtZGVuc2l0eS1jb25maWc6IChcbiAgaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC10b29sYmFyLWhlaWdodC1tb2JpbGUsXG4gICAgbWF4aW11bTogJG1hdC10b29sYmFyLW1heGltdW0taGVpZ2h0LW1vYmlsZSxcbiAgICBtaW5pbXVtOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQtbW9iaWxlLFxuICApXG4pICFkZWZhdWx0O1xuXG5cbkBtaXhpbiBfbWF0LXRvb2xiYXItaGVpZ2h0KCRoZWlnaHQpIHtcbiAgLm1hdC10b29sYmFyLW11bHRpcGxlLXJvd3Mge1xuICAgIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cbiAgLm1hdC10b29sYmFyLXJvdywgLm1hdC10b29sYmFyLXNpbmdsZS1yb3cge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC10b29sYmFyLWNvbG9yKCRwYWxldHRlKSB7XG4gIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG4gIGNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpO1xufVxuXG5AbWl4aW4gX21hdC10b29sYmFyLWZvcm0tZmllbGQtb3ZlcnJpZGVzIHtcbiAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSxcbiAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSxcbiAgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgLm1hdC1zZWxlY3QtdmFsdWUsXG4gIC5tYXQtc2VsZWN0LWFycm93LFxuICAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogY3VycmVudENvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdG9vbGJhci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtdG9vbGJhciB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBhcHAtYmFyKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWNvbG9yKCR3YXJuKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItZm9ybS1maWVsZC1vdmVycmlkZXM7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRvb2xiYXIsXG4gIC5tYXQtdG9vbGJhciBoMSxcbiAgLm1hdC10b29sYmFyIGgyLFxuICAubWF0LXRvb2xiYXIgaDMsXG4gIC5tYXQtdG9vbGJhciBoNCxcbiAgLm1hdC10b29sYmFyIGg1LFxuICAubWF0LXRvb2xiYXIgaDYge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCB0aXRsZSk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRvb2xiYXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaGVpZ2h0LWRlc2t0b3A6IF9tYXQtZGVuc2l0eS1wcm9wLXZhbHVlKFxuICAgICAgJG1hdC10b29sYmFyLWRlc2t0b3AtZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuICAkaGVpZ2h0LW1vYmlsZTogX21hdC1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LXRvb2xiYXItbW9iaWxlLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBfbWF0LWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLy8gU2V0IHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgdGhlIHRvb2xiYXIuXG4gICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWhlaWdodCgkaGVpZ2h0LWRlc2t0b3ApO1xuXG4gICAgLy8gQXMgcGVyIHNwZWNzLCB0b29sYmFycyBzaG91bGQgaGF2ZSBhIGRpZmZlcmVudCBoZWlnaHQgaW4gbW9iaWxlIGRldmljZXMuIFRoaXMgaGFzIGJlZW5cbiAgICAvLyBzcGVjaWZpZWQgaW4gdGhlIG9sZCBndWlkZWxpbmVzIGFuZCBpcyBzdGlsbCBvYnNlcnZhYmxlIGluIHRoZSBuZXcgc3BlY2lmaWNhdGlvbnMgYnlcbiAgICAvLyBsb29raW5nIGF0IHRoZSBzcGVjIGltYWdlcy4gU2VlOiBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb21wb25lbnRzL2FwcC1iYXJzLXRvcC5odG1sI2FuYXRvbXlcbiAgICBAbWVkaWEgKCRtYXQteHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItaGVpZ2h0KCRoZWlnaHQtbW9iaWxlKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIF9tYXQtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtdG9vbGJhcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRvb2xiYXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4kbWF0LXRvb2x0aXAtdGFyZ2V0LWhlaWdodDogMjJweDtcbiRtYXQtdG9vbHRpcC1mb250LXNpemU6IDEwcHg7XG4kbWF0LXRvb2x0aXAtdmVydGljYWwtcGFkZGluZzogKCRtYXQtdG9vbHRpcC10YXJnZXQtaGVpZ2h0IC0gJG1hdC10b29sdGlwLWZvbnQtc2l6ZSkgLyAyO1xuXG4kbWF0LXRvb2x0aXAtaGFuZHNldC10YXJnZXQtaGVpZ2h0OiAzMHB4O1xuJG1hdC10b29sdGlwLWhhbmRzZXQtZm9udC1zaXplOiAxNHB4O1xuJG1hdC10b29sdGlwLWhhbmRzZXQtdmVydGljYWwtcGFkZGluZzpcbiAgICAoJG1hdC10b29sdGlwLWhhbmRzZXQtdGFyZ2V0LWhlaWdodCAtICRtYXQtdG9vbHRpcC1oYW5kc2V0LWZvbnQtc2l6ZSkgLyAyO1xuXG5AbWl4aW4gbWF0LXRvb2x0aXAtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLm1hdC10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHRvb2x0aXAsIDAuOSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sdGlwLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRvb2x0aXAge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gICAgZm9udC1zaXplOiAkbWF0LXRvb2x0aXAtZm9udC1zaXplO1xuICAgIHBhZGRpbmctdG9wOiAkbWF0LXRvb2x0aXAtdmVydGljYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogJG1hdC10b29sdGlwLXZlcnRpY2FsLXBhZGRpbmc7XG4gIH1cblxuICAubWF0LXRvb2x0aXAtaGFuZHNldCB7XG4gICAgZm9udC1zaXplOiAkbWF0LXRvb2x0aXAtaGFuZHNldC1mb250LXNpemU7XG4gICAgcGFkZGluZy10b3A6ICRtYXQtdG9vbHRpcC1oYW5kc2V0LXZlcnRpY2FsLXBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206ICRtYXQtdG9vbHRpcC1oYW5kc2V0LXZlcnRpY2FsLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdG9vbHRpcC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtdG9vbHRpcC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXRvb2x0aXAnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdG9vbHRpcC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2x0aXAtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sdGlwLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtc25hY2stYmFyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG5cbiAgLm1hdC1zbmFjay1iYXItY29udGFpbmVyIHtcbiAgICAvLyBVc2UgdGhlIHByaW1hcnkgdGV4dCBvbiB0aGUgZGFyayB0aGVtZSwgZXZlbiB0aG91Z2ggdGhlIGxpZ2h0ZXIgb25lIHVzZXNcbiAgICAvLyBhIHNlY29uZGFyeSwgYmVjYXVzZSB0aGUgY29udHJhc3Qgb24gdGhlIGxpZ2h0IHByaW1hcnkgdGV4dCBpcyBwb29yLlxuICAgIGNvbG9yOiBpZigkaXMtZGFyay10aGVtZSwgJGRhcmstcHJpbWFyeS10ZXh0LCAkbGlnaHQtc2Vjb25kYXJ5LXRleHQpO1xuICAgIGJhY2tncm91bmQ6IGlmKCRpcy1kYXJrLXRoZW1lLCBtYXAtZ2V0KCRtYXQtZ3JleSwgNTApLCAjMzIzMjMyKTtcblxuICAgIEBpbmNsdWRlIF9tYXQtdGhlbWUtZWxldmF0aW9uKDYsICRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIHtcbiAgICBjb2xvcjogaWYoJGlzLWRhcmstdGhlbWUsIGluaGVyaXQsIG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zbmFjay1iYXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtc2ltcGxlLXNuYWNrYmFyIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBpbmhlcml0O1xuICAgICAgc2l6ZTogaW5oZXJpdDtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJ1dHRvbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LXNuYWNrLWJhci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc25hY2stYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBfbWF0LWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIF9tYXQtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc25hY2stYmFyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNuYWNrLWJhci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgZmlsbCBhcHBlYXJhbmNlIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtZmlsbC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG5cbiAgJGZpbGwtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlLCBpZigkaXMtZGFyay10aGVtZSwgMC4xLCAwLjA0KSk7XG4gICRmaWxsLWRpc2FibGVkLWJhY2tncm91bmQ6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgaWYoJGlzLWRhcmstdGhlbWUsIDAuMDUsIDAuMDIpKTtcbiAgJHVuZGVybGluZS1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMC41LCAwLjQyKSk7XG4gICRsYWJlbC1kaXNhYmxlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIHtcbiAgICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsbC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpbGwtZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIHtcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkbGFiZWwtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBVc2VkIHRvIG1ha2UgaW5zdGFuY2VzIG9mIHRoZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcgbWl4aW4gbmVnbGlnaWJseSBkaWZmZXJlbnQsXG4vLyBhbmQgcHJldmVudCBHb29nbGUncyBDU1MgT3B0aW1pemVyIGZyb20gY29sbGFwc2luZyB0aGUgZGVjbGFyYXRpb25zLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHNvbWVcbi8vIG9mIHRoZSBzZWxlY3RvcnMgY29udGFpbiBwc2V1ZG8tY2xhc3NlcyBub3QgcmVjb2duaXplZCBpbiBhbGwgYnJvd3NlcnMuIElmIGEgYnJvd3NlciBlbmNvdW50ZXJzXG4vLyBhbiB1bmtub3duIHBzZXVkby1jbGFzcyBpdCB3aWxsIGRpc2NhcmQgdGhlIGVudGlyZSBydWxlIHNldC5cbiRtYXQtZm9ybS1maWVsZC1maWxsLWRlZHVwZTogMDtcblxuLy8gQXBwbGllcyBhIGZsb2F0aW5nIGxhYmVsIGFib3ZlIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wgaXRzZWxmLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1maWxsLWxhYmVsLWZsb2F0aW5nKCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlKVxuICAgICAgICAgICAgIHNjYWxlKCRmb250LXNjYWxlKTtcbiAgd2lkdGg6IDEwMCUgLyAkZm9udC1zY2FsZSArICRtYXQtZm9ybS1maWVsZC1maWxsLWRlZHVwZTtcblxuICAkbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGU6ICRtYXQtZm9ybS1maWVsZC1maWxsLWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWZpbGwtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIHBhZGRpbmcgb24gdG9wIG9mIHRoZSBpbmZpeC5cbiAgJGluZml4LXBhZGRpbmctdG9wOiAwLjI1ZW07XG4gIC8vIFRoZSBwYWRkaW5nIGJlbG93IHRoZSBpbmZpeC5cbiAgJGluZml4LXBhZGRpbmctYm90dG9tOiAwLjc1ZW07XG4gIC8vIFRoZSBtYXJnaW4gYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC1pbmZpeCB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgZmxvYXRpbmcgbGFiZWwuXG4gICRpbmZpeC1tYXJnaW4tdG9wOiAxZW0gKiAkbGluZS1oZWlnaHQgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBhbW91bnQgd2Ugb2Zmc2V0IHRoZSBsYWJlbCBmcm9tIHRoZSBpbnB1dCB0ZXh0IGluIHRoZSBmaWxsIGFwcGVhcmFuY2UuXG4gICRmaWxsLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0OiAtMC41ZW07XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAgIHBhZGRpbmc6ICRpbmZpeC1wYWRkaW5nLXRvcCAwICRpbmZpeC1wYWRkaW5nLWJvdHRvbSAwO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICB0b3A6ICRpbmZpeC1tYXJnaW4tdG9wICsgJGluZml4LXBhZGRpbmctdG9wO1xuICAgICAgbWFyZ2luLXRvcDogJGZpbGwtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQ7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtZmlsbC1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLXRvcCArICRmaWxsLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2VydmVyLXNpZGUgcmVuZGVyZWQgbWF0SW5wdXQgd2l0aCBhIGxhYmVsIGF0dHJpYnV0ZSBidXQgbGFiZWwgbm90IHNob3duXG4gICAgICAvLyAodXNlZCBhcyBhIHB1cmUgQ1NTIHN0YW5kLWluIGZvciBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQpLlxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1maWxsLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmctdG9wICsgJGZpbGwtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtZmlsbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtZmlsbCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWZpbGwtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWZpbGwtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgbGVnYWN5IGFwcGVhcmFuY2Ugb2YgdGhlIGZvcm0tZmllbGQuXG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuXG4gICRsYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gICR1bmRlcmxpbmUtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNywgMC40MikpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gICAgfVxuXG4gICAgLm1hdC1oaW50IHtcbiAgICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBAaW5jbHVkZSBtYXQtY29udHJvbC1kaXNhYmxlZC11bmRlcmxpbmUoJHVuZGVybGluZS1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgLy8gV2UgdXNlIHBlcnNwZWN0aXZlIHRvIGZpeCB0aGUgdGV4dCBibHVycmluZXNzIGFzIGRlc2NyaWJlZCBoZXJlOlxuICAvLyBodHRwOi8vd3d3LnVzZXJhZ2VudG1hbi5jb20vYmxvZy8yMDE0LzA1LzA0L2ZpeGluZy10eXBvZ3JhcGh5LWluc2lkZS1vZi0yLWQtY3NzLXRyYW5zZm9ybXMvXG4gIC8vIFRoaXMgcmVzdWx0cyBpbiBhIHNtYWxsIGppdHRlciBhZnRlciB0aGUgbGFiZWwgZmxvYXRzIG9uIEZpcmVmb3gsIHdoaWNoIHRoZVxuICAvLyB0cmFuc2xhdGVaIGZpeGVzLlxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcpIHNjYWxlKCRmb250LXNjYWxlKSBwZXJzcGVjdGl2ZSgxMDBweClcbiAgdHJhbnNsYXRlWigwLjAwMXB4ICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUpO1xuICAvLyBUaGUgdHJpY2tzIGFib3ZlIHVzZWQgdG8gc21vb3RoIG91dCB0aGUgYW5pbWF0aW9uIG9uIGNocm9tZSBhbmQgZmlyZWZveCBhY3R1YWxseSBtYWtlIHRoaW5nc1xuICAvLyB3b3JzZSBvbiBJRSwgc28gd2UgZG9uJ3QgaW5jbHVkZSB0aGVtIGluIHRoZSBJRSB2ZXJzaW9uLlxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUpXG4gICAgICAgICAgICAgICAgICBzY2FsZSgkZm9udC1zY2FsZSk7XG5cbiAgd2lkdGg6IDEwMCUgLyAkZm9udC1zY2FsZSArICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuLy8gU2FtZSBhcyBtaXhpbiBhYm92ZSwgYnV0IG9taXRzIHRoZSB0cmFuc2xhdGVaIGZvciBwcmludGluZyBwdXJwb3Nlcy5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgLy8gVGhpcyByZXN1bHRzIGluIGEgc21hbGwgaml0dGVyIGFmdGVyIHRoZSBsYWJlbCBmbG9hdHMgb24gRmlyZWZveCwgd2hpY2ggdGhlXG4gIC8vIHRyYW5zbGF0ZVogZml4ZXMuXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlKVxuICAgICAgICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICAvLyBUaGUgdHJpY2tzIGFib3ZlIHVzZWQgdG8gc21vb3RoIG91dCB0aGUgYW5pbWF0aW9uIG9uIGNocm9tZSBhbmQgZmlyZWZveCBhY3R1YWxseSBtYWtlIHRoaW5nc1xuICAvLyB3b3JzZSBvbiBJRSwgc28gd2UgZG9uJ3QgaW5jbHVkZSB0aGVtIGluIHRoZSBJRSB2ZXJzaW9uLlxuICAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIHRoZSB0b3Agb2YgdGhlIGxpbmUgYW5kIHRoZSB0b3Agb2YgdGhlIGFjdHVhbCB0ZXh0XG4gIC8vIChhcyBhIGZyYWN0aW9uIG9mIHRoZSBmb250LXNpemUpLlxuICAkbGluZS1zcGFjaW5nOiAoJGxpbmUtaGVpZ2h0IC0gMSkgLyAyO1xuICAvLyBUaGUgcGFkZGluZyBvbiB0aGUgaW5maXguIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLCBidXQgc2VlbSB0byBtZWFzdXJlIGZyb20gdGhlIGVkZ2VcbiAgLy8gb2YgdGhlIHRleHQgaXRzZWxmLCBub3QgdGhlIGVkZ2Ugb2YgdGhlIGxpbmU7IHRoZXJlZm9yZSB3ZSBzdWJ0cmFjdCBvZmYgdGhlIGxpbmUgc3BhY2luZy5cbiAgJGluZml4LXBhZGRpbmc6IDAuNWVtIC0gJGxpbmUtc3BhY2luZztcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIHNwYWNlIGJldHdlZW4gdGhlIGJvdHRvbSBvZiB0aGUgLm1hdC1mb3JtLWZpZWxkLWZsZXggYXJlYSBhbmQgdGhlIHN1YnNjcmlwdCB3cmFwcGVyLlxuICAvLyBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZSwgYnV0IHRoaXMgbWFyZ2luIGlzIGFwcGxpZWQgdG8gYW4gZWxlbWVudCB3aXRoIHRoZSBzdWJzY3JpcHRcbiAgLy8gdGV4dCBmb250IHNpemUsIHNvIHdlIG5lZWQgdG8gZGl2aWRlIGJ5IHRoZSBzY2FsZSBmYWN0b3IgdG8gbWFrZSBpdCBoYWxmIG9mIHRoZSBvcmlnaW5hbCB0ZXh0XG4gIC8vIHNpemUuIFdlIGFnYWluIG5lZWQgdG8gc3VidHJhY3Qgb2ZmIHRoZSBsaW5lIHNwYWNpbmcgc2luY2UgdGhlIG1vY2tzIG1lYXN1cmUgdG8gdGhlIGVkZ2Ugb2YgdGhlXG4gIC8vIHRleHQsIG5vdCB0aGUgIGVkZ2Ugb2YgdGhlIGxpbmUuXG4gICRzdWJzY3JpcHQtbWFyZ2luLXRvcDogMC41ZW0gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGUgLSAoJGxpbmUtc3BhY2luZyAqIDIpO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IHtcbiAgICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHdyYXBwZXItcGFkZGluZy1ib3R0b207XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAgIHBhZGRpbmc6ICRpbmZpeC1wYWRkaW5nIDA7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCB3aWxsIHJlbHkgb24gQXV0b2ZpbGxNb25pdG9yIGluc3RlYWQuXG4gICAgICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbDotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIC8vIFdlIHdhbnQgdGhlIHVuZGVybGluZSB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50LlxuICAgICAgYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogJHN1YnNjcmlwdC1tYXJnaW4tdG9wO1xuXG4gICAgICAvLyBXZSB3YW50IHRoZSBzdWJzY3JpcHQgdG8gc3RhcnQgYXQgdGhlIGVuZCBvZiB0aGUgY29udGVudCBib3gsIG5vdCB0aGUgcGFkZGluZyBib3gsXG4gICAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudCAoYWRqdXN0ZWQgZm9yIHRoZSBzbWFsbGVyIGZvbnQgc2l6ZSk7XG4gICAgICB0b3A6IGNhbGMoMTAwJSAtICN7JHdyYXBwZXItcGFkZGluZy1ib3R0b20gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGV9KTtcbiAgICB9XG4gIH1cblxuICAvLyB0cmFuc2xhdGVaIGNhdXNlcyB0aGUgbGFiZWwgdG8gbm90IGFwcGVhciB3aGlsZSBwcmludGluZywgc28gd2Ugb3ZlcnJpZGUgaXQgdG8gbm90XG4gIC8vIGFwcGx5IHRyYW5zbGF0ZVogd2hpbGUgcHJpbnRpbmdcbiAgQG1lZGlhIHByaW50IHtcbiAgICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KFxuICAgICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCB3aWxsIHJlbHkgb24gQXV0b2ZpbGxNb25pdG9yIGluc3RlYWQuXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmctcHJpbnQoXG4gICAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KFxuICAgICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtbGVnYWN5Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtbGVnYWN5LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG4vLyBUaGVtZSBzdHlsZXMgdGhhdCBvbmx5IGFwcGx5IHRvIHRoZSBvdXRsaW5lIGFwcGVhcmFuY2Ugb2YgdGhlIGZvcm0tZmllbGQuXG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG5cbiAgJGxhYmVsLWRpc2FibGVkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICAkb3V0bGluZS1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMC4zLCAwLjEyKSk7XG4gICRvdXRsaW5lLWNvbG9yLWhvdmVyOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAxLCAwLjg3KSk7XG4gICRvdXRsaW5lLWNvbG9yLXByaW1hcnk6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICRvdXRsaW5lLWNvbG9yLWFjY2VudDogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAkb3V0bGluZS1jb2xvci13YXJuOiBtYXQtY29sb3IoJHdhcm4pO1xuICAkb3V0bGluZS1jb2xvci1kaXNhYmxlZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMC4xNSwgMC4wNikpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUge1xuICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHtcbiAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvcjtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICBjb2xvcjogJG91dGxpbmUtY29sb3ItaG92ZXI7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9jdXNlZCB7XG4gICAgICAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1wcmltYXJ5O1xuICAgICAgfVxuXG4gICAgICAmLm1hdC1hY2NlbnQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3ItYWNjZW50O1xuICAgICAgfVxuXG4gICAgICAmLm1hdC13YXJuIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xhc3MgcmVwZWF0ZWQgc28gdGhhdCBydWxlIGlzIHNwZWNpZmljIGVub3VnaCB0byBvdmVycmlkZSBmb2N1c2VkIGFjY2VudCBjb2xvciBjYXNlLlxuICAgICYubWF0LWZvcm0tZmllbGQtaW52YWxpZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIHtcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCB7XG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGxhYmVsLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAubWF0LWZvcm0tZmllbGQtb3V0bGluZSB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlZCB0byBtYWtlIGluc3RhbmNlcyBvZiB0aGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nIG1peGluIG5lZ2xpZ2libHkgZGlmZmVyZW50LFxuLy8gYW5kIHByZXZlbnQgR29vZ2xlJ3MgQ1NTIE9wdGltaXplciBmcm9tIGNvbGxhcHNpbmcgdGhlIGRlY2xhcmF0aW9ucy4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBzb21lXG4vLyBvZiB0aGUgc2VsZWN0b3JzIGNvbnRhaW4gcHNldWRvLWNsYXNzZXMgbm90IHJlY29nbml6ZWQgaW4gYWxsIGJyb3dzZXJzLiBJZiBhIGJyb3dzZXIgZW5jb3VudGVyc1xuLy8gYW4gdW5rbm93biBwc2V1ZG8tY2xhc3MgaXQgd2lsbCBkaXNjYXJkIHRoZSBlbnRpcmUgcnVsZSBzZXQuXG4kbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtb3V0bGluZS1sYWJlbC1mbG9hdGluZygkZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZSlcbiAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICB3aWR0aDogMTAwJSAvICRmb250LXNjYWxlICsgJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlICsgMC4wMDAwMSAhZ2xvYmFsO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtb3V0bGluZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgZmxvYXRpbmcgbGFiZWwgYW5kIHN1YnNjcmlwdC5cbiAgJHN1YnNjcmlwdC1mb250LXNjYWxlOiAwLjc1O1xuICAvLyBUaGUgcGFkZGluZyBhYm92ZSBhbmQgYmVsb3cgdGhlIGluZml4LlxuICAkaW5maXgtcGFkZGluZzogMWVtO1xuICAvLyBUaGUgbWFyZ2luIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtaW5maXggdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsLlxuICAkaW5maXgtbWFyZ2luLXRvcDogMWVtICogJGxpbmUtaGVpZ2h0ICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgc3BhY2UgYmV0d2VlbiB0aGUgYm90dG9tIG9mIHRoZSAubWF0LWZvcm0tZmllbGQtZmxleCBhcmVhIGFuZCB0aGUgc3Vic2NyaXB0IHdyYXBwZXIuXG4gIC8vIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLCBidXQgdGhpcyBtYXJnaW4gaXMgYXBwbGllZCB0byBhbiBlbGVtZW50IHdpdGggdGhlIHN1YnNjcmlwdFxuICAvLyB0ZXh0IGZvbnQgc2l6ZSwgc28gd2UgbmVlZCB0byBkaXZpZGUgYnkgdGhlIHNjYWxlIGZhY3RvciB0byBtYWtlIGl0IGhhbGYgb2YgdGhlIG9yaWdpbmFsIHRleHRcbiAgLy8gc2l6ZS5cbiAgJHN1YnNjcmlwdC1tYXJnaW4tdG9wOiAwLjVlbSAvICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIHBhZGRpbmcgYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC13cmFwcGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBzdWJzY3JpcHQsIHNpbmNlIGl0J3NcbiAgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkLiBUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgdGhlIHN1YnNjcmlwdCdzIG1hcmdpbiBhbmQgbGluZS1oZWlnaHQsIGJ1dCB3ZVxuICAvLyBuZWVkIHRvIG11bHRpcGx5IGJ5IHRoZSBzdWJzY3JpcHQgZm9udCBzY2FsZSBmYWN0b3Igc2luY2UgdGhlIHdyYXBwZXIgaGFzIGEgbGFyZ2VyIGZvbnQgc2l6ZS5cbiAgJHdyYXBwZXItcGFkZGluZy1ib3R0b206ICgkc3Vic2NyaXB0LW1hcmdpbi10b3AgKyAkbGluZS1oZWlnaHQpICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgYW1vdW50IHdlIG9mZnNldCB0aGUgbGFiZWwgZnJvbSB0aGUgaW5wdXQgdGV4dCBpbiB0aGUgb3V0bGluZSBhcHBlYXJhbmNlLlxuICAkb3V0bGluZS1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldDogLTAuMjVlbTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIHtcbiAgICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgICAgcGFkZGluZzogJGluZml4LXBhZGRpbmcgMCAkaW5maXgtcGFkZGluZyAwO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICB0b3A6ICRpbmZpeC1tYXJnaW4tdG9wICsgJGluZml4LXBhZGRpbmc7XG4gICAgICBtYXJnaW4tdG9wOiAkb3V0bGluZS1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldDtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcgKyAkb3V0bGluZS1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtb3V0bGluZS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nICsgJG91dGxpbmUtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtb3V0bGluZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cblxuXG4vLyBUaGVtZSBzdHlsZXMgdGhhdCBvbmx5IGFwcGx5IHRvIHRoZSBzdGFuZGFyZCBhcHBlYXJhbmNlIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuXG4gICR1bmRlcmxpbmUtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNywgMC40MikpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3I7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jb250cm9sLWRpc2FibGVkLXVuZGVybGluZSgkdW5kZXJsaW5lLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1zdGFuZGFyZC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbG9yIHN0eWxlcyB0aGF0IGFwcGx5IHRvIGFsbCBhcHBlYXJhbmNlcyBvZiB0aGUgZm9ybS1maWVsZC5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAvLyBMYWJlbCBjb2xvcnMuIFJlcXVpcmVkIGlzIHVzZWQgZm9yIHRoZSBgKmAgc3RhciBzaG93biBpbiB0aGUgbGFiZWwuXG4gICRsYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNywgMC42KSk7XG4gICRmb2N1c2VkLWxhYmVsLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICAkcmVxdWlyZWQtbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KTtcblxuICAvLyBVbmRlcmxpbmUgY29sb3JzLlxuICAkdW5kZXJsaW5lLWNvbG9yLWJhc2U6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDEsIDAuODcpKTtcbiAgJHVuZGVybGluZS1jb2xvci1hY2NlbnQ6IG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KTtcbiAgJHVuZGVybGluZS1jb2xvci13YXJuOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICAkdW5kZXJsaW5lLWZvY3VzZWQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgdGV4dCk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1oaW50IHtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgY29sb3I6ICRmb2N1c2VkLWxhYmVsLWNvbG9yO1xuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLWFjY2VudDtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yZXF1aXJlZC1tYXJrZXIge1xuICAgIGNvbG9yOiAkcmVxdWlyZWQtbGFiZWwtY29sb3I7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLWJhc2U7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQge1xuICAgIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1mb2N1c2VkLWNvbG9yO1xuXG4gICAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLWFjY2VudDtcbiAgICAgIH1cblxuICAgICAgJi5tYXQtd2FybiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpIHtcbiAgICAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWZvY3VzZWQtY29sb3I7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3ItYWNjZW50O1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxpbmcgZm9yIHRoZSBlcnJvciBzdGF0ZSBvZiB0aGUgZm9ybSBmaWVsZC4gTm90ZSB0aGF0IHdoaWxlIHRoZSBzYW1lIGNhbiBiZVxuICAvLyBhY2hpZXZlZCB3aXRoIHRoZSBuZy0qIGNsYXNzZXMsIHdlIHVzZSB0aGlzIGFwcHJvYWNoIGluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBzYW1lXG4gIC8vIGxvZ2ljIGlzIHVzZWQgdG8gc3R5bGUgdGhlIGVycm9yIHN0YXRlIGFuZCB0byBzaG93IHRoZSBlcnJvciBtZXNzYWdlcy5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQge1xuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuXG4gICAgICAmLm1hdC1hY2NlbnQsXG4gICAgICAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyIHtcbiAgICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtcmlwcGxlLFxuICAgIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LWFjY2VudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgfVxuICB9XG5cbiAgLm1hdC1lcnJvciB7XG4gICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1jb2xvcigkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtY29sb3IoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWZpbGwtY29sb3IoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtY29sb3IoJGNvbmZpZyk7XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLWRlZHVwZTogMDtcblxuLy8gQXBwbGllcyBhIGZsb2F0aW5nIGxhYmVsIGFib3ZlIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wgaXRzZWxmLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZygkZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1kZWR1cGUpXG4gICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICB3aWR0aDogMTAwJSAvICRmb250LXNjYWxlICsgJG1hdC1mb3JtLWZpZWxkLWRlZHVwZTtcblxuICAkbWF0LWZvcm0tZmllbGQtZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtZGVkdXBlICsgMC4wMDAwMSAhZ2xvYmFsO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcblxuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgZmxvYXRpbmcgbGFiZWwgYW5kIHN1YnNjcmlwdC5cbiAgJHN1YnNjcmlwdC1mb250LXNjYWxlOiAwLjc1O1xuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgcHJlZml4IGFuZCBzdWZmaXggaWNvbnMuXG4gICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZTogMS41O1xuXG4gIC8vIFRoZSBwYWRkaW5nIG9uIHRoZSBpbmZpeC4gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUuXG4gICRpbmZpeC1wYWRkaW5nOiAwLjVlbTtcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gRm9udCBzaXplIHRvIHVzZSBmb3IgdGhlIGxhYmVsIGFuZCBzdWJzY3JpcHQgdGV4dC5cbiAgJHN1YnNjcmlwdC1mb250LXNpemU6ICRzdWJzY3JpcHQtZm9udC1zY2FsZSAqIDEwMCU7XG4gIC8vIEZvbnQgc2l6ZSB0byB1c2UgZm9yIHRoZSBmb3IgdGhlIHByZWZpeCBhbmQgc3VmZml4IGljb25zLlxuICAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2l6ZTogJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNjYWxlICogMTAwJTtcbiAgLy8gVGhlIHNwYWNlIGJldHdlZW4gdGhlIGJvdHRvbSBvZiB0aGUgLm1hdC1mb3JtLWZpZWxkLWZsZXggYXJlYSBhbmQgdGhlIHN1YnNjcmlwdCB3cmFwcGVyLlxuICAvLyBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZSwgYnV0IHRoaXMgbWFyZ2luIGlzIGFwcGxpZWQgdG8gYW4gZWxlbWVudCB3aXRoIHRoZSBzdWJzY3JpcHRcbiAgLy8gdGV4dCBmb250IHNpemUsIHNvIHdlIG5lZWQgdG8gZGl2aWRlIGJ5IHRoZSBzY2FsZSBmYWN0b3IgdG8gbWFrZSBpdCBoYWxmIG9mIHRoZSBvcmlnaW5hbCB0ZXh0XG4gIC8vIHNpemUuXG4gICRzdWJzY3JpcHQtbWFyZ2luLXRvcDogMC41ZW0gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBwYWRkaW5nIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtd3JhcHBlciB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgc3Vic2NyaXB0LCBzaW5jZSBpdCdzXG4gIC8vIGFic29sdXRlbHkgcG9zaXRpb25lZC4gVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIHRoZSBzdWJzY3JpcHQncyBtYXJnaW4gYW5kIGxpbmUtaGVpZ2h0LCBidXQgd2VcbiAgLy8gbmVlZCB0byBtdWx0aXBseSBieSB0aGUgc3Vic2NyaXB0IGZvbnQgc2NhbGUgZmFjdG9yIHNpbmNlIHRoZSB3cmFwcGVyIGhhcyBhIGxhcmdlciBmb250IHNpemUuXG4gICR3cmFwcGVyLXBhZGRpbmctYm90dG9tOiAoJHN1YnNjcmlwdC1tYXJnaW4tdG9wICsgJGxpbmUtaGVpZ2h0KSAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcblxuICAubWF0LWZvcm0tZmllbGQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBpbnB1dCk7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206ICR3cmFwcGVyLXBhZGRpbmctYm90dG9tO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCxcbiAgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCB7XG4gICAgLy8gQWxsb3cgaWNvbnMgaW4gYSBwcmVmaXggb3Igc3VmZml4IHRvIGFkYXB0IHRvIHRoZSBjb3JyZWN0IHNpemUuXG4gICAgLm1hdC1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIH1cblxuICAgIC8vIEFsbG93IGljb24gYnV0dG9ucyBpbiBhIHByZWZpeCBvciBzdWZmaXggdG8gYWRhcHQgdG8gdGhlIGNvcnJlY3Qgc2l6ZS5cbiAgICAubWF0LWljb24tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNjYWxlICogMWVtO1xuICAgICAgd2lkdGg6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZSAqIDFlbTtcblxuICAgICAgLm1hdC1pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAkbGluZS1oZWlnaHQgKiAxZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICBwYWRkaW5nOiAkaW5maXgtcGFkZGluZyAwO1xuICAgIC8vIFRocm93cyBvZmYgdGhlIGJhc2VsaW5lIGlmIHdlIGRvIGl0IGFzIGEgcmVhbCBtYXJnaW4sIHNvIHdlIGRvIGl0IGFzIGEgYm9yZGVyIGluc3RlYWQuXG4gICAgYm9yZGVyLXRvcDogJGluZml4LW1hcmdpbi10b3Agc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IHtcbiAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgfVxuXG4gICAgLy8gU2VydmVyLXNpZGUgcmVuZGVyZWQgbWF0SW5wdXQgd2l0aCBhIGxhYmVsIGF0dHJpYnV0ZSBidXQgbGFiZWwgbm90IHNob3duXG4gICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIge1xuICAgIHRvcDogLSRpbmZpeC1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkaW5maXgtbWFyZ2luLXRvcDtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgdG9wOiAkaW5maXgtbWFyZ2luLXRvcCArICRpbmZpeC1wYWRkaW5nO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgLy8gV2Ugd2FudCB0aGUgdW5kZXJsaW5lIHRvIHN0YXJ0IGF0IHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgYm94LCBub3QgdGhlIHBhZGRpbmcgYm94LFxuICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50LlxuICAgIGJvdHRvbTogJHdyYXBwZXItcGFkZGluZy1ib3R0b207XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgIGZvbnQtc2l6ZTogJHN1YnNjcmlwdC1mb250LXNpemU7XG4gICAgbWFyZ2luLXRvcDogJHN1YnNjcmlwdC1tYXJnaW4tdG9wO1xuXG4gICAgLy8gV2Ugd2FudCB0aGUgc3Vic2NyaXB0IHRvIHN0YXJ0IGF0IHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgYm94LCBub3QgdGhlIHBhZGRpbmcgYm94LFxuICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50IChhZGp1c3RlZCBmb3IgdGhlIHNtYWxsZXIgZm9udCBzaXplKTtcbiAgICB0b3A6IGNhbGMoMTAwJSAtICN7JHdyYXBwZXItcGFkZGluZy1ib3R0b20gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGV9KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1maWxsLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbn1cblxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSk7XG4gIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1zdGFuZGFyZC1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlKTtcbiAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSk7XG4gIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IF9tYXQtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgX21hdC1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1mb3JtLWZpZWxkJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbiRtYXQtdHJlZS1ub2RlLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciB0cmVlIG5vZGVzIGluIGhpZ2hlc3QgZGVuc2l0eSBpcyBkaWZmaWN1bHQgdG8gZGV0ZXJtaW5lIGFzXG4vLyBkZXZlbG9wZXJzIGNhbiBkaXNwbGF5IGFyYml0cmFyeSBjb250ZW50LiBXZSB1c2UgYSBtaW5pbXVtIGhlaWdodCB3aGljaCBlbnN1cmVzXG4vLyB0aGF0IGNvbW1vbiBjb250ZW50IHBsYWNlZCBpbiB0cmVlIG5vZGVzIGRvZXMgbm90IGV4Y2VlZCAoZS5nLiBpY29ucywgY2hlY2tib3hlcykuXG4kbWF0LXRyZWUtbm9kZS1taW5pbXVtLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbiRtYXQtdHJlZS1ub2RlLW1heGltdW0taGVpZ2h0OiAkbWF0LXRyZWUtbm9kZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtdHJlZS1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXRyZWUtbm9kZS1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC10cmVlLW5vZGUtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC10cmVlLW5vZGUtbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIG1hdC10cmVlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXRyZWUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtdHJlZS1ub2RlLFxuICAubWF0LW5lc3RlZC10cmVlLW5vZGUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdHJlZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC10cmVlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC10cmVlLW5vZGUsXG4gIC5tYXQtbmVzdGVkLXRyZWUtbm9kZSB7XG4gICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRyZWUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaGVpZ2h0OiBfbWF0LWRlbnNpdHktcHJvcC12YWx1ZSgkbWF0LXRyZWUtZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIF9tYXQtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgICAubWF0LXRyZWUtbm9kZSB7XG4gICAgICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRyZWUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IF9tYXQtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgX21hdC1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10cmVlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRyZWUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC10cmVlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdHJlZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuLy8gSW5jbHVkZXMgYWxsIG9mIHRoZSB0eXBvZ3JhcGhpYyBzdHlsZXMuXG5AbWl4aW4gYW5ndWxhci1tYXRlcmlhbC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWU6IG51bGwpIHtcbiAgJGNvbmZpZzogaWYoX21hdC1pcy10aGVtZS1vYmplY3QoJGNvbmZpZy1vci10aGVtZSksXG4gICAgICBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpLCAkY29uZmlnLW9yLXRoZW1lKTtcblxuICAvLyBJZiBubyBhY3R1YWwgY29sb3IgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBzcGVjaWZpZWQsIGNyZWF0ZSBhIGRlZmF1bHQgb25lLlxuICBAaWYgbm90ICRjb25maWcge1xuICAgICRjb25maWc6IG1hdC10eXBvZ3JhcGh5LWNvbmZpZygpO1xuICB9XG5cbiAgLy8gVE9ETzogQ09NUC0zMDk6IERvIG5vdCB1c2UgaW5kaXZpZHVhbCBtaXhpbnMuIEluc3RlYWQsIHVzZSB0aGUgYWxsLXRoZW1lIG1peGluIGFuZCBvbmx5XG4gIC8vIHNwZWNpZnkgYSBgdHlwb2dyYXBoeWAgY29uZmlnIHdoaWxlIHNldHRpbmcgYGNvbG9yYCBhbmQgYGRlbnNpdHlgIHRvIGBudWxsYC4gVGhpcyBpcyBjdXJyZW50bHlcbiAgLy8gbm90IHBvc3NpYmxlIGFzIGl0IHdvdWxkIGludHJvZHVjZSBhIGNpcmN1bGFyIGRlcGVuZGVuY3kgZm9yIHR5cG9ncmFwaHkgYmVjYXVzZSB0aGUgYG1hdC1jb3JlYFxuICAvLyBtaXhpbiB0aGF0IGlzIHRyYW5zaXRpdmVseSBsb2FkZWQgYnkgdGhlIGBhbGwtdGhlbWVgIGZpbGUsIGltcG9ydHMgYGFsbC10eXBvZ3JhcGh5YCB3aGljaFxuICAvLyB3b3VsZCB0aGVuIGxvYWQgYGFsbC10aGVtZWAgYWdhaW4uIFRoaXMgdWx0aW1hdGVseSByZXN1bHRzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeS5cblxuICBAaW5jbHVkZSBtYXQtYmFkZ2UtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJhc2UtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYm90dG9tLXNoZWV0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1idXR0b24tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWNhcmQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1jaGlwcy10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZGl2aWRlci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdGFibGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWRhdGVwaWNrZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWRpYWxvZy10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1ncmlkLWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWljb24tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWlucHV0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1tZW51LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcmFkaW8tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNlbGVjdC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2lkZW5hdi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2xpZGUtdG9nZ2xlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zbGlkZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNvcnQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRhYnMtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRvb2xiYXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRvb2x0aXAtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtb3B0Z3JvdXAtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdHJlZS10eXBvZ3JhcGh5KCRjb25maWcpO1xufVxuXG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgc3R5bGVzIHRoYXQgYXJlIG5vdCB0aGVtZS1kZXBlbmRlbnQuXG5AbWl4aW4gbWF0LWNvcmUoJHR5cG9ncmFwaHktY29uZmlnOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeS1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcmlwcGxlKCk7XG4gIEBpbmNsdWRlIGNkay1hMTF5KCk7XG4gIEBpbmNsdWRlIGNkay1vdmVybGF5KCk7XG4gIEBpbmNsdWRlIGNkay10ZXh0LWZpZWxkKCk7XG5cbiAgQGluY2x1ZGUgX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1wb3NpdGlvbmluZygpO1xuICBAaW5jbHVkZSBfbWF0LW1kYy1jb3JlKCk7XG59XG5cbkBtaXhpbiBtYXQtY29yZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBXcmFwcGVyIGVsZW1lbnQgdGhhdCBwcm92aWRlcyB0aGUgdGhlbWUgYmFja2dyb3VuZCB3aGVuIHRoZSB1c2VyJ3MgY29udGVudCBpc24ndFxuICAvLyBpbnNpZGUgb2YgYSBgbWF0LXNpZGVuYXYtY29udGFpbmVyYC4gTm90ZSB0aGF0IHdlIG5lZWQgdG8gZXhjbHVkZSB0aGUgYW1wZXJzYW5kXG4gIC8vIHNlbGVjdG9yIGluIGNhc2UgdGhlIG1peGluIGlzIGluY2x1ZGVkIGF0IHRoZSB0b3AgbGV2ZWwuXG4gIC5tYXQtYXBwLWJhY2tncm91bmQje2lmKCYsICcsICYubWF0LWFwcC1iYWNrZ3JvdW5kJywgJycpfSB7XG4gICAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGJhY2tncm91bmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLy8gUHJvdmlkZXMgZXh0ZXJuYWwgQ1NTIGNsYXNzZXMgZm9yIGVhY2ggZWxldmF0aW9uIHZhbHVlLiBFYWNoIENTUyBjbGFzcyBpcyBmb3JtYXR0ZWQgYXNcbiAgLy8gYG1hdC1lbGV2YXRpb24teiR6VmFsdWVgIHdoZXJlIGAkelZhbHVlYCBjb3JyZXNwb25kcyB0byB0aGUgei1zcGFjZSB0byB3aGljaCB0aGUgZWxlbWVudCBpc1xuICAvLyBlbGV2YXRlZC5cbiAgQGZvciAkelZhbHVlIGZyb20gMCB0aHJvdWdoIDI0IHtcbiAgICAuI3skX21hdC1lbGV2YXRpb24tcHJlZml4fSN7JHpWYWx1ZX0ge1xuICAgICAgQGluY2x1ZGUgX21hdC10aGVtZS1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFya2VyIHRoYXQgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgdXNlciBoYXMgYWRkZWQgYSB0aGVtZSB0byB0aGVpciBwYWdlLlxuICBAYXQtcm9vdCB7XG4gICAgLm1hdC10aGVtZS1sb2FkZWQtbWFya2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgc3R5bGVzIHRoYXQgZGVwZW5kIG9uIHRoZSB0aGVtZS5cbkBtaXhpbiBtYXQtY29yZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogX21hdC1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAvLyBXcmFwIHRoZSBzdWItdGhlbWUgaW5jbHVkZXMgaW4gdGhlIGR1cGxpY2F0ZSB0aGVtZSBzdHlsZXMgbWl4aW4uIFRoaXMgZW5zdXJlcyB0aGF0XG4gIC8vIHRoZXJlIHdvbid0IGJlIG11bHRpcGxlIHdhcm5pbmdzLiBlLmcuIGlmIGBtYXQtY29yZS10aGVtZWAgcmVwb3J0cyBhIHdhcm5pbmcsIHRoZW5cbiAgLy8gdGhlIGltcG9ydGVkIHRoZW1lcyAoc3VjaCBhcyBgbWF0LXJpcHBsZS10aGVtZWApIHNob3VsZCBub3QgcmVwb3J0IGFnYWluLlxuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWNvcmUnKSB7XG4gICAgQGluY2x1ZGUgbWF0LXJpcHBsZS10aGVtZSgkdGhlbWUpO1xuICAgIEBpbmNsdWRlIG1hdC1vcHRpb24tdGhlbWUoJHRoZW1lKTtcbiAgICBAaW5jbHVkZSBtYXQtb3B0Z3JvdXAtdGhlbWUoJHRoZW1lKTtcbiAgICBAaW5jbHVkZSBtYXQtcHNldWRvLWNoZWNrYm94LXRoZW1lKCR0aGVtZSk7XG5cbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jb3JlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgTURDIHN0eWxlcy4gUHJpdmF0ZSBtaXhpbiBpbmNsdWRlZCB3aXRoIGBtYXQtY29yZWAuXG5AbWl4aW4gX21hdC1tZGMtY29yZSgpIHtcbiAgQGluY2x1ZGUgX21hdC1tZGMtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKTtcbn1cblxuLy8gTWl4aW4gdGhhdCBlbnN1cmVzIGZvY3VzIGluZGljYXRvciBob3N0IGVsZW1lbnRzIGFyZSBwb3NpdGlvbmVkIHNvIHRoYXQgdGhlIGZvY3VzIGluZGljYXRvclxuLy8gcHNldWRvIGVsZW1lbnQgd2l0aGluIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGhvc3QuIFByaXZhdGUgbWl4aW4gaW5jbHVkZWQgd2l0aGluXG4vLyBgX21hdC1tZGMtY29yZWAuXG5AbWl4aW4gX21hdC1tZGMtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKSB7XG4gIC5tYXQtbWRjLWZvY3VzLWluZGljYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vIENyZWF0ZSBhIHRoZW1lLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICBAaW5jbHVkZSBfbWF0LWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZywgJ2FuZ3VsYXItbWF0ZXJpYWwtdGhlbWUnKSB7XG4gICAgQGluY2x1ZGUgbWF0LWNvcmUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYmFkZ2UtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1jYXJkLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtY2hpcHMtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXRhYmxlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1kYXRlcGlja2VyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWRpdmlkZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1pY29uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1pbnB1dC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtbGlzdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtbWVudS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1iYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLXNwaW5uZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXJhZGlvLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zZWxlY3QtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNpZGVuYXYtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtc2xpZGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zdGVwcGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zb3J0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10YWJzLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10b29sdGlwLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10cmVlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zbmFjay1iYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIH1cbn1cblxuXG4vLyBJbmNsdWRlcyBhbGwgb2YgdGhlIGNvbG9yIHN0eWxlcy5cbkBtaXhpbiBhbmd1bGFyLW1hdGVyaWFsLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgLy8gSW4gY2FzZSBhIHRoZW1lIG9iamVjdCBoYXMgYmVlbiBwYXNzZWQgaW5zdGVhZCBvZiBhIGNvbmZpZ3VyYXRpb24gZm9yXG4gIC8vIHRoZSBjb2xvciBzeXN0ZW0sIGV4dHJhY3QgdGhlIGNvbG9yIGNvbmZpZyBmcm9tIHRoZSB0aGVtZSBvYmplY3QuXG4gICRjb25maWc6IGlmKF9tYXQtaXMtdGhlbWUtb2JqZWN0KCRjb25maWctb3ItdGhlbWUpLFxuICAgICAgbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSksICRjb25maWctb3ItdGhlbWUpO1xuXG4gIEBpZiAkY29uZmlnID09IG51bGwge1xuICAgIEBlcnJvciAnTm8gY29sb3IgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQuJztcbiAgfVxuXG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoKFxuICAgIGNvbG9yOiAkY29uZmlnLFxuICAgIHR5cG9ncmFwaHk6IG51bGwsXG4gICAgZGVuc2l0eTogbnVsbCxcbiAgKSk7XG59XG5cblxuXG4vLyBJbmNsdWRlcyBhbGwgb2YgdGhlIGRlbnNpdHkgc3R5bGVzLlxuQG1peGluIF9hbmd1bGFyLW1hdGVyaWFsLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAvLyBJbiBjYXNlIGEgdGhlbWUgb2JqZWN0IGhhcyBiZWVuIHBhc3NlZCBpbnN0ZWFkIG9mIGEgY29uZmlndXJhdGlvbiBmb3JcbiAgLy8gdGhlIGRlbnNpdHkgc3lzdGVtLCBleHRyYWN0IHRoZSBkZW5zaXR5IGNvbmZpZyBmcm9tIHRoZSB0aGVtZSBvYmplY3QuXG4gICRjb25maWc6IGlmKF9tYXQtaXMtdGhlbWUtb2JqZWN0KCRjb25maWctb3ItdGhlbWUpLFxuICAgICAgbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKSwgJGNvbmZpZy1vci10aGVtZSk7XG5cbiAgQGlmICRjb25maWcgPT0gbnVsbCB7XG4gICAgQGVycm9yICdObyBkZW5zaXR5IGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkLic7XG4gIH1cblxuICBAaW5jbHVkZSBhbmd1bGFyLW1hdGVyaWFsLXRoZW1lKChcbiAgICBjb2xvcjogbnVsbCxcbiAgICB0eXBvZ3JhcGh5OiBudWxsLFxuICAgIGRlbnNpdHk6ICRjb25maWcsXG4gICkpO1xufVxuXG5cblxuIiwiLm5nLXNlbGVjdHtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm5nLXNlbGVjdC5uZy1zZWxlY3QtZGlzYWJsZWQgLm5nLXNlbGVjdC1jb250YWluZXI6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLDAsMCwwLjQyKSAwJSwgcmdiYSgwLDAsMCwwLjQyKSAzMyUsIHRyYW5zcGFyZW50IDAlKTtiYWNrZ3JvdW5kLXNpemU6NHB4IDFweDtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1kaXNhYmxlZCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZXtjb2xvcjpyZ2JhKDAsMCwwLDAuMzgpfS5uZy1zZWxlY3Qubmctc2VsZWN0LWRpc2FibGVkIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoMCwwLDAsMC4zOCl9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtZGlzYWJsZWQgLm5nLWFycm93LXdyYXBwZXIgLm5nLWFycm93LC5uZy1zZWxlY3Qubmctc2VsZWN0LWRpc2FibGVkIC5uZy1jbGVhci13cmFwcGVye2NvbG9yOnJnYmEoMCwwLDAsMC4zOCl9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtZm9jdXNlZCAubmctc2VsZWN0LWNvbnRhaW5lcjphZnRlcntib3JkZXItY29sb3I6IzNmNTFiNTtib3JkZXItd2lkdGg6MnB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LWZvY3VzZWQgLm5nLXNlbGVjdC1jb250YWluZXIubmctYXBwZWFyYW5jZS1vdXRsaW5lOmFmdGVyLC5uZy1zZWxlY3Qubmctc2VsZWN0LWZvY3VzZWQgLm5nLXNlbGVjdC1jb250YWluZXIubmctYXBwZWFyYW5jZS1vdXRsaW5lOmhvdmVyOmFmdGVye2JvcmRlci1jb2xvcjojM2Y1MWI1O2JvcmRlci13aWR0aDoycHh9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtZm9jdXNlZCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1wbGFjZWhvbGRlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTtjb2xvcjojM2Y1MWI1fS5uZy1zZWxlY3Qubmctc2VsZWN0LWZvY3VzZWQgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLWFycm93LXdyYXBwZXIgLm5nLWFycm93e2NvbG9yOiMzZjUxYjV9Lm5nLXNlbGVjdCAubmctaGFzLXZhbHVlIC5uZy1wbGFjZWhvbGRlciwubmctc2VsZWN0Lm5nLXNlbGVjdC1maWx0ZXJlZCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctcGxhY2Vob2xkZXJ7ZGlzcGxheTppbml0aWFsfS5uZy1zZWxlY3QgLm5nLWhhcy12YWx1ZSAubmctcGxhY2Vob2xkZXIsLm5nLXNlbGVjdC5uZy1zZWxlY3Qtb3BlbmVkIC5uZy1wbGFjZWhvbGRlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KX0ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVye2NvbG9yOnJnYmEoMCwwLDAsMC44Nyk7YWxpZ24taXRlbXM6YmFzZWxpbmU7bWluLWhlaWdodDo1MS41cHh9Lm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lcjphZnRlcntib3JkZXItYm90dG9tOnRoaW4gc29saWQgcmdiYSgwLDAsMCwwLjQyKTtjb250ZW50OicnO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIDAuM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuNTUsIDAuMil9Lm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lci5uZy1hcHBlYXJhbmNlLW91dGxpbmV7cGFkZGluZzowIC41ZW07bWluLWhlaWdodDo2MHB4fS5uZy1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXIubmctYXBwZWFyYW5jZS1vdXRsaW5lOmFmdGVye2JvcmRlcjpzb2xpZCAxcHggcmdiYSgwLDAsMCwwLjEyKTtib3JkZXItcmFkaXVzOjVweDtoZWlnaHQ6Y2FsYygxMDAlIC0gLjVlbSk7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5uZy1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXIubmctYXBwZWFyYW5jZS1vdXRsaW5lOmhvdmVyOmFmdGVye2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuODcpO2JvcmRlci13aWR0aDoycHh9Lm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lci5uZy1hcHBlYXJhbmNlLW91dGxpbmUgLm5nLXBsYWNlaG9sZGVye3BhZGRpbmc6MCAuMjVlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ei1pbmRleDoxfS5uZy1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXIubmctYXBwZWFyYW5jZS1vdXRsaW5lIC5uZy12YWx1ZXtwYWRkaW5nLWxlZnQ6LjI1ZW19Lm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVye2FsaWduLWl0ZW1zOnN0cmV0Y2g7cGFkZGluZzouNDM3NWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXBsYWNlaG9sZGVye3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOnJnYmEoMCwwLDAsMC41NCk7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IDA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxjb2xvciAwLjRzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLHdpZHRoIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXBsYWNlaG9sZGVye3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgMH0ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLWlucHV0e2JvdHRvbTouNDM3NWVtfS5uZy1zZWxlY3Qubmctc2VsZWN0LXNpbmdsZSAubmctc2VsZWN0LWNvbnRhaW5lci5uZy1hcHBlYXJhbmNlLW91dGxpbmUgLm5nLWFycm93LXdyYXBwZXJ7Ym90dG9tOjE3cHh9Lm5nLXNlbGVjdC5uZy1zZWxlY3Qtc2luZ2xlIC5uZy1zZWxlY3QtY29udGFpbmVyLm5nLWFwcGVhcmFuY2Utb3V0bGluZSAubmctY2xlYXItd3JhcHBlcntib3R0b206MTRweH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1zaW5nbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLWFycm93LXdyYXBwZXJ7YWxpZ24tc2VsZjpmbGV4LWVuZDtib3R0b206OXB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LXNpbmdsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctY2xlYXItd3JhcHBlcnthbGlnbi1zZWxmOmZsZXgtZW5kO2JvdHRvbTo3cHh9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUubmctc2VsZWN0LWRpc2FibGVkIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEyKTtjb2xvcjpyZ2JhKDAsMCwwLDAuMjYpfS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlLm5nLXNlbGVjdC1kaXNhYmxlZCAubmctYXBwZWFyYW5jZS1vdXRsaW5lOmFmdGVyLC5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlLm5nLXNlbGVjdC1kaXNhYmxlZCAubmctYXBwZWFyYW5jZS1vdXRsaW5lOmhvdmVyOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXI6ZG90dGVkIDFweCByZ2JhKDAsMCwwLDAuMTIpfS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyLm5nLWFwcGVhcmFuY2Utb3V0bGluZS5uZy1oYXMtdmFsdWUgLm5nLWFycm93LXdyYXBwZXIsLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIubmctYXBwZWFyYW5jZS1vdXRsaW5lLm5nLWhhcy12YWx1ZSAubmctY2xlYXItd3JhcHBlcntib3JkZXItdG9wOm5vbmV9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIubmctYXBwZWFyYW5jZS1vdXRsaW5lIC5uZy1hcnJvdy13cmFwcGVye3RvcDowfS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyLm5nLWFwcGVhcmFuY2Utb3V0bGluZSAubmctY2xlYXItd3JhcHBlcnt0b3A6NHB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVle2JhY2tncm91bmQtY29sb3I6IzNmNTFiNTtib3JkZXItcmFkaXVzOjJweDtjb2xvcjojZmZmO3BhZGRpbmc6MnB4IDVweDttYXJnaW46MCAwLjQzNzVlbSAwLjQzNzVlbSAwfVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWV7bWFyZ2luOjAgMCAwLjQzNzVlbSAwLjQzNzVlbX0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZS5uZy12YWx1ZS1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xMik7Y29sb3I6cmdiYSgwLDAsMCwwLjI2KX0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtbGFiZWx7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1pY29ue2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC41NCk7cGFkZGluZy1yaWdodDo1cHh9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtaWNvbntwYWRkaW5nLWxlZnQ6NXB4O3BhZGRpbmctcmlnaHQ6MH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtaWNvbjpob3Zlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuODcpfS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLWlucHV0e2xpbmUtaGVpZ2h0OjEuMzc1ZW19Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIubmctaGFzLXZhbHVle2FsaWduLWl0ZW1zOmNlbnRlcn0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lci5uZy1oYXMtdmFsdWUgLm5nLXZhbHVlLWNvbnRhaW5lcntwYWRkaW5nLWJvdHRvbTowO3BhZGRpbmctdG9wOi4xODc1ZW19Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIubmctaGFzLXZhbHVlIC5uZy1jbGVhci13cmFwcGVyLC5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyLm5nLWhhcy12YWx1ZSAubmctYXJyb3ctd3JhcHBlcntib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5uZy1zZWxlY3QgLm5nLWNsZWFyLXdyYXBwZXJ7Y29sb3I6cmdiYSgwLDAsMCwwLjU0KX0ubmctc2VsZWN0IC5uZy1jbGVhci13cmFwcGVyOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsMC44Nyl9Lm5nLXNlbGVjdCAubmctYXJyb3ctd3JhcHBlcntib3R0b206MnB4fS5uZy1zZWxlY3QgLm5nLWFycm93LXdyYXBwZXIgLm5nLWFycm93e2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO21hcmdpbjowIDRweDtjb2xvcjpyZ2JhKDAsMCwwLDAuNTQpfS5uZy1zZWxlY3QgLm5nLXNwaW5uZXItem9uZXt0b3A6M3B4fS5uZy1kcm9wZG93bi1wYW5lbHtiYWNrZ3JvdW5kOiNmZmY7bGVmdDowfS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtYm90dG9te3RvcDpjYWxjKDEwMCUgLSAxLjI1ZW0pO2JveC1zaGFkb3c6MCA1cHggNXB4IC0zcHggcmdiYSgwLDAsMCwwLjIpLDAgOHB4IDEwcHggMXB4IHJnYmEoMCwwLDAsMC4xNCksMCAzcHggMTRweCAycHggcmdiYSgwLDAsMCwwLjEyKX0ubmctZHJvcGRvd24tcGFuZWwubmctc2VsZWN0LXRvcHtib3R0b206Y2FsYygxMDAlIC0gLjg0Mzc1ZW0pO2JveC1zaGFkb3c6MCAtNXB4IDVweCAtM3B4IHJnYmEoMCwwLDAsMC4yKSwwIC04cHggMTBweCAxcHggcmdiYSgwLDAsMCwwLjE0KSwwIC0zcHggMTRweCAycHggcmdiYSgwLDAsMCwwLjEyKX0ubmctZHJvcGRvd24tcGFuZWwubXVsdGlwbGUgLm5nLW9wdGlvbi5zZWxlY3RlZHtiYWNrZ3JvdW5kOiNmZmZ9Lm5nLWRyb3Bkb3duLXBhbmVsLm11bHRpcGxlIC5uZy1vcHRpb24ubWFya2Vke2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA0KX0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLWhlYWRlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMTIpO3BhZGRpbmc6MCAxNnB4O2xpbmUtaGVpZ2h0OjNlbTttaW4taGVpZ2h0OjNlbX0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLWZvb3Rlcntib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMTIpO3BhZGRpbmc6MCAxNnB4O2xpbmUtaGVpZ2h0OjNlbTttaW4taGVpZ2h0OjNlbX0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRncm91cHt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO2xpbmUtaGVpZ2h0OjNlbTtoZWlnaHQ6M2VtO3BhZGRpbmc6MCAxNnB4O2NvbG9yOnJnYmEoMCwwLDAsMC41NCk7Zm9udC13ZWlnaHQ6NTAwfS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGdyb3VwLm5nLW9wdGlvbi1tYXJrZWR7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDQpfS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGdyb3VwLm5nLW9wdGlvbi1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRncm91cC5uZy1vcHRpb24tc2VsZWN0ZWR7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMTIpO2NvbG9yOiMzZjUxYjV9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9ue2xpbmUtaGVpZ2h0OjNlbTttaW4taGVpZ2h0OjNlbTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7cGFkZGluZzowIDE2cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7Y29sb3I6cmdiYSgwLDAsMCwwLjg3KTt0ZXh0LWFsaWduOmxlZnR9W2Rpcj1cInJ0bFwiXSAubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb257dGV4dC1hbGlnbjpyaWdodH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLW1hcmtlZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNCk7Y29sb3I6cmdiYSgwLDAsMCwwLjg3KX0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLXNlbGVjdGVke2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEyKTtjb2xvcjojM2Y1MWI1fS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tZGlzYWJsZWR7Y29sb3I6cmdiYSgwLDAsMCwwLjM4KX0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLWNoaWxke3BhZGRpbmctbGVmdDozMnB4fVtkaXI9XCJydGxcIl0gLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1jaGlsZHtwYWRkaW5nLXJpZ2h0OjMycHg7cGFkZGluZy1sZWZ0OjB9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uIC5uZy10YWctbGFiZWx7cGFkZGluZy1yaWdodDo1cHg7Zm9udC1zaXplOjgwJTtmb250LXdlaWdodDo0MDA7Y29sb3I6cmdiYSgwLDAsMCwwLjM4KX1bZGlyPVwicnRsXCJdIC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiAubmctdGFnLWxhYmVse3BhZGRpbmctbGVmdDo1cHg7cGFkZGluZy1yaWdodDowfVxuIiwiXG4vLyBDdXN0b20gVGhlbWluZyBmb3IgQW5ndWxhciBNYXRlcmlhbFxuLy8gRm9yIG1vcmUgaW5mb3JtYXRpb246IGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS90aGVtaW5nXG5AaW1wb3J0ICd+QGFuZ3VsYXIvbWF0ZXJpYWwvdGhlbWluZyc7XG5AaW1wb3J0IFwifkBuZy1zZWxlY3Qvbmctc2VsZWN0L3RoZW1lcy9tYXRlcmlhbC50aGVtZS5jc3NcIjtcbi8vIFBsdXMgaW1wb3J0cyBmb3Igb3RoZXIgY29tcG9uZW50cyBpbiB5b3VyIGFwcC5cblxuLy8gSW5jbHVkZSB0aGUgY29tbW9uIHN0eWxlcyBmb3IgQW5ndWxhciBNYXRlcmlhbC4gV2UgaW5jbHVkZSB0aGlzIGhlcmUgc28gdGhhdCB5b3Ugb25seVxuLy8gaGF2ZSB0byBsb2FkIGEgc2luZ2xlIGNzcyBmaWxlIGZvciBBbmd1bGFyIE1hdGVyaWFsIGluIHlvdXIgYXBwLlxuLy8gQmUgc3VyZSB0aGF0IHlvdSBvbmx5IGV2ZXIgaW5jbHVkZSB0aGlzIG1peGluIG9uY2UhXG5AaW5jbHVkZSBtYXQtY29yZSgpO1xuXG4vLyBEZWZpbmUgdGhlIHBhbGV0dGVzIGZvciB5b3VyIHRoZW1lIHVzaW5nIHRoZSBNYXRlcmlhbCBEZXNpZ24gcGFsZXR0ZXMgYXZhaWxhYmxlIGluIHBhbGV0dGUuc2Nzc1xuLy8gKGltcG9ydGVkIGFib3ZlKS4gRm9yIGVhY2ggcGFsZXR0ZSwgeW91IGNhbiBvcHRpb25hbGx5IHNwZWNpZnkgYSBkZWZhdWx0LCBsaWdodGVyLCBhbmQgZGFya2VyXG4vLyBodWUuIEF2YWlsYWJsZSBjb2xvciBwYWxldHRlczogaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29sb3IvXG4kYXJnb24tZGFzaGJvYXJkLWFuZ3VsYXItcHJpbWFyeTogbWF0LXBhbGV0dGUoJG1hdC1pbmRpZ28pO1xuJGFyZ29uLWRhc2hib2FyZC1hbmd1bGFyLWFjY2VudDogbWF0LXBhbGV0dGUoJG1hdC1waW5rLCBBMjAwLCBBMTAwLCBBNDAwKTtcblxuLy8gVGhlIHdhcm4gcGFsZXR0ZSBpcyBvcHRpb25hbCAoZGVmYXVsdHMgdG8gcmVkKS5cbiRhcmdvbi1kYXNoYm9hcmQtYW5ndWxhci13YXJuOiBtYXQtcGFsZXR0ZSgkbWF0LXJlZCk7XG5cbi8vIENyZWF0ZSB0aGUgdGhlbWUgb2JqZWN0IChhIFNhc3MgbWFwIGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBwYWxldHRlcykuXG4kYXJnb24tZGFzaGJvYXJkLWFuZ3VsYXItdGhlbWU6IG1hdC1saWdodC10aGVtZSgkYXJnb24tZGFzaGJvYXJkLWFuZ3VsYXItcHJpbWFyeSwgJGFyZ29uLWRhc2hib2FyZC1hbmd1bGFyLWFjY2VudCwgJGFyZ29uLWRhc2hib2FyZC1hbmd1bGFyLXdhcm4pO1xuXG4vLyBJbmNsdWRlIHRoZW1lIHN0eWxlcyBmb3IgY29yZSBhbmQgZWFjaCBjb21wb25lbnQgdXNlZCBpbiB5b3VyIGFwcC5cbi8vIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gaW1wb3J0IGFuZCBAaW5jbHVkZSB0aGUgdGhlbWUgbWl4aW5zIGZvciBlYWNoIGNvbXBvbmVudFxuLy8gdGhhdCB5b3UgYXJlIHVzaW5nLlxuQGluY2x1ZGUgYW5ndWxhci1tYXRlcmlhbC10aGVtZSgkYXJnb24tZGFzaGJvYXJkLWFuZ3VsYXItdGhlbWUpO1xuXG4vKiBZb3UgY2FuIGFkZCBnbG9iYWwgc3R5bGVzIHRvIHRoaXMgZmlsZSwgYW5kIGFsc28gaW1wb3J0IG90aGVyIHN0eWxlIGZpbGVzICovXG5AaW1wb3J0IFwifmFuZ3VsYXItbm90aWZpZXIvc3R5bGVzXCI7XG5AaW1wb3J0IFwifm5neC1zbWFydC1tb2RhbC9uZ3gtc21hcnQtbW9kYWxcIjtcbi8vIEBpbXBvcnQgXCJ+L21hdGVyaWFsLWRlc2lnbi1pY29ucy9pY29uZm9udC9cIjtcbi5uYXZiYXItYnJhbmQtaW1nIHtcbiAgbWF4LWhlaWdodDogNS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5uc20tZGlhbG9nLm1lZGl1bS1tb2RhbCB7XG4gIG1heC13aWR0aDogODUlO1xufVxuXG4ubnNtLWRpYWxvZy5zbWFsbC1tb2RhbCB7XG4gIG1heC13aWR0aDogNjAlO1xufVxuXG4uYXBwLWxvYWRpbmcge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLypjZW50ZXJzIGl0ZW1zIG9uIHRoZSBsaW5lICh0aGUgeC1heGlzIGJ5IGRlZmF1bHQpKi9cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgei1pbmRleDogMTEwMDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIG9wYWNpdHk6IDAuNztcbiAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi5hcHAtbG9hZGluZy1tZXNzYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDIwMHB4O1xuICB3aWR0aDogNTAwcHg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0MDBweDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uYXBwLWxvYWRpbmcgLnNwaW5uZXIge1xuICBoZWlnaHQ6IDIwMHB4O1xuICB3aWR0aDogMjAwcHg7XG4gIGFuaW1hdGlvbjogcm90YXRlIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLmFwcC1sb2FkaW5nIC5zcGlubmVyIC5wYXRoIHtcbiAgc3Ryb2tlLWRhc2hhcnJheTogMSwgMjAwO1xuICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgYW5pbWF0aW9uOiBkYXNoIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgc3Ryb2tlOiAjZGRkO1xufVxuXG4uYXBwLWxvYWRpbmcgLmxvZ28ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly9vcG9sZW4uY29tLmJyL2NvbnRlbnQvYXNzZXRzL2ltZy9vLXBvbGVuLnN2Zyk7XG4gIGhlaWdodDogMTAwcHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAxMDBweDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGUge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZGFzaCB7XG4gIDAlIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAxLCAyMDA7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiA4OSwgMjAwO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMzVweDtcbiAgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiA4OSwgMjAwO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMTI0cHg7XG4gIH1cbn1cblxuLnZpZGVvV3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgLyogMTY6OSAqL1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4udmlkZW9XcmFwcGVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uY3V0LXRleHQge1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuaHRtbCwgYm9keSB7IGhlaWdodDogMTAwJTsgfVxuYm9keSB7IG1hcmdpbjogMDsgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7fVxuXG4vL0Vzc2VzIGNhcmluaGFzIHbDo28gc2VyIHVzYWRvIHBvciB0b2RvcyBvcyBub3ZvcyBjb21wb25lbnRlcyBhIHBhcnRpciBkZSBhZ29yYSAoMjAyMSkgYXNzaW0gdmFtb3Mgc2VndWlyIHVtIHBhZHLDo28gXG5cbm1haW4gaDEsXG5tYWluIGgyLFxuaDV7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxubWFpbntcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5zZWN0aW9ue1xuICBtYXJnaW4tdG9wOiAyMHB4XG59XG5cbi5jb250YWluZXItZ3JpZHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG4gIGNvbHVtbi1nYXA6IDElO1xufVxuXG4uY29udGFpbmVyLWdyaWQtMTB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwLCAxZnIpO1xuICBjb2x1bW4tZ2FwOiAxJTtcbn1cblxuLmNvbnRhaW5lci1ncmlkLXN0YXJ0LTJ7XG4gIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xuICBncmlkLWNvbHVtbi1lbmQ6IDEyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHsgIFxuICAuZ3JpZC1jb2x1bW4tMXtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gIH1cbiAgLmdyaWQtY29sdW1uLTJ7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB9XG4gIC5ncmlkLWNvbHVtbi0ze1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMztcbiAgfVxuICAuZ3JpZC1jb2x1bW4tNHtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gIH1cbiAgLmdyaWQtY29sdW1uLTV7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiA1O1xuICB9XG4gIC5ncmlkLWNvbHVtbi02e1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgfVxuICAuZ3JpZC1jb2x1bW4tN3tcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7XG4gIH1cbiAgLmdyaWQtY29sdW1uLTh7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiA4O1xuICB9XG4gIC5ncmlkLWNvbHVtbi05e1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gOTtcbiAgfVxuICAuZ3JpZC1jb2x1bW4tMTB7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAxMDtcbiAgfVxuICAuZ3JpZC1jb2x1bW4tMTF7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAxMTtcbiAgfVxuICAuZ3JpZC1jb2x1bW4tMTJ7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAxMjtcbiAgfSAgIFxufSAgIFxuXG5AbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHtcbiAgLmdyaWQtc20tY29sdW1uLW5vbmV7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZ3JpZC1zbS1jb2x1bW4tMXtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gIH1cbiAgLmdyaWQtc20tY29sdW1uLTJ7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB9XG4gIC5ncmlkLXNtLWNvbHVtbi0ze1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMztcbiAgfVxuICAuZ3JpZC1zbS1jb2x1bW4tNHtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gIH1cbiAgLmdyaWQtc20tY29sdW1uLTV7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiA1O1xuICB9XG4gIC5ncmlkLXNtLWNvbHVtbi02e1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgfVxuICAuZ3JpZC1zbS1jb2x1bW4tN3tcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7XG4gIH1cbiAgLmdyaWQtc20tY29sdW1uLTh7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiA4O1xuICB9XG4gIC5ncmlkLXNtLWNvbHVtbi05e1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gOTtcbiAgfVxuICAuZ3JpZC1zbS1jb2x1bW4tMTB7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAxMDtcbiAgfVxuICAuZ3JpZC1zbS1jb2x1bW4tMTF7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAxMTtcbiAgfVxuICAuZ3JpZC1zbS1jb2x1bW4tMTJ7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAxMjtcbiAgfSAgIFxufSAgIFxuXG4vL0NhcmQgZ2VyYWxcbi5jYXJkLWRhc2hib2FyZHtcbiAgY29sb3I6ICNDNEM0QzQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDBweCA0cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBtYXJnaW46IDE1cHggNXB4O1xuICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jYXJkLWRhc2hib2FyZC10aXRsZS1jb250YWluZXJ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5kYXNoYm9hcmQtdGl0bGUtdGV4dHtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG59XG4uY2FyZC1kYXNib2FyZC12YWx1ZXtcbiAgbWFyZ2luOiA1cHggMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS43cmVtO1xufVxuLmNhcmQtZGFzYm9hcmQtc3VidGl0bGV7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuLmljb24tY2lyY2xle1xuICBsaW5lLWhlaWdodDogMS45cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBtaW4td2lkdGg6IDEuNnJlbTtcbiAgbWluLWhlaWdodDogMS42cmVtO1xuICB3aWR0aDogMS42cmVtO1xuICBoZWlnaHQ6IDEuNnJlbTtcbiAgbWF4LXdpZHRoOiAxLjZyZW07XG4gIG1heC1oZWlnaHQ6IDEuNnJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogI0ZGRkZGRjsgIFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZGFzaGJvYXJkLXRpdGxlLWV4cGxhaW57XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDNEM0QzQ7XG4gIGNvbG9yOiAjQzRDNEM0O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy9Cb3TDtWVzIGUgc3VhcyBjb3Jlc1xuLmJ1dHRvbi1zbWFsbHtcbiAgd2lkdGg6IDM1JTtcbn1cbi5idXR0b24tYmx1ZXtcbiAgYmFja2dyb3VuZDogIzVFNzJFNDsgIFxufVxuLmJ1dHRvbi1kaXNhYmxlZHtcbiAgYmFja2dyb3VuZDogI2E1YTVhNTsgIFxufVxuLmJ1dHRvbi1ncmVlbntcbiAgYmFja2dyb3VuZDogIzAyOTAyQTtcbn1cbi5idXR0b24tZ3JlZW4tbGlnaHR7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRENFODk7XG59XG4uYnV0dG9uLXRvZG9ze1xuICBib3JkZXI6M3B4IHNvbGlkICNBNUE2RjY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1yZWR7XG4gIGJhY2tncm91bmQ6ICNGRjAwMkU7XG59XG4uYnV0dG9uLW9yYW5nZXtcbiAgYmFja2dyb3VuZDogI0ZGOEEwMDtcbn1cbi5idXR0b24teWVsbG93e1xuICBiYWNrZ3JvdW5kOiAjRjVFRDJFO1xufVxuLmJ1dHRvbi1leGNlbHtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgcGFkZGluZzogNXB4IDE1cHg7XG4gIGZvbnQtc2l6ZTogMS4xOHJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcbn1cbi5idXR0b24tZmlsdGVyeyAgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc3RhdHVzLXBlbmRlbnRle1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4QTAwO1xufVxuLnN0YXR1cy1jYW5jZWxhZG97XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjAwMkU7XG59XG4uc3RhdHVzLXByb2Nlc3NhbmRve1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY5NUNEO1xufVxuLnN0YXR1cy1hZ2VuZGFkb3tcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RUQyRTtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cbi5zdGF0dXMtcGFnb3tcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyRDMwMTtcbn1cblxuLmZpbHRlci1uby1zZWxlY3RlZC1hbGx7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNBNUE2RjY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG4uZmlsdGVyLXNlbGVjdGVkLWFsbHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E1QTZGNiAhaW1wb3J0YW50O1xufVxuLmZpbHRlci1uby1zZWxlY3RlZC1wZW5kaW5ne1xuICBib3JkZXI6IDNweCBzb2xpZCAjRkY4QTAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuLmZpbHRlci1zZWxlY3RlZC1wZW5kaW5ne1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4QTAwICFpbXBvcnRhbnQ7XG59XG4uZmlsdGVyLW5vLXNlbGVjdGVkLWNhbmNlbGVke1xuICBib3JkZXI6IDNweCBzb2xpZCAjRkYwMDJFO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuLmZpbHRlci1zZWxlY3RlZC1jYW5jZWxlZHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGMDAyRSAhaW1wb3J0YW50O1xufVxuLmZpbHRlci1uby1zZWxlY3RlZC1wcm9jZXNzaW5ne1xuICBib3JkZXI6IDNweCBzb2xpZCAjNzY5NUNEO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuLmZpbHRlci1zZWxlY3RlZC1wcm9jZXNzaW5ne1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY5NUNEICFpbXBvcnRhbnQ7XG59XG4uZmlsdGVyLW5vLXNlbGVjdGVkLXNjaGVkdWxlZHtcbiAgYm9yZGVyOiAzcHggc29saWQgI0Y1RUQyRTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cbi5maWx0ZXItc2VsZWN0ZWQtc2NoZWR1bGVke1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVFRDJFICFpbXBvcnRhbnQ7XG59XG4uZmlsdGVyLW5vLXNlbGVjdGVkLWNvbmNsdWRlZHtcbiAgYm9yZGVyOiAzcHggc29saWQgIzEyRDMwMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cbi5maWx0ZXItc2VsZWN0ZWQtY29uY2x1ZGVke1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTJEMzAxICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBOT1RJRklFUjogQ09SRSBTVFlMRVNcblxuLy8gQ29udGFpbmVyXG5cbi5ub3RpZmllciB7XG5cblx0Jl9fY29udGFpbmVyIHtcblxuXHRcdCoge1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHR9XG5cblx0XHQmLWxpc3Qge1xuXHRcdFx0bWFyZ2luOiB7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdFx0cGFkZGluZzoge1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdH1cblxuXHR9XG5cblx0Jl9fbm90aWZpY2F0aW9uIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogZml4ZWQ7IC8vIE92ZXJsYXlcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47IC8vIE5vdGlmaWNhdGlvbnMgYXJlIGhpZGRlbiBieSBkZWZhdWx0LCBhbmQgZ2V0IHNob3duIChvciBhbmltYXRlZCBpbikgZHluYW1pY2FsbHkgYnkgdGhlIEFuZ3VsYXIgY29tcG9uZW50XG5cdFx0ei1pbmRleDogMTAwMDA7IC8vIFByZXR0eSBtdWNoIHJhbmRvbSAuLi5cblxuXHRcdC8vIFRoaXMgYXR0cmlidXRlIGZvcmNlcyB0aGlzIGVsZW1lbnQgdG8gYmUgcmVuZGVyZWQgb24gYSBuZXcgbGF5ZXIsIGJ5IHRoZSBHUFUsIGluIG9yZGVyIHRvIGltcHJvdmUgaXRzIHBlcmZvcm1hbmNlICgjcGVyZm1hdHRlcnMpXG5cdFx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuXHRcdC8vIFRoaXMgYXR0cmlidXRlIGltcHJvdmVzIHRoZSBvdmVyYWxsIHNjcm9sbGluZyBwZXJmb3JtYW5jZSBmb3IgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMsIHN1Y2ggYXMgdGhpcyBvbmUgKCNwZXJmbWF0dGVycylcblx0XHQvLyBTZWUgPGh0dHBzOi8vYmVuZnJhaW4uY29tL2ltcHJvdmluZy1jc3MtcGVyZm9ybWFuY2UtZml4ZWQtcG9zaXRpb24tZWxlbWVudHMvPlxuXHRcdGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHR9XG5cbn1cbiIsIi8vIE5PVElGSUVSOiBNQVRFUklBTCBUSEVNRVxuLy9cbi8vIFRoaXMgbWF0ZXJpYWwgdGhlbWUgdHJpZXMgaXRzIGJlc3QgdG8gbG9vayBhcyBtYXRlcmlhbC1kZXNpZ24naXNoIGFzIHBvc3NpYmxlIC0gcm91bmQgZWRnZXMsIHNoYWRvd3MsIGFuZCBzbWFsbCBhbmltYXRpb25zLlxuLy8gQW5kLCBvZiBjb3Vyc2UsIHRoYW5rcyB0byAjR29vZ2xlIGZvciBjcmVhdGluZyBhbmQgc2hhcmluZyBzdWNoIGFuIGF3ZXNvbWUgZGVzaWduIGxhbmd1YWdlIVxuLy8gSSBoaWdobHkgZW5jb3VyYWdlIGV2ZXJ5b25lIHRvIHJlYWQgaW50byB0aGUgTWF0ZXJpYWwgRGVzaWduIHNwZWNzOiA8aHR0cHM6Ly9tYXRlcmlhbC5nb29nbGUuY29tLz5cblxuJG5vdGlmaWVyLXNoYWRvdy1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMikgIWRlZmF1bHQ7XG5cbi5ub3RpZmllcl9fbm90aWZpY2F0aW9uLS1tYXRlcmlhbCB7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4ICRub3RpZmllci1zaGFkb3ctY29sb3I7XG5cdGN1cnNvcjogZGVmYXVsdDsgLy8gRGVmYXVsdCBjdXJzb3IsIGV2ZW4gd2hlbiBob3ZlcmluZyBvdmVyIHRleHRcblx0cGFkZGluZzoge1xuXHRcdHRvcDogMTFweDtcblx0XHRyaWdodDogMjZweDtcblx0XHRib3R0b206IDEwcHg7XG5cdFx0bGVmdDogMjZweDtcblx0fVxuXG5cdC5ub3RpZmllcl9fbm90aWZpY2F0aW9uIHtcblxuXHRcdCYtbWVzc2FnZSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW46IHsgLy8gUmVzZXQgcGFyYWdyYXBoIGRlZmF1bHQgc3R5bGVzXG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAzMnB4O1xuXHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdH1cblxuXHRcdCYtYnV0dG9uIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2U7XG5cdFx0XHRvcGFjaXR5OiAuNTtcblx0XHRcdG1hcmdpbjoge1xuXHRcdFx0XHRyaWdodDogLTEwcHg7XG5cdFx0XHRcdGxlZnQ6IDEwcHg7XG5cdFx0XHR9O1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7IC8vIE1ha2UgaXQgb2J2aW91cyB0aGF0IHRoZSBcImJ1dHRvblwiIChvciwgbW9yZSBob25lc3RseSwgaWNvbikgaXMgY2xpY2thYmxlICgjVVgpXG5cdFx0XHRwYWRkaW5nOiA2cHg7XG5cdFx0XHR3aWR0aDogMzJweDtcblx0XHRcdGhlaWdodDogMzJweDtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0b3BhY2l0eTogMTsgLy8gTWFrZSBtZSBcImZlZWxcIiB0aGUgY2xpY2thYmlsaXR5IHdpdGggYSB0cmFuc3BhcmVuY3kgY2hhbmdlICgjVVgpXG5cdFx0XHR9XG5cblx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSguODIpOyAvLyBNYWtlIG1lIFwiZmVlbFwiIHRoZSBjbGljayBieSBhIHB1c2ggYmFjayAoI1VYKVxuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gTk9USUZJRVI6IERFRkFVTFQgVFlQRSBTVFlMRVNcblxuJG5vdGlmaWVyLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvcjogIzQ0NCAhZGVmYXVsdDtcbiRub3RpZmllci1kZWZhdWx0LWZvbnQtY29sb3I6ICNGRkYgIWRlZmF1bHQ7XG4kbm90aWZpZXItZGVmYXVsdC1pY29uLWNvbG9yOiAjRkZGICFkZWZhdWx0O1xuXG4ubm90aWZpZXJfX25vdGlmaWNhdGlvbi0tZGVmYXVsdCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRub3RpZmllci1kZWZhdWx0LWJhY2tncm91bmQtY29sb3I7XG5cdGNvbG9yOiAkbm90aWZpZXItZGVmYXVsdC1mb250LWNvbG9yO1xuXG5cdC5ub3RpZmllcl9fbm90aWZpY2F0aW9uLWJ1dHRvbi1pY29uIHsgLy8gMTZ4MTYgZml4ZWQgc2l6ZVxuXHRcdGZpbGw6ICRub3RpZmllci1kZWZhdWx0LWljb24tY29sb3I7XG5cdH1cblxufVxuIiwiLy8gTk9USUZJRVI6IEVSUk9SIFRZUEUgU1RZTEVTXG5cbiRub3RpZmllci1lcnJvci1iYWNrZ3JvdW5kLWNvbG9yOiAjRDk1MzRGICFkZWZhdWx0O1xuJG5vdGlmaWVyLWVycm9yLWZvbnQtY29sb3I6ICNGRkYgIWRlZmF1bHQ7XG4kbm90aWZpZXItZXJyb3ItaWNvbi1jb2xvcjogI0ZGRiAhZGVmYXVsdDtcblxuLm5vdGlmaWVyX19ub3RpZmljYXRpb24tLWVycm9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5vdGlmaWVyLWVycm9yLWJhY2tncm91bmQtY29sb3I7XG5cdGNvbG9yOiAkbm90aWZpZXItZXJyb3ItZm9udC1jb2xvcjtcblxuXHQubm90aWZpZXJfX25vdGlmaWNhdGlvbi1idXR0b24taWNvbiB7IC8vIDE2eDE2IGZpeGVkIHNpemVcblx0XHRmaWxsOiAkbm90aWZpZXItZXJyb3ItaWNvbi1jb2xvcjtcblx0fVxuXG59XG4iLCIvLyBOT1RJRklFUjogSU5GTyBUWVBFIFNUWUxFU1xuXG4kbm90aWZpZXItaW5mby1iYWNrZ3JvdW5kLWNvbG9yOiAjNUJDMERFICFkZWZhdWx0O1xuJG5vdGlmaWVyLWluZm8tZm9udC1jb2xvcjogI0ZGRiAhZGVmYXVsdDtcbiRub3RpZmllci1pbmZvLWljb24tY29sb3I6ICNGRkYgIWRlZmF1bHQ7XG5cbi5ub3RpZmllcl9fbm90aWZpY2F0aW9uLS1pbmZvIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5vdGlmaWVyLWluZm8tYmFja2dyb3VuZC1jb2xvcjtcblx0Y29sb3I6ICRub3RpZmllci1pbmZvLWZvbnQtY29sb3I7XG5cblx0Lm5vdGlmaWVyX19ub3RpZmljYXRpb24tYnV0dG9uLWljb24geyAvLyAxNngxNiBmaXhlZCBzaXplXG5cdFx0ZmlsbDogJG5vdGlmaWVyLWluZm8taWNvbi1jb2xvcjtcblx0fVxuXG59XG4iLCIvLyBOT1RJRklFUjogU1VDQ0VTUyBUWVBFIFNUWUxFU1xuXG4kbm90aWZpZXItc3VjY2Vzcy1iYWNrZ3JvdW5kLWNvbG9yOiAjNUNCODVDICFkZWZhdWx0O1xuJG5vdGlmaWVyLXN1Y2Nlc3MtZm9udC1jb2xvcjogI0ZGRiAhZGVmYXVsdDtcbiRub3RpZmllci1zdWNjZXNzLWljb24tY29sb3I6ICNGRkYgIWRlZmF1bHQ7XG5cbi5ub3RpZmllcl9fbm90aWZpY2F0aW9uLS1zdWNjZXNzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5vdGlmaWVyLXN1Y2Nlc3MtYmFja2dyb3VuZC1jb2xvcjtcblx0Y29sb3I6ICRub3RpZmllci1zdWNjZXNzLWZvbnQtY29sb3I7XG5cblx0Lm5vdGlmaWVyX19ub3RpZmljYXRpb24tYnV0dG9uLWljb24geyAvLyAxNngxNiBmaXhlZCBzaXplXG5cdFx0ZmlsbDogJG5vdGlmaWVyLXN1Y2Nlc3MtaWNvbi1jb2xvcjtcblx0fVxuXG59XG4iLCIvLyBOT1RJRklFUjogV0FSTklORyBUWVBFIFNUWUxFU1xuXG4kbm90aWZpZXItd2FybmluZy1iYWNrZ3JvdW5kLWNvbG9yOiAjRjBBRDRFICFkZWZhdWx0O1xuJG5vdGlmaWVyLXdhcm5pbmctZm9udC1jb2xvcjogI0ZGRiAhZGVmYXVsdDtcbiRub3RpZmllci13YXJuaW5nLWljb24tY29sb3I6ICNGRkYgIWRlZmF1bHQ7XG5cbi5ub3RpZmllcl9fbm90aWZpY2F0aW9uLS13YXJuaW5nIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5vdGlmaWVyLXdhcm5pbmctYmFja2dyb3VuZC1jb2xvcjtcblx0Y29sb3I6ICRub3RpZmllci13YXJuaW5nLWZvbnQtY29sb3I7XG5cblx0Lm5vdGlmaWVyX19ub3RpZmljYXRpb24tYnV0dG9uLWljb24geyAvLyAxNngxNiBmaXhlZCBzaXplXG5cdFx0ZmlsbDogJG5vdGlmaWVyLXdhcm5pbmctaWNvbi1jb2xvcjtcblx0fVxuXG59XG4iLCIvLyBDb2xvciBvZiBvdmVybGF5IGJhY2tncm91bmRcbiRjb2xvci1vdmVybGF5OiByZ2JhKDAsIDAsIDAsIC41KSAhZGVmYXVsdDtcblxuLy8gUG9zaXRpb24gb2YgZGlhbG9nXG4kZGlhbG9nLXBvc2l0aW9uLXRvcDogMS43NXJlbSAhZGVmYXVsdDtcbiRkaWFsb2ctcG9zaXRpb24tYm90dG9tOiAxLjc1cmVtICFkZWZhdWx0O1xuJGRpYWxvZy1wb3NpdGlvbi1sZWZ0OiAxLjc1cmVtICFkZWZhdWx0O1xuJGRpYWxvZy1wb3NpdGlvbi1yaWdodDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8gVHJhbnNpdGlvbiB0aW1lXG4vLyAhISBUaGUgc2FtZSBhcyB0aGUgaGlkZURlbGF5IHZhcmlhYmxlIGRlZmluZWQgaW4gbmd4LXNtYXJ0LW1vZGFsLmNvbXBvbmVudC50c1xuJHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zICFkZWZhdWx0O1xuXG4vLyBUcmFuc2l0aW9uIGVmZmVjdFxuLy8gbGluZWFyIHwgZWFzZSB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0XG4kdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLyBCb2R5IG92ZXJmbG93IHdoZW4gYSBtb2RhbCBpcyBvcGVuZWQuXG4vLyBTZXQgaXQgdG8gYGF1dG9gIGlmIHlvdSB3YW50IHRvIHVubG9jayB0aGUgcGFnZSBzY3JvbGwgd2hlbiBhIG1vZGFsIGlzIG9wZW5lZFxuJG9wZW5lZC1tb2RhbC1ib2R5LW92ZXJmbG93OiBoaWRkZW4gIWRlZmF1bHQ7XG5cbi8vIEJvZHkgaWYgbW9kYWwgaXMgb3BlbmVkXG5ib2R5LmRpYWxvZy1vcGVuIHtcbiAgb3ZlcmZsb3c6ICRvcGVuZWQtbW9kYWwtYm9keS1vdmVyZmxvdztcbn1cblxuLy8gQ2xvc2UgYnV0dG9uIGluIG1vZGFsXG4ubnNtLWRpYWxvZy1idG4tY2xvc2Uge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gT3ZlcmxheVxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogOTk5O1xuXG4gICYubnNtLW92ZXJsYXktb3BlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW92ZXJsYXk7XG4gIH1cblxuICAmLnRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLyBEaWFsb2cgbW9kYWxcbi5uc20tZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcblxuICAvLyBXaGVuIGRpYWxvZyBpcyBjbG9zaW5nXG4gICYubnNtLWRpYWxvZy1jbG9zZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICYubnNtLWNlbnRlcmVkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gKDEuNzVyZW0gKiAyKSk7XG4gIH1cbn1cblxuLm5zbS1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tdG9wOiAkZGlhbG9nLXBvc2l0aW9uLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJGRpYWxvZy1wb3NpdGlvbi1ib3R0b207XG4gIG1hcmdpbi1sZWZ0OiAkZGlhbG9nLXBvc2l0aW9uLWxlZnQ7XG4gIG1hcmdpbi1yaWdodDogJGRpYWxvZy1wb3NpdGlvbi1yaWdodDtcbiAgYm94LXNoYWRvdzogMCA3cHggOHB4IC00cHggcmdiYSgwLCAwLCAwLCAuMiksIDAgMTNweCAxOXB4IDJweCByZ2JhKDAsIDAsIDAsIC4xNCksIDAgNXB4IDI0cHggNHB4IHJnYmEoMCwgMCwgMCwgLjEyKTtcbiAgb3V0bGluZTogMDtcblxuICAvLyBGb3IgcGVyZm9ybWFuY2UgcHVycG9zZVxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4ubnNtLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIEFuaW1hdGlvbnNcbiogKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLm5zbS1kaWFsb2dbY2xhc3MqPW5zbS1kaWFsb2ctYW5pbWF0aW9uLV0ge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCBvcGFjaXR5ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuXG4vLyBMZWZ0IHRvIHJpZ2h0IChsdHIpXG4ubnNtLWRpYWxvZy1hbmltYXRpb24tbHRyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcblxuICAmLm5zbS1kaWFsb2ctb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gICYubnNtLWRpYWxvZy1jbG9zZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgfVxufVxuXG4vLyBSaWdodCB0byBsZWZ0IChsdHIpXG4ubnNtLWRpYWxvZy1hbmltYXRpb24tcnRsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuXG4gICYubnNtLWRpYWxvZy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgJi5uc20tZGlhbG9nLWNsb3NlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gIH1cbn1cblxuLy8gVG9wIHRvIGJvdHRvbSAodHRiKVxuLm5zbS1kaWFsb2ctYW5pbWF0aW9uLXR0YiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG5cbiAgJi5uc20tZGlhbG9nLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAmLm5zbS1kaWFsb2ctY2xvc2Uge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gIH1cbn1cblxuLy8gQm90dG9tIHRvIHRvcCAoYnR0KVxuLm5zbS1kaWFsb2ctYW5pbWF0aW9uLWJ0dCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAlLCAwKTtcblxuICAmLm5zbS1kaWFsb2ctb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gICYubnNtLWRpYWxvZy1jbG9zZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1MCUsIDApO1xuICB9XG59XG4iXX0= */
@charset "UTF-8";
/*!

=========================================================
* Argon Dashboard Angular- v1.0.0
=========================================================

* Product Page: https://www.creative-tim.com/product/argon-dashboard-angular
* Copyright 2018 Creative Tim (https://www.creative-tim.com)
* Licensed under MIT (https://github.com/creativetimofficial/argon-dashboard-angular/blob/master/LICENSE.md)

* Coded by Creative Tim

=========================================================

* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

*/
:root {
  --blue: #5e72e4;
  --indigo: #5603ad;
  --purple: #8965e0;
  --pink: #f3a4b5;
  --red: #f5365c;
  --orange: #fb6340;
  --yellow: #ffd600;
  --green: #2dce89;
  --teal: #11cdef;
  --cyan: #2bffc6;
  --white: #fff;
  --gray: #8898aa;
  --gray-dark: #32325d;
  --light: #ced4da;
  --lighter: #e9ecef;
  --primary: #5e72e4;
  --secondary: #f7fafc;
  --success: #2dce89;
  --info: #11cdef;
  --warning: #fb6340;
  --danger: #f5365c;
  --light: #adb5bd;
  --dark: #212529;
  --default: #172b4d;
  --white: #fff;
  --neutral: #fff;
  --darker: black;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: Open Sans, sans-serif;
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}
body {
  margin: 0;
  font-family: Open Sans, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #525f7f;
  text-align: left;
  background-color: #f8f9fe;
}
[tabindex="-1"]:focus {
  outline: 0 !important;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}
p {
  margin-top: 0;
  margin-bottom: 1rem;
}
abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
}
address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 600;
}
dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1rem;
}
dfn {
  font-style: italic;
}
b,
strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
a {
  color: #5e72e4;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
a:hover {
  color: #233dd2;
  text-decoration: none;
}
a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
  outline: 0;
}
pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}
pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}
figure {
  margin: 0 0 1rem;
}
img {
  vertical-align: middle;
  border-style: none;
}
svg:not(:root) {
  overflow: hidden;
}
table {
  border-collapse: collapse;
}
caption {
  padding-top: 1rem;
  padding-bottom: 1rem;
  color: #8898aa;
  text-align: left;
  caption-side: bottom;
}
th {
  text-align: inherit;
}
label {
  display: inline-block;
  margin-bottom: 0.5rem;
}
button {
  border-radius: 0;
}
button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}
input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month] {
  -webkit-appearance: listbox;
}
textarea {
  overflow: auto;
  resize: vertical;
}
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}
progress {
  vertical-align: baseline;
}
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}
[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
summary {
  display: list-item;
  cursor: pointer;
}
template {
  display: none;
}
[hidden] {
  display: none !important;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-family: inherit;
  font-weight: 600;
  line-height: 1.5;
  color: #32325d;
}
h1, .h1 {
  font-size: 1.625rem;
}
h2, .h2 {
  font-size: 1.25rem;
}
h3, .h3 {
  font-size: 1.0625rem;
}
h4, .h4 {
  font-size: 0.9375rem;
}
h5, .h5 {
  font-size: 0.8125rem;
}
h6, .h6 {
  font-size: 0.625rem;
}
.lead {
  font-size: 1.25rem;
  font-weight: 300;
}
.display-1 {
  font-size: 3.3rem;
  font-weight: 600;
  line-height: 1.5;
}
.display-2 {
  font-size: 2.75rem;
  font-weight: 600;
  line-height: 1.5;
}
.display-3 {
  font-size: 2.1875rem;
  font-weight: 600;
  line-height: 1.5;
}
.display-4 {
  font-size: 1.6275rem;
  font-weight: 600;
  line-height: 1.5;
}
hr {
  margin-top: 2rem;
  margin-bottom: 2rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
small,
.small {
  font-size: 80%;
  font-weight: 400;
}
mark,
.mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
}
.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.blockquote-footer {
  display: block;
  font-size: 80%;
  color: #8898aa;
}
.blockquote-footer::before {
  content: "— ";
}
.img-fluid {
  max-width: 100%;
  height: auto;
}
.img-thumbnail {
  padding: 0.25rem;
  background-color: #f8f9fe;
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
  max-width: 100%;
  height: auto;
}
.figure {
  display: inline-block;
}
.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}
.figure-caption {
  font-size: 90%;
  color: #8898aa;
}
code {
  font-size: 87.5%;
  color: #f3a4b5;
  word-break: break-word;
}
a > code {
  color: inherit;
}
kbd {
  padding: 0.2rem 0.4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #212529;
  border-radius: 0.25rem;
  box-shadow: inset 0 -0.1rem 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: 600;
  box-shadow: none;
}
pre {
  display: block;
  font-size: 87.5%;
  color: #212529;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}
.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}
.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*=col-] {
  padding-right: 0;
  padding-left: 0;
}
.col-xl,
.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg,
.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md,
.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm,
.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col,
.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}
.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}
.col-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}
.col-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}
.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}
.col-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}
.col-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}
.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}
.col-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}
.col-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}
.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}
.col-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}
.col-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}
.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}
.order-first {
  order: -1;
}
.order-last {
  order: 13;
}
.order-0 {
  order: 0;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.order-3 {
  order: 3;
}
.order-4 {
  order: 4;
}
.order-5 {
  order: 5;
}
.order-6 {
  order: 6;
}
.order-7 {
  order: 7;
}
.order-8 {
  order: 8;
}
.order-9 {
  order: 9;
}
.order-10 {
  order: 10;
}
.order-11 {
  order: 11;
}
.order-12 {
  order: 12;
}
.offset-1 {
  margin-left: 8.3333333333%;
}
.offset-2 {
  margin-left: 16.6666666667%;
}
.offset-3 {
  margin-left: 25%;
}
.offset-4 {
  margin-left: 33.3333333333%;
}
.offset-5 {
  margin-left: 41.6666666667%;
}
.offset-6 {
  margin-left: 50%;
}
.offset-7 {
  margin-left: 58.3333333333%;
}
.offset-8 {
  margin-left: 66.6666666667%;
}
.offset-9 {
  margin-left: 75%;
}
.offset-10 {
  margin-left: 83.3333333333%;
}
.offset-11 {
  margin-left: 91.6666666667%;
}
@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-sm-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-sm-first {
    order: -1;
  }

  .order-sm-last {
    order: 13;
  }

  .order-sm-0 {
    order: 0;
  }

  .order-sm-1 {
    order: 1;
  }

  .order-sm-2 {
    order: 2;
  }

  .order-sm-3 {
    order: 3;
  }

  .order-sm-4 {
    order: 4;
  }

  .order-sm-5 {
    order: 5;
  }

  .order-sm-6 {
    order: 6;
  }

  .order-sm-7 {
    order: 7;
  }

  .order-sm-8 {
    order: 8;
  }

  .order-sm-9 {
    order: 9;
  }

  .order-sm-10 {
    order: 10;
  }

  .order-sm-11 {
    order: 11;
  }

  .order-sm-12 {
    order: 12;
  }

  .offset-sm-0 {
    margin-left: 0;
  }

  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }

  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }

  .offset-sm-3 {
    margin-left: 25%;
  }

  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }

  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }

  .offset-sm-6 {
    margin-left: 50%;
  }

  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }

  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }

  .offset-sm-9 {
    margin-left: 75%;
  }

  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }

  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-md-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-md-first {
    order: -1;
  }

  .order-md-last {
    order: 13;
  }

  .order-md-0 {
    order: 0;
  }

  .order-md-1 {
    order: 1;
  }

  .order-md-2 {
    order: 2;
  }

  .order-md-3 {
    order: 3;
  }

  .order-md-4 {
    order: 4;
  }

  .order-md-5 {
    order: 5;
  }

  .order-md-6 {
    order: 6;
  }

  .order-md-7 {
    order: 7;
  }

  .order-md-8 {
    order: 8;
  }

  .order-md-9 {
    order: 9;
  }

  .order-md-10 {
    order: 10;
  }

  .order-md-11 {
    order: 11;
  }

  .order-md-12 {
    order: 12;
  }

  .offset-md-0 {
    margin-left: 0;
  }

  .offset-md-1 {
    margin-left: 8.3333333333%;
  }

  .offset-md-2 {
    margin-left: 16.6666666667%;
  }

  .offset-md-3 {
    margin-left: 25%;
  }

  .offset-md-4 {
    margin-left: 33.3333333333%;
  }

  .offset-md-5 {
    margin-left: 41.6666666667%;
  }

  .offset-md-6 {
    margin-left: 50%;
  }

  .offset-md-7 {
    margin-left: 58.3333333333%;
  }

  .offset-md-8 {
    margin-left: 66.6666666667%;
  }

  .offset-md-9 {
    margin-left: 75%;
  }

  .offset-md-10 {
    margin-left: 83.3333333333%;
  }

  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-lg-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-lg-first {
    order: -1;
  }

  .order-lg-last {
    order: 13;
  }

  .order-lg-0 {
    order: 0;
  }

  .order-lg-1 {
    order: 1;
  }

  .order-lg-2 {
    order: 2;
  }

  .order-lg-3 {
    order: 3;
  }

  .order-lg-4 {
    order: 4;
  }

  .order-lg-5 {
    order: 5;
  }

  .order-lg-6 {
    order: 6;
  }

  .order-lg-7 {
    order: 7;
  }

  .order-lg-8 {
    order: 8;
  }

  .order-lg-9 {
    order: 9;
  }

  .order-lg-10 {
    order: 10;
  }

  .order-lg-11 {
    order: 11;
  }

  .order-lg-12 {
    order: 12;
  }

  .offset-lg-0 {
    margin-left: 0;
  }

  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }

  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }

  .offset-lg-3 {
    margin-left: 25%;
  }

  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }

  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }

  .offset-lg-6 {
    margin-left: 50%;
  }

  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }

  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }

  .offset-lg-9 {
    margin-left: 75%;
  }

  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }

  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-xl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-xl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-xl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-xl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-xl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-xl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-xl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-xl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-xl-first {
    order: -1;
  }

  .order-xl-last {
    order: 13;
  }

  .order-xl-0 {
    order: 0;
  }

  .order-xl-1 {
    order: 1;
  }

  .order-xl-2 {
    order: 2;
  }

  .order-xl-3 {
    order: 3;
  }

  .order-xl-4 {
    order: 4;
  }

  .order-xl-5 {
    order: 5;
  }

  .order-xl-6 {
    order: 6;
  }

  .order-xl-7 {
    order: 7;
  }

  .order-xl-8 {
    order: 8;
  }

  .order-xl-9 {
    order: 9;
  }

  .order-xl-10 {
    order: 10;
  }

  .order-xl-11 {
    order: 11;
  }

  .order-xl-12 {
    order: 12;
  }

  .offset-xl-0 {
    margin-left: 0;
  }

  .offset-xl-1 {
    margin-left: 8.3333333333%;
  }

  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }

  .offset-xl-3 {
    margin-left: 25%;
  }

  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }

  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }

  .offset-xl-6 {
    margin-left: 50%;
  }

  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }

  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }

  .offset-xl-9 {
    margin-left: 75%;
  }

  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }

  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  background-color: transparent;
}
.table th,
.table td {
  padding: 1rem;
  vertical-align: top;
  border-top: 1px solid #e9ecef;
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #e9ecef;
}
.table tbody + tbody {
  border-top: 2px solid #e9ecef;
}
.table .table {
  background-color: #f8f9fe;
}
.table-sm th,
.table-sm td {
  padding: 0.5rem;
}
.table-bordered {
  border: 1px solid #e9ecef;
}
.table-bordered th,
.table-bordered td {
  border: 1px solid #e9ecef;
}
.table-bordered thead th,
.table-bordered thead td {
  border-bottom-width: 2px;
}
.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0;
}
.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}
.table-hover tbody tr:hover {
  background-color: #f6f9fc;
}
.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #d2d8f7;
}
.table-hover .table-primary:hover {
  background-color: #bcc5f3;
}
.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
  background-color: #bcc5f3;
}
.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #fdfefe;
}
.table-hover .table-secondary:hover {
  background-color: #ecf6f6;
}
.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
  background-color: #ecf6f6;
}
.table-success,
.table-success > th,
.table-success > td {
  background-color: #c4f1de;
}
.table-hover .table-success:hover {
  background-color: #afecd2;
}
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
  background-color: #afecd2;
}
.table-info,
.table-info > th,
.table-info > td {
  background-color: #bcf1fb;
}
.table-hover .table-info:hover {
  background-color: #a4ecfa;
}
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
  background-color: #a4ecfa;
}
.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #fed3ca;
}
.table-hover .table-warning:hover {
  background-color: #febeb1;
}
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
  background-color: #febeb1;
}
.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #fcc7d1;
}
.table-hover .table-danger:hover {
  background-color: #fbafbd;
}
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
  background-color: #fbafbd;
}
.table-light,
.table-light > th,
.table-light > td {
  background-color: #e8eaed;
}
.table-hover .table-light:hover {
  background-color: #dadde2;
}
.table-hover .table-light:hover > td,
.table-hover .table-light:hover > th {
  background-color: #dadde2;
}
.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #c1c2c3;
}
.table-hover .table-dark:hover {
  background-color: #b4b5b6;
}
.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
  background-color: #b4b5b6;
}
.table-default,
.table-default > th,
.table-default > td {
  background-color: #bec4cd;
}
.table-hover .table-default:hover {
  background-color: #b0b7c2;
}
.table-hover .table-default:hover > td,
.table-hover .table-default:hover > th {
  background-color: #b0b7c2;
}
.table-white,
.table-white > th,
.table-white > td {
  background-color: white;
}
.table-hover .table-white:hover {
  background-color: #f2f2f2;
}
.table-hover .table-white:hover > td,
.table-hover .table-white:hover > th {
  background-color: #f2f2f2;
}
.table-neutral,
.table-neutral > th,
.table-neutral > td {
  background-color: white;
}
.table-hover .table-neutral:hover {
  background-color: #f2f2f2;
}
.table-hover .table-neutral:hover > td,
.table-hover .table-neutral:hover > th {
  background-color: #f2f2f2;
}
.table-darker,
.table-darker > th,
.table-darker > td {
  background-color: #b8b8b8;
}
.table-hover .table-darker:hover {
  background-color: #ababab;
}
.table-hover .table-darker:hover > td,
.table-hover .table-darker:hover > th {
  background-color: #ababab;
}
.table-active,
.table-active > th,
.table-active > td {
  background-color: #f6f9fc;
}
.table-hover .table-active:hover {
  background-color: #e3ecf6;
}
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
  background-color: #e3ecf6;
}
.table .thead-dark th {
  color: #f8f9fe;
  background-color: #172b4d;
  border-color: #1f3a68;
}
.table .thead-light th {
  color: #8898aa;
  background-color: #f6f9fc;
  border-color: #e9ecef;
}
.table-dark {
  color: #f8f9fe;
  background-color: #172b4d;
}
.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: #1f3a68;
}
.table-dark.table-bordered {
  border: 0;
}
.table-dark.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}
.table-dark.table-hover tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.075);
}
@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .table-responsive-sm > .table-bordered {
    border: 0;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .table-responsive-md > .table-bordered {
    border: 0;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .table-responsive-lg > .table-bordered {
    border: 0;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .table-responsive-xl > .table-bordered {
    border: 0;
  }
}
.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}
.table-responsive > .table-bordered {
  border: 0;
}
.form-control {
  display: block;
  width: 100%;
  padding: 0.625rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #8898aa;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #cad1d7;
  border-radius: 0.375rem;
  box-shadow: none;
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
@media screen and (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:focus {
  color: #8898aa;
  background-color: #fff;
  border-color: rgba(50, 151, 211, 0.25);
  outline: 0;
  box-shadow: none, none;
}
.form-control::-moz-placeholder {
  color: #adb5bd;
  opacity: 1;
}
.form-control::placeholder {
  color: #adb5bd;
  opacity: 1;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}
select.form-control:not([size]):not([multiple]) {
  height: calc(2.75rem + 2px);
}
select.form-control:focus::-ms-value {
  color: #8898aa;
  background-color: #fff;
}
.form-control-file,
.form-control-range {
  display: block;
  width: 100%;
}
.col-form-label {
  padding-top: calc(0.625rem + 1px);
  padding-bottom: calc(0.625rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}
.col-form-label-lg {
  padding-top: calc(0.875rem + 1px);
  padding-bottom: calc(0.875rem + 1px);
  font-size: 1.25rem;
  line-height: 1.5;
}
.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
  line-height: 1.5;
}
.form-control-plaintext {
  display: block;
  width: 100%;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  margin-bottom: 0;
  line-height: 1.5;
  color: #525f7f;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}
.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,
.input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text,
.input-group-sm > .input-group-append > .form-control-plaintext.input-group-text,
.input-group-sm > .input-group-prepend > .form-control-plaintext.btn,
.input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,
.input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text,
.input-group-lg > .input-group-append > .form-control-plaintext.input-group-text,
.input-group-lg > .input-group-prepend > .form-control-plaintext.btn,
.input-group-lg > .input-group-append > .form-control-plaintext.btn {
  padding-right: 0;
  padding-left: 0;
}
.form-control-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.25rem;
}
select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),
.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),
.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),
.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]),
.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) {
  height: calc(1.8125rem + 2px);
}
.form-control-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
  padding: 0.875rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.4375rem;
}
select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),
.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),
.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]),
.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]),
.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) {
  height: calc(3.625rem + 2px);
}
.form-group {
  margin-bottom: 1.5rem;
}
.form-text {
  display: block;
  margin-top: 0.25rem;
}
.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px;
}
.form-row > .col,
.form-row > [class*=col-] {
  padding-right: 5px;
  padding-left: 5px;
}
.form-check {
  position: relative;
  display: block;
  padding-left: 1.25rem;
}
.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}
.form-check-input:disabled ~ .form-check-label {
  color: #8898aa;
}
.form-check-label {
  margin-bottom: 0;
}
.form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem;
}
.form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.3125rem;
  margin-left: 0;
}
.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #2dce89;
}
.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1;
  color: #fff;
  background-color: rgba(45, 206, 137, 0.8);
  border-radius: 0.2rem;
}
.was-validated .form-control:valid, .form-control.is-valid,
.was-validated .custom-select:valid,
.custom-select.is-valid {
  border-color: #2dce89;
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus,
.was-validated .custom-select:valid:focus,
.custom-select.is-valid:focus {
  border-color: #2dce89;
}
.was-validated .form-control:valid ~ .valid-feedback,
.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
.form-control.is-valid ~ .valid-tooltip,
.was-validated .custom-select:valid ~ .valid-feedback,
.was-validated .custom-select:valid ~ .valid-tooltip,
.custom-select.is-valid ~ .valid-feedback,
.custom-select.is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #2dce89;
}
.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #2dce89;
}
.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
  background-color: #93e7c3;
  border-color: #93e7c3;
}
.was-validated .custom-control-input:valid ~ .valid-feedback,
.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,
.custom-control-input.is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  background-color: #54daa1;
  border-color: #93e7c3;
}
.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 1px #f8f9fe, 0 0 0 0 rgba(45, 206, 137, 0.25);
}
.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #2dce89;
}
.was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before {
  border-color: inherit;
}
.was-validated .custom-file-input:valid ~ .valid-feedback,
.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,
.custom-file-input.is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  box-shadow: 0 0 0 0 rgba(45, 206, 137, 0.25);
}
.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #fb6340;
}
.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1;
  color: #fff;
  background-color: rgba(251, 99, 64, 0.8);
  border-radius: 0.2rem;
}
.was-validated .form-control:invalid, .form-control.is-invalid,
.was-validated .custom-select:invalid,
.custom-select.is-invalid {
  border-color: #fb6340;
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus,
.was-validated .custom-select:invalid:focus,
.custom-select.is-invalid:focus {
  border-color: #fb6340;
}
.was-validated .form-control:invalid ~ .invalid-feedback,
.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-tooltip,
.was-validated .custom-select:invalid ~ .invalid-feedback,
.was-validated .custom-select:invalid ~ .invalid-tooltip,
.custom-select.is-invalid ~ .invalid-feedback,
.custom-select.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #fb6340;
}
.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #fb6340;
}
.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
  background-color: #fec9bd;
  border-color: #fec9bd;
}
.was-validated .custom-control-input:invalid ~ .invalid-feedback,
.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,
.custom-control-input.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  background-color: #fc8c72;
  border-color: #fec9bd;
}
.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 1px #f8f9fe, 0 0 0 0 rgba(251, 99, 64, 0.25);
}
.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #fb6340;
}
.was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before {
  border-color: inherit;
}
.was-validated .custom-file-input:invalid ~ .invalid-feedback,
.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,
.custom-file-input.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  box-shadow: 0 0 0 0 rgba(251, 99, 64, 0.25);
}
.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.form-inline .form-check {
  width: 100%;
}
@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-plaintext {
    display: inline-block;
  }
  .form-inline .input-group,
.form-inline .custom-select {
    width: auto;
  }
  .form-inline .form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-left: 0;
  }
  .form-inline .form-check-input {
    position: relative;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
  .form-inline .custom-control {
    align-items: center;
    justify-content: center;
  }
  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}
.btn {
  display: inline-block;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 1px solid transparent;
  padding: 0.625rem 1.25rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.375rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media screen and (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover, .btn:focus {
  text-decoration: none;
}
.btn:focus, .btn.focus {
  outline: 0;
  box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08);
}
.btn.disabled, .btn:disabled {
  opacity: 0.65;
  box-shadow: none;
}
.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}
.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active {
  background-image: none;
  box-shadow: none;
}
.btn:not(:disabled):not(.disabled):active:focus, .btn:not(:disabled):not(.disabled).active:focus {
  box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08), none;
}
a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none;
}
.btn-primary {
  color: #fff;
  background-color: #5e72e4;
  border-color: #5e72e4;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-primary:hover {
  color: #fff;
  background-color: #5e72e4;
  border-color: #5e72e4;
}
.btn-primary:focus, .btn-primary.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(94, 114, 228, 0.5);
}
.btn-primary.disabled, .btn-primary:disabled {
  color: #fff;
  background-color: #5e72e4;
  border-color: #5e72e4;
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #324cdd;
  border-color: #5e72e4;
}
.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(94, 114, 228, 0.5);
}
.btn-secondary {
  color: #212529;
  background-color: #f7fafc;
  border-color: #f7fafc;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-secondary:hover {
  color: #212529;
  background-color: #f7fafc;
  border-color: #f7fafc;
}
.btn-secondary:focus, .btn-secondary.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(247, 250, 252, 0.5);
}
.btn-secondary.disabled, .btn-secondary:disabled {
  color: #212529;
  background-color: #f7fafc;
  border-color: #f7fafc;
}
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle {
  color: #212529;
  background-color: #d2e3ee;
  border-color: #f7fafc;
}
.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(247, 250, 252, 0.5);
}
.btn-success {
  color: #fff;
  background-color: #2dce89;
  border-color: #2dce89;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-success:hover {
  color: #fff;
  background-color: #2dce89;
  border-color: #2dce89;
}
.btn-success:focus, .btn-success.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(45, 206, 137, 0.5);
}
.btn-success.disabled, .btn-success:disabled {
  color: #fff;
  background-color: #2dce89;
  border-color: #2dce89;
}
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #24a46d;
  border-color: #2dce89;
}
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(45, 206, 137, 0.5);
}
.btn-info {
  color: #fff;
  background-color: #11cdef;
  border-color: #11cdef;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-info:hover {
  color: #fff;
  background-color: #11cdef;
  border-color: #11cdef;
}
.btn-info:focus, .btn-info.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(17, 205, 239, 0.5);
}
.btn-info.disabled, .btn-info:disabled {
  color: #fff;
  background-color: #11cdef;
  border-color: #11cdef;
}
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #0da5c0;
  border-color: #11cdef;
}
.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(17, 205, 239, 0.5);
}
.btn-warning {
  color: #fff;
  background-color: #fb6340;
  border-color: #fb6340;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-warning:hover {
  color: #fff;
  background-color: #fb6340;
  border-color: #fb6340;
}
.btn-warning:focus, .btn-warning.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(251, 99, 64, 0.5);
}
.btn-warning.disabled, .btn-warning:disabled {
  color: #fff;
  background-color: #fb6340;
  border-color: #fb6340;
}
.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle {
  color: #fff;
  background-color: #fa3a0e;
  border-color: #fb6340;
}
.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(251, 99, 64, 0.5);
}
.btn-danger {
  color: #fff;
  background-color: #f5365c;
  border-color: #f5365c;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-danger:hover {
  color: #fff;
  background-color: #f5365c;
  border-color: #f5365c;
}
.btn-danger:focus, .btn-danger.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(245, 54, 92, 0.5);
}
.btn-danger.disabled, .btn-danger:disabled {
  color: #fff;
  background-color: #f5365c;
  border-color: #f5365c;
}
.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #ec0c38;
  border-color: #f5365c;
}
.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(245, 54, 92, 0.5);
}
.btn-light {
  color: #fff;
  background-color: #adb5bd;
  border-color: #adb5bd;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-light:hover {
  color: #fff;
  background-color: #adb5bd;
  border-color: #adb5bd;
}
.btn-light:focus, .btn-light.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(173, 181, 189, 0.5);
}
.btn-light.disabled, .btn-light:disabled {
  color: #fff;
  background-color: #adb5bd;
  border-color: #adb5bd;
}
.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle {
  color: #fff;
  background-color: #919ca6;
  border-color: #adb5bd;
}
.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(173, 181, 189, 0.5);
}
.btn-dark {
  color: #fff;
  background-color: #212529;
  border-color: #212529;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-dark:hover {
  color: #fff;
  background-color: #212529;
  border-color: #212529;
}
.btn-dark:focus, .btn-dark.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(33, 37, 41, 0.5);
}
.btn-dark.disabled, .btn-dark:disabled {
  color: #fff;
  background-color: #212529;
  border-color: #212529;
}
.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #0a0c0d;
  border-color: #212529;
}
.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(33, 37, 41, 0.5);
}
.btn-default {
  color: #fff;
  background-color: #172b4d;
  border-color: #172b4d;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-default:hover {
  color: #fff;
  background-color: #172b4d;
  border-color: #172b4d;
}
.btn-default:focus, .btn-default.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(23, 43, 77, 0.5);
}
.btn-default.disabled, .btn-default:disabled {
  color: #fff;
  background-color: #172b4d;
  border-color: #172b4d;
}
.btn-default:not(:disabled):not(.disabled):active, .btn-default:not(:disabled):not(.disabled).active, .show > .btn-default.dropdown-toggle {
  color: #fff;
  background-color: #0b1526;
  border-color: #172b4d;
}
.btn-default:not(:disabled):not(.disabled):active:focus, .btn-default:not(:disabled):not(.disabled).active:focus, .show > .btn-default.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(23, 43, 77, 0.5);
}
.btn-white {
  color: #212529;
  background-color: #fff;
  border-color: #fff;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-white:hover {
  color: #212529;
  background-color: white;
  border-color: white;
}
.btn-white:focus, .btn-white.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(255, 255, 255, 0.5);
}
.btn-white.disabled, .btn-white:disabled {
  color: #212529;
  background-color: #fff;
  border-color: #fff;
}
.btn-white:not(:disabled):not(.disabled):active, .btn-white:not(:disabled):not(.disabled).active, .show > .btn-white.dropdown-toggle {
  color: #212529;
  background-color: #e6e6e6;
  border-color: white;
}
.btn-white:not(:disabled):not(.disabled):active:focus, .btn-white:not(:disabled):not(.disabled).active:focus, .show > .btn-white.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(255, 255, 255, 0.5);
}
.btn-neutral {
  color: #212529;
  background-color: #fff;
  border-color: #fff;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-neutral:hover {
  color: #212529;
  background-color: white;
  border-color: white;
}
.btn-neutral:focus, .btn-neutral.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(255, 255, 255, 0.5);
}
.btn-neutral.disabled, .btn-neutral:disabled {
  color: #212529;
  background-color: #fff;
  border-color: #fff;
}
.btn-neutral:not(:disabled):not(.disabled):active, .btn-neutral:not(:disabled):not(.disabled).active, .show > .btn-neutral.dropdown-toggle {
  color: #212529;
  background-color: #e6e6e6;
  border-color: white;
}
.btn-neutral:not(:disabled):not(.disabled):active:focus, .btn-neutral:not(:disabled):not(.disabled).active:focus, .show > .btn-neutral.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(255, 255, 255, 0.5);
}
.btn-darker {
  color: #fff;
  background-color: black;
  border-color: black;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-darker:hover {
  color: #fff;
  background-color: black;
  border-color: black;
}
.btn-darker:focus, .btn-darker.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(0, 0, 0, 0.5);
}
.btn-darker.disabled, .btn-darker:disabled {
  color: #fff;
  background-color: black;
  border-color: black;
}
.btn-darker:not(:disabled):not(.disabled):active, .btn-darker:not(:disabled):not(.disabled).active, .show > .btn-darker.dropdown-toggle {
  color: #fff;
  background-color: black;
  border-color: black;
}
.btn-darker:not(:disabled):not(.disabled):active:focus, .btn-darker:not(:disabled):not(.disabled).active:focus, .show > .btn-darker.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(0, 0, 0, 0.5);
}
.btn-outline-primary {
  color: #5e72e4;
  background-color: transparent;
  background-image: none;
  border-color: #5e72e4;
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: #5e72e4;
  border-color: #5e72e4;
}
.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0 rgba(94, 114, 228, 0.5);
}
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #5e72e4;
  background-color: transparent;
}
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #5e72e4;
  border-color: #5e72e4;
}
.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(94, 114, 228, 0.5);
}
.btn-outline-secondary {
  color: #f7fafc;
  background-color: transparent;
  background-image: none;
  border-color: #f7fafc;
}
.btn-outline-secondary:hover {
  color: #212529;
  background-color: #f7fafc;
  border-color: #f7fafc;
}
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
  box-shadow: 0 0 0 0 rgba(247, 250, 252, 0.5);
}
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  color: #f7fafc;
  background-color: transparent;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle {
  color: #212529;
  background-color: #f7fafc;
  border-color: #f7fafc;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(247, 250, 252, 0.5);
}
.btn-outline-success {
  color: #2dce89;
  background-color: transparent;
  background-image: none;
  border-color: #2dce89;
}
.btn-outline-success:hover {
  color: #fff;
  background-color: #2dce89;
  border-color: #2dce89;
}
.btn-outline-success:focus, .btn-outline-success.focus {
  box-shadow: 0 0 0 0 rgba(45, 206, 137, 0.5);
}
.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: #2dce89;
  background-color: transparent;
}
.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #2dce89;
  border-color: #2dce89;
}
.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(45, 206, 137, 0.5);
}
.btn-outline-info {
  color: #11cdef;
  background-color: transparent;
  background-image: none;
  border-color: #11cdef;
}
.btn-outline-info:hover {
  color: #fff;
  background-color: #11cdef;
  border-color: #11cdef;
}
.btn-outline-info:focus, .btn-outline-info.focus {
  box-shadow: 0 0 0 0 rgba(17, 205, 239, 0.5);
}
.btn-outline-info.disabled, .btn-outline-info:disabled {
  color: #11cdef;
  background-color: transparent;
}
.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #11cdef;
  border-color: #11cdef;
}
.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(17, 205, 239, 0.5);
}
.btn-outline-warning {
  color: #fb6340;
  background-color: transparent;
  background-image: none;
  border-color: #fb6340;
}
.btn-outline-warning:hover {
  color: #fff;
  background-color: #fb6340;
  border-color: #fb6340;
}
.btn-outline-warning:focus, .btn-outline-warning.focus {
  box-shadow: 0 0 0 0 rgba(251, 99, 64, 0.5);
}
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  color: #fb6340;
  background-color: transparent;
}
.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle {
  color: #fff;
  background-color: #fb6340;
  border-color: #fb6340;
}
.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(251, 99, 64, 0.5);
}
.btn-outline-danger {
  color: #f5365c;
  background-color: transparent;
  background-image: none;
  border-color: #f5365c;
}
.btn-outline-danger:hover {
  color: #fff;
  background-color: #f5365c;
  border-color: #f5365c;
}
.btn-outline-danger:focus, .btn-outline-danger.focus {
  box-shadow: 0 0 0 0 rgba(245, 54, 92, 0.5);
}
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  color: #f5365c;
  background-color: transparent;
}
.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #f5365c;
  border-color: #f5365c;
}
.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(245, 54, 92, 0.5);
}
.btn-outline-light {
  color: #adb5bd;
  background-color: transparent;
  background-image: none;
  border-color: #adb5bd;
}
.btn-outline-light:hover {
  color: #fff;
  background-color: #adb5bd;
  border-color: #adb5bd;
}
.btn-outline-light:focus, .btn-outline-light.focus {
  box-shadow: 0 0 0 0 rgba(173, 181, 189, 0.5);
}
.btn-outline-light.disabled, .btn-outline-light:disabled {
  color: #adb5bd;
  background-color: transparent;
}
.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle {
  color: #fff;
  background-color: #adb5bd;
  border-color: #adb5bd;
}
.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(173, 181, 189, 0.5);
}
.btn-outline-dark {
  color: #212529;
  background-color: transparent;
  background-image: none;
  border-color: #212529;
}
.btn-outline-dark:hover {
  color: #fff;
  background-color: #212529;
  border-color: #212529;
}
.btn-outline-dark:focus, .btn-outline-dark.focus {
  box-shadow: 0 0 0 0 rgba(33, 37, 41, 0.5);
}
.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  color: #212529;
  background-color: transparent;
}
.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #212529;
  border-color: #212529;
}
.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(33, 37, 41, 0.5);
}
.btn-outline-default {
  color: #172b4d;
  background-color: transparent;
  background-image: none;
  border-color: #172b4d;
}
.btn-outline-default:hover {
  color: #fff;
  background-color: #172b4d;
  border-color: #172b4d;
}
.btn-outline-default:focus, .btn-outline-default.focus {
  box-shadow: 0 0 0 0 rgba(23, 43, 77, 0.5);
}
.btn-outline-default.disabled, .btn-outline-default:disabled {
  color: #172b4d;
  background-color: transparent;
}
.btn-outline-default:not(:disabled):not(.disabled):active, .btn-outline-default:not(:disabled):not(.disabled).active, .show > .btn-outline-default.dropdown-toggle {
  color: #fff;
  background-color: #172b4d;
  border-color: #172b4d;
}
.btn-outline-default:not(:disabled):not(.disabled):active:focus, .btn-outline-default:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-default.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(23, 43, 77, 0.5);
}
.btn-outline-white {
  color: #fff;
  background-color: transparent;
  background-image: none;
  border-color: #fff;
}
.btn-outline-white:hover {
  color: #212529;
  background-color: #fff;
  border-color: #fff;
}
.btn-outline-white:focus, .btn-outline-white.focus {
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
}
.btn-outline-white.disabled, .btn-outline-white:disabled {
  color: #fff;
  background-color: transparent;
}
.btn-outline-white:not(:disabled):not(.disabled):active, .btn-outline-white:not(:disabled):not(.disabled).active, .show > .btn-outline-white.dropdown-toggle {
  color: #212529;
  background-color: #fff;
  border-color: #fff;
}
.btn-outline-white:not(:disabled):not(.disabled):active:focus, .btn-outline-white:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-white.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
}
.btn-outline-neutral {
  color: #fff;
  background-color: transparent;
  background-image: none;
  border-color: #fff;
}
.btn-outline-neutral:hover {
  color: #212529;
  background-color: #fff;
  border-color: #fff;
}
.btn-outline-neutral:focus, .btn-outline-neutral.focus {
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
}
.btn-outline-neutral.disabled, .btn-outline-neutral:disabled {
  color: #fff;
  background-color: transparent;
}
.btn-outline-neutral:not(:disabled):not(.disabled):active, .btn-outline-neutral:not(:disabled):not(.disabled).active, .show > .btn-outline-neutral.dropdown-toggle {
  color: #212529;
  background-color: #fff;
  border-color: #fff;
}
.btn-outline-neutral:not(:disabled):not(.disabled):active:focus, .btn-outline-neutral:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-neutral.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
}
.btn-outline-darker {
  color: black;
  background-color: transparent;
  background-image: none;
  border-color: black;
}
.btn-outline-darker:hover {
  color: #fff;
  background-color: black;
  border-color: black;
}
.btn-outline-darker:focus, .btn-outline-darker.focus {
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5);
}
.btn-outline-darker.disabled, .btn-outline-darker:disabled {
  color: black;
  background-color: transparent;
}
.btn-outline-darker:not(:disabled):not(.disabled):active, .btn-outline-darker:not(:disabled):not(.disabled).active, .show > .btn-outline-darker.dropdown-toggle {
  color: #fff;
  background-color: black;
  border-color: black;
}
.btn-outline-darker:not(:disabled):not(.disabled):active:focus, .btn-outline-darker:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-darker.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5);
}
.btn-link {
  font-weight: 400;
  color: #5e72e4;
  background-color: transparent;
}
.btn-link:hover {
  color: #233dd2;
  text-decoration: none;
  background-color: transparent;
  border-color: transparent;
}
.btn-link:focus, .btn-link.focus {
  text-decoration: none;
  border-color: transparent;
  box-shadow: none;
}
.btn-link:disabled, .btn-link.disabled {
  color: #8898aa;
  pointer-events: none;
}
.btn-lg, .btn-group-lg > .btn {
  padding: 0.875rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.4375rem;
}
.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.375rem;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 0.5rem;
}
input[type=submit].btn-block,
input[type=reset].btn-block,
input[type=button].btn-block {
  width: 100%;
}
.fade {
  transition: opacity 0.15s linear;
}
@media screen and (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}
.collapse:not(.show) {
  display: none;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative;
}
.dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #525f7f;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 0 solid rgba(0, 0, 0, 0.15);
  border-radius: 0.4375rem;
  box-shadow: 0 50px 100px rgba(50, 50, 93, 0.1), 0 15px 35px rgba(50, 50, 93, 0.15), 0 5px 15px rgba(0, 0, 0, 0.1);
}
.dropdown-menu-right {
  right: 0;
  left: auto;
}
.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}
.dropright .dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropright .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropright .dropdown-toggle::after {
  vertical-align: 0;
}
.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}
.dropleft .dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropleft .dropdown-toggle::after {
  display: none;
}
.dropleft .dropdown-toggle::before {
  display: inline-block;
  width: 0;
  height: 0;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropleft .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}
.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] {
  right: auto;
  bottom: auto;
}
.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef;
}
.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}
.dropdown-item:hover, .dropdown-item:focus {
  color: #16181b;
  text-decoration: none;
  background-color: #f6f9fc;
}
.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #5e72e4;
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: #8898aa;
  background-color: transparent;
}
.dropdown-menu.show {
  display: block;
}
.dropdown-header {
  display: block;
  padding: 0.5rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #8898aa;
  white-space: nowrap;
}
.dropdown-item-text {
  display: block;
  padding: 0.25rem 1.5rem;
  color: #212529;
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 0 1 auto;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover {
  z-index: 1;
}
.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group,
.btn-group-vertical .btn + .btn,
.btn-group-vertical .btn + .btn-group,
.btn-group-vertical .btn-group + .btn,
.btn-group-vertical .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.dropdown-toggle-split {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle-split::before {
  margin-right: 0;
}
.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}
.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}
.btn-group.show .dropdown-toggle {
  box-shadow: none;
}
.btn-group.show .dropdown-toggle.btn-link {
  box-shadow: none;
}
.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical .btn,
.btn-group-vertical .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.btn-group-toggle > .btn,
.btn-group-toggle > .btn-group > .btn {
  margin-bottom: 0;
}
.btn-group-toggle > .btn input[type=radio],
.btn-group-toggle > .btn input[type=checkbox],
.btn-group-toggle > .btn-group > .btn input[type=radio],
.btn-group-toggle > .btn-group > .btn input[type=checkbox] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .custom-select,
.input-group > .custom-file {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  margin-bottom: 0;
}
.input-group > .form-control:focus,
.input-group > .custom-select:focus,
.input-group > .custom-file:focus {
  z-index: 3;
}
.input-group > .form-control + .form-control,
.input-group > .form-control + .custom-select,
.input-group > .form-control + .custom-file,
.input-group > .custom-select + .form-control,
.input-group > .custom-select + .custom-select,
.input-group > .custom-select + .custom-file,
.input-group > .custom-file + .form-control,
.input-group > .custom-file + .custom-select,
.input-group > .custom-file + .custom-file {
  margin-left: -1px;
}
.input-group > .form-control:not(:last-child),
.input-group > .custom-select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .form-control:not(:first-child),
.input-group > .custom-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .custom-file {
  display: flex;
  align-items: center;
}
.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .custom-file:not(:first-child) .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group-prepend,
.input-group-append {
  display: flex;
}
.input-group-prepend .btn,
.input-group-append .btn {
  position: relative;
  z-index: 2;
}
.input-group-prepend .btn + .btn,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-append .btn + .btn,
.input-group-append .btn + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn {
  margin-left: -1px;
}
.input-group-prepend {
  margin-right: -1px;
}
.input-group-append {
  margin-left: -1px;
}
.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.625rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #adb5bd;
  text-align: center;
  white-space: nowrap;
  background-color: #fff;
  border: 1px solid #cad1d7;
  border-radius: 0.375rem;
}
.input-group-text input[type=radio],
.input-group-text input[type=checkbox] {
  margin-top: 0;
}
.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.custom-control {
  position: relative;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.75rem;
}
.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem;
}
.custom-control-input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.custom-control-input:checked ~ .custom-control-label::before {
  color: #fff;
  background-color: #5e72e4;
  box-shadow: none;
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: none;
}
.custom-control-input:active ~ .custom-control-label::before {
  color: #fff;
  background-color: #5e72e4;
  box-shadow: none;
}
.custom-control-input:disabled ~ .custom-control-label {
  color: #8898aa;
}
.custom-control-input:disabled ~ .custom-control-label::before {
  background-color: #e9ecef;
}
.custom-control-label {
  position: relative;
  margin-bottom: 0;
}
.custom-control-label::before {
  position: absolute;
  top: 0.125rem;
  left: -1.75rem;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  pointer-events: none;
  content: "";
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background-color: #fff;
  box-shadow: none;
}
.custom-control-label::after {
  position: absolute;
  top: 0.125rem;
  left: -1.75rem;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%;
}
.custom-checkbox .custom-control-label::before {
  border-radius: 0.25rem;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #5e72e4;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  background-color: #5e72e4;
  box-shadow: none;
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(94, 114, 228, 0.5);
}
.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(94, 114, 228, 0.5);
}
.custom-radio .custom-control-label::before {
  border-radius: 50%;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #5e72e4;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
}
.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(94, 114, 228, 0.5);
}
.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(2.75rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  line-height: 1.5;
  color: #8898aa;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%2332325d' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
  background-size: 8px 10px;
  border: 1px solid #cad1d7;
  border-radius: 0.375rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.custom-select:focus {
  border-color: rgba(50, 151, 211, 0.25);
  outline: 0;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(50, 151, 211, 0.5);
}
.custom-select:focus::-ms-value {
  color: #8898aa;
  background-color: #fff;
}
.custom-select[multiple], .custom-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 0.75rem;
  background-image: none;
}
.custom-select:disabled {
  color: #8898aa;
  background-color: #e9ecef;
}
.custom-select::-ms-expand {
  opacity: 0;
}
.custom-select-sm {
  height: calc(1.8125rem + 2px);
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 75%;
}
.custom-select-lg {
  height: calc(3.625rem + 2px);
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 125%;
}
.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(2.75rem + 2px);
  margin-bottom: 0;
}
.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(2.75rem + 2px);
  margin: 0;
  opacity: 0;
}
.custom-file-input:focus ~ .custom-file-label {
  border-color: rgba(50, 151, 211, 0.25);
  box-shadow: none;
}
.custom-file-input:focus ~ .custom-file-label::after {
  border-color: rgba(50, 151, 211, 0.25);
}
.custom-file-input:lang(en) ~ .custom-file-label::after {
  content: "Browse";
}
.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(2.75rem + 2px);
  padding: 0.625rem 0.75rem;
  line-height: 1.5;
  color: #8898aa;
  background-color: #fff;
  border: 1px solid #cad1d7;
  border-radius: 0.375rem;
  box-shadow: none;
}
.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: 2.75rem;
  padding: 0.625rem 0.75rem;
  line-height: 1.5;
  color: #8898aa;
  content: "Browse";
  background-color: #fff;
  border-left: 1px solid #cad1d7;
  border-radius: 0 0.375rem 0.375rem 0;
}
.custom-range {
  width: 100%;
  padding-left: 0;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.custom-range:focus {
  outline: none;
}
.custom-range::-moz-focus-outer {
  border: 0;
}
.custom-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #5e72e4;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);
  -webkit-appearance: none;
          appearance: none;
}
.custom-range::-webkit-slider-thumb:focus {
  outline: none;
  box-shadow: 0 0 0 1px #f8f9fe, none;
}
.custom-range::-webkit-slider-thumb:active {
  background-color: #f7f8fe;
}
.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
  box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1);
}
.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #5e72e4;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);
  -moz-appearance: none;
       appearance: none;
}
.custom-range::-moz-range-thumb:focus {
  outline: none;
  box-shadow: 0 0 0 1px #f8f9fe, none;
}
.custom-range::-moz-range-thumb:active {
  background-color: #f7f8fe;
}
.custom-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
  box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1);
}
.custom-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #5e72e4;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);
  appearance: none;
}
.custom-range::-ms-thumb:focus {
  outline: none;
  box-shadow: 0 0 0 1px #f8f9fe, none;
}
.custom-range::-ms-thumb:active {
  background-color: #f7f8fe;
}
.custom-range::-ms-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: 0.5rem;
  box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1);
}
.custom-range::-ms-fill-lower {
  background-color: #dee2e6;
  border-radius: 1rem;
}
.custom-range::-ms-fill-upper {
  margin-right: 15px;
  background-color: #dee2e6;
  border-radius: 1rem;
}
.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.nav-link {
  display: block;
  padding: 0.25rem 0.75rem;
}
.nav-link:hover, .nav-link:focus {
  text-decoration: none;
}
.nav-link.disabled {
  color: #8898aa;
}
.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}
.nav-tabs .nav-item {
  margin-bottom: -1px;
}
.nav-tabs .nav-link {
  border: 1px solid transparent;
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  border-color: #e9ecef #e9ecef #dee2e6;
}
.nav-tabs .nav-link.disabled {
  color: #8898aa;
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #525f7f;
  background-color: #f8f9fe;
  border-color: #dee2e6 #dee2e6 #f8f9fe;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.nav-pills .nav-link {
  border-radius: 0.375rem;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #5e72e4;
}
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem;
}
.navbar > .container,
.navbar > .container-fluid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  display: inline-block;
  padding-top: 0.0625rem;
  padding-bottom: 0.0625rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  text-decoration: none;
}
.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link {
  padding-right: 0;
  padding-left: 0;
}
.navbar-nav .dropdown-menu {
  position: static;
  float: none;
}
.navbar-text {
  display: inline-block;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}
.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.375rem;
}
.navbar-toggler:hover, .navbar-toggler:focus {
  text-decoration: none;
}
.navbar-toggler:not(:disabled):not(.disabled) {
  cursor: pointer;
}
.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: no-repeat center center;
  background-size: 100% 100%;
}
@media (max-width: 575.98px) {
  .navbar-expand-sm > .container,
.navbar-expand-sm > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .navbar-expand-sm > .container,
.navbar-expand-sm > .container-fluid {
    flex-wrap: nowrap;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .navbar-expand-md > .container,
.navbar-expand-md > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .navbar-expand-md > .container,
.navbar-expand-md > .container-fluid {
    flex-wrap: nowrap;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .navbar-expand-lg > .container,
.navbar-expand-lg > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .navbar-expand-lg > .container,
.navbar-expand-lg > .container-fluid {
    flex-wrap: nowrap;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}
@media (max-width: 1199.98px) {
  .navbar-expand-xl > .container,
.navbar-expand-xl > .container-fluid {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .navbar-expand-xl > .container,
.navbar-expand-xl > .container-fluid {
    flex-wrap: nowrap;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
}
.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start;
}
.navbar-expand > .container,
.navbar-expand > .container-fluid {
  padding-right: 0;
  padding-left: 0;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: 1rem;
  padding-left: 1rem;
}
.navbar-expand > .container,
.navbar-expand > .container-fluid {
  flex-wrap: nowrap;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}
.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.5);
}
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
}
.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(0, 0, 0, 0.3);
}
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border-color: transparent;
}
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.5);
}
.navbar-light .navbar-text a {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-dark .navbar-brand {
  color: rgba(255, 255, 255, 0.65);
}
.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
  color: rgba(255, 255, 255, 0.65);
}
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.95);
}
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 0.65);
}
.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.25);
}
.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: rgba(255, 255, 255, 0.65);
}
.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.95);
  border-color: transparent;
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.95)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.95);
}
.navbar-dark .navbar-text a {
  color: rgba(255, 255, 255, 0.65);
}
.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
  color: rgba(255, 255, 255, 0.65);
}
.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 0.375rem;
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group:first-child .list-group-item:first-child {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.card > .list-group:last-child .list-group-item:last-child {
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.card-body {
  flex: 1 1 auto;
  padding: 1.5rem;
}
.card-title {
  margin-bottom: 1.25rem;
}
.card-subtitle {
  margin-top: -0.625rem;
  margin-bottom: 0;
}
.card-text:last-child {
  margin-bottom: 0;
}
.card-link:hover {
  text-decoration: none;
}
.card-link + .card-link {
  margin-left: 1.5rem;
}
.card-header {
  padding: 1.25rem 1.5rem;
  margin-bottom: 0;
  background-color: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.card-header:first-child {
  border-radius: calc(0.375rem - 1px) calc(0.375rem - 1px) 0 0;
}
.card-header + .list-group .list-group-item:first-child {
  border-top: 0;
}
.card-footer {
  padding: 1.25rem 1.5rem;
  background-color: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}
.card-footer:last-child {
  border-radius: 0 0 calc(0.375rem - 1px) calc(0.375rem - 1px);
}
.card-header-tabs {
  margin-right: -0.75rem;
  margin-bottom: -1.25rem;
  margin-left: -0.75rem;
  border-bottom: 0;
}
.card-header-pills {
  margin-right: -0.75rem;
  margin-left: -0.75rem;
}
.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
}
.card-img {
  width: 100%;
  border-radius: calc(0.375rem - 1px);
}
.card-img-top {
  width: 100%;
  border-top-left-radius: calc(0.375rem - 1px);
  border-top-right-radius: calc(0.375rem - 1px);
}
.card-img-bottom {
  width: 100%;
  border-bottom-right-radius: calc(0.375rem - 1px);
  border-bottom-left-radius: calc(0.375rem - 1px);
}
.card-deck {
  display: flex;
  flex-direction: column;
}
.card-deck .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-deck {
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px;
  }
  .card-deck .card {
    display: flex;
    flex: 1 0 0%;
    flex-direction: column;
    margin-right: 15px;
    margin-bottom: 0;
    margin-left: 15px;
  }
}
.card-group {
  display: flex;
  flex-direction: column;
}
.card-group > .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-group {
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:first-child .card-img-top,
.card-group > .card:first-child .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:first-child .card-img-bottom,
.card-group > .card:first-child .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:last-child .card-img-top,
.card-group > .card:last-child .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:last-child .card-img-bottom,
.card-group > .card:last-child .card-footer {
    border-bottom-left-radius: 0;
  }
  .card-group > .card:only-child {
    border-radius: 0.375rem;
  }
  .card-group > .card:only-child .card-img-top,
.card-group > .card:only-child .card-header {
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
  }
  .card-group > .card:only-child .card-img-bottom,
.card-group > .card:only-child .card-footer {
    border-bottom-right-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
  }
  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {
    border-radius: 0;
  }
  .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,
.card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,
.card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,
.card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {
    border-radius: 0;
  }
}
.card-columns .card {
  margin-bottom: 1.25rem;
}
@media (min-width: 576px) {
  .card-columns {
    -moz-column-count: 3;
         column-count: 3;
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }
  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}
.accordion .card:not(:first-of-type):not(:last-of-type) {
  border-bottom: 0;
  border-radius: 0;
}
.accordion .card:not(:first-of-type) .card-header:first-child {
  border-radius: 0;
}
.accordion .card:first-of-type {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.accordion .card:last-of-type {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e9ecef;
  border-radius: 0.375rem;
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  display: inline-block;
  padding-right: 0.5rem;
  color: #8898aa;
  content: "/";
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline;
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none;
}
.breadcrumb-item.active {
  color: #8898aa;
}
.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.375rem;
}
.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #8898aa;
  background-color: #fff;
  border: 1px solid #dee2e6;
}
.page-link:hover {
  z-index: 2;
  color: #8898aa;
  text-decoration: none;
  background-color: #dee2e6;
  border-color: #dee2e6;
}
.page-link:focus {
  z-index: 2;
  outline: 0;
  box-shadow: none;
}
.page-link:not(:disabled):not(.disabled) {
  cursor: pointer;
}
.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.page-item:last-child .page-link {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}
.page-item.active .page-link {
  z-index: 1;
  color: #fff;
  background-color: #5e72e4;
  border-color: #5e72e4;
}
.page-item.disabled .page-link {
  color: #8898aa;
  pointer-events: none;
  cursor: auto;
  background-color: #fff;
  border-color: #dee2e6;
}
.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5;
}
.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.4375rem;
  border-bottom-left-radius: 0.4375rem;
}
.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.4375rem;
  border-bottom-right-radius: 0.4375rem;
}
.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.badge {
  display: inline-block;
  padding: 0.35rem 0.375rem;
  font-size: 66%;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.375rem;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.badge-pill {
  padding-right: 0.875em;
  padding-left: 0.875em;
  border-radius: 10rem;
}
.badge-primary {
  color: #2643e9;
  background-color: rgba(203, 210, 246, 0.5);
}
.badge-primary[href]:hover, .badge-primary[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #324cdd;
}
.badge-secondary {
  color: #cfe3f1;
  background-color: rgba(255, 255, 255, 0.5);
}
.badge-secondary[href]:hover, .badge-secondary[href]:focus {
  color: #212529;
  text-decoration: none;
  background-color: #d2e3ee;
}
.badge-success {
  color: #1aae6f;
  background-color: rgba(147, 231, 195, 0.5);
}
.badge-success[href]:hover, .badge-success[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #24a46d;
}
.badge-info {
  color: #03acca;
  background-color: rgba(136, 230, 247, 0.5);
}
.badge-info[href]:hover, .badge-info[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #0da5c0;
}
.badge-warning {
  color: #ff3709;
  background-color: rgba(254, 201, 189, 0.5);
}
.badge-warning[href]:hover, .badge-warning[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #fa3a0e;
}
.badge-danger {
  color: #f80031;
  background-color: rgba(251, 175, 190, 0.5);
}
.badge-danger[href]:hover, .badge-danger[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #ec0c38;
}
.badge-light {
  color: #879cb0;
  background-color: rgba(244, 245, 246, 0.5);
}
.badge-light[href]:hover, .badge-light[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #919ca6;
}
.badge-dark {
  color: #090c0e;
  background-color: rgba(90, 101, 112, 0.5);
}
.badge-dark[href]:hover, .badge-dark[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #0a0c0d;
}
.badge-default {
  color: #091428;
  background-color: rgba(52, 98, 175, 0.5);
}
.badge-default[href]:hover, .badge-default[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: #0b1526;
}
.badge-white {
  color: #e8e3e3;
  background-color: rgba(255, 255, 255, 0.5);
}
.badge-white[href]:hover, .badge-white[href]:focus {
  color: #212529;
  text-decoration: none;
  background-color: #e6e6e6;
}
.badge-neutral {
  color: #e8e3e3;
  background-color: rgba(255, 255, 255, 0.5);
}
.badge-neutral[href]:hover, .badge-neutral[href]:focus {
  color: #212529;
  text-decoration: none;
  background-color: #e6e6e6;
}
.badge-darker {
  color: black;
  background-color: rgba(57, 64, 71, 0.5);
}
.badge-darker[href]:hover, .badge-darker[href]:focus {
  color: #fff;
  text-decoration: none;
  background-color: black;
}
.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  border-radius: 0.4375rem;
}
@media (min-width: 576px) {
  .jumbotron {
    padding: 4rem 2rem;
  }
}
.jumbotron-fluid {
  padding-right: 0;
  padding-left: 0;
  border-radius: 0;
}
.alert {
  position: relative;
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.375rem;
}
.alert-heading {
  color: inherit;
}
.alert-link {
  font-weight: 600;
}
.alert-dismissible {
  padding-right: 4.5rem;
}
.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 1rem 1.5rem;
  color: inherit;
}
.alert-primary {
  color: #fff;
  background-color: #7889e8;
  border-color: #7889e8;
}
.alert-primary hr {
  border-top-color: #6276e4;
}
.alert-primary .alert-link {
  color: #324cdd;
}
.alert-secondary {
  color: #212529;
  background-color: #f8fbfc;
  border-color: #f8fbfc;
}
.alert-secondary hr {
  border-top-color: #e6f1f4;
}
.alert-secondary .alert-link {
  color: #d2e3ee;
}
.alert-success {
  color: #fff;
  background-color: #4fd69c;
  border-color: #4fd69c;
}
.alert-success hr {
  border-top-color: #3ad190;
}
.alert-success .alert-link {
  color: #24a46d;
}
.alert-info {
  color: #fff;
  background-color: #37d5f2;
  border-color: #37d5f2;
}
.alert-info hr {
  border-top-color: #1fd0f0;
}
.alert-info .alert-link {
  color: #0da5c0;
}
.alert-warning {
  color: #fff;
  background-color: #fc7c5f;
  border-color: #fc7c5f;
}
.alert-warning hr {
  border-top-color: #fc6846;
}
.alert-warning .alert-link {
  color: #fa3a0e;
}
.alert-danger {
  color: #fff;
  background-color: #f75676;
  border-color: #f75676;
}
.alert-danger hr {
  border-top-color: #f63e62;
}
.alert-danger .alert-link {
  color: #ec0c38;
}
.alert-light {
  color: #fff;
  background-color: #bac1c8;
  border-color: #bac1c8;
}
.alert-light hr {
  border-top-color: #acb4bd;
}
.alert-light .alert-link {
  color: #919ca6;
}
.alert-dark {
  color: #fff;
  background-color: #45484b;
  border-color: #45484b;
}
.alert-dark hr {
  border-top-color: #393b3e;
}
.alert-dark .alert-link {
  color: #0a0c0d;
}
.alert-default {
  color: #fff;
  background-color: #3c4d69;
  border-color: #3c4d69;
}
.alert-default hr {
  border-top-color: #334159;
}
.alert-default .alert-link {
  color: #0b1526;
}
.alert-white {
  color: #212529;
  background-color: white;
  border-color: white;
}
.alert-white hr {
  border-top-color: #f2f2f2;
}
.alert-white .alert-link {
  color: #e6e6e6;
}
.alert-neutral {
  color: #212529;
  background-color: white;
  border-color: white;
}
.alert-neutral hr {
  border-top-color: #f2f2f2;
}
.alert-neutral .alert-link {
  color: #e6e6e6;
}
.alert-darker {
  color: #fff;
  background-color: #292929;
  border-color: #292929;
}
.alert-darker hr {
  border-top-color: #1c1c1c;
}
.alert-darker .alert-link {
  color: black;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.375rem;
  box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1);
}
.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #5e72e4;
  transition: width 0.6s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}
.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
}
.progress-bar-animated {
  -webkit-animation: progress-bar-stripes 1s linear infinite;
          animation: progress-bar-stripes 1s linear infinite;
}
.media {
  display: flex;
  align-items: flex-start;
}
.media-body {
  flex: 1;
}
.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
}
.list-group-item-action {
  width: 100%;
  color: #525f7f;
  text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  color: #525f7f;
  text-decoration: none;
  background-color: #f6f9fc;
}
.list-group-item-action:active {
  color: #525f7f;
  background-color: #e9ecef;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 1rem 1rem;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #e9ecef;
}
.list-group-item:first-child {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.list-group-item:hover, .list-group-item:focus {
  z-index: 1;
  text-decoration: none;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: #8898aa;
  background-color: #fff;
}
.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: #5e72e4;
  border-color: #5e72e4;
}
.list-group-flush .list-group-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.list-group-flush:first-child .list-group-item:first-child {
  border-top: 0;
}
.list-group-flush:last-child .list-group-item:last-child {
  border-bottom: 0;
}
.list-group-item-primary {
  color: #313b77;
  background-color: #d2d8f7;
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: #313b77;
  background-color: #bcc5f3;
}
.list-group-item-primary.list-group-item-action.active {
  color: #fff;
  background-color: #313b77;
  border-color: #313b77;
}
.list-group-item-secondary {
  color: #808283;
  background-color: #fdfefe;
}
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
  color: #808283;
  background-color: #ecf6f6;
}
.list-group-item-secondary.list-group-item-action.active {
  color: #fff;
  background-color: #808283;
  border-color: #808283;
}
.list-group-item-success {
  color: #176b47;
  background-color: #c4f1de;
}
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
  color: #176b47;
  background-color: #afecd2;
}
.list-group-item-success.list-group-item-action.active {
  color: #fff;
  background-color: #176b47;
  border-color: #176b47;
}
.list-group-item-info {
  color: #096b7c;
  background-color: #bcf1fb;
}
.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
  color: #096b7c;
  background-color: #a4ecfa;
}
.list-group-item-info.list-group-item-action.active {
  color: #fff;
  background-color: #096b7c;
  border-color: #096b7c;
}
.list-group-item-warning {
  color: #833321;
  background-color: #fed3ca;
}
.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
  color: #833321;
  background-color: #febeb1;
}
.list-group-item-warning.list-group-item-action.active {
  color: #fff;
  background-color: #833321;
  border-color: #833321;
}
.list-group-item-danger {
  color: #7f1c30;
  background-color: #fcc7d1;
}
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
  color: #7f1c30;
  background-color: #fbafbd;
}
.list-group-item-danger.list-group-item-action.active {
  color: #fff;
  background-color: #7f1c30;
  border-color: #7f1c30;
}
.list-group-item-light {
  color: #5a5e62;
  background-color: #e8eaed;
}
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
  color: #5a5e62;
  background-color: #dadde2;
}
.list-group-item-light.list-group-item-action.active {
  color: #fff;
  background-color: #5a5e62;
  border-color: #5a5e62;
}
.list-group-item-dark {
  color: #111315;
  background-color: #c1c2c3;
}
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
  color: #111315;
  background-color: #b4b5b6;
}
.list-group-item-dark.list-group-item-action.active {
  color: #fff;
  background-color: #111315;
  border-color: #111315;
}
.list-group-item-default {
  color: #0c1628;
  background-color: #bec4cd;
}
.list-group-item-default.list-group-item-action:hover, .list-group-item-default.list-group-item-action:focus {
  color: #0c1628;
  background-color: #b0b7c2;
}
.list-group-item-default.list-group-item-action.active {
  color: #fff;
  background-color: #0c1628;
  border-color: #0c1628;
}
.list-group-item-white {
  color: #858585;
  background-color: white;
}
.list-group-item-white.list-group-item-action:hover, .list-group-item-white.list-group-item-action:focus {
  color: #858585;
  background-color: #f2f2f2;
}
.list-group-item-white.list-group-item-action.active {
  color: #fff;
  background-color: #858585;
  border-color: #858585;
}
.list-group-item-neutral {
  color: #858585;
  background-color: white;
}
.list-group-item-neutral.list-group-item-action:hover, .list-group-item-neutral.list-group-item-action:focus {
  color: #858585;
  background-color: #f2f2f2;
}
.list-group-item-neutral.list-group-item-action.active {
  color: #fff;
  background-color: #858585;
  border-color: #858585;
}
.list-group-item-darker {
  color: black;
  background-color: #b8b8b8;
}
.list-group-item-darker.list-group-item-action:hover, .list-group-item-darker.list-group-item-action:focus {
  color: black;
  background-color: #ababab;
}
.list-group-item-darker.list-group-item-action.active {
  color: #fff;
  background-color: black;
  border-color: black;
}
.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  color: rgba(0, 0, 0, 0.6);
  text-shadow: none;
  opacity: 0.5;
}
.close:hover, .close:focus {
  color: rgba(0, 0, 0, 0.6);
  text-decoration: none;
  opacity: 0.75;
}
.close:not(:disabled):not(.disabled) {
  cursor: pointer;
}
button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  outline: 0;
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -25%);
}
@media screen and (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: translate(0, 0);
}
.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - (0.5rem * 2));
}
.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 0 solid rgba(0, 0, 0, 0.2);
  border-radius: 0.4375rem;
  box-shadow: 0 15px 35px rgba(50, 50, 93, 0.2), 0 5px 15px rgba(0, 0, 0, 0.17);
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 0.16;
}
.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1.25rem;
  border-bottom: 0 solid #e9ecef;
  border-top-left-radius: 0.4375rem;
  border-top-right-radius: 0.4375rem;
}
.modal-header .close {
  padding: 1.25rem;
  margin: -1.25rem -1.25rem -1.25rem auto;
}
.modal-title {
  margin-bottom: 0;
  line-height: 1.1;
}
.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1.5rem;
}
.modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 1.5rem;
  border-top: 0 solid #e9ecef;
}
.modal-footer > :not(:first-child) {
  margin-left: 0.25rem;
}
.modal-footer > :not(:last-child) {
  margin-right: 0.25rem;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }

  .modal-dialog-centered {
    min-height: calc(100% - (1.75rem * 2));
  }

  .modal-content {
    box-shadow: 0 15px 35px rgba(50, 50, 93, 0.2), 0 5px 15px rgba(0, 0, 0, 0.17);
  }

  .modal-sm {
    max-width: 380px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    max-width: 800px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: Open Sans, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: 0.9;
}
.tooltip .arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}
.tooltip .arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}
.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] {
  padding: 0.4rem 0;
}
.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=top] .arrow {
  bottom: 0;
}
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before {
  top: 0;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #000;
}
.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] {
  padding: 0 0.4rem;
}
.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=right] .arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before {
  right: 0;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #000;
}
.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] {
  padding: 0.4rem 0;
}
.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow {
  top: 0;
}
.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  bottom: 0;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #000;
}
.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] {
  padding: 0 0.4rem;
}
.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=left] .arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before {
  left: 0;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #000;
}
.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.375rem;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: Open Sans, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 0.4375rem;
  box-shadow: 0px 0.5rem 2rem 0px rgba(0, 0, 0, 0.2);
}
.popover .arrow {
  position: absolute;
  display: block;
  width: 1.5rem;
  height: 0.75rem;
  margin: 0 0.4375rem;
}
.popover .arrow::before, .popover .arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}
.bs-popover-top, .bs-popover-auto[x-placement^=top] {
  margin-bottom: 0.75rem;
}
.bs-popover-top .arrow, .bs-popover-auto[x-placement^=top] .arrow {
  bottom: calc((0.75rem + 1px) * -1);
}
.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=top] .arrow::before,
.bs-popover-top .arrow::after,
.bs-popover-auto[x-placement^=top] .arrow::after {
  border-width: 0.75rem 0.75rem 0;
}
.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=top] .arrow::before {
  bottom: 0;
  border-top-color: transparent;
}
.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=top] .arrow::after {
  bottom: 1px;
  border-top-color: #fff;
}
.bs-popover-right, .bs-popover-auto[x-placement^=right] {
  margin-left: 0.75rem;
}
.bs-popover-right .arrow, .bs-popover-auto[x-placement^=right] .arrow {
  left: calc((0.75rem + 1px) * -1);
  width: 0.75rem;
  height: 1.5rem;
  margin: 0.4375rem 0;
}
.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=right] .arrow::before,
.bs-popover-right .arrow::after,
.bs-popover-auto[x-placement^=right] .arrow::after {
  border-width: 0.75rem 0.75rem 0.75rem 0;
}
.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=right] .arrow::before {
  left: 0;
  border-right-color: transparent;
}
.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=right] .arrow::after {
  left: 1px;
  border-right-color: #fff;
}
.bs-popover-bottom, .bs-popover-auto[x-placement^=bottom] {
  margin-top: 0.75rem;
}
.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^=bottom] .arrow {
  top: calc((0.75rem + 1px) * -1);
}
.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=bottom] .arrow::before,
.bs-popover-bottom .arrow::after,
.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-width: 0 0.75rem 0.75rem 0.75rem;
}
.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=bottom] .arrow::before {
  top: 0;
  border-bottom-color: transparent;
}
.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=bottom] .arrow::after {
  top: 1px;
  border-bottom-color: #fff;
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1.5rem;
  margin-left: -0.75rem;
  content: "";
  border-bottom: 1px solid #fff;
}
.bs-popover-left, .bs-popover-auto[x-placement^=left] {
  margin-right: 0.75rem;
}
.bs-popover-left .arrow, .bs-popover-auto[x-placement^=left] .arrow {
  right: calc((0.75rem + 1px) * -1);
  width: 0.75rem;
  height: 1.5rem;
  margin: 0.4375rem 0;
}
.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=left] .arrow::before,
.bs-popover-left .arrow::after,
.bs-popover-auto[x-placement^=left] .arrow::after {
  border-width: 0.75rem 0 0.75rem 0.75rem;
}
.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=left] .arrow::before {
  right: 0;
  border-left-color: transparent;
}
.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=left] .arrow::after {
  right: 1px;
  border-left-color: #fff;
}
.popover-header {
  padding: 0.5rem 0.95rem;
  margin-bottom: 0;
  font-size: 1rem;
  color: #32325d;
  background-color: #fff;
  border-bottom: 1px solid #f2f2f2;
  border-top-left-radius: calc(0.4375rem - 1px);
  border-top-right-radius: calc(0.4375rem - 1px);
}
.popover-header:empty {
  display: none;
}
.popover-body {
  padding: 0.5rem 0.95rem;
  color: #525f7f;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-item {
  position: relative;
  display: none;
  align-items: center;
  width: 100%;
  transition: transform 0.6s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  perspective: 1000px;
}
@media screen and (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}
.carousel-item-next,
.carousel-item-prev {
  position: absolute;
  top: 0;
}
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
  transform: translateX(0);
}
@supports (transform-style: preserve-3d) {
  .carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
    transform: translate3d(0, 0, 0);
  }
}
.carousel-item-next,
.active.carousel-item-right {
  transform: translateX(100%);
}
@supports (transform-style: preserve-3d) {
  .carousel-item-next,
.active.carousel-item-right {
    transform: translate3d(100%, 0, 0);
  }
}
.carousel-item-prev,
.active.carousel-item-left {
  transform: translateX(-100%);
}
@supports (transform-style: preserve-3d) {
  .carousel-item-prev,
.active.carousel-item-left {
    transform: translate3d(-100%, 0, 0);
  }
}
.carousel-fade .carousel-item {
  opacity: 0;
  transition-duration: 0.6s;
  transition-property: opacity;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  opacity: 1;
}
.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  opacity: 0;
}
.carousel-fade .carousel-item-next,
.carousel-fade .carousel-item-prev,
.carousel-fade .carousel-item.active,
.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-prev {
  transform: translateX(0);
}
@supports (transform-style: preserve-3d) {
  .carousel-fade .carousel-item-next,
.carousel-fade .carousel-item-prev,
.carousel-fade .carousel-item.active,
.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-prev {
    transform: translate3d(0, 0, 0);
  }
}
.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}
.carousel-control-prev {
  left: 0;
}
.carousel-control-next {
  right: 0;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: transparent no-repeat center center;
  background-size: 100% 100%;
}
.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}
.carousel-control-next-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
}
.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}
.carousel-indicators li {
  position: relative;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.5);
}
.carousel-indicators li::before {
  position: absolute;
  top: -10px;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 10px;
  content: "";
}
.carousel-indicators li::after {
  position: absolute;
  bottom: -10px;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 10px;
  content: "";
}
.carousel-indicators .active {
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
}
.align-baseline {
  vertical-align: baseline !important;
}
.align-top {
  vertical-align: top !important;
}
.align-middle {
  vertical-align: middle !important;
}
.align-bottom {
  vertical-align: bottom !important;
}
.align-text-bottom {
  vertical-align: text-bottom !important;
}
.align-text-top {
  vertical-align: text-top !important;
}
.bg-primary {
  background-color: #5e72e4 !important;
}
a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #324cdd !important;
}
.bg-secondary {
  background-color: #f7fafc !important;
}
a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #d2e3ee !important;
}
.bg-success {
  background-color: #2dce89 !important;
}
a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #24a46d !important;
}
.bg-info {
  background-color: #11cdef !important;
}
a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #0da5c0 !important;
}
.bg-warning {
  background-color: #fb6340 !important;
}
a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #fa3a0e !important;
}
.bg-danger {
  background-color: #f5365c !important;
}
a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #ec0c38 !important;
}
.bg-light {
  background-color: #adb5bd !important;
}
a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #919ca6 !important;
}
.bg-dark {
  background-color: #212529 !important;
}
a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #0a0c0d !important;
}
.bg-default {
  background-color: #172b4d !important;
}
a.bg-default:hover, a.bg-default:focus,
button.bg-default:hover,
button.bg-default:focus {
  background-color: #0b1526 !important;
}
.bg-white {
  background-color: #fff !important;
}
a.bg-white:hover, a.bg-white:focus,
button.bg-white:hover,
button.bg-white:focus {
  background-color: #e6e6e6 !important;
}
.bg-neutral {
  background-color: #fff !important;
}
a.bg-neutral:hover, a.bg-neutral:focus,
button.bg-neutral:hover,
button.bg-neutral:focus {
  background-color: #e6e6e6 !important;
}
.bg-darker {
  background-color: black !important;
}
a.bg-darker:hover, a.bg-darker:focus,
button.bg-darker:hover,
button.bg-darker:focus {
  background-color: black !important;
}
.bg-white {
  background-color: #fff !important;
}
.bg-transparent {
  background-color: transparent !important;
}
.border {
  border: 1px solid #e9ecef !important;
}
.border-top {
  border-top: 1px solid #e9ecef !important;
}
.border-right {
  border-right: 1px solid #e9ecef !important;
}
.border-bottom {
  border-bottom: 1px solid #e9ecef !important;
}
.border-left {
  border-left: 1px solid #e9ecef !important;
}
.border-0 {
  border: 0 !important;
}
.border-top-0 {
  border-top: 0 !important;
}
.border-right-0 {
  border-right: 0 !important;
}
.border-bottom-0 {
  border-bottom: 0 !important;
}
.border-left-0 {
  border-left: 0 !important;
}
.border-primary {
  border-color: #5e72e4 !important;
}
.border-secondary {
  border-color: #f7fafc !important;
}
.border-success {
  border-color: #2dce89 !important;
}
.border-info {
  border-color: #11cdef !important;
}
.border-warning {
  border-color: #fb6340 !important;
}
.border-danger {
  border-color: #f5365c !important;
}
.border-light {
  border-color: #adb5bd !important;
}
.border-dark {
  border-color: #212529 !important;
}
.border-default {
  border-color: #172b4d !important;
}
.border-white {
  border-color: #fff !important;
}
.border-neutral {
  border-color: #fff !important;
}
.border-darker {
  border-color: black !important;
}
.border-white {
  border-color: #fff !important;
}
.rounded {
  border-radius: 0.375rem !important;
}
.rounded-top {
  border-top-left-radius: 0.375rem !important;
  border-top-right-radius: 0.375rem !important;
}
.rounded-right {
  border-top-right-radius: 0.375rem !important;
  border-bottom-right-radius: 0.375rem !important;
}
.rounded-bottom {
  border-bottom-right-radius: 0.375rem !important;
  border-bottom-left-radius: 0.375rem !important;
}
.rounded-left {
  border-top-left-radius: 0.375rem !important;
  border-bottom-left-radius: 0.375rem !important;
}
.rounded-circle {
  border-radius: 50% !important;
}
.rounded-0 {
  border-radius: 0 !important;
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}
.d-none {
  display: none !important;
}
.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-table {
  display: table !important;
}
.d-table-row {
  display: table-row !important;
}
.d-table-cell {
  display: table-cell !important;
}
.d-flex {
  display: flex !important;
}
.d-inline-flex {
  display: inline-flex !important;
}
@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }

  .d-sm-inline {
    display: inline !important;
  }

  .d-sm-inline-block {
    display: inline-block !important;
  }

  .d-sm-block {
    display: block !important;
  }

  .d-sm-table {
    display: table !important;
  }

  .d-sm-table-row {
    display: table-row !important;
  }

  .d-sm-table-cell {
    display: table-cell !important;
  }

  .d-sm-flex {
    display: flex !important;
  }

  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }

  .d-md-inline {
    display: inline !important;
  }

  .d-md-inline-block {
    display: inline-block !important;
  }

  .d-md-block {
    display: block !important;
  }

  .d-md-table {
    display: table !important;
  }

  .d-md-table-row {
    display: table-row !important;
  }

  .d-md-table-cell {
    display: table-cell !important;
  }

  .d-md-flex {
    display: flex !important;
  }

  .d-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }

  .d-lg-inline {
    display: inline !important;
  }

  .d-lg-inline-block {
    display: inline-block !important;
  }

  .d-lg-block {
    display: block !important;
  }

  .d-lg-table {
    display: table !important;
  }

  .d-lg-table-row {
    display: table-row !important;
  }

  .d-lg-table-cell {
    display: table-cell !important;
  }

  .d-lg-flex {
    display: flex !important;
  }

  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }

  .d-xl-inline {
    display: inline !important;
  }

  .d-xl-inline-block {
    display: inline-block !important;
  }

  .d-xl-block {
    display: block !important;
  }

  .d-xl-table {
    display: table !important;
  }

  .d-xl-table-row {
    display: table-row !important;
  }

  .d-xl-table-cell {
    display: table-cell !important;
  }

  .d-xl-flex {
    display: flex !important;
  }

  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}
@media print {
  .d-print-none {
    display: none !important;
  }

  .d-print-inline {
    display: inline !important;
  }

  .d-print-inline-block {
    display: inline-block !important;
  }

  .d-print-block {
    display: block !important;
  }

  .d-print-table {
    display: table !important;
  }

  .d-print-table-row {
    display: table-row !important;
  }

  .d-print-table-cell {
    display: table-cell !important;
  }

  .d-print-flex {
    display: flex !important;
  }

  .d-print-inline-flex {
    display: inline-flex !important;
  }
}
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.embed-responsive::before {
  display: block;
  content: "";
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.embed-responsive-21by9::before {
  padding-top: 42.8571428571%;
}
.embed-responsive-16by9::before {
  padding-top: 56.25%;
}
.embed-responsive-4by3::before {
  padding-top: 75%;
}
.embed-responsive-1by1::before {
  padding-top: 100%;
}
.flex-row {
  flex-direction: row !important;
}
.flex-column {
  flex-direction: column !important;
}
.flex-row-reverse {
  flex-direction: row-reverse !important;
}
.flex-column-reverse {
  flex-direction: column-reverse !important;
}
.flex-wrap {
  flex-wrap: wrap !important;
}
.flex-nowrap {
  flex-wrap: nowrap !important;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}
.flex-fill {
  flex: 1 1 auto !important;
}
.flex-grow-0 {
  flex-grow: 0 !important;
}
.flex-grow-1 {
  flex-grow: 1 !important;
}
.flex-shrink-0 {
  flex-shrink: 0 !important;
}
.flex-shrink-1 {
  flex-shrink: 1 !important;
}
.justify-content-start {
  justify-content: flex-start !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-between {
  justify-content: space-between !important;
}
.justify-content-around {
  justify-content: space-around !important;
}
.align-items-start {
  align-items: flex-start !important;
}
.align-items-end {
  align-items: flex-end !important;
}
.align-items-center {
  align-items: center !important;
}
.align-items-baseline {
  align-items: baseline !important;
}
.align-items-stretch {
  align-items: stretch !important;
}
.align-content-start {
  align-content: flex-start !important;
}
.align-content-end {
  align-content: flex-end !important;
}
.align-content-center {
  align-content: center !important;
}
.align-content-between {
  align-content: space-between !important;
}
.align-content-around {
  align-content: space-around !important;
}
.align-content-stretch {
  align-content: stretch !important;
}
.align-self-auto {
  align-self: auto !important;
}
.align-self-start {
  align-self: flex-start !important;
}
.align-self-end {
  align-self: flex-end !important;
}
.align-self-center {
  align-self: center !important;
}
.align-self-baseline {
  align-self: baseline !important;
}
.align-self-stretch {
  align-self: stretch !important;
}
@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }

  .flex-sm-column {
    flex-direction: column !important;
  }

  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }

  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-sm-fill {
    flex: 1 1 auto !important;
  }

  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-sm-start {
    justify-content: flex-start !important;
  }

  .justify-content-sm-end {
    justify-content: flex-end !important;
  }

  .justify-content-sm-center {
    justify-content: center !important;
  }

  .justify-content-sm-between {
    justify-content: space-between !important;
  }

  .justify-content-sm-around {
    justify-content: space-around !important;
  }

  .align-items-sm-start {
    align-items: flex-start !important;
  }

  .align-items-sm-end {
    align-items: flex-end !important;
  }

  .align-items-sm-center {
    align-items: center !important;
  }

  .align-items-sm-baseline {
    align-items: baseline !important;
  }

  .align-items-sm-stretch {
    align-items: stretch !important;
  }

  .align-content-sm-start {
    align-content: flex-start !important;
  }

  .align-content-sm-end {
    align-content: flex-end !important;
  }

  .align-content-sm-center {
    align-content: center !important;
  }

  .align-content-sm-between {
    align-content: space-between !important;
  }

  .align-content-sm-around {
    align-content: space-around !important;
  }

  .align-content-sm-stretch {
    align-content: stretch !important;
  }

  .align-self-sm-auto {
    align-self: auto !important;
  }

  .align-self-sm-start {
    align-self: flex-start !important;
  }

  .align-self-sm-end {
    align-self: flex-end !important;
  }

  .align-self-sm-center {
    align-self: center !important;
  }

  .align-self-sm-baseline {
    align-self: baseline !important;
  }

  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }

  .flex-md-column {
    flex-direction: column !important;
  }

  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-md-wrap {
    flex-wrap: wrap !important;
  }

  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-md-fill {
    flex: 1 1 auto !important;
  }

  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-md-start {
    justify-content: flex-start !important;
  }

  .justify-content-md-end {
    justify-content: flex-end !important;
  }

  .justify-content-md-center {
    justify-content: center !important;
  }

  .justify-content-md-between {
    justify-content: space-between !important;
  }

  .justify-content-md-around {
    justify-content: space-around !important;
  }

  .align-items-md-start {
    align-items: flex-start !important;
  }

  .align-items-md-end {
    align-items: flex-end !important;
  }

  .align-items-md-center {
    align-items: center !important;
  }

  .align-items-md-baseline {
    align-items: baseline !important;
  }

  .align-items-md-stretch {
    align-items: stretch !important;
  }

  .align-content-md-start {
    align-content: flex-start !important;
  }

  .align-content-md-end {
    align-content: flex-end !important;
  }

  .align-content-md-center {
    align-content: center !important;
  }

  .align-content-md-between {
    align-content: space-between !important;
  }

  .align-content-md-around {
    align-content: space-around !important;
  }

  .align-content-md-stretch {
    align-content: stretch !important;
  }

  .align-self-md-auto {
    align-self: auto !important;
  }

  .align-self-md-start {
    align-self: flex-start !important;
  }

  .align-self-md-end {
    align-self: flex-end !important;
  }

  .align-self-md-center {
    align-self: center !important;
  }

  .align-self-md-baseline {
    align-self: baseline !important;
  }

  .align-self-md-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }

  .flex-lg-column {
    flex-direction: column !important;
  }

  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }

  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-lg-fill {
    flex: 1 1 auto !important;
  }

  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-lg-start {
    justify-content: flex-start !important;
  }

  .justify-content-lg-end {
    justify-content: flex-end !important;
  }

  .justify-content-lg-center {
    justify-content: center !important;
  }

  .justify-content-lg-between {
    justify-content: space-between !important;
  }

  .justify-content-lg-around {
    justify-content: space-around !important;
  }

  .align-items-lg-start {
    align-items: flex-start !important;
  }

  .align-items-lg-end {
    align-items: flex-end !important;
  }

  .align-items-lg-center {
    align-items: center !important;
  }

  .align-items-lg-baseline {
    align-items: baseline !important;
  }

  .align-items-lg-stretch {
    align-items: stretch !important;
  }

  .align-content-lg-start {
    align-content: flex-start !important;
  }

  .align-content-lg-end {
    align-content: flex-end !important;
  }

  .align-content-lg-center {
    align-content: center !important;
  }

  .align-content-lg-between {
    align-content: space-between !important;
  }

  .align-content-lg-around {
    align-content: space-around !important;
  }

  .align-content-lg-stretch {
    align-content: stretch !important;
  }

  .align-self-lg-auto {
    align-self: auto !important;
  }

  .align-self-lg-start {
    align-self: flex-start !important;
  }

  .align-self-lg-end {
    align-self: flex-end !important;
  }

  .align-self-lg-center {
    align-self: center !important;
  }

  .align-self-lg-baseline {
    align-self: baseline !important;
  }

  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }

  .flex-xl-column {
    flex-direction: column !important;
  }

  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }

  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-xl-fill {
    flex: 1 1 auto !important;
  }

  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-xl-start {
    justify-content: flex-start !important;
  }

  .justify-content-xl-end {
    justify-content: flex-end !important;
  }

  .justify-content-xl-center {
    justify-content: center !important;
  }

  .justify-content-xl-between {
    justify-content: space-between !important;
  }

  .justify-content-xl-around {
    justify-content: space-around !important;
  }

  .align-items-xl-start {
    align-items: flex-start !important;
  }

  .align-items-xl-end {
    align-items: flex-end !important;
  }

  .align-items-xl-center {
    align-items: center !important;
  }

  .align-items-xl-baseline {
    align-items: baseline !important;
  }

  .align-items-xl-stretch {
    align-items: stretch !important;
  }

  .align-content-xl-start {
    align-content: flex-start !important;
  }

  .align-content-xl-end {
    align-content: flex-end !important;
  }

  .align-content-xl-center {
    align-content: center !important;
  }

  .align-content-xl-between {
    align-content: space-between !important;
  }

  .align-content-xl-around {
    align-content: space-around !important;
  }

  .align-content-xl-stretch {
    align-content: stretch !important;
  }

  .align-self-xl-auto {
    align-self: auto !important;
  }

  .align-self-xl-start {
    align-self: flex-start !important;
  }

  .align-self-xl-end {
    align-self: flex-end !important;
  }

  .align-self-xl-center {
    align-self: center !important;
  }

  .align-self-xl-baseline {
    align-self: baseline !important;
  }

  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}
.float-left {
  float: left !important;
}
.float-right {
  float: right !important;
}
.float-none {
  float: none !important;
}
@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }

  .float-sm-right {
    float: right !important;
  }

  .float-sm-none {
    float: none !important;
  }
}
@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }

  .float-md-right {
    float: right !important;
  }

  .float-md-none {
    float: none !important;
  }
}
@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }

  .float-lg-right {
    float: right !important;
  }

  .float-lg-none {
    float: none !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }

  .float-xl-right {
    float: right !important;
  }

  .float-xl-none {
    float: none !important;
  }
}
.position-static {
  position: static !important;
}
.position-relative {
  position: relative !important;
}
.position-absolute {
  position: absolute !important;
}
.position-fixed {
  position: fixed !important;
}
.position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
}
.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}
.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}
@supports ((position: -webkit-sticky) or (position: sticky)) {
  .sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}
.shadow-sm {
  box-shadow: 0 0 0.5rem rgba(136, 152, 170, 0.075) !important;
}
.shadow, .card-profile-image img {
  box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15) !important;
}
.shadow-lg {
  box-shadow: 0 0 3rem rgba(136, 152, 170, 0.175) !important;
}
.shadow-none {
  box-shadow: none !important;
}
.w-25 {
  width: 25% !important;
}
.w-50 {
  width: 50% !important;
}
.w-75 {
  width: 75% !important;
}
.w-100 {
  width: 100% !important;
}
.w-auto {
  width: auto !important;
}
.h-25 {
  height: 25% !important;
}
.h-50 {
  height: 50% !important;
}
.h-75 {
  height: 75% !important;
}
.h-100 {
  height: 100% !important;
}
.h-auto {
  height: auto !important;
}
.mw-100 {
  max-width: 100% !important;
}
.mh-100 {
  max-height: 100% !important;
}
.m-0 {
  margin: 0 !important;
}
.mt-0,
.my-0 {
  margin-top: 0 !important;
}
.mr-0,
.mx-0 {
  margin-right: 0 !important;
}
.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}
.ml-0,
.mx-0 {
  margin-left: 0 !important;
}
.m-1 {
  margin: 0.25rem !important;
}
.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}
.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}
.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}
.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}
.m-2 {
  margin: 0.5rem !important;
}
.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}
.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}
.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}
.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}
.m-3 {
  margin: 1rem !important;
}
.mt-3,
.my-3 {
  margin-top: 1rem !important;
}
.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}
.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}
.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}
.m-4 {
  margin: 1.5rem !important;
}
.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}
.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}
.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}
.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}
.m-5 {
  margin: 3rem !important;
}
.mt-5,
.my-5 {
  margin-top: 3rem !important;
}
.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}
.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}
.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}
.m--9 {
  margin: -10rem !important;
}
.mt--9,
.my--9 {
  margin-top: -10rem !important;
}
.mr--9,
.mx--9 {
  margin-right: -10rem !important;
}
.mb--9,
.my--9 {
  margin-bottom: -10rem !important;
}
.ml--9,
.mx--9 {
  margin-left: -10rem !important;
}
.m--8 {
  margin: -8rem !important;
}
.mt--8,
.my--8 {
  margin-top: -8rem !important;
}
.mr--8,
.mx--8 {
  margin-right: -8rem !important;
}
.mb--8,
.my--8 {
  margin-bottom: -8rem !important;
}
.ml--8,
.mx--8 {
  margin-left: -8rem !important;
}
.m--7 {
  margin: -6rem !important;
}
.mt--7,
.my--7 {
  margin-top: -6rem !important;
}
.mr--7,
.mx--7 {
  margin-right: -6rem !important;
}
.mb--7,
.my--7 {
  margin-bottom: -6rem !important;
}
.ml--7,
.mx--7 {
  margin-left: -6rem !important;
}
.m--6 {
  margin: -4.5rem !important;
}
.mt--6,
.my--6 {
  margin-top: -4.5rem !important;
}
.mr--6,
.mx--6 {
  margin-right: -4.5rem !important;
}
.mb--6,
.my--6 {
  margin-bottom: -4.5rem !important;
}
.ml--6,
.mx--6 {
  margin-left: -4.5rem !important;
}
.m--5 {
  margin: -3rem !important;
}
.mt--5,
.my--5 {
  margin-top: -3rem !important;
}
.mr--5,
.mx--5 {
  margin-right: -3rem !important;
}
.mb--5,
.my--5 {
  margin-bottom: -3rem !important;
}
.ml--5,
.mx--5 {
  margin-left: -3rem !important;
}
.m--4 {
  margin: -1.5rem !important;
}
.mt--4,
.my--4 {
  margin-top: -1.5rem !important;
}
.mr--4,
.mx--4 {
  margin-right: -1.5rem !important;
}
.mb--4,
.my--4 {
  margin-bottom: -1.5rem !important;
}
.ml--4,
.mx--4 {
  margin-left: -1.5rem !important;
}
.m--3 {
  margin: -1rem !important;
}
.mt--3,
.my--3 {
  margin-top: -1rem !important;
}
.mr--3,
.mx--3 {
  margin-right: -1rem !important;
}
.mb--3,
.my--3 {
  margin-bottom: -1rem !important;
}
.ml--3,
.mx--3 {
  margin-left: -1rem !important;
}
.m--2 {
  margin: -0.5rem !important;
}
.mt--2,
.my--2 {
  margin-top: -0.5rem !important;
}
.mr--2,
.mx--2 {
  margin-right: -0.5rem !important;
}
.mb--2,
.my--2 {
  margin-bottom: -0.5rem !important;
}
.ml--2,
.mx--2 {
  margin-left: -0.5rem !important;
}
.m--1 {
  margin: -0.25rem !important;
}
.mt--1,
.my--1 {
  margin-top: -0.25rem !important;
}
.mr--1,
.mx--1 {
  margin-right: -0.25rem !important;
}
.mb--1,
.my--1 {
  margin-bottom: -0.25rem !important;
}
.ml--1,
.mx--1 {
  margin-left: -0.25rem !important;
}
.m-6 {
  margin: 4.5rem !important;
}
.mt-6,
.my-6 {
  margin-top: 4.5rem !important;
}
.mr-6,
.mx-6 {
  margin-right: 4.5rem !important;
}
.mb-6,
.my-6 {
  margin-bottom: 4.5rem !important;
}
.ml-6,
.mx-6 {
  margin-left: 4.5rem !important;
}
.m-7 {
  margin: 6rem !important;
}
.mt-7,
.my-7 {
  margin-top: 6rem !important;
}
.mr-7,
.mx-7 {
  margin-right: 6rem !important;
}
.mb-7,
.my-7 {
  margin-bottom: 6rem !important;
}
.ml-7,
.mx-7 {
  margin-left: 6rem !important;
}
.m-8 {
  margin: 8rem !important;
}
.mt-8,
.my-8 {
  margin-top: 8rem !important;
}
.mr-8,
.mx-8 {
  margin-right: 8rem !important;
}
.mb-8,
.my-8 {
  margin-bottom: 8rem !important;
}
.ml-8,
.mx-8 {
  margin-left: 8rem !important;
}
.m-9 {
  margin: 10rem !important;
}
.mt-9,
.my-9 {
  margin-top: 10rem !important;
}
.mr-9,
.mx-9 {
  margin-right: 10rem !important;
}
.mb-9,
.my-9 {
  margin-bottom: 10rem !important;
}
.ml-9,
.mx-9 {
  margin-left: 10rem !important;
}
.p-0 {
  padding: 0 !important;
}
.pt-0,
.py-0 {
  padding-top: 0 !important;
}
.pr-0,
.px-0 {
  padding-right: 0 !important;
}
.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}
.pl-0,
.px-0 {
  padding-left: 0 !important;
}
.p-1 {
  padding: 0.25rem !important;
}
.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}
.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}
.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}
.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}
.p-2 {
  padding: 0.5rem !important;
}
.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}
.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}
.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}
.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}
.p-3 {
  padding: 1rem !important;
}
.pt-3,
.py-3 {
  padding-top: 1rem !important;
}
.pr-3,
.px-3 {
  padding-right: 1rem !important;
}
.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}
.pl-3,
.px-3 {
  padding-left: 1rem !important;
}
.p-4 {
  padding: 1.5rem !important;
}
.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}
.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}
.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}
.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}
.p-5 {
  padding: 3rem !important;
}
.pt-5,
.py-5 {
  padding-top: 3rem !important;
}
.pr-5,
.px-5 {
  padding-right: 3rem !important;
}
.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}
.pl-5,
.px-5 {
  padding-left: 3rem !important;
}
.p--9 {
  padding: -10rem !important;
}
.pt--9,
.py--9 {
  padding-top: -10rem !important;
}
.pr--9,
.px--9 {
  padding-right: -10rem !important;
}
.pb--9,
.py--9 {
  padding-bottom: -10rem !important;
}
.pl--9,
.px--9 {
  padding-left: -10rem !important;
}
.p--8 {
  padding: -8rem !important;
}
.pt--8,
.py--8 {
  padding-top: -8rem !important;
}
.pr--8,
.px--8 {
  padding-right: -8rem !important;
}
.pb--8,
.py--8 {
  padding-bottom: -8rem !important;
}
.pl--8,
.px--8 {
  padding-left: -8rem !important;
}
.p--7 {
  padding: -6rem !important;
}
.pt--7,
.py--7 {
  padding-top: -6rem !important;
}
.pr--7,
.px--7 {
  padding-right: -6rem !important;
}
.pb--7,
.py--7 {
  padding-bottom: -6rem !important;
}
.pl--7,
.px--7 {
  padding-left: -6rem !important;
}
.p--6 {
  padding: -4.5rem !important;
}
.pt--6,
.py--6 {
  padding-top: -4.5rem !important;
}
.pr--6,
.px--6 {
  padding-right: -4.5rem !important;
}
.pb--6,
.py--6 {
  padding-bottom: -4.5rem !important;
}
.pl--6,
.px--6 {
  padding-left: -4.5rem !important;
}
.p--5 {
  padding: -3rem !important;
}
.pt--5,
.py--5 {
  padding-top: -3rem !important;
}
.pr--5,
.px--5 {
  padding-right: -3rem !important;
}
.pb--5,
.py--5 {
  padding-bottom: -3rem !important;
}
.pl--5,
.px--5 {
  padding-left: -3rem !important;
}
.p--4 {
  padding: -1.5rem !important;
}
.pt--4,
.py--4 {
  padding-top: -1.5rem !important;
}
.pr--4,
.px--4 {
  padding-right: -1.5rem !important;
}
.pb--4,
.py--4 {
  padding-bottom: -1.5rem !important;
}
.pl--4,
.px--4 {
  padding-left: -1.5rem !important;
}
.p--3 {
  padding: -1rem !important;
}
.pt--3,
.py--3 {
  padding-top: -1rem !important;
}
.pr--3,
.px--3 {
  padding-right: -1rem !important;
}
.pb--3,
.py--3 {
  padding-bottom: -1rem !important;
}
.pl--3,
.px--3 {
  padding-left: -1rem !important;
}
.p--2 {
  padding: -0.5rem !important;
}
.pt--2,
.py--2 {
  padding-top: -0.5rem !important;
}
.pr--2,
.px--2 {
  padding-right: -0.5rem !important;
}
.pb--2,
.py--2 {
  padding-bottom: -0.5rem !important;
}
.pl--2,
.px--2 {
  padding-left: -0.5rem !important;
}
.p--1 {
  padding: -0.25rem !important;
}
.pt--1,
.py--1 {
  padding-top: -0.25rem !important;
}
.pr--1,
.px--1 {
  padding-right: -0.25rem !important;
}
.pb--1,
.py--1 {
  padding-bottom: -0.25rem !important;
}
.pl--1,
.px--1 {
  padding-left: -0.25rem !important;
}
.p-6 {
  padding: 4.5rem !important;
}
.pt-6,
.py-6 {
  padding-top: 4.5rem !important;
}
.pr-6,
.px-6 {
  padding-right: 4.5rem !important;
}
.pb-6,
.py-6 {
  padding-bottom: 4.5rem !important;
}
.pl-6,
.px-6 {
  padding-left: 4.5rem !important;
}
.p-7 {
  padding: 6rem !important;
}
.pt-7,
.py-7 {
  padding-top: 6rem !important;
}
.pr-7,
.px-7 {
  padding-right: 6rem !important;
}
.pb-7,
.py-7 {
  padding-bottom: 6rem !important;
}
.pl-7,
.px-7 {
  padding-left: 6rem !important;
}
.p-8 {
  padding: 8rem !important;
}
.pt-8,
.py-8 {
  padding-top: 8rem !important;
}
.pr-8,
.px-8 {
  padding-right: 8rem !important;
}
.pb-8,
.py-8 {
  padding-bottom: 8rem !important;
}
.pl-8,
.px-8 {
  padding-left: 8rem !important;
}
.p-9 {
  padding: 10rem !important;
}
.pt-9,
.py-9 {
  padding-top: 10rem !important;
}
.pr-9,
.px-9 {
  padding-right: 10rem !important;
}
.pb-9,
.py-9 {
  padding-bottom: 10rem !important;
}
.pl-9,
.px-9 {
  padding-left: 10rem !important;
}
.m-auto {
  margin: auto !important;
}
.mt-auto,
.my-auto {
  margin-top: auto !important;
}
.mr-auto,
.mx-auto {
  margin-right: auto !important;
}
.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}
.ml-auto,
.mx-auto {
  margin-left: auto !important;
}
@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }

  .mt-sm-0,
.my-sm-0 {
    margin-top: 0 !important;
  }

  .mr-sm-0,
.mx-sm-0 {
    margin-right: 0 !important;
  }

  .mb-sm-0,
.my-sm-0 {
    margin-bottom: 0 !important;
  }

  .ml-sm-0,
.mx-sm-0 {
    margin-left: 0 !important;
  }

  .m-sm-1 {
    margin: 0.25rem !important;
  }

  .mt-sm-1,
.my-sm-1 {
    margin-top: 0.25rem !important;
  }

  .mr-sm-1,
.mx-sm-1 {
    margin-right: 0.25rem !important;
  }

  .mb-sm-1,
.my-sm-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-sm-1,
.mx-sm-1 {
    margin-left: 0.25rem !important;
  }

  .m-sm-2 {
    margin: 0.5rem !important;
  }

  .mt-sm-2,
.my-sm-2 {
    margin-top: 0.5rem !important;
  }

  .mr-sm-2,
.mx-sm-2 {
    margin-right: 0.5rem !important;
  }

  .mb-sm-2,
.my-sm-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-sm-2,
.mx-sm-2 {
    margin-left: 0.5rem !important;
  }

  .m-sm-3 {
    margin: 1rem !important;
  }

  .mt-sm-3,
.my-sm-3 {
    margin-top: 1rem !important;
  }

  .mr-sm-3,
.mx-sm-3 {
    margin-right: 1rem !important;
  }

  .mb-sm-3,
.my-sm-3 {
    margin-bottom: 1rem !important;
  }

  .ml-sm-3,
.mx-sm-3 {
    margin-left: 1rem !important;
  }

  .m-sm-4 {
    margin: 1.5rem !important;
  }

  .mt-sm-4,
.my-sm-4 {
    margin-top: 1.5rem !important;
  }

  .mr-sm-4,
.mx-sm-4 {
    margin-right: 1.5rem !important;
  }

  .mb-sm-4,
.my-sm-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-sm-4,
.mx-sm-4 {
    margin-left: 1.5rem !important;
  }

  .m-sm-5 {
    margin: 3rem !important;
  }

  .mt-sm-5,
.my-sm-5 {
    margin-top: 3rem !important;
  }

  .mr-sm-5,
.mx-sm-5 {
    margin-right: 3rem !important;
  }

  .mb-sm-5,
.my-sm-5 {
    margin-bottom: 3rem !important;
  }

  .ml-sm-5,
.mx-sm-5 {
    margin-left: 3rem !important;
  }

  .m-sm--9 {
    margin: -10rem !important;
  }

  .mt-sm--9,
.my-sm--9 {
    margin-top: -10rem !important;
  }

  .mr-sm--9,
.mx-sm--9 {
    margin-right: -10rem !important;
  }

  .mb-sm--9,
.my-sm--9 {
    margin-bottom: -10rem !important;
  }

  .ml-sm--9,
.mx-sm--9 {
    margin-left: -10rem !important;
  }

  .m-sm--8 {
    margin: -8rem !important;
  }

  .mt-sm--8,
.my-sm--8 {
    margin-top: -8rem !important;
  }

  .mr-sm--8,
.mx-sm--8 {
    margin-right: -8rem !important;
  }

  .mb-sm--8,
.my-sm--8 {
    margin-bottom: -8rem !important;
  }

  .ml-sm--8,
.mx-sm--8 {
    margin-left: -8rem !important;
  }

  .m-sm--7 {
    margin: -6rem !important;
  }

  .mt-sm--7,
.my-sm--7 {
    margin-top: -6rem !important;
  }

  .mr-sm--7,
.mx-sm--7 {
    margin-right: -6rem !important;
  }

  .mb-sm--7,
.my-sm--7 {
    margin-bottom: -6rem !important;
  }

  .ml-sm--7,
.mx-sm--7 {
    margin-left: -6rem !important;
  }

  .m-sm--6 {
    margin: -4.5rem !important;
  }

  .mt-sm--6,
.my-sm--6 {
    margin-top: -4.5rem !important;
  }

  .mr-sm--6,
.mx-sm--6 {
    margin-right: -4.5rem !important;
  }

  .mb-sm--6,
.my-sm--6 {
    margin-bottom: -4.5rem !important;
  }

  .ml-sm--6,
.mx-sm--6 {
    margin-left: -4.5rem !important;
  }

  .m-sm--5 {
    margin: -3rem !important;
  }

  .mt-sm--5,
.my-sm--5 {
    margin-top: -3rem !important;
  }

  .mr-sm--5,
.mx-sm--5 {
    margin-right: -3rem !important;
  }

  .mb-sm--5,
.my-sm--5 {
    margin-bottom: -3rem !important;
  }

  .ml-sm--5,
.mx-sm--5 {
    margin-left: -3rem !important;
  }

  .m-sm--4 {
    margin: -1.5rem !important;
  }

  .mt-sm--4,
.my-sm--4 {
    margin-top: -1.5rem !important;
  }

  .mr-sm--4,
.mx-sm--4 {
    margin-right: -1.5rem !important;
  }

  .mb-sm--4,
.my-sm--4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-sm--4,
.mx-sm--4 {
    margin-left: -1.5rem !important;
  }

  .m-sm--3 {
    margin: -1rem !important;
  }

  .mt-sm--3,
.my-sm--3 {
    margin-top: -1rem !important;
  }

  .mr-sm--3,
.mx-sm--3 {
    margin-right: -1rem !important;
  }

  .mb-sm--3,
.my-sm--3 {
    margin-bottom: -1rem !important;
  }

  .ml-sm--3,
.mx-sm--3 {
    margin-left: -1rem !important;
  }

  .m-sm--2 {
    margin: -0.5rem !important;
  }

  .mt-sm--2,
.my-sm--2 {
    margin-top: -0.5rem !important;
  }

  .mr-sm--2,
.mx-sm--2 {
    margin-right: -0.5rem !important;
  }

  .mb-sm--2,
.my-sm--2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-sm--2,
.mx-sm--2 {
    margin-left: -0.5rem !important;
  }

  .m-sm--1 {
    margin: -0.25rem !important;
  }

  .mt-sm--1,
.my-sm--1 {
    margin-top: -0.25rem !important;
  }

  .mr-sm--1,
.mx-sm--1 {
    margin-right: -0.25rem !important;
  }

  .mb-sm--1,
.my-sm--1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-sm--1,
.mx-sm--1 {
    margin-left: -0.25rem !important;
  }

  .m-sm-6 {
    margin: 4.5rem !important;
  }

  .mt-sm-6,
.my-sm-6 {
    margin-top: 4.5rem !important;
  }

  .mr-sm-6,
.mx-sm-6 {
    margin-right: 4.5rem !important;
  }

  .mb-sm-6,
.my-sm-6 {
    margin-bottom: 4.5rem !important;
  }

  .ml-sm-6,
.mx-sm-6 {
    margin-left: 4.5rem !important;
  }

  .m-sm-7 {
    margin: 6rem !important;
  }

  .mt-sm-7,
.my-sm-7 {
    margin-top: 6rem !important;
  }

  .mr-sm-7,
.mx-sm-7 {
    margin-right: 6rem !important;
  }

  .mb-sm-7,
.my-sm-7 {
    margin-bottom: 6rem !important;
  }

  .ml-sm-7,
.mx-sm-7 {
    margin-left: 6rem !important;
  }

  .m-sm-8 {
    margin: 8rem !important;
  }

  .mt-sm-8,
.my-sm-8 {
    margin-top: 8rem !important;
  }

  .mr-sm-8,
.mx-sm-8 {
    margin-right: 8rem !important;
  }

  .mb-sm-8,
.my-sm-8 {
    margin-bottom: 8rem !important;
  }

  .ml-sm-8,
.mx-sm-8 {
    margin-left: 8rem !important;
  }

  .m-sm-9 {
    margin: 10rem !important;
  }

  .mt-sm-9,
.my-sm-9 {
    margin-top: 10rem !important;
  }

  .mr-sm-9,
.mx-sm-9 {
    margin-right: 10rem !important;
  }

  .mb-sm-9,
.my-sm-9 {
    margin-bottom: 10rem !important;
  }

  .ml-sm-9,
.mx-sm-9 {
    margin-left: 10rem !important;
  }

  .p-sm-0 {
    padding: 0 !important;
  }

  .pt-sm-0,
.py-sm-0 {
    padding-top: 0 !important;
  }

  .pr-sm-0,
.px-sm-0 {
    padding-right: 0 !important;
  }

  .pb-sm-0,
.py-sm-0 {
    padding-bottom: 0 !important;
  }

  .pl-sm-0,
.px-sm-0 {
    padding-left: 0 !important;
  }

  .p-sm-1 {
    padding: 0.25rem !important;
  }

  .pt-sm-1,
.py-sm-1 {
    padding-top: 0.25rem !important;
  }

  .pr-sm-1,
.px-sm-1 {
    padding-right: 0.25rem !important;
  }

  .pb-sm-1,
.py-sm-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-sm-1,
.px-sm-1 {
    padding-left: 0.25rem !important;
  }

  .p-sm-2 {
    padding: 0.5rem !important;
  }

  .pt-sm-2,
.py-sm-2 {
    padding-top: 0.5rem !important;
  }

  .pr-sm-2,
.px-sm-2 {
    padding-right: 0.5rem !important;
  }

  .pb-sm-2,
.py-sm-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-sm-2,
.px-sm-2 {
    padding-left: 0.5rem !important;
  }

  .p-sm-3 {
    padding: 1rem !important;
  }

  .pt-sm-3,
.py-sm-3 {
    padding-top: 1rem !important;
  }

  .pr-sm-3,
.px-sm-3 {
    padding-right: 1rem !important;
  }

  .pb-sm-3,
.py-sm-3 {
    padding-bottom: 1rem !important;
  }

  .pl-sm-3,
.px-sm-3 {
    padding-left: 1rem !important;
  }

  .p-sm-4 {
    padding: 1.5rem !important;
  }

  .pt-sm-4,
.py-sm-4 {
    padding-top: 1.5rem !important;
  }

  .pr-sm-4,
.px-sm-4 {
    padding-right: 1.5rem !important;
  }

  .pb-sm-4,
.py-sm-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-sm-4,
.px-sm-4 {
    padding-left: 1.5rem !important;
  }

  .p-sm-5 {
    padding: 3rem !important;
  }

  .pt-sm-5,
.py-sm-5 {
    padding-top: 3rem !important;
  }

  .pr-sm-5,
.px-sm-5 {
    padding-right: 3rem !important;
  }

  .pb-sm-5,
.py-sm-5 {
    padding-bottom: 3rem !important;
  }

  .pl-sm-5,
.px-sm-5 {
    padding-left: 3rem !important;
  }

  .p-sm--9 {
    padding: -10rem !important;
  }

  .pt-sm--9,
.py-sm--9 {
    padding-top: -10rem !important;
  }

  .pr-sm--9,
.px-sm--9 {
    padding-right: -10rem !important;
  }

  .pb-sm--9,
.py-sm--9 {
    padding-bottom: -10rem !important;
  }

  .pl-sm--9,
.px-sm--9 {
    padding-left: -10rem !important;
  }

  .p-sm--8 {
    padding: -8rem !important;
  }

  .pt-sm--8,
.py-sm--8 {
    padding-top: -8rem !important;
  }

  .pr-sm--8,
.px-sm--8 {
    padding-right: -8rem !important;
  }

  .pb-sm--8,
.py-sm--8 {
    padding-bottom: -8rem !important;
  }

  .pl-sm--8,
.px-sm--8 {
    padding-left: -8rem !important;
  }

  .p-sm--7 {
    padding: -6rem !important;
  }

  .pt-sm--7,
.py-sm--7 {
    padding-top: -6rem !important;
  }

  .pr-sm--7,
.px-sm--7 {
    padding-right: -6rem !important;
  }

  .pb-sm--7,
.py-sm--7 {
    padding-bottom: -6rem !important;
  }

  .pl-sm--7,
.px-sm--7 {
    padding-left: -6rem !important;
  }

  .p-sm--6 {
    padding: -4.5rem !important;
  }

  .pt-sm--6,
.py-sm--6 {
    padding-top: -4.5rem !important;
  }

  .pr-sm--6,
.px-sm--6 {
    padding-right: -4.5rem !important;
  }

  .pb-sm--6,
.py-sm--6 {
    padding-bottom: -4.5rem !important;
  }

  .pl-sm--6,
.px-sm--6 {
    padding-left: -4.5rem !important;
  }

  .p-sm--5 {
    padding: -3rem !important;
  }

  .pt-sm--5,
.py-sm--5 {
    padding-top: -3rem !important;
  }

  .pr-sm--5,
.px-sm--5 {
    padding-right: -3rem !important;
  }

  .pb-sm--5,
.py-sm--5 {
    padding-bottom: -3rem !important;
  }

  .pl-sm--5,
.px-sm--5 {
    padding-left: -3rem !important;
  }

  .p-sm--4 {
    padding: -1.5rem !important;
  }

  .pt-sm--4,
.py-sm--4 {
    padding-top: -1.5rem !important;
  }

  .pr-sm--4,
.px-sm--4 {
    padding-right: -1.5rem !important;
  }

  .pb-sm--4,
.py-sm--4 {
    padding-bottom: -1.5rem !important;
  }

  .pl-sm--4,
.px-sm--4 {
    padding-left: -1.5rem !important;
  }

  .p-sm--3 {
    padding: -1rem !important;
  }

  .pt-sm--3,
.py-sm--3 {
    padding-top: -1rem !important;
  }

  .pr-sm--3,
.px-sm--3 {
    padding-right: -1rem !important;
  }

  .pb-sm--3,
.py-sm--3 {
    padding-bottom: -1rem !important;
  }

  .pl-sm--3,
.px-sm--3 {
    padding-left: -1rem !important;
  }

  .p-sm--2 {
    padding: -0.5rem !important;
  }

  .pt-sm--2,
.py-sm--2 {
    padding-top: -0.5rem !important;
  }

  .pr-sm--2,
.px-sm--2 {
    padding-right: -0.5rem !important;
  }

  .pb-sm--2,
.py-sm--2 {
    padding-bottom: -0.5rem !important;
  }

  .pl-sm--2,
.px-sm--2 {
    padding-left: -0.5rem !important;
  }

  .p-sm--1 {
    padding: -0.25rem !important;
  }

  .pt-sm--1,
.py-sm--1 {
    padding-top: -0.25rem !important;
  }

  .pr-sm--1,
.px-sm--1 {
    padding-right: -0.25rem !important;
  }

  .pb-sm--1,
.py-sm--1 {
    padding-bottom: -0.25rem !important;
  }

  .pl-sm--1,
.px-sm--1 {
    padding-left: -0.25rem !important;
  }

  .p-sm-6 {
    padding: 4.5rem !important;
  }

  .pt-sm-6,
.py-sm-6 {
    padding-top: 4.5rem !important;
  }

  .pr-sm-6,
.px-sm-6 {
    padding-right: 4.5rem !important;
  }

  .pb-sm-6,
.py-sm-6 {
    padding-bottom: 4.5rem !important;
  }

  .pl-sm-6,
.px-sm-6 {
    padding-left: 4.5rem !important;
  }

  .p-sm-7 {
    padding: 6rem !important;
  }

  .pt-sm-7,
.py-sm-7 {
    padding-top: 6rem !important;
  }

  .pr-sm-7,
.px-sm-7 {
    padding-right: 6rem !important;
  }

  .pb-sm-7,
.py-sm-7 {
    padding-bottom: 6rem !important;
  }

  .pl-sm-7,
.px-sm-7 {
    padding-left: 6rem !important;
  }

  .p-sm-8 {
    padding: 8rem !important;
  }

  .pt-sm-8,
.py-sm-8 {
    padding-top: 8rem !important;
  }

  .pr-sm-8,
.px-sm-8 {
    padding-right: 8rem !important;
  }

  .pb-sm-8,
.py-sm-8 {
    padding-bottom: 8rem !important;
  }

  .pl-sm-8,
.px-sm-8 {
    padding-left: 8rem !important;
  }

  .p-sm-9 {
    padding: 10rem !important;
  }

  .pt-sm-9,
.py-sm-9 {
    padding-top: 10rem !important;
  }

  .pr-sm-9,
.px-sm-9 {
    padding-right: 10rem !important;
  }

  .pb-sm-9,
.py-sm-9 {
    padding-bottom: 10rem !important;
  }

  .pl-sm-9,
.px-sm-9 {
    padding-left: 10rem !important;
  }

  .m-sm-auto {
    margin: auto !important;
  }

  .mt-sm-auto,
.my-sm-auto {
    margin-top: auto !important;
  }

  .mr-sm-auto,
.mx-sm-auto {
    margin-right: auto !important;
  }

  .mb-sm-auto,
.my-sm-auto {
    margin-bottom: auto !important;
  }

  .ml-sm-auto,
.mx-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }

  .mt-md-0,
.my-md-0 {
    margin-top: 0 !important;
  }

  .mr-md-0,
.mx-md-0 {
    margin-right: 0 !important;
  }

  .mb-md-0,
.my-md-0 {
    margin-bottom: 0 !important;
  }

  .ml-md-0,
.mx-md-0 {
    margin-left: 0 !important;
  }

  .m-md-1 {
    margin: 0.25rem !important;
  }

  .mt-md-1,
.my-md-1 {
    margin-top: 0.25rem !important;
  }

  .mr-md-1,
.mx-md-1 {
    margin-right: 0.25rem !important;
  }

  .mb-md-1,
.my-md-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-md-1,
.mx-md-1 {
    margin-left: 0.25rem !important;
  }

  .m-md-2 {
    margin: 0.5rem !important;
  }

  .mt-md-2,
.my-md-2 {
    margin-top: 0.5rem !important;
  }

  .mr-md-2,
.mx-md-2 {
    margin-right: 0.5rem !important;
  }

  .mb-md-2,
.my-md-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-md-2,
.mx-md-2 {
    margin-left: 0.5rem !important;
  }

  .m-md-3 {
    margin: 1rem !important;
  }

  .mt-md-3,
.my-md-3 {
    margin-top: 1rem !important;
  }

  .mr-md-3,
.mx-md-3 {
    margin-right: 1rem !important;
  }

  .mb-md-3,
.my-md-3 {
    margin-bottom: 1rem !important;
  }

  .ml-md-3,
.mx-md-3 {
    margin-left: 1rem !important;
  }

  .m-md-4 {
    margin: 1.5rem !important;
  }

  .mt-md-4,
.my-md-4 {
    margin-top: 1.5rem !important;
  }

  .mr-md-4,
.mx-md-4 {
    margin-right: 1.5rem !important;
  }

  .mb-md-4,
.my-md-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-md-4,
.mx-md-4 {
    margin-left: 1.5rem !important;
  }

  .m-md-5 {
    margin: 3rem !important;
  }

  .mt-md-5,
.my-md-5 {
    margin-top: 3rem !important;
  }

  .mr-md-5,
.mx-md-5 {
    margin-right: 3rem !important;
  }

  .mb-md-5,
.my-md-5 {
    margin-bottom: 3rem !important;
  }

  .ml-md-5,
.mx-md-5 {
    margin-left: 3rem !important;
  }

  .m-md--9 {
    margin: -10rem !important;
  }

  .mt-md--9,
.my-md--9 {
    margin-top: -10rem !important;
  }

  .mr-md--9,
.mx-md--9 {
    margin-right: -10rem !important;
  }

  .mb-md--9,
.my-md--9 {
    margin-bottom: -10rem !important;
  }

  .ml-md--9,
.mx-md--9 {
    margin-left: -10rem !important;
  }

  .m-md--8 {
    margin: -8rem !important;
  }

  .mt-md--8,
.my-md--8 {
    margin-top: -8rem !important;
  }

  .mr-md--8,
.mx-md--8 {
    margin-right: -8rem !important;
  }

  .mb-md--8,
.my-md--8 {
    margin-bottom: -8rem !important;
  }

  .ml-md--8,
.mx-md--8 {
    margin-left: -8rem !important;
  }

  .m-md--7 {
    margin: -6rem !important;
  }

  .mt-md--7,
.my-md--7 {
    margin-top: -6rem !important;
  }

  .mr-md--7,
.mx-md--7 {
    margin-right: -6rem !important;
  }

  .mb-md--7,
.my-md--7 {
    margin-bottom: -6rem !important;
  }

  .ml-md--7,
.mx-md--7 {
    margin-left: -6rem !important;
  }

  .m-md--6 {
    margin: -4.5rem !important;
  }

  .mt-md--6,
.my-md--6 {
    margin-top: -4.5rem !important;
  }

  .mr-md--6,
.mx-md--6 {
    margin-right: -4.5rem !important;
  }

  .mb-md--6,
.my-md--6 {
    margin-bottom: -4.5rem !important;
  }

  .ml-md--6,
.mx-md--6 {
    margin-left: -4.5rem !important;
  }

  .m-md--5 {
    margin: -3rem !important;
  }

  .mt-md--5,
.my-md--5 {
    margin-top: -3rem !important;
  }

  .mr-md--5,
.mx-md--5 {
    margin-right: -3rem !important;
  }

  .mb-md--5,
.my-md--5 {
    margin-bottom: -3rem !important;
  }

  .ml-md--5,
.mx-md--5 {
    margin-left: -3rem !important;
  }

  .m-md--4 {
    margin: -1.5rem !important;
  }

  .mt-md--4,
.my-md--4 {
    margin-top: -1.5rem !important;
  }

  .mr-md--4,
.mx-md--4 {
    margin-right: -1.5rem !important;
  }

  .mb-md--4,
.my-md--4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-md--4,
.mx-md--4 {
    margin-left: -1.5rem !important;
  }

  .m-md--3 {
    margin: -1rem !important;
  }

  .mt-md--3,
.my-md--3 {
    margin-top: -1rem !important;
  }

  .mr-md--3,
.mx-md--3 {
    margin-right: -1rem !important;
  }

  .mb-md--3,
.my-md--3 {
    margin-bottom: -1rem !important;
  }

  .ml-md--3,
.mx-md--3 {
    margin-left: -1rem !important;
  }

  .m-md--2 {
    margin: -0.5rem !important;
  }

  .mt-md--2,
.my-md--2 {
    margin-top: -0.5rem !important;
  }

  .mr-md--2,
.mx-md--2 {
    margin-right: -0.5rem !important;
  }

  .mb-md--2,
.my-md--2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-md--2,
.mx-md--2 {
    margin-left: -0.5rem !important;
  }

  .m-md--1 {
    margin: -0.25rem !important;
  }

  .mt-md--1,
.my-md--1 {
    margin-top: -0.25rem !important;
  }

  .mr-md--1,
.mx-md--1 {
    margin-right: -0.25rem !important;
  }

  .mb-md--1,
.my-md--1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-md--1,
.mx-md--1 {
    margin-left: -0.25rem !important;
  }

  .m-md-6 {
    margin: 4.5rem !important;
  }

  .mt-md-6,
.my-md-6 {
    margin-top: 4.5rem !important;
  }

  .mr-md-6,
.mx-md-6 {
    margin-right: 4.5rem !important;
  }

  .mb-md-6,
.my-md-6 {
    margin-bottom: 4.5rem !important;
  }

  .ml-md-6,
.mx-md-6 {
    margin-left: 4.5rem !important;
  }

  .m-md-7 {
    margin: 6rem !important;
  }

  .mt-md-7,
.my-md-7 {
    margin-top: 6rem !important;
  }

  .mr-md-7,
.mx-md-7 {
    margin-right: 6rem !important;
  }

  .mb-md-7,
.my-md-7 {
    margin-bottom: 6rem !important;
  }

  .ml-md-7,
.mx-md-7 {
    margin-left: 6rem !important;
  }

  .m-md-8 {
    margin: 8rem !important;
  }

  .mt-md-8,
.my-md-8 {
    margin-top: 8rem !important;
  }

  .mr-md-8,
.mx-md-8 {
    margin-right: 8rem !important;
  }

  .mb-md-8,
.my-md-8 {
    margin-bottom: 8rem !important;
  }

  .ml-md-8,
.mx-md-8 {
    margin-left: 8rem !important;
  }

  .m-md-9 {
    margin: 10rem !important;
  }

  .mt-md-9,
.my-md-9 {
    margin-top: 10rem !important;
  }

  .mr-md-9,
.mx-md-9 {
    margin-right: 10rem !important;
  }

  .mb-md-9,
.my-md-9 {
    margin-bottom: 10rem !important;
  }

  .ml-md-9,
.mx-md-9 {
    margin-left: 10rem !important;
  }

  .p-md-0 {
    padding: 0 !important;
  }

  .pt-md-0,
.py-md-0 {
    padding-top: 0 !important;
  }

  .pr-md-0,
.px-md-0 {
    padding-right: 0 !important;
  }

  .pb-md-0,
.py-md-0 {
    padding-bottom: 0 !important;
  }

  .pl-md-0,
.px-md-0 {
    padding-left: 0 !important;
  }

  .p-md-1 {
    padding: 0.25rem !important;
  }

  .pt-md-1,
.py-md-1 {
    padding-top: 0.25rem !important;
  }

  .pr-md-1,
.px-md-1 {
    padding-right: 0.25rem !important;
  }

  .pb-md-1,
.py-md-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-md-1,
.px-md-1 {
    padding-left: 0.25rem !important;
  }

  .p-md-2 {
    padding: 0.5rem !important;
  }

  .pt-md-2,
.py-md-2 {
    padding-top: 0.5rem !important;
  }

  .pr-md-2,
.px-md-2 {
    padding-right: 0.5rem !important;
  }

  .pb-md-2,
.py-md-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-md-2,
.px-md-2 {
    padding-left: 0.5rem !important;
  }

  .p-md-3 {
    padding: 1rem !important;
  }

  .pt-md-3,
.py-md-3 {
    padding-top: 1rem !important;
  }

  .pr-md-3,
.px-md-3 {
    padding-right: 1rem !important;
  }

  .pb-md-3,
.py-md-3 {
    padding-bottom: 1rem !important;
  }

  .pl-md-3,
.px-md-3 {
    padding-left: 1rem !important;
  }

  .p-md-4 {
    padding: 1.5rem !important;
  }

  .pt-md-4,
.py-md-4 {
    padding-top: 1.5rem !important;
  }

  .pr-md-4,
.px-md-4 {
    padding-right: 1.5rem !important;
  }

  .pb-md-4,
.py-md-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-md-4,
.px-md-4 {
    padding-left: 1.5rem !important;
  }

  .p-md-5 {
    padding: 3rem !important;
  }

  .pt-md-5,
.py-md-5 {
    padding-top: 3rem !important;
  }

  .pr-md-5,
.px-md-5 {
    padding-right: 3rem !important;
  }

  .pb-md-5,
.py-md-5 {
    padding-bottom: 3rem !important;
  }

  .pl-md-5,
.px-md-5 {
    padding-left: 3rem !important;
  }

  .p-md--9 {
    padding: -10rem !important;
  }

  .pt-md--9,
.py-md--9 {
    padding-top: -10rem !important;
  }

  .pr-md--9,
.px-md--9 {
    padding-right: -10rem !important;
  }

  .pb-md--9,
.py-md--9 {
    padding-bottom: -10rem !important;
  }

  .pl-md--9,
.px-md--9 {
    padding-left: -10rem !important;
  }

  .p-md--8 {
    padding: -8rem !important;
  }

  .pt-md--8,
.py-md--8 {
    padding-top: -8rem !important;
  }

  .pr-md--8,
.px-md--8 {
    padding-right: -8rem !important;
  }

  .pb-md--8,
.py-md--8 {
    padding-bottom: -8rem !important;
  }

  .pl-md--8,
.px-md--8 {
    padding-left: -8rem !important;
  }

  .p-md--7 {
    padding: -6rem !important;
  }

  .pt-md--7,
.py-md--7 {
    padding-top: -6rem !important;
  }

  .pr-md--7,
.px-md--7 {
    padding-right: -6rem !important;
  }

  .pb-md--7,
.py-md--7 {
    padding-bottom: -6rem !important;
  }

  .pl-md--7,
.px-md--7 {
    padding-left: -6rem !important;
  }

  .p-md--6 {
    padding: -4.5rem !important;
  }

  .pt-md--6,
.py-md--6 {
    padding-top: -4.5rem !important;
  }

  .pr-md--6,
.px-md--6 {
    padding-right: -4.5rem !important;
  }

  .pb-md--6,
.py-md--6 {
    padding-bottom: -4.5rem !important;
  }

  .pl-md--6,
.px-md--6 {
    padding-left: -4.5rem !important;
  }

  .p-md--5 {
    padding: -3rem !important;
  }

  .pt-md--5,
.py-md--5 {
    padding-top: -3rem !important;
  }

  .pr-md--5,
.px-md--5 {
    padding-right: -3rem !important;
  }

  .pb-md--5,
.py-md--5 {
    padding-bottom: -3rem !important;
  }

  .pl-md--5,
.px-md--5 {
    padding-left: -3rem !important;
  }

  .p-md--4 {
    padding: -1.5rem !important;
  }

  .pt-md--4,
.py-md--4 {
    padding-top: -1.5rem !important;
  }

  .pr-md--4,
.px-md--4 {
    padding-right: -1.5rem !important;
  }

  .pb-md--4,
.py-md--4 {
    padding-bottom: -1.5rem !important;
  }

  .pl-md--4,
.px-md--4 {
    padding-left: -1.5rem !important;
  }

  .p-md--3 {
    padding: -1rem !important;
  }

  .pt-md--3,
.py-md--3 {
    padding-top: -1rem !important;
  }

  .pr-md--3,
.px-md--3 {
    padding-right: -1rem !important;
  }

  .pb-md--3,
.py-md--3 {
    padding-bottom: -1rem !important;
  }

  .pl-md--3,
.px-md--3 {
    padding-left: -1rem !important;
  }

  .p-md--2 {
    padding: -0.5rem !important;
  }

  .pt-md--2,
.py-md--2 {
    padding-top: -0.5rem !important;
  }

  .pr-md--2,
.px-md--2 {
    padding-right: -0.5rem !important;
  }

  .pb-md--2,
.py-md--2 {
    padding-bottom: -0.5rem !important;
  }

  .pl-md--2,
.px-md--2 {
    padding-left: -0.5rem !important;
  }

  .p-md--1 {
    padding: -0.25rem !important;
  }

  .pt-md--1,
.py-md--1 {
    padding-top: -0.25rem !important;
  }

  .pr-md--1,
.px-md--1 {
    padding-right: -0.25rem !important;
  }

  .pb-md--1,
.py-md--1 {
    padding-bottom: -0.25rem !important;
  }

  .pl-md--1,
.px-md--1 {
    padding-left: -0.25rem !important;
  }

  .p-md-6 {
    padding: 4.5rem !important;
  }

  .pt-md-6,
.py-md-6 {
    padding-top: 4.5rem !important;
  }

  .pr-md-6,
.px-md-6 {
    padding-right: 4.5rem !important;
  }

  .pb-md-6,
.py-md-6 {
    padding-bottom: 4.5rem !important;
  }

  .pl-md-6,
.px-md-6 {
    padding-left: 4.5rem !important;
  }

  .p-md-7 {
    padding: 6rem !important;
  }

  .pt-md-7,
.py-md-7 {
    padding-top: 6rem !important;
  }

  .pr-md-7,
.px-md-7 {
    padding-right: 6rem !important;
  }

  .pb-md-7,
.py-md-7 {
    padding-bottom: 6rem !important;
  }

  .pl-md-7,
.px-md-7 {
    padding-left: 6rem !important;
  }

  .p-md-8 {
    padding: 8rem !important;
  }

  .pt-md-8,
.py-md-8 {
    padding-top: 8rem !important;
  }

  .pr-md-8,
.px-md-8 {
    padding-right: 8rem !important;
  }

  .pb-md-8,
.py-md-8 {
    padding-bottom: 8rem !important;
  }

  .pl-md-8,
.px-md-8 {
    padding-left: 8rem !important;
  }

  .p-md-9 {
    padding: 10rem !important;
  }

  .pt-md-9,
.py-md-9 {
    padding-top: 10rem !important;
  }

  .pr-md-9,
.px-md-9 {
    padding-right: 10rem !important;
  }

  .pb-md-9,
.py-md-9 {
    padding-bottom: 10rem !important;
  }

  .pl-md-9,
.px-md-9 {
    padding-left: 10rem !important;
  }

  .m-md-auto {
    margin: auto !important;
  }

  .mt-md-auto,
.my-md-auto {
    margin-top: auto !important;
  }

  .mr-md-auto,
.mx-md-auto {
    margin-right: auto !important;
  }

  .mb-md-auto,
.my-md-auto {
    margin-bottom: auto !important;
  }

  .ml-md-auto,
.mx-md-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }

  .mt-lg-0,
.my-lg-0 {
    margin-top: 0 !important;
  }

  .mr-lg-0,
.mx-lg-0 {
    margin-right: 0 !important;
  }

  .mb-lg-0,
.my-lg-0 {
    margin-bottom: 0 !important;
  }

  .ml-lg-0,
.mx-lg-0 {
    margin-left: 0 !important;
  }

  .m-lg-1 {
    margin: 0.25rem !important;
  }

  .mt-lg-1,
.my-lg-1 {
    margin-top: 0.25rem !important;
  }

  .mr-lg-1,
.mx-lg-1 {
    margin-right: 0.25rem !important;
  }

  .mb-lg-1,
.my-lg-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-lg-1,
.mx-lg-1 {
    margin-left: 0.25rem !important;
  }

  .m-lg-2 {
    margin: 0.5rem !important;
  }

  .mt-lg-2,
.my-lg-2 {
    margin-top: 0.5rem !important;
  }

  .mr-lg-2,
.mx-lg-2 {
    margin-right: 0.5rem !important;
  }

  .mb-lg-2,
.my-lg-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-lg-2,
.mx-lg-2 {
    margin-left: 0.5rem !important;
  }

  .m-lg-3 {
    margin: 1rem !important;
  }

  .mt-lg-3,
.my-lg-3 {
    margin-top: 1rem !important;
  }

  .mr-lg-3,
.mx-lg-3 {
    margin-right: 1rem !important;
  }

  .mb-lg-3,
.my-lg-3 {
    margin-bottom: 1rem !important;
  }

  .ml-lg-3,
.mx-lg-3 {
    margin-left: 1rem !important;
  }

  .m-lg-4 {
    margin: 1.5rem !important;
  }

  .mt-lg-4,
.my-lg-4 {
    margin-top: 1.5rem !important;
  }

  .mr-lg-4,
.mx-lg-4 {
    margin-right: 1.5rem !important;
  }

  .mb-lg-4,
.my-lg-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-lg-4,
.mx-lg-4 {
    margin-left: 1.5rem !important;
  }

  .m-lg-5 {
    margin: 3rem !important;
  }

  .mt-lg-5,
.my-lg-5 {
    margin-top: 3rem !important;
  }

  .mr-lg-5,
.mx-lg-5 {
    margin-right: 3rem !important;
  }

  .mb-lg-5,
.my-lg-5 {
    margin-bottom: 3rem !important;
  }

  .ml-lg-5,
.mx-lg-5 {
    margin-left: 3rem !important;
  }

  .m-lg--9 {
    margin: -10rem !important;
  }

  .mt-lg--9,
.my-lg--9 {
    margin-top: -10rem !important;
  }

  .mr-lg--9,
.mx-lg--9 {
    margin-right: -10rem !important;
  }

  .mb-lg--9,
.my-lg--9 {
    margin-bottom: -10rem !important;
  }

  .ml-lg--9,
.mx-lg--9 {
    margin-left: -10rem !important;
  }

  .m-lg--8 {
    margin: -8rem !important;
  }

  .mt-lg--8,
.my-lg--8 {
    margin-top: -8rem !important;
  }

  .mr-lg--8,
.mx-lg--8 {
    margin-right: -8rem !important;
  }

  .mb-lg--8,
.my-lg--8 {
    margin-bottom: -8rem !important;
  }

  .ml-lg--8,
.mx-lg--8 {
    margin-left: -8rem !important;
  }

  .m-lg--7 {
    margin: -6rem !important;
  }

  .mt-lg--7,
.my-lg--7 {
    margin-top: -6rem !important;
  }

  .mr-lg--7,
.mx-lg--7 {
    margin-right: -6rem !important;
  }

  .mb-lg--7,
.my-lg--7 {
    margin-bottom: -6rem !important;
  }

  .ml-lg--7,
.mx-lg--7 {
    margin-left: -6rem !important;
  }

  .m-lg--6 {
    margin: -4.5rem !important;
  }

  .mt-lg--6,
.my-lg--6 {
    margin-top: -4.5rem !important;
  }

  .mr-lg--6,
.mx-lg--6 {
    margin-right: -4.5rem !important;
  }

  .mb-lg--6,
.my-lg--6 {
    margin-bottom: -4.5rem !important;
  }

  .ml-lg--6,
.mx-lg--6 {
    margin-left: -4.5rem !important;
  }

  .m-lg--5 {
    margin: -3rem !important;
  }

  .mt-lg--5,
.my-lg--5 {
    margin-top: -3rem !important;
  }

  .mr-lg--5,
.mx-lg--5 {
    margin-right: -3rem !important;
  }

  .mb-lg--5,
.my-lg--5 {
    margin-bottom: -3rem !important;
  }

  .ml-lg--5,
.mx-lg--5 {
    margin-left: -3rem !important;
  }

  .m-lg--4 {
    margin: -1.5rem !important;
  }

  .mt-lg--4,
.my-lg--4 {
    margin-top: -1.5rem !important;
  }

  .mr-lg--4,
.mx-lg--4 {
    margin-right: -1.5rem !important;
  }

  .mb-lg--4,
.my-lg--4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-lg--4,
.mx-lg--4 {
    margin-left: -1.5rem !important;
  }

  .m-lg--3 {
    margin: -1rem !important;
  }

  .mt-lg--3,
.my-lg--3 {
    margin-top: -1rem !important;
  }

  .mr-lg--3,
.mx-lg--3 {
    margin-right: -1rem !important;
  }

  .mb-lg--3,
.my-lg--3 {
    margin-bottom: -1rem !important;
  }

  .ml-lg--3,
.mx-lg--3 {
    margin-left: -1rem !important;
  }

  .m-lg--2 {
    margin: -0.5rem !important;
  }

  .mt-lg--2,
.my-lg--2 {
    margin-top: -0.5rem !important;
  }

  .mr-lg--2,
.mx-lg--2 {
    margin-right: -0.5rem !important;
  }

  .mb-lg--2,
.my-lg--2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-lg--2,
.mx-lg--2 {
    margin-left: -0.5rem !important;
  }

  .m-lg--1 {
    margin: -0.25rem !important;
  }

  .mt-lg--1,
.my-lg--1 {
    margin-top: -0.25rem !important;
  }

  .mr-lg--1,
.mx-lg--1 {
    margin-right: -0.25rem !important;
  }

  .mb-lg--1,
.my-lg--1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-lg--1,
.mx-lg--1 {
    margin-left: -0.25rem !important;
  }

  .m-lg-6 {
    margin: 4.5rem !important;
  }

  .mt-lg-6,
.my-lg-6 {
    margin-top: 4.5rem !important;
  }

  .mr-lg-6,
.mx-lg-6 {
    margin-right: 4.5rem !important;
  }

  .mb-lg-6,
.my-lg-6 {
    margin-bottom: 4.5rem !important;
  }

  .ml-lg-6,
.mx-lg-6 {
    margin-left: 4.5rem !important;
  }

  .m-lg-7 {
    margin: 6rem !important;
  }

  .mt-lg-7,
.my-lg-7 {
    margin-top: 6rem !important;
  }

  .mr-lg-7,
.mx-lg-7 {
    margin-right: 6rem !important;
  }

  .mb-lg-7,
.my-lg-7 {
    margin-bottom: 6rem !important;
  }

  .ml-lg-7,
.mx-lg-7 {
    margin-left: 6rem !important;
  }

  .m-lg-8 {
    margin: 8rem !important;
  }

  .mt-lg-8,
.my-lg-8 {
    margin-top: 8rem !important;
  }

  .mr-lg-8,
.mx-lg-8 {
    margin-right: 8rem !important;
  }

  .mb-lg-8,
.my-lg-8 {
    margin-bottom: 8rem !important;
  }

  .ml-lg-8,
.mx-lg-8 {
    margin-left: 8rem !important;
  }

  .m-lg-9 {
    margin: 10rem !important;
  }

  .mt-lg-9,
.my-lg-9 {
    margin-top: 10rem !important;
  }

  .mr-lg-9,
.mx-lg-9 {
    margin-right: 10rem !important;
  }

  .mb-lg-9,
.my-lg-9 {
    margin-bottom: 10rem !important;
  }

  .ml-lg-9,
.mx-lg-9 {
    margin-left: 10rem !important;
  }

  .p-lg-0 {
    padding: 0 !important;
  }

  .pt-lg-0,
.py-lg-0 {
    padding-top: 0 !important;
  }

  .pr-lg-0,
.px-lg-0 {
    padding-right: 0 !important;
  }

  .pb-lg-0,
.py-lg-0 {
    padding-bottom: 0 !important;
  }

  .pl-lg-0,
.px-lg-0 {
    padding-left: 0 !important;
  }

  .p-lg-1 {
    padding: 0.25rem !important;
  }

  .pt-lg-1,
.py-lg-1 {
    padding-top: 0.25rem !important;
  }

  .pr-lg-1,
.px-lg-1 {
    padding-right: 0.25rem !important;
  }

  .pb-lg-1,
.py-lg-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-lg-1,
.px-lg-1 {
    padding-left: 0.25rem !important;
  }

  .p-lg-2 {
    padding: 0.5rem !important;
  }

  .pt-lg-2,
.py-lg-2 {
    padding-top: 0.5rem !important;
  }

  .pr-lg-2,
.px-lg-2 {
    padding-right: 0.5rem !important;
  }

  .pb-lg-2,
.py-lg-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-lg-2,
.px-lg-2 {
    padding-left: 0.5rem !important;
  }

  .p-lg-3 {
    padding: 1rem !important;
  }

  .pt-lg-3,
.py-lg-3 {
    padding-top: 1rem !important;
  }

  .pr-lg-3,
.px-lg-3 {
    padding-right: 1rem !important;
  }

  .pb-lg-3,
.py-lg-3 {
    padding-bottom: 1rem !important;
  }

  .pl-lg-3,
.px-lg-3 {
    padding-left: 1rem !important;
  }

  .p-lg-4 {
    padding: 1.5rem !important;
  }

  .pt-lg-4,
.py-lg-4 {
    padding-top: 1.5rem !important;
  }

  .pr-lg-4,
.px-lg-4 {
    padding-right: 1.5rem !important;
  }

  .pb-lg-4,
.py-lg-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-lg-4,
.px-lg-4 {
    padding-left: 1.5rem !important;
  }

  .p-lg-5 {
    padding: 3rem !important;
  }

  .pt-lg-5,
.py-lg-5 {
    padding-top: 3rem !important;
  }

  .pr-lg-5,
.px-lg-5 {
    padding-right: 3rem !important;
  }

  .pb-lg-5,
.py-lg-5 {
    padding-bottom: 3rem !important;
  }

  .pl-lg-5,
.px-lg-5 {
    padding-left: 3rem !important;
  }

  .p-lg--9 {
    padding: -10rem !important;
  }

  .pt-lg--9,
.py-lg--9 {
    padding-top: -10rem !important;
  }

  .pr-lg--9,
.px-lg--9 {
    padding-right: -10rem !important;
  }

  .pb-lg--9,
.py-lg--9 {
    padding-bottom: -10rem !important;
  }

  .pl-lg--9,
.px-lg--9 {
    padding-left: -10rem !important;
  }

  .p-lg--8 {
    padding: -8rem !important;
  }

  .pt-lg--8,
.py-lg--8 {
    padding-top: -8rem !important;
  }

  .pr-lg--8,
.px-lg--8 {
    padding-right: -8rem !important;
  }

  .pb-lg--8,
.py-lg--8 {
    padding-bottom: -8rem !important;
  }

  .pl-lg--8,
.px-lg--8 {
    padding-left: -8rem !important;
  }

  .p-lg--7 {
    padding: -6rem !important;
  }

  .pt-lg--7,
.py-lg--7 {
    padding-top: -6rem !important;
  }

  .pr-lg--7,
.px-lg--7 {
    padding-right: -6rem !important;
  }

  .pb-lg--7,
.py-lg--7 {
    padding-bottom: -6rem !important;
  }

  .pl-lg--7,
.px-lg--7 {
    padding-left: -6rem !important;
  }

  .p-lg--6 {
    padding: -4.5rem !important;
  }

  .pt-lg--6,
.py-lg--6 {
    padding-top: -4.5rem !important;
  }

  .pr-lg--6,
.px-lg--6 {
    padding-right: -4.5rem !important;
  }

  .pb-lg--6,
.py-lg--6 {
    padding-bottom: -4.5rem !important;
  }

  .pl-lg--6,
.px-lg--6 {
    padding-left: -4.5rem !important;
  }

  .p-lg--5 {
    padding: -3rem !important;
  }

  .pt-lg--5,
.py-lg--5 {
    padding-top: -3rem !important;
  }

  .pr-lg--5,
.px-lg--5 {
    padding-right: -3rem !important;
  }

  .pb-lg--5,
.py-lg--5 {
    padding-bottom: -3rem !important;
  }

  .pl-lg--5,
.px-lg--5 {
    padding-left: -3rem !important;
  }

  .p-lg--4 {
    padding: -1.5rem !important;
  }

  .pt-lg--4,
.py-lg--4 {
    padding-top: -1.5rem !important;
  }

  .pr-lg--4,
.px-lg--4 {
    padding-right: -1.5rem !important;
  }

  .pb-lg--4,
.py-lg--4 {
    padding-bottom: -1.5rem !important;
  }

  .pl-lg--4,
.px-lg--4 {
    padding-left: -1.5rem !important;
  }

  .p-lg--3 {
    padding: -1rem !important;
  }

  .pt-lg--3,
.py-lg--3 {
    padding-top: -1rem !important;
  }

  .pr-lg--3,
.px-lg--3 {
    padding-right: -1rem !important;
  }

  .pb-lg--3,
.py-lg--3 {
    padding-bottom: -1rem !important;
  }

  .pl-lg--3,
.px-lg--3 {
    padding-left: -1rem !important;
  }

  .p-lg--2 {
    padding: -0.5rem !important;
  }

  .pt-lg--2,
.py-lg--2 {
    padding-top: -0.5rem !important;
  }

  .pr-lg--2,
.px-lg--2 {
    padding-right: -0.5rem !important;
  }

  .pb-lg--2,
.py-lg--2 {
    padding-bottom: -0.5rem !important;
  }

  .pl-lg--2,
.px-lg--2 {
    padding-left: -0.5rem !important;
  }

  .p-lg--1 {
    padding: -0.25rem !important;
  }

  .pt-lg--1,
.py-lg--1 {
    padding-top: -0.25rem !important;
  }

  .pr-lg--1,
.px-lg--1 {
    padding-right: -0.25rem !important;
  }

  .pb-lg--1,
.py-lg--1 {
    padding-bottom: -0.25rem !important;
  }

  .pl-lg--1,
.px-lg--1 {
    padding-left: -0.25rem !important;
  }

  .p-lg-6 {
    padding: 4.5rem !important;
  }

  .pt-lg-6,
.py-lg-6 {
    padding-top: 4.5rem !important;
  }

  .pr-lg-6,
.px-lg-6 {
    padding-right: 4.5rem !important;
  }

  .pb-lg-6,
.py-lg-6 {
    padding-bottom: 4.5rem !important;
  }

  .pl-lg-6,
.px-lg-6 {
    padding-left: 4.5rem !important;
  }

  .p-lg-7 {
    padding: 6rem !important;
  }

  .pt-lg-7,
.py-lg-7 {
    padding-top: 6rem !important;
  }

  .pr-lg-7,
.px-lg-7 {
    padding-right: 6rem !important;
  }

  .pb-lg-7,
.py-lg-7 {
    padding-bottom: 6rem !important;
  }

  .pl-lg-7,
.px-lg-7 {
    padding-left: 6rem !important;
  }

  .p-lg-8 {
    padding: 8rem !important;
  }

  .pt-lg-8,
.py-lg-8 {
    padding-top: 8rem !important;
  }

  .pr-lg-8,
.px-lg-8 {
    padding-right: 8rem !important;
  }

  .pb-lg-8,
.py-lg-8 {
    padding-bottom: 8rem !important;
  }

  .pl-lg-8,
.px-lg-8 {
    padding-left: 8rem !important;
  }

  .p-lg-9 {
    padding: 10rem !important;
  }

  .pt-lg-9,
.py-lg-9 {
    padding-top: 10rem !important;
  }

  .pr-lg-9,
.px-lg-9 {
    padding-right: 10rem !important;
  }

  .pb-lg-9,
.py-lg-9 {
    padding-bottom: 10rem !important;
  }

  .pl-lg-9,
.px-lg-9 {
    padding-left: 10rem !important;
  }

  .m-lg-auto {
    margin: auto !important;
  }

  .mt-lg-auto,
.my-lg-auto {
    margin-top: auto !important;
  }

  .mr-lg-auto,
.mx-lg-auto {
    margin-right: auto !important;
  }

  .mb-lg-auto,
.my-lg-auto {
    margin-bottom: auto !important;
  }

  .ml-lg-auto,
.mx-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }

  .mt-xl-0,
.my-xl-0 {
    margin-top: 0 !important;
  }

  .mr-xl-0,
.mx-xl-0 {
    margin-right: 0 !important;
  }

  .mb-xl-0,
.my-xl-0 {
    margin-bottom: 0 !important;
  }

  .ml-xl-0,
.mx-xl-0 {
    margin-left: 0 !important;
  }

  .m-xl-1 {
    margin: 0.25rem !important;
  }

  .mt-xl-1,
.my-xl-1 {
    margin-top: 0.25rem !important;
  }

  .mr-xl-1,
.mx-xl-1 {
    margin-right: 0.25rem !important;
  }

  .mb-xl-1,
.my-xl-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-xl-1,
.mx-xl-1 {
    margin-left: 0.25rem !important;
  }

  .m-xl-2 {
    margin: 0.5rem !important;
  }

  .mt-xl-2,
.my-xl-2 {
    margin-top: 0.5rem !important;
  }

  .mr-xl-2,
.mx-xl-2 {
    margin-right: 0.5rem !important;
  }

  .mb-xl-2,
.my-xl-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-xl-2,
.mx-xl-2 {
    margin-left: 0.5rem !important;
  }

  .m-xl-3 {
    margin: 1rem !important;
  }

  .mt-xl-3,
.my-xl-3 {
    margin-top: 1rem !important;
  }

  .mr-xl-3,
.mx-xl-3 {
    margin-right: 1rem !important;
  }

  .mb-xl-3,
.my-xl-3 {
    margin-bottom: 1rem !important;
  }

  .ml-xl-3,
.mx-xl-3 {
    margin-left: 1rem !important;
  }

  .m-xl-4 {
    margin: 1.5rem !important;
  }

  .mt-xl-4,
.my-xl-4 {
    margin-top: 1.5rem !important;
  }

  .mr-xl-4,
.mx-xl-4 {
    margin-right: 1.5rem !important;
  }

  .mb-xl-4,
.my-xl-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-xl-4,
.mx-xl-4 {
    margin-left: 1.5rem !important;
  }

  .m-xl-5 {
    margin: 3rem !important;
  }

  .mt-xl-5,
.my-xl-5 {
    margin-top: 3rem !important;
  }

  .mr-xl-5,
.mx-xl-5 {
    margin-right: 3rem !important;
  }

  .mb-xl-5,
.my-xl-5 {
    margin-bottom: 3rem !important;
  }

  .ml-xl-5,
.mx-xl-5 {
    margin-left: 3rem !important;
  }

  .m-xl--9 {
    margin: -10rem !important;
  }

  .mt-xl--9,
.my-xl--9 {
    margin-top: -10rem !important;
  }

  .mr-xl--9,
.mx-xl--9 {
    margin-right: -10rem !important;
  }

  .mb-xl--9,
.my-xl--9 {
    margin-bottom: -10rem !important;
  }

  .ml-xl--9,
.mx-xl--9 {
    margin-left: -10rem !important;
  }

  .m-xl--8 {
    margin: -8rem !important;
  }

  .mt-xl--8,
.my-xl--8 {
    margin-top: -8rem !important;
  }

  .mr-xl--8,
.mx-xl--8 {
    margin-right: -8rem !important;
  }

  .mb-xl--8,
.my-xl--8 {
    margin-bottom: -8rem !important;
  }

  .ml-xl--8,
.mx-xl--8 {
    margin-left: -8rem !important;
  }

  .m-xl--7 {
    margin: -6rem !important;
  }

  .mt-xl--7,
.my-xl--7 {
    margin-top: -6rem !important;
  }

  .mr-xl--7,
.mx-xl--7 {
    margin-right: -6rem !important;
  }

  .mb-xl--7,
.my-xl--7 {
    margin-bottom: -6rem !important;
  }

  .ml-xl--7,
.mx-xl--7 {
    margin-left: -6rem !important;
  }

  .m-xl--6 {
    margin: -4.5rem !important;
  }

  .mt-xl--6,
.my-xl--6 {
    margin-top: -4.5rem !important;
  }

  .mr-xl--6,
.mx-xl--6 {
    margin-right: -4.5rem !important;
  }

  .mb-xl--6,
.my-xl--6 {
    margin-bottom: -4.5rem !important;
  }

  .ml-xl--6,
.mx-xl--6 {
    margin-left: -4.5rem !important;
  }

  .m-xl--5 {
    margin: -3rem !important;
  }

  .mt-xl--5,
.my-xl--5 {
    margin-top: -3rem !important;
  }

  .mr-xl--5,
.mx-xl--5 {
    margin-right: -3rem !important;
  }

  .mb-xl--5,
.my-xl--5 {
    margin-bottom: -3rem !important;
  }

  .ml-xl--5,
.mx-xl--5 {
    margin-left: -3rem !important;
  }

  .m-xl--4 {
    margin: -1.5rem !important;
  }

  .mt-xl--4,
.my-xl--4 {
    margin-top: -1.5rem !important;
  }

  .mr-xl--4,
.mx-xl--4 {
    margin-right: -1.5rem !important;
  }

  .mb-xl--4,
.my-xl--4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-xl--4,
.mx-xl--4 {
    margin-left: -1.5rem !important;
  }

  .m-xl--3 {
    margin: -1rem !important;
  }

  .mt-xl--3,
.my-xl--3 {
    margin-top: -1rem !important;
  }

  .mr-xl--3,
.mx-xl--3 {
    margin-right: -1rem !important;
  }

  .mb-xl--3,
.my-xl--3 {
    margin-bottom: -1rem !important;
  }

  .ml-xl--3,
.mx-xl--3 {
    margin-left: -1rem !important;
  }

  .m-xl--2 {
    margin: -0.5rem !important;
  }

  .mt-xl--2,
.my-xl--2 {
    margin-top: -0.5rem !important;
  }

  .mr-xl--2,
.mx-xl--2 {
    margin-right: -0.5rem !important;
  }

  .mb-xl--2,
.my-xl--2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-xl--2,
.mx-xl--2 {
    margin-left: -0.5rem !important;
  }

  .m-xl--1 {
    margin: -0.25rem !important;
  }

  .mt-xl--1,
.my-xl--1 {
    margin-top: -0.25rem !important;
  }

  .mr-xl--1,
.mx-xl--1 {
    margin-right: -0.25rem !important;
  }

  .mb-xl--1,
.my-xl--1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-xl--1,
.mx-xl--1 {
    margin-left: -0.25rem !important;
  }

  .m-xl-6 {
    margin: 4.5rem !important;
  }

  .mt-xl-6,
.my-xl-6 {
    margin-top: 4.5rem !important;
  }

  .mr-xl-6,
.mx-xl-6 {
    margin-right: 4.5rem !important;
  }

  .mb-xl-6,
.my-xl-6 {
    margin-bottom: 4.5rem !important;
  }

  .ml-xl-6,
.mx-xl-6 {
    margin-left: 4.5rem !important;
  }

  .m-xl-7 {
    margin: 6rem !important;
  }

  .mt-xl-7,
.my-xl-7 {
    margin-top: 6rem !important;
  }

  .mr-xl-7,
.mx-xl-7 {
    margin-right: 6rem !important;
  }

  .mb-xl-7,
.my-xl-7 {
    margin-bottom: 6rem !important;
  }

  .ml-xl-7,
.mx-xl-7 {
    margin-left: 6rem !important;
  }

  .m-xl-8 {
    margin: 8rem !important;
  }

  .mt-xl-8,
.my-xl-8 {
    margin-top: 8rem !important;
  }

  .mr-xl-8,
.mx-xl-8 {
    margin-right: 8rem !important;
  }

  .mb-xl-8,
.my-xl-8 {
    margin-bottom: 8rem !important;
  }

  .ml-xl-8,
.mx-xl-8 {
    margin-left: 8rem !important;
  }

  .m-xl-9 {
    margin: 10rem !important;
  }

  .mt-xl-9,
.my-xl-9 {
    margin-top: 10rem !important;
  }

  .mr-xl-9,
.mx-xl-9 {
    margin-right: 10rem !important;
  }

  .mb-xl-9,
.my-xl-9 {
    margin-bottom: 10rem !important;
  }

  .ml-xl-9,
.mx-xl-9 {
    margin-left: 10rem !important;
  }

  .p-xl-0 {
    padding: 0 !important;
  }

  .pt-xl-0,
.py-xl-0 {
    padding-top: 0 !important;
  }

  .pr-xl-0,
.px-xl-0 {
    padding-right: 0 !important;
  }

  .pb-xl-0,
.py-xl-0 {
    padding-bottom: 0 !important;
  }

  .pl-xl-0,
.px-xl-0 {
    padding-left: 0 !important;
  }

  .p-xl-1 {
    padding: 0.25rem !important;
  }

  .pt-xl-1,
.py-xl-1 {
    padding-top: 0.25rem !important;
  }

  .pr-xl-1,
.px-xl-1 {
    padding-right: 0.25rem !important;
  }

  .pb-xl-1,
.py-xl-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-xl-1,
.px-xl-1 {
    padding-left: 0.25rem !important;
  }

  .p-xl-2 {
    padding: 0.5rem !important;
  }

  .pt-xl-2,
.py-xl-2 {
    padding-top: 0.5rem !important;
  }

  .pr-xl-2,
.px-xl-2 {
    padding-right: 0.5rem !important;
  }

  .pb-xl-2,
.py-xl-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-xl-2,
.px-xl-2 {
    padding-left: 0.5rem !important;
  }

  .p-xl-3 {
    padding: 1rem !important;
  }

  .pt-xl-3,
.py-xl-3 {
    padding-top: 1rem !important;
  }

  .pr-xl-3,
.px-xl-3 {
    padding-right: 1rem !important;
  }

  .pb-xl-3,
.py-xl-3 {
    padding-bottom: 1rem !important;
  }

  .pl-xl-3,
.px-xl-3 {
    padding-left: 1rem !important;
  }

  .p-xl-4 {
    padding: 1.5rem !important;
  }

  .pt-xl-4,
.py-xl-4 {
    padding-top: 1.5rem !important;
  }

  .pr-xl-4,
.px-xl-4 {
    padding-right: 1.5rem !important;
  }

  .pb-xl-4,
.py-xl-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-xl-4,
.px-xl-4 {
    padding-left: 1.5rem !important;
  }

  .p-xl-5 {
    padding: 3rem !important;
  }

  .pt-xl-5,
.py-xl-5 {
    padding-top: 3rem !important;
  }

  .pr-xl-5,
.px-xl-5 {
    padding-right: 3rem !important;
  }

  .pb-xl-5,
.py-xl-5 {
    padding-bottom: 3rem !important;
  }

  .pl-xl-5,
.px-xl-5 {
    padding-left: 3rem !important;
  }

  .p-xl--9 {
    padding: -10rem !important;
  }

  .pt-xl--9,
.py-xl--9 {
    padding-top: -10rem !important;
  }

  .pr-xl--9,
.px-xl--9 {
    padding-right: -10rem !important;
  }

  .pb-xl--9,
.py-xl--9 {
    padding-bottom: -10rem !important;
  }

  .pl-xl--9,
.px-xl--9 {
    padding-left: -10rem !important;
  }

  .p-xl--8 {
    padding: -8rem !important;
  }

  .pt-xl--8,
.py-xl--8 {
    padding-top: -8rem !important;
  }

  .pr-xl--8,
.px-xl--8 {
    padding-right: -8rem !important;
  }

  .pb-xl--8,
.py-xl--8 {
    padding-bottom: -8rem !important;
  }

  .pl-xl--8,
.px-xl--8 {
    padding-left: -8rem !important;
  }

  .p-xl--7 {
    padding: -6rem !important;
  }

  .pt-xl--7,
.py-xl--7 {
    padding-top: -6rem !important;
  }

  .pr-xl--7,
.px-xl--7 {
    padding-right: -6rem !important;
  }

  .pb-xl--7,
.py-xl--7 {
    padding-bottom: -6rem !important;
  }

  .pl-xl--7,
.px-xl--7 {
    padding-left: -6rem !important;
  }

  .p-xl--6 {
    padding: -4.5rem !important;
  }

  .pt-xl--6,
.py-xl--6 {
    padding-top: -4.5rem !important;
  }

  .pr-xl--6,
.px-xl--6 {
    padding-right: -4.5rem !important;
  }

  .pb-xl--6,
.py-xl--6 {
    padding-bottom: -4.5rem !important;
  }

  .pl-xl--6,
.px-xl--6 {
    padding-left: -4.5rem !important;
  }

  .p-xl--5 {
    padding: -3rem !important;
  }

  .pt-xl--5,
.py-xl--5 {
    padding-top: -3rem !important;
  }

  .pr-xl--5,
.px-xl--5 {
    padding-right: -3rem !important;
  }

  .pb-xl--5,
.py-xl--5 {
    padding-bottom: -3rem !important;
  }

  .pl-xl--5,
.px-xl--5 {
    padding-left: -3rem !important;
  }

  .p-xl--4 {
    padding: -1.5rem !important;
  }

  .pt-xl--4,
.py-xl--4 {
    padding-top: -1.5rem !important;
  }

  .pr-xl--4,
.px-xl--4 {
    padding-right: -1.5rem !important;
  }

  .pb-xl--4,
.py-xl--4 {
    padding-bottom: -1.5rem !important;
  }

  .pl-xl--4,
.px-xl--4 {
    padding-left: -1.5rem !important;
  }

  .p-xl--3 {
    padding: -1rem !important;
  }

  .pt-xl--3,
.py-xl--3 {
    padding-top: -1rem !important;
  }

  .pr-xl--3,
.px-xl--3 {
    padding-right: -1rem !important;
  }

  .pb-xl--3,
.py-xl--3 {
    padding-bottom: -1rem !important;
  }

  .pl-xl--3,
.px-xl--3 {
    padding-left: -1rem !important;
  }

  .p-xl--2 {
    padding: -0.5rem !important;
  }

  .pt-xl--2,
.py-xl--2 {
    padding-top: -0.5rem !important;
  }

  .pr-xl--2,
.px-xl--2 {
    padding-right: -0.5rem !important;
  }

  .pb-xl--2,
.py-xl--2 {
    padding-bottom: -0.5rem !important;
  }

  .pl-xl--2,
.px-xl--2 {
    padding-left: -0.5rem !important;
  }

  .p-xl--1 {
    padding: -0.25rem !important;
  }

  .pt-xl--1,
.py-xl--1 {
    padding-top: -0.25rem !important;
  }

  .pr-xl--1,
.px-xl--1 {
    padding-right: -0.25rem !important;
  }

  .pb-xl--1,
.py-xl--1 {
    padding-bottom: -0.25rem !important;
  }

  .pl-xl--1,
.px-xl--1 {
    padding-left: -0.25rem !important;
  }

  .p-xl-6 {
    padding: 4.5rem !important;
  }

  .pt-xl-6,
.py-xl-6 {
    padding-top: 4.5rem !important;
  }

  .pr-xl-6,
.px-xl-6 {
    padding-right: 4.5rem !important;
  }

  .pb-xl-6,
.py-xl-6 {
    padding-bottom: 4.5rem !important;
  }

  .pl-xl-6,
.px-xl-6 {
    padding-left: 4.5rem !important;
  }

  .p-xl-7 {
    padding: 6rem !important;
  }

  .pt-xl-7,
.py-xl-7 {
    padding-top: 6rem !important;
  }

  .pr-xl-7,
.px-xl-7 {
    padding-right: 6rem !important;
  }

  .pb-xl-7,
.py-xl-7 {
    padding-bottom: 6rem !important;
  }

  .pl-xl-7,
.px-xl-7 {
    padding-left: 6rem !important;
  }

  .p-xl-8 {
    padding: 8rem !important;
  }

  .pt-xl-8,
.py-xl-8 {
    padding-top: 8rem !important;
  }

  .pr-xl-8,
.px-xl-8 {
    padding-right: 8rem !important;
  }

  .pb-xl-8,
.py-xl-8 {
    padding-bottom: 8rem !important;
  }

  .pl-xl-8,
.px-xl-8 {
    padding-left: 8rem !important;
  }

  .p-xl-9 {
    padding: 10rem !important;
  }

  .pt-xl-9,
.py-xl-9 {
    padding-top: 10rem !important;
  }

  .pr-xl-9,
.px-xl-9 {
    padding-right: 10rem !important;
  }

  .pb-xl-9,
.py-xl-9 {
    padding-bottom: 10rem !important;
  }

  .pl-xl-9,
.px-xl-9 {
    padding-left: 10rem !important;
  }

  .m-xl-auto {
    margin: auto !important;
  }

  .mt-xl-auto,
.my-xl-auto {
    margin-top: auto !important;
  }

  .mr-xl-auto,
.mx-xl-auto {
    margin-right: auto !important;
  }

  .mb-xl-auto,
.my-xl-auto {
    margin-bottom: auto !important;
  }

  .ml-xl-auto,
.mx-xl-auto {
    margin-left: auto !important;
  }
}
.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.text-justify {
  text-align: justify !important;
}
.text-nowrap {
  white-space: nowrap !important;
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text-left {
  text-align: left !important;
}
.text-right {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }

  .text-sm-right {
    text-align: right !important;
  }

  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }

  .text-md-right {
    text-align: right !important;
  }

  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }

  .text-lg-right {
    text-align: right !important;
  }

  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }

  .text-xl-right {
    text-align: right !important;
  }

  .text-xl-center {
    text-align: center !important;
  }
}
.text-lowercase {
  text-transform: lowercase !important;
}
.text-uppercase {
  text-transform: uppercase !important;
}
.text-capitalize {
  text-transform: capitalize !important;
}
.font-weight-light {
  font-weight: 300 !important;
}
.font-weight-normal {
  font-weight: 400 !important;
}
.font-weight-bold {
  font-weight: 600 !important;
}
.font-italic {
  font-style: italic !important;
}
.text-white {
  color: #fff !important;
}
.text-primary {
  color: #5e72e4 !important;
}
a.text-primary:hover, a.text-primary:focus {
  color: #324cdd !important;
}
.text-secondary {
  color: #f7fafc !important;
}
a.text-secondary:hover, a.text-secondary:focus {
  color: #d2e3ee !important;
}
.text-success {
  color: #2dce89 !important;
}
a.text-success:hover, a.text-success:focus {
  color: #24a46d !important;
}
.text-info {
  color: #11cdef !important;
}
a.text-info:hover, a.text-info:focus {
  color: #0da5c0 !important;
}
.text-warning {
  color: #fb6340 !important;
}
a.text-warning:hover, a.text-warning:focus {
  color: #fa3a0e !important;
}
.text-danger {
  color: #f5365c !important;
}
a.text-danger:hover, a.text-danger:focus {
  color: #ec0c38 !important;
}
.text-light {
  color: #adb5bd !important;
}
a.text-light:hover, a.text-light:focus {
  color: #919ca6 !important;
}
.text-dark {
  color: #212529 !important;
}
a.text-dark:hover, a.text-dark:focus {
  color: #0a0c0d !important;
}
.text-default {
  color: #172b4d !important;
}
a.text-default:hover, a.text-default:focus {
  color: #0b1526 !important;
}
.text-white {
  color: #fff !important;
}
a.text-white:hover, a.text-white:focus {
  color: #e6e6e6 !important;
}
.text-neutral {
  color: #fff !important;
}
a.text-neutral:hover, a.text-neutral:focus {
  color: #e6e6e6 !important;
}
.text-darker {
  color: black !important;
}
a.text-darker:hover, a.text-darker:focus {
  color: black !important;
}
.text-body {
  color: #525f7f !important;
}
.text-muted {
  color: #8898aa !important;
}
.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}
.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.visible {
  visibility: visible !important;
}
.invisible {
  visibility: hidden !important;
}
@media print {
  *,
*::before,
*::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }

  a:not(.btn) {
    text-decoration: underline;
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
blockquote {
    border: 1px solid #adb5bd;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
img {
    page-break-inside: avoid;
  }

  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
h3 {
    page-break-after: avoid;
  }

  @page {
    size: a3;
  }
  body {
    min-width: 992px !important;
  }

  .container {
    min-width: 992px !important;
  }

  .navbar {
    display: none;
  }

  .badge {
    border: 1px solid #000;
  }

  .table {
    border-collapse: collapse !important;
  }
  .table td,
.table th {
    background-color: #fff !important;
  }

  .table-bordered th,
.table-bordered td {
    border: 1px solid #dee2e6 !important;
  }

  .table-dark {
    color: inherit;
  }
  .table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
    border-color: #e9ecef;
  }

  .table .thead-dark th {
    color: inherit;
    border-color: #e9ecef;
  }
}
iframe {
  border: 0;
}
figcaption,
figure,
main {
  display: block;
}
main {
  overflow: hidden;
}
.bg-blue {
  background-color: #5e72e4 !important;
}
a.bg-blue:hover, a.bg-blue:focus,
button.bg-blue:hover,
button.bg-blue:focus {
  background-color: #324cdd !important;
}
.bg-indigo {
  background-color: #5603ad !important;
}
a.bg-indigo:hover, a.bg-indigo:focus,
button.bg-indigo:hover,
button.bg-indigo:focus {
  background-color: #3d027b !important;
}
.bg-purple {
  background-color: #8965e0 !important;
}
a.bg-purple:hover, a.bg-purple:focus,
button.bg-purple:hover,
button.bg-purple:focus {
  background-color: #683bd7 !important;
}
.bg-pink {
  background-color: #f3a4b5 !important;
}
a.bg-pink:hover, a.bg-pink:focus,
button.bg-pink:hover,
button.bg-pink:focus {
  background-color: #ed7790 !important;
}
.bg-red {
  background-color: #f5365c !important;
}
a.bg-red:hover, a.bg-red:focus,
button.bg-red:hover,
button.bg-red:focus {
  background-color: #ec0c38 !important;
}
.bg-orange {
  background-color: #fb6340 !important;
}
a.bg-orange:hover, a.bg-orange:focus,
button.bg-orange:hover,
button.bg-orange:focus {
  background-color: #fa3a0e !important;
}
.bg-yellow {
  background-color: #ffd600 !important;
}
a.bg-yellow:hover, a.bg-yellow:focus,
button.bg-yellow:hover,
button.bg-yellow:focus {
  background-color: #ccab00 !important;
}
.bg-green {
  background-color: #2dce89 !important;
}
a.bg-green:hover, a.bg-green:focus,
button.bg-green:hover,
button.bg-green:focus {
  background-color: #24a46d !important;
}
.bg-teal {
  background-color: #11cdef !important;
}
a.bg-teal:hover, a.bg-teal:focus,
button.bg-teal:hover,
button.bg-teal:focus {
  background-color: #0da5c0 !important;
}
.bg-cyan {
  background-color: #2bffc6 !important;
}
a.bg-cyan:hover, a.bg-cyan:focus,
button.bg-cyan:hover,
button.bg-cyan:focus {
  background-color: #00f7b5 !important;
}
.bg-white {
  background-color: #fff !important;
}
a.bg-white:hover, a.bg-white:focus,
button.bg-white:hover,
button.bg-white:focus {
  background-color: #e6e6e6 !important;
}
.bg-gray {
  background-color: #8898aa !important;
}
a.bg-gray:hover, a.bg-gray:focus,
button.bg-gray:hover,
button.bg-gray:focus {
  background-color: #6a7e95 !important;
}
.bg-gray-dark {
  background-color: #32325d !important;
}
a.bg-gray-dark:hover, a.bg-gray-dark:focus,
button.bg-gray-dark:hover,
button.bg-gray-dark:focus {
  background-color: #20203c !important;
}
.bg-light {
  background-color: #ced4da !important;
}
a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #b1bbc4 !important;
}
.bg-lighter {
  background-color: #e9ecef !important;
}
a.bg-lighter:hover, a.bg-lighter:focus,
button.bg-lighter:hover,
button.bg-lighter:focus {
  background-color: #cbd3da !important;
}
.bg-gradient-primary {
  background: linear-gradient(87deg, #5e72e4 0, #825ee4 100%) !important;
}
.bg-gradient-secondary {
  background: linear-gradient(87deg, #f7fafc 0, #f7f8fc 100%) !important;
}
.bg-gradient-success {
  background: linear-gradient(87deg, #2dce89 0, #2dcecc 100%) !important;
}
.bg-gradient-info {
  background: linear-gradient(87deg, #11cdef 0, #1171ef 100%) !important;
}
.bg-gradient-warning {
  background: linear-gradient(87deg, #fb6340 0, #fbb140 100%) !important;
}
.bg-gradient-danger {
  background: linear-gradient(87deg, #f5365c 0, #f56036 100%) !important;
}
.bg-gradient-light {
  background: linear-gradient(87deg, #adb5bd 0, #adaebd 100%) !important;
}
.bg-gradient-dark {
  background: linear-gradient(87deg, #212529 0, #212229 100%) !important;
}
.bg-gradient-default {
  background: linear-gradient(87deg, #172b4d 0, #1a174d 100%) !important;
}
.bg-gradient-white {
  background: linear-gradient(87deg, #fff 0, white 100%) !important;
}
.bg-gradient-neutral {
  background: linear-gradient(87deg, #fff 0, white 100%) !important;
}
.bg-gradient-darker {
  background: linear-gradient(87deg, black 0, black 100%) !important;
}
.bg-gradient-blue {
  background: linear-gradient(87deg, #5e72e4 0, #825ee4 100%) !important;
}
.bg-gradient-indigo {
  background: linear-gradient(87deg, #5603ad 0, #9d03ad 100%) !important;
}
.bg-gradient-purple {
  background: linear-gradient(87deg, #8965e0 0, #bc65e0 100%) !important;
}
.bg-gradient-pink {
  background: linear-gradient(87deg, #f3a4b5 0, #f3b4a4 100%) !important;
}
.bg-gradient-red {
  background: linear-gradient(87deg, #f5365c 0, #f56036 100%) !important;
}
.bg-gradient-orange {
  background: linear-gradient(87deg, #fb6340 0, #fbb140 100%) !important;
}
.bg-gradient-yellow {
  background: linear-gradient(87deg, #ffd600 0, #beff00 100%) !important;
}
.bg-gradient-green {
  background: linear-gradient(87deg, #2dce89 0, #2dcecc 100%) !important;
}
.bg-gradient-teal {
  background: linear-gradient(87deg, #11cdef 0, #1171ef 100%) !important;
}
.bg-gradient-cyan {
  background: linear-gradient(87deg, #2bffc6 0, #2be0ff 100%) !important;
}
.bg-gradient-white {
  background: linear-gradient(87deg, #fff 0, white 100%) !important;
}
.bg-gradient-gray {
  background: linear-gradient(87deg, #8898aa 0, #888aaa 100%) !important;
}
.bg-gradient-gray-dark {
  background: linear-gradient(87deg, #32325d 0, #44325d 100%) !important;
}
.bg-gradient-light {
  background: linear-gradient(87deg, #ced4da 0, #cecfda 100%) !important;
}
.bg-gradient-lighter {
  background: linear-gradient(87deg, #e9ecef 0, #e9eaef 100%) !important;
}
.bg-translucent-primary {
  background-color: rgba(63, 87, 223, 0.6) !important;
}
a.bg-translucent-primary:hover, a.bg-translucent-primary:focus,
button.bg-translucent-primary:hover,
button.bg-translucent-primary:focus {
  background-color: rgba(42, 68, 219, 0.6) !important;
}
.bg-translucent-secondary {
  background-color: rgba(221, 234, 242, 0.6) !important;
}
a.bg-translucent-secondary:hover, a.bg-translucent-secondary:focus,
button.bg-translucent-secondary:hover,
button.bg-translucent-secondary:focus {
  background-color: rgba(202, 222, 235, 0.6) !important;
}
.bg-translucent-success {
  background-color: rgba(39, 177, 118, 0.6) !important;
}
a.bg-translucent-success:hover, a.bg-translucent-success:focus,
button.bg-translucent-success:hover,
button.bg-translucent-success:focus {
  background-color: rgba(34, 156, 104, 0.6) !important;
}
.bg-translucent-info {
  background-color: rgba(14, 177, 206, 0.6) !important;
}
a.bg-translucent-info:hover, a.bg-translucent-info:focus,
button.bg-translucent-info:hover,
button.bg-translucent-info:focus {
  background-color: rgba(12, 156, 183, 0.6) !important;
}
.bg-translucent-warning {
  background-color: rgba(250, 70, 29, 0.6) !important;
}
a.bg-translucent-warning:hover, a.bg-translucent-warning:focus,
button.bg-translucent-warning:hover,
button.bg-translucent-warning:focus {
  background-color: rgba(249, 51, 5, 0.6) !important;
}
.bg-translucent-danger {
  background-color: rgba(243, 20, 64, 0.6) !important;
}
a.bg-translucent-danger:hover, a.bg-translucent-danger:focus,
button.bg-translucent-danger:hover,
button.bg-translucent-danger:focus {
  background-color: rgba(227, 11, 54, 0.6) !important;
}
.bg-translucent-light {
  background-color: rgba(153, 163, 173, 0.6) !important;
}
a.bg-translucent-light:hover, a.bg-translucent-light:focus,
button.bg-translucent-light:hover,
button.bg-translucent-light:focus {
  background-color: rgba(139, 150, 162, 0.6) !important;
}
.bg-translucent-dark {
  background-color: rgba(17, 19, 21, 0.6) !important;
}
a.bg-translucent-dark:hover, a.bg-translucent-dark:focus,
button.bg-translucent-dark:hover,
button.bg-translucent-dark:focus {
  background-color: rgba(6, 6, 7, 0.6) !important;
}
.bg-translucent-default {
  background-color: rgba(15, 28, 50, 0.6) !important;
}
a.bg-translucent-default:hover, a.bg-translucent-default:focus,
button.bg-translucent-default:hover,
button.bg-translucent-default:focus {
  background-color: rgba(9, 17, 30, 0.6) !important;
}
.bg-translucent-white {
  background-color: rgba(237, 237, 237, 0.6) !important;
}
a.bg-translucent-white:hover, a.bg-translucent-white:focus,
button.bg-translucent-white:hover,
button.bg-translucent-white:focus {
  background-color: rgba(224, 224, 224, 0.6) !important;
}
.bg-translucent-neutral {
  background-color: rgba(237, 237, 237, 0.6) !important;
}
a.bg-translucent-neutral:hover, a.bg-translucent-neutral:focus,
button.bg-translucent-neutral:hover,
button.bg-translucent-neutral:focus {
  background-color: rgba(224, 224, 224, 0.6) !important;
}
.bg-translucent-darker {
  background-color: rgba(0, 0, 0, 0.6) !important;
}
a.bg-translucent-darker:hover, a.bg-translucent-darker:focus,
button.bg-translucent-darker:hover,
button.bg-translucent-darker:focus {
  background-color: rgba(0, 0, 0, 0.6) !important;
}
.section-primary {
  background-color: #f8f9fe !important;
}
a.section-primary:hover, a.section-primary:focus,
button.section-primary:hover,
button.section-primary:focus {
  background-color: #cbd3f8 !important;
}
.section-secondary {
  background-color: #f7fafc !important;
}
a.section-secondary:hover, a.section-secondary:focus,
button.section-secondary:hover,
button.section-secondary:focus {
  background-color: #d2e3ee !important;
}
.section-light {
  background-color: #ced4da !important;
}
a.section-light:hover, a.section-light:focus,
button.section-light:hover,
button.section-light:focus {
  background-color: #b1bbc4 !important;
}
.section-dark {
  background-color: #212529 !important;
}
a.section-dark:hover, a.section-dark:focus,
button.section-dark:hover,
button.section-dark:focus {
  background-color: #0a0c0d !important;
}
.section-darker {
  background-color: black !important;
}
a.section-darker:hover, a.section-darker:focus,
button.section-darker:hover,
button.section-darker:focus {
  background-color: black !important;
}
.bg-gradient-primary {
  background: linear-gradient(87deg, #5e72e4 0, #825ee4 100%) !important;
}
.bg-gradient-secondary {
  background: linear-gradient(87deg, #f7fafc 0, #f7f8fc 100%) !important;
}
.bg-gradient-success {
  background: linear-gradient(87deg, #2dce89 0, #2dcecc 100%) !important;
}
.bg-gradient-info {
  background: linear-gradient(87deg, #11cdef 0, #1171ef 100%) !important;
}
.bg-gradient-warning {
  background: linear-gradient(87deg, #fb6340 0, #fbb140 100%) !important;
}
.bg-gradient-danger {
  background: linear-gradient(87deg, #f5365c 0, #f56036 100%) !important;
}
.bg-gradient-light {
  background: linear-gradient(87deg, #adb5bd 0, #adaebd 100%) !important;
}
.bg-gradient-dark {
  background: linear-gradient(87deg, #212529 0, #212229 100%) !important;
}
.bg-gradient-default {
  background: linear-gradient(87deg, #172b4d 0, #1a174d 100%) !important;
}
.bg-gradient-white {
  background: linear-gradient(87deg, #fff 0, white 100%) !important;
}
.bg-gradient-neutral {
  background: linear-gradient(87deg, #fff 0, white 100%) !important;
}
.bg-gradient-darker {
  background: linear-gradient(87deg, black 0, black 100%) !important;
}
.fill-primary {
  fill: #5e72e4;
}
.stroke-primary {
  stroke: #5e72e4;
}
.fill-secondary {
  fill: #f7fafc;
}
.stroke-secondary {
  stroke: #f7fafc;
}
.fill-success {
  fill: #2dce89;
}
.stroke-success {
  stroke: #2dce89;
}
.fill-info {
  fill: #11cdef;
}
.stroke-info {
  stroke: #11cdef;
}
.fill-warning {
  fill: #fb6340;
}
.stroke-warning {
  stroke: #fb6340;
}
.fill-danger {
  fill: #f5365c;
}
.stroke-danger {
  stroke: #f5365c;
}
.fill-light {
  fill: #adb5bd;
}
.stroke-light {
  stroke: #adb5bd;
}
.fill-dark {
  fill: #212529;
}
.stroke-dark {
  stroke: #212529;
}
.fill-default {
  fill: #172b4d;
}
.stroke-default {
  stroke: #172b4d;
}
.fill-white {
  fill: #fff;
}
.stroke-white {
  stroke: #fff;
}
.fill-neutral {
  fill: #fff;
}
.stroke-neutral {
  stroke: #fff;
}
.fill-darker {
  fill: black;
}
.stroke-darker {
  stroke: black;
}
.fill-opacity-8 {
  fill-opacity: 0.8;
}
.floating {
  -webkit-animation: floating 3s ease infinite;
          animation: floating 3s ease infinite;
  will-change: transform;
}
.floating:hover {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.floating-lg {
  -webkit-animation: floating-lg 3s ease infinite;
          animation: floating-lg 3s ease infinite;
}
.floating-sm {
  -webkit-animation: floating-sm 3s ease infinite;
          animation: floating-sm 3s ease infinite;
}
@-webkit-keyframes floating-lg {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(15px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes floating-lg {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(15px);
  }
  100% {
    transform: translateY(0px);
  }
}
@-webkit-keyframes floating {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes floating {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0px);
  }
}
@-webkit-keyframes floating-sm {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(5px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes floating-sm {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(5px);
  }
  100% {
    transform: translateY(0px);
  }
}
.floatfix:before, .floatfix:after {
  content: "";
  display: table;
}
.floatfix:after {
  clear: both;
}
.img-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.opacity-1 {
  opacity: 0.1 !important;
}
.opacity-2 {
  opacity: 0.2 !important;
}
.opacity-3 {
  opacity: 0.3 !important;
}
.opacity-4 {
  opacity: 0.4 !important;
}
.opacity-5 {
  opacity: 0.5 !important;
}
.opacity-6 {
  opacity: 0.6 !important;
}
.opacity-7 {
  opacity: 0.7 !important;
}
.opacity-8 {
  opacity: 0.8 !important;
}
.opacity-8 {
  opacity: 0.9 !important;
}
.opacity-10 {
  opacity: 1 !important;
}
.overflow-visible {
  overflow: visible !important;
}
.overflow-hidden {
  overflow: hidden !important;
}
.top-0 {
  top: 0;
}
.right-0 {
  right: 0;
}
.bottom-0 {
  bottom: 0;
}
.left-0 {
  left: 0;
}
.top-1 {
  top: 0.25rem;
}
.right-1 {
  right: 0.25rem;
}
.bottom-1 {
  bottom: 0.25rem;
}
.left-1 {
  left: 0.25rem;
}
.top-2 {
  top: 0.5rem;
}
.right-2 {
  right: 0.5rem;
}
.bottom-2 {
  bottom: 0.5rem;
}
.left-2 {
  left: 0.5rem;
}
.top-3 {
  top: 1rem;
}
.right-3 {
  right: 1rem;
}
.bottom-3 {
  bottom: 1rem;
}
.left-3 {
  left: 1rem;
}
.top-4 {
  top: 1.5rem;
}
.right-4 {
  right: 1.5rem;
}
.bottom-4 {
  bottom: 1.5rem;
}
.left-4 {
  left: 1.5rem;
}
.top-5 {
  top: 3rem;
}
.right-5 {
  right: 3rem;
}
.bottom-5 {
  bottom: 3rem;
}
.left-5 {
  left: 3rem;
}
.top--9 {
  top: -10rem;
}
.right--9 {
  right: -10rem;
}
.bottom--9 {
  bottom: -10rem;
}
.left--9 {
  left: -10rem;
}
.top--8 {
  top: -8rem;
}
.right--8 {
  right: -8rem;
}
.bottom--8 {
  bottom: -8rem;
}
.left--8 {
  left: -8rem;
}
.top--7 {
  top: -6rem;
}
.right--7 {
  right: -6rem;
}
.bottom--7 {
  bottom: -6rem;
}
.left--7 {
  left: -6rem;
}
.top--6 {
  top: -4.5rem;
}
.right--6 {
  right: -4.5rem;
}
.bottom--6 {
  bottom: -4.5rem;
}
.left--6 {
  left: -4.5rem;
}
.top--5 {
  top: -3rem;
}
.right--5 {
  right: -3rem;
}
.bottom--5 {
  bottom: -3rem;
}
.left--5 {
  left: -3rem;
}
.top--4 {
  top: -1.5rem;
}
.right--4 {
  right: -1.5rem;
}
.bottom--4 {
  bottom: -1.5rem;
}
.left--4 {
  left: -1.5rem;
}
.top--3 {
  top: -1rem;
}
.right--3 {
  right: -1rem;
}
.bottom--3 {
  bottom: -1rem;
}
.left--3 {
  left: -1rem;
}
.top--2 {
  top: -0.5rem;
}
.right--2 {
  right: -0.5rem;
}
.bottom--2 {
  bottom: -0.5rem;
}
.left--2 {
  left: -0.5rem;
}
.top--1 {
  top: -0.25rem;
}
.right--1 {
  right: -0.25rem;
}
.bottom--1 {
  bottom: -0.25rem;
}
.left--1 {
  left: -0.25rem;
}
.top-6 {
  top: 4.5rem;
}
.right-6 {
  right: 4.5rem;
}
.bottom-6 {
  bottom: 4.5rem;
}
.left-6 {
  left: 4.5rem;
}
.top-7 {
  top: 6rem;
}
.right-7 {
  right: 6rem;
}
.bottom-7 {
  bottom: 6rem;
}
.left-7 {
  left: 6rem;
}
.top-8 {
  top: 8rem;
}
.right-8 {
  right: 8rem;
}
.bottom-8 {
  bottom: 8rem;
}
.left-8 {
  left: 8rem;
}
.top-9 {
  top: 10rem;
}
.right-9 {
  right: 10rem;
}
.bottom-9 {
  bottom: 10rem;
}
.left-9 {
  left: 10rem;
}
.center {
  left: 50%;
  transform: translateX(-50%);
}
.h-100vh {
  height: 100vh !important;
}
.row.row-grid > [class*=col-] + [class*=col-] {
  margin-top: 3rem;
}
@media (min-width: 992px) {
  .row.row-grid > [class*=col-lg-] + [class*=col-lg-] {
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  .row.row-grid > [class*=col-md-] + [class*=col-md-] {
    margin-top: 0;
  }
}
@media (min-width: 576px) {
  .row.row-grid > [class*=col-sm-] + [class*=col-sm-] {
    margin-top: 0;
  }
}
.row-grid + .row-grid {
  margin-top: 3rem;
}
@media (min-width: 992px) {
  .mt--100 {
    margin-top: -100px !important;
  }

  .mr--100 {
    margin-right: -100px !important;
  }

  .mb--100 {
    margin-bottom: -100px !important;
  }

  .ml--100 {
    margin-left: -100px !important;
  }

  .mt--150 {
    margin-top: -150px !important;
  }

  .mb--150 {
    margin-bottom: -150px !important;
  }

  .mt--200 {
    margin-top: -200px !important;
  }

  .mb--200 {
    margin-bottom: -200px !important;
  }

  .mt--300 {
    margin-top: -300px !important;
  }

  .mb--300 {
    margin-bottom: -300px !important;
  }

  .pt-100 {
    padding-top: 100px !important;
  }

  .pb-100 {
    padding-bottom: 100px !important;
  }

  .pt-150 {
    padding-top: 150px !important;
  }

  .pb-150 {
    padding-bottom: 150px !important;
  }

  .pt-200 {
    padding-top: 200px !important;
  }

  .pb-200 {
    padding-bottom: 200px !important;
  }

  .pt-250 {
    padding-top: 250px !important;
  }

  .pb-250 {
    padding-bottom: 250px !important;
  }

  .pt-300 {
    padding-top: 300px !important;
  }

  .pb-300 {
    padding-bottom: 300px !important;
  }
}
[class*=shadow] {
  transition: all 0.15s ease;
}
.shadow-sm--hover:hover {
  box-shadow: 0 0 0.5rem rgba(136, 152, 170, 0.075) !important;
}
.shadow--hover:hover {
  box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15) !important;
}
.shadow-lg--hover:hover {
  box-shadow: 0 0 3rem rgba(136, 152, 170, 0.175) !important;
}
.shadow-none--hover:hover {
  box-shadow: none !important;
}
.font-weight-300 {
  font-weight: 300 !important;
}
.font-weight-400 {
  font-weight: 400 !important;
}
.font-weight-500 {
  font-weight: 500 !important;
}
.font-weight-600 {
  font-weight: 600 !important;
}
.font-weight-700 {
  font-weight: 700 !important;
}
.font-weight-800 {
  font-weight: 800 !important;
}
.font-weight-900 {
  font-weight: 900 !important;
}
.text-underline {
  text-decoration: underline;
}
.text-through {
  text-decoration: line-through;
}
.text-xs {
  font-size: 0.75rem !important;
}
.text-sm {
  font-size: 0.875rem !important;
}
.text-lg {
  font-size: 1.25rem !important;
}
.text-xl {
  font-size: 1.5rem !important;
}
.lh-100 {
  line-height: 1;
}
.lh-110 {
  line-height: 1.1;
}
.lh-120 {
  line-height: 1.2;
}
.lh-130 {
  line-height: 1.3;
}
.lh-140 {
  line-height: 1.4;
}
.lh-150 {
  line-height: 1.5;
}
.lh-160 {
  line-height: 1.6;
}
.lh-170 {
  line-height: 1.7;
}
.lh-180 {
  line-height: 1.8;
}
.ls-1 {
  letter-spacing: 0.0625rem;
}
.ls-15 {
  letter-spacing: 0.09375rem;
}
.ls-2 {
  letter-spacing: 0.125rem;
}
.text-blue {
  color: #5e72e4 !important;
}
a.text-blue:hover, a.text-blue:focus {
  color: #324cdd !important;
}
.text-indigo {
  color: #5603ad !important;
}
a.text-indigo:hover, a.text-indigo:focus {
  color: #3d027b !important;
}
.text-purple {
  color: #8965e0 !important;
}
a.text-purple:hover, a.text-purple:focus {
  color: #683bd7 !important;
}
.text-pink {
  color: #f3a4b5 !important;
}
a.text-pink:hover, a.text-pink:focus {
  color: #ed7790 !important;
}
.text-red {
  color: #f5365c !important;
}
a.text-red:hover, a.text-red:focus {
  color: #ec0c38 !important;
}
.text-orange {
  color: #fb6340 !important;
}
a.text-orange:hover, a.text-orange:focus {
  color: #fa3a0e !important;
}
.text-yellow {
  color: #ffd600 !important;
}
a.text-yellow:hover, a.text-yellow:focus {
  color: #ccab00 !important;
}
.text-green {
  color: #2dce89 !important;
}
a.text-green:hover, a.text-green:focus {
  color: #24a46d !important;
}
.text-teal {
  color: #11cdef !important;
}
a.text-teal:hover, a.text-teal:focus {
  color: #0da5c0 !important;
}
.text-cyan {
  color: #2bffc6 !important;
}
a.text-cyan:hover, a.text-cyan:focus {
  color: #00f7b5 !important;
}
.text-white {
  color: #fff !important;
}
a.text-white:hover, a.text-white:focus {
  color: #e6e6e6 !important;
}
.text-gray {
  color: #8898aa !important;
}
a.text-gray:hover, a.text-gray:focus {
  color: #6a7e95 !important;
}
.text-gray-dark {
  color: #32325d !important;
}
a.text-gray-dark:hover, a.text-gray-dark:focus {
  color: #20203c !important;
}
.text-light {
  color: #ced4da !important;
}
a.text-light:hover, a.text-light:focus {
  color: #b1bbc4 !important;
}
.text-lighter {
  color: #e9ecef !important;
}
a.text-lighter:hover, a.text-lighter:focus {
  color: #cbd3da !important;
}
@media (min-width: 992px) {
  .transform-perspective-right {
    transform: scale(1) perspective(1040px) rotateY(-11deg) rotateX(2deg) rotate(2deg);
  }

  .transform-perspective-left {
    transform: scale(1) perspective(2000px) rotateY(11deg) rotateX(2deg) rotate(-2deg);
  }
}
.alert {
  font-size: 0.875rem;
}
.alert-heading {
  font-weight: 600;
  font-size: 0.9375rem;
  margin-top: 0.15rem;
}
.alert-icon {
  font-size: 1.25rem;
  margin-right: 1.25rem;
  display: inline-block;
  vertical-align: middle;
}
.alert-icon i.ni {
  position: relative;
  top: 1px;
}
.alert-text {
  display: inline-block;
  vertical-align: middle;
}
[class*=alert-] .alert-link {
  color: #fff;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.5);
}
.alert-dismissible .close {
  top: 50%;
  right: 1.5rem;
  padding: 0;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}
.alert-dismissible .close:hover, .alert-dismissible .close:focus {
  color: rgba(255, 255, 255, 0.9);
  opacity: 1 !important;
}
@media (max-width: 575.98px) {
  .alert-dismissible .close {
    top: 1rem;
    right: 0.5rem;
  }
}
.alert-dismissible .close > span:not(.sr-only) {
  font-size: 1.5rem;
  background-color: transparent;
  color: rgba(255, 255, 255, 0.6);
}
.alert-dismissible .close:hover > span:not(.sr-only), .alert-dismissible .close:focus > span:not(.sr-only) {
  background-color: transparent;
  color: rgba(255, 255, 255, 0.9);
}
.avatar {
  color: #fff;
  background-color: #adb5bd;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  border-radius: 50%;
  height: 48px;
  width: 48px;
}
.avatar img {
  width: 100%;
  border-radius: 50%;
}
.avatar + .avatar-content {
  display: inline-block;
  margin-left: 0.75rem;
}
.avatar-lg {
  width: 58px;
  height: 58px;
  font-size: 0.875rem;
}
.avatar-sm {
  width: 36px;
  height: 36px;
  font-size: 0.875rem;
}
.avatar-group .avatar {
  position: relative;
  z-index: 2;
  border: 2px solid #fff;
}
.avatar-group .avatar:hover {
  z-index: 3;
}
.avatar-group .avatar + .avatar {
  margin-left: -1rem;
}
.badge {
  text-transform: uppercase;
}
.badge a {
  color: #fff;
}
.badge-md {
  padding: 0.65em 1em;
}
.badge-lg {
  padding: 0.85em 1.375em;
}
.badge-inline {
  margin-right: 0.625rem;
}
.badge-inline + span {
  top: 2px;
  position: relative;
}
.badge-inline + span > a {
  text-decoration: underline;
}
.btn .badge:not(:first-child) {
  margin-left: 0.5rem;
}
.btn .badge:not(:last-child) {
  margin-right: 0.5rem;
}
.badge-circle {
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  font-size: 0.875rem;
}
.badge-dot {
  padding-left: 0;
  padding-right: 0;
  background: transparent;
  font-weight: 400;
  font-size: 0.875rem;
  text-transform: none;
}
.badge-dot strong {
  color: #32325d;
}
.badge-dot i {
  display: inline-block;
  vertical-align: middle;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  margin-right: 0.375rem;
}
.badge-dot.badge-md i {
  width: 0.5rem;
  height: 0.5rem;
}
.badge-dot.badge-lg i {
  width: 0.625rem;
  height: 0.625rem;
}
.btn {
  position: relative;
  text-transform: none;
  transition: all 0.15s ease;
  letter-spacing: 0.025em;
  font-size: 0.875rem;
  will-change: transform;
}
.btn:hover {
  box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}
.btn:not(:last-child) {
  margin-right: 0.5rem;
}
.btn i:not(:first-child),
.btn svg:not(:first-child) {
  margin-left: 0.5rem;
}
.btn i:not(:last-child),
.btn svg:not(:last-child) {
  margin-right: 0.5rem;
}
.btn-group .btn,
.input-group .btn {
  margin-right: 0;
  transform: translateY(0);
}
.btn-sm, .btn-group-sm > .btn {
  font-size: 0.75rem;
}
.btn-lg, .btn-group-lg > .btn {
  font-size: 0.875rem;
}
[class*=btn-outline-] {
  border-width: 1px;
}
.btn-outline-secondary {
  color: #4385b1;
}
.btn-inner--icon i:not(.fa) {
  position: relative;
  top: 2px;
}
.btn-link {
  font-weight: 600;
  box-shadow: none;
}
.btn-link:hover {
  box-shadow: none;
  transform: none;
}
.btn-neutral {
  color: #5e72e4;
}
.btn-icon .btn-inner--icon img {
  width: 20px;
}
.btn-icon .btn-inner--text:not(:first-child) {
  margin-left: 0.75em;
}
.btn-icon .btn-inner--text:not(:last-child) {
  margin-right: 0.75em;
}
.btn-icon-only {
  width: 2.375rem;
  height: 2.375rem;
  padding: 0;
}
a.btn-icon-only {
  line-height: 2.5;
}
.btn-icon-only.btn-sm, .btn-group-sm > .btn-icon-only.btn {
  width: 2rem;
  height: 2rem;
}
.btn-icon-clipboard {
  margin: 0;
  padding: 1.5rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.25;
  color: #32325d;
  background-color: #f6f9fc;
  border-radius: 0.375rem;
  border: 0;
  text-align: left;
  font-family: inherit;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none;
  -moz-appearance: none;
  cursor: pointer;
  width: 100%;
  margin: 0.5rem 0;
}
.btn-icon-clipboard:hover {
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(0, 0, 0, 0.1) 0 4px 16px;
}
.btn-icon-clipboard > div {
  align-items: center;
  display: flex;
}
.btn-icon-clipboard i {
  box-sizing: content-box;
  color: #5e72e4;
  vertical-align: middle;
  font-size: 1.5rem;
}
.btn-icon-clipboard span {
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1.5;
  margin-left: 16px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  vertical-align: middle;
}
.btn-facebook {
  color: #fff;
  background-color: #3b5999;
  border-color: #3b5999;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-facebook:hover {
  color: #fff;
  background-color: #3b5999;
  border-color: #3b5999;
}
.btn-facebook:focus, .btn-facebook.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(59, 89, 153, 0.5);
}
.btn-facebook.disabled, .btn-facebook:disabled {
  color: #fff;
  background-color: #3b5999;
  border-color: #3b5999;
}
.btn-facebook:not(:disabled):not(.disabled):active, .btn-facebook:not(:disabled):not(.disabled).active, .show > .btn-facebook.dropdown-toggle {
  color: #fff;
  background-color: #2d4474;
  border-color: #3b5999;
}
.btn-facebook:not(:disabled):not(.disabled):active:focus, .btn-facebook:not(:disabled):not(.disabled).active:focus, .show > .btn-facebook.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(59, 89, 153, 0.5);
}
.btn-twitter {
  color: #fff;
  background-color: #1da1f2;
  border-color: #1da1f2;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-twitter:hover {
  color: #fff;
  background-color: #1da1f2;
  border-color: #1da1f2;
}
.btn-twitter:focus, .btn-twitter.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(29, 161, 242, 0.5);
}
.btn-twitter.disabled, .btn-twitter:disabled {
  color: #fff;
  background-color: #1da1f2;
  border-color: #1da1f2;
}
.btn-twitter:not(:disabled):not(.disabled):active, .btn-twitter:not(:disabled):not(.disabled).active, .show > .btn-twitter.dropdown-toggle {
  color: #fff;
  background-color: #0c85d0;
  border-color: #1da1f2;
}
.btn-twitter:not(:disabled):not(.disabled):active:focus, .btn-twitter:not(:disabled):not(.disabled).active:focus, .show > .btn-twitter.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(29, 161, 242, 0.5);
}
.btn-google-plus {
  color: #fff;
  background-color: #dd4b39;
  border-color: #dd4b39;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-google-plus:hover {
  color: #fff;
  background-color: #dd4b39;
  border-color: #dd4b39;
}
.btn-google-plus:focus, .btn-google-plus.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(221, 75, 57, 0.5);
}
.btn-google-plus.disabled, .btn-google-plus:disabled {
  color: #fff;
  background-color: #dd4b39;
  border-color: #dd4b39;
}
.btn-google-plus:not(:disabled):not(.disabled):active, .btn-google-plus:not(:disabled):not(.disabled).active, .show > .btn-google-plus.dropdown-toggle {
  color: #fff;
  background-color: #c23321;
  border-color: #dd4b39;
}
.btn-google-plus:not(:disabled):not(.disabled):active:focus, .btn-google-plus:not(:disabled):not(.disabled).active:focus, .show > .btn-google-plus.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(221, 75, 57, 0.5);
}
.btn-instagram {
  color: #fff;
  background-color: #e4405f;
  border-color: #e4405f;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-instagram:hover {
  color: #fff;
  background-color: #e4405f;
  border-color: #e4405f;
}
.btn-instagram:focus, .btn-instagram.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(228, 64, 95, 0.5);
}
.btn-instagram.disabled, .btn-instagram:disabled {
  color: #fff;
  background-color: #e4405f;
  border-color: #e4405f;
}
.btn-instagram:not(:disabled):not(.disabled):active, .btn-instagram:not(:disabled):not(.disabled).active, .show > .btn-instagram.dropdown-toggle {
  color: #fff;
  background-color: #d31e40;
  border-color: #e4405f;
}
.btn-instagram:not(:disabled):not(.disabled):active:focus, .btn-instagram:not(:disabled):not(.disabled).active:focus, .show > .btn-instagram.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(228, 64, 95, 0.5);
}
.btn-pinterest {
  color: #fff;
  background-color: #bd081c;
  border-color: #bd081c;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-pinterest:hover {
  color: #fff;
  background-color: #bd081c;
  border-color: #bd081c;
}
.btn-pinterest:focus, .btn-pinterest.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(189, 8, 28, 0.5);
}
.btn-pinterest.disabled, .btn-pinterest:disabled {
  color: #fff;
  background-color: #bd081c;
  border-color: #bd081c;
}
.btn-pinterest:not(:disabled):not(.disabled):active, .btn-pinterest:not(:disabled):not(.disabled).active, .show > .btn-pinterest.dropdown-toggle {
  color: #fff;
  background-color: #8c0615;
  border-color: #bd081c;
}
.btn-pinterest:not(:disabled):not(.disabled):active:focus, .btn-pinterest:not(:disabled):not(.disabled).active:focus, .show > .btn-pinterest.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(189, 8, 28, 0.5);
}
.btn-youtube {
  color: #fff;
  background-color: #cd201f;
  border-color: #cd201f;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-youtube:hover {
  color: #fff;
  background-color: #cd201f;
  border-color: #cd201f;
}
.btn-youtube:focus, .btn-youtube.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(205, 32, 31, 0.5);
}
.btn-youtube.disabled, .btn-youtube:disabled {
  color: #fff;
  background-color: #cd201f;
  border-color: #cd201f;
}
.btn-youtube:not(:disabled):not(.disabled):active, .btn-youtube:not(:disabled):not(.disabled).active, .show > .btn-youtube.dropdown-toggle {
  color: #fff;
  background-color: #a11918;
  border-color: #cd201f;
}
.btn-youtube:not(:disabled):not(.disabled):active:focus, .btn-youtube:not(:disabled):not(.disabled).active:focus, .show > .btn-youtube.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(205, 32, 31, 0.5);
}
.btn-slack {
  color: #fff;
  background-color: #3aaf85;
  border-color: #3aaf85;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-slack:hover {
  color: #fff;
  background-color: #3aaf85;
  border-color: #3aaf85;
}
.btn-slack:focus, .btn-slack.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(58, 175, 133, 0.5);
}
.btn-slack.disabled, .btn-slack:disabled {
  color: #fff;
  background-color: #3aaf85;
  border-color: #3aaf85;
}
.btn-slack:not(:disabled):not(.disabled):active, .btn-slack:not(:disabled):not(.disabled).active, .show > .btn-slack.dropdown-toggle {
  color: #fff;
  background-color: #2d8968;
  border-color: #3aaf85;
}
.btn-slack:not(:disabled):not(.disabled):active:focus, .btn-slack:not(:disabled):not(.disabled).active:focus, .show > .btn-slack.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(58, 175, 133, 0.5);
}
.btn-dribbble {
  color: #fff;
  background-color: #ea4c89;
  border-color: #ea4c89;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-dribbble:hover {
  color: #fff;
  background-color: #ea4c89;
  border-color: #ea4c89;
}
.btn-dribbble:focus, .btn-dribbble.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(234, 76, 137, 0.5);
}
.btn-dribbble.disabled, .btn-dribbble:disabled {
  color: #fff;
  background-color: #ea4c89;
  border-color: #ea4c89;
}
.btn-dribbble:not(:disabled):not(.disabled):active, .btn-dribbble:not(:disabled):not(.disabled).active, .show > .btn-dribbble.dropdown-toggle {
  color: #fff;
  background-color: #e51e6b;
  border-color: #ea4c89;
}
.btn-dribbble:not(:disabled):not(.disabled):active:focus, .btn-dribbble:not(:disabled):not(.disabled).active:focus, .show > .btn-dribbble.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(234, 76, 137, 0.5);
}
.btn-github {
  color: #fff;
  background-color: #222222;
  border-color: #222222;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.btn-github:hover {
  color: #fff;
  background-color: #222222;
  border-color: #222222;
}
.btn-github:focus, .btn-github.focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(34, 34, 34, 0.5);
}
.btn-github.disabled, .btn-github:disabled {
  color: #fff;
  background-color: #222222;
  border-color: #222222;
}
.btn-github:not(:disabled):not(.disabled):active, .btn-github:not(:disabled):not(.disabled).active, .show > .btn-github.dropdown-toggle {
  color: #fff;
  background-color: #090909;
  border-color: #222222;
}
.btn-github:not(:disabled):not(.disabled):active:focus, .btn-github:not(:disabled):not(.disabled).active:focus, .show > .btn-github.dropdown-toggle:focus {
  box-shadow: none, 0 0 0 0 rgba(34, 34, 34, 0.5);
}
.card-translucent {
  background-color: rgba(18, 91, 152, 0.08);
}
.card-profile-image {
  position: relative;
}
.card-profile-image img {
  max-width: 180px;
  border-radius: 0.375rem;
  transform: translate(-50%, -30%);
  position: absolute;
  left: 50%;
  transition: all 0.15s ease;
}
.card-profile-image img:hover {
  transform: translate(-50%, -33%);
}
.card-profile-stats {
  padding: 1rem 0;
}
.card-profile-stats > div {
  text-align: center;
  margin-right: 1rem;
  padding: 0.875rem;
}
.card-profile-stats > div:last-child {
  margin-right: 0;
}
.card-profile-stats > div .heading {
  font-size: 1.1rem;
  font-weight: bold;
  display: block;
}
.card-profile-stats > div .description {
  font-size: 0.875rem;
  color: #adb5bd;
}
.card-profile-actions {
  padding: 0.875rem;
}
.card-blockquote {
  padding: 2rem;
  position: relative;
}
.card-blockquote .svg-bg {
  display: block;
  width: 100%;
  height: 95px;
  position: absolute;
  top: -94px;
  left: 0;
}
.card-lift--hover:hover {
  transform: translateY(-20px);
  transition: all 0.15s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .card-lift--hover:hover {
    transition: none;
  }
}
.card-stats .card-body {
  padding: 1rem 1.5rem;
}
.card-stats .card-status-bullet {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
}
.chart {
  position: relative;
  height: 350px;
}
.chart-sm {
  height: 230px;
}
.chart-legend {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
  font-size: 0.875rem;
  text-align: center;
  color: #8898aa;
}
.chart-legend-item {
  display: inline-flex;
  align-items: center;
}
.chart-legend-item + .chart-legend-item {
  margin-left: 1rem;
}
.chart-legend-indicator {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin-right: 0.375rem;
  border-radius: 50%;
}
#chart-tooltip {
  z-index: 0;
}
#chart-tooltip .arrow {
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateX(-0.5rem);
}
.chart-info-overlay {
  position: absolute;
  top: 0;
  left: 5%;
  max-width: 350px;
  padding: 20px;
  z-index: 1;
}
.close {
  transition: all 0.15s ease;
}
.close > span:not(.sr-only) {
  background-color: transparent;
  color: rgba(0, 0, 0, 0.6);
  line-height: 17px;
  height: 1.25rem;
  width: 1.25rem;
  border-radius: 50%;
  font-size: 1.25rem;
  display: block;
  transition: all 0.15s ease;
}
.close:hover, .close:focus {
  background-color: transparent;
  color: rgba(0, 0, 0, 0.9);
  outline: none;
}
.close:hover span:not(.sr-only), .close:focus span:not(.sr-only) {
  background-color: transparent;
}
.main-content {
  position: relative;
}
.main-content .navbar-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 1;
  background-color: transparent;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
@media (min-width: 768px) {
  .main-content .container-fluid {
    padding-left: 39px !important;
    padding-right: 39px !important;
  }
}
.navbar-vertical.navbar-expand-xs.fixed-left + .main-content {
  margin-left: 250px;
}
.navbar-vertical.navbar-expand-xs.fixed-right + .main-content {
  margin-right: 250px;
}
@media (min-width: 576px) {
  .navbar-vertical.navbar-expand-sm.fixed-left + .main-content {
    margin-left: 250px;
  }
  .navbar-vertical.navbar-expand-sm.fixed-right + .main-content {
    margin-right: 250px;
  }
}
@media (min-width: 768px) {
  .navbar-vertical.navbar-expand-md.fixed-left + .main-content {
    margin-left: 250px;
  }
  .navbar-vertical.navbar-expand-md.fixed-right + .main-content {
    margin-right: 250px;
  }
}
@media (min-width: 992px) {
  .navbar-vertical.navbar-expand-lg.fixed-left + .main-content {
    margin-left: 250px;
  }
  .navbar-vertical.navbar-expand-lg.fixed-right + .main-content {
    margin-right: 250px;
  }
}
@media (min-width: 1200px) {
  .navbar-vertical.navbar-expand-xl.fixed-left + .main-content {
    margin-left: 250px;
  }
  .navbar-vertical.navbar-expand-xl.fixed-right + .main-content {
    margin-right: 250px;
  }
}
.custom-checkbox .custom-control-input ~ .custom-control-label {
  cursor: pointer;
  font-size: 0.875rem;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #5e72e4;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}
.custom-checkbox .custom-control-input:disabled ~ .custom-control-label::before {
  border-color: #e9ecef;
}
.custom-checkbox .custom-control-input:disabled:checked::before {
  border-color: rgba(94, 114, 228, 0.5);
}
.custom-control-label::before {
  border: 1px solid #cad1d7;
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.custom-control-label span {
  position: relative;
  top: 2px;
}
.custom-control-label {
  margin-bottom: 0;
}
.custom-control-alternative .custom-control-label::before {
  border: 0;
  box-shadow: 0 1px 3px rgba(50, 50, 93, 0.15), 0 1px 0 rgba(0, 0, 0, 0.02);
}
.custom-control-alternative .custom-control-input:checked ~ .custom-control-label::before {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.custom-control-alternative .custom-control-input:active ~ .custom-control-label::before, .custom-control-alternative .custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 1px 3px rgba(50, 50, 93, 0.15), 0 1px 0 rgba(0, 0, 0, 0.02);
}
.custom-checkbox .custom-control-input ~ .custom-control-label {
  cursor: pointer;
  font-size: 0.875rem;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #5e72e4;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}
.custom-checkbox .custom-control-input:disabled ~ .custom-control-label::before {
  border-color: #e9ecef;
}
.custom-checkbox .custom-control-input:disabled:checked::before {
  border-color: rgba(94, 114, 228, 0.5);
}
.custom-radio .custom-control-input ~ .custom-control-label {
  cursor: pointer;
  font-size: 0.875rem;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #5e72e4;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
}
.custom-radio .custom-control-input:disabled ~ .custom-control-label::before {
  border-color: #e9ecef;
}
.custom-radio .custom-control-input:disabled:checked::before {
  border-color: rgba(94, 114, 228, 0.5);
}
.custom-toggle {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 1.5rem;
}
.custom-toggle input {
  display: none;
}
.custom-toggle input:checked + .custom-toggle-slider {
  border: 1px solid #5e72e4;
}
.custom-toggle input:checked + .custom-toggle-slider:before {
  background: #5e72e4;
  transform: translateX(1.625rem);
}
.custom-toggle input:disabled + .custom-toggle-slider {
  border: 1px solid #e9ecef;
}
.custom-toggle input:disabled:checked + .custom-toggle-slider {
  border: 1px solid #e9ecef;
}
.custom-toggle input:disabled:checked + .custom-toggle-slider:before {
  background-color: #8a98eb;
}
.custom-toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 1px solid #cad1d7;
  border-radius: 34px !important;
  background-color: transparent;
}
.custom-toggle-slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 2px;
  bottom: 2px;
  border-radius: 50% !important;
  background-color: #e9ecef;
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.dropdown,
.dropup,
.dropright,
.dropleft {
  display: inline-block;
}
.dropdown-menu {
  min-width: 12rem;
}
.dropdown-menu .dropdown-item {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}
.dropdown-menu .dropdown-item > i,
.dropdown-menu .dropdown-item > svg {
  margin-right: 1rem;
  font-size: 1rem;
  vertical-align: -17%;
}
.dropdown-header {
  padding-left: 1rem;
  padding-right: 1rem;
  color: #f6f9fc;
  font-size: 0.625rem;
  text-transform: uppercase;
  font-weight: 700;
}
.dropdown-menu a.media > div:first-child {
  line-height: 1;
}
.dropdown-menu a.media p {
  color: #8898aa;
}
.dropdown-menu a.media:hover .heading,
.dropdown-menu a.media:hover p {
  color: #172b4d !important;
}
.dropdown-menu-sm {
  min-width: 100px;
  border: 0.4375rem;
}
.dropdown-menu-lg {
  min-width: 260px;
  border-radius: 0.4375rem;
}
.dropdown-menu-xl {
  min-width: 450px;
  border-radius: 0.4375rem;
}
.footer {
  background: #f7fafc;
  padding: 2.5rem 0;
}
.footer .col-footer .heading {
  color: #8898aa;
  letter-spacing: 0;
  font-size: 0.875rem;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 1rem;
}
.footer .nav .nav-item .nav-link,
.footer .footer-link {
  color: #8898aa !important;
}
.footer .nav .nav-item .nav-link:hover,
.footer .footer-link:hover {
  color: #525f7f !important;
}
.footer .list-unstyled li a {
  display: inline-block;
  padding: 0.125rem 0;
  color: #8898aa;
  font-size: 0.85rem;
}
.footer .list-unstyled li a:hover {
  color: #525f7f;
}
.footer .copyright {
  font-size: 0.875rem;
}
.footer-dark .col-footer .heading {
  color: #fff;
}
.nav-footer .nav-link {
  font-size: 0.875rem;
}
.nav-footer .nav-item:last-child .nav-link {
  padding-right: 0;
}
.footer.has-cards {
  overflow: hidden;
  padding-top: 500px;
  margin-top: -420px;
  position: relative;
  background: transparent;
  pointer-events: none;
}
.footer.has-cards:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 600px;
  height: 2000px;
  background: #f7fafc;
  transform: skew(0, -8deg);
}
.footer.has-cards .container {
  pointer-events: auto;
  position: relative;
}
.form-control-label {
  color: #525f7f;
  font-size: 0.875rem;
  font-weight: 600;
}
.form-control {
  font-size: 0.875rem;
}
.form-control:focus::-moz-placeholder {
  color: #adb5bd;
}
.form-control:focus::placeholder {
  color: #adb5bd;
}
textarea[resize=none] {
  resize: none !important;
}
textarea[resize=both] {
  resize: both !important;
}
textarea[resize=vertical] {
  resize: vertical !important;
}
textarea[resize=horizontal] {
  resize: horizontal !important;
}
.form-control-muted {
  background-color: #F7FAFE;
  border-color: #F7FAFE;
  box-shadow: none;
}
.form-control-muted:focus {
  background-color: #fcfdff;
}
.form-control-alternative {
  box-shadow: 0 1px 3px rgba(50, 50, 93, 0.15), 0 1px 0 rgba(0, 0, 0, 0.02);
  border: 0;
  transition: box-shadow 0.15s ease;
}
.form-control-alternative:focus {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.form-control-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
  font-size: 1rem;
}
.has-success,
.has-danger {
  position: relative;
}
.has-success:after,
.has-danger:after {
  width: 19px;
  height: 19px;
  line-height: 19px;
  text-align: center;
  font-family: "NucleoIcons";
  display: inline-block;
  position: absolute;
  right: 15px;
  top: 2px;
  transform: translateY(50%);
  border-radius: 50%;
  font-size: 9px;
  opacity: 1;
}
.has-success:after {
  content: "";
  color: daken(#2dce89, 18%);
  background-color: #69deac;
}
.has-success .form-control {
  background-color: #fff;
}
.has-success .form-control:focus {
  border-color: rgba(50, 151, 211, 0.25);
}
.has-success .form-control::-moz-placeholder {
  color: #2dce89;
}
.has-success .form-control::placeholder {
  color: #2dce89;
}
.has-danger:after {
  content: "";
  color: daken(#fb6340, 18%);
  background-color: #fda08b;
}
.has-danger .form-control {
  background-color: #fff;
}
.has-danger .form-control:focus {
  border-color: rgba(50, 151, 211, 0.25);
}
.has-danger .form-control::-moz-placeholder {
  color: #fb6340;
}
.has-danger .form-control::placeholder {
  color: #fb6340;
}
.input-group {
  box-shadow: none;
  border-radius: 0.375rem;
  transition: all 0.15s ease;
}
.input-group .form-control {
  box-shadow: none;
}
.input-group .form-control:not(:first-child) {
  border-left: 0;
  padding-left: 0;
}
.input-group .form-control:not(:last-child) {
  border-right: 0;
  padding-right: 0;
}
.input-group .form-control:focus {
  box-shadow: none;
}
.input-group-text {
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.input-group-alternative {
  box-shadow: 0 1px 3px rgba(50, 50, 93, 0.15), 0 1px 0 rgba(0, 0, 0, 0.02);
  border: 0;
  transition: box-shadow 0.15s ease;
}
.input-group-alternative .form-control,
.input-group-alternative .input-group-text {
  border: 0;
  box-shadow: none;
}
.focused .input-group-alternative {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}
.focused .input-group {
  box-shadow: none;
}
.focused .input-group-text {
  color: #8898aa;
  background-color: #fff;
  border-color: rgba(50, 151, 211, 0.25);
}
.focused .form-control {
  border-color: rgba(50, 151, 211, 0.25);
}
.header {
  position: relative;
}
.icon {
  width: 3rem;
  height: 3rem;
}
.icon i, .icon svg {
  font-size: 2.25rem;
}
.icon + .icon-text {
  padding-left: 1rem;
  width: calc(100% - 3rem - 1);
}
.icon-xl {
  width: 5rem;
  height: 5rem;
}
.icon-xl i, .icon-xl svg {
  font-size: 4.25rem;
}
.icon-xl + .icon-text {
  width: calc(100% - $icon-size-xl - 1);
}
.icon-lg {
  width: 4rem;
  height: 4rem;
}
.icon-lg i, .icon-lg svg {
  font-size: 3.25rem;
}
.icon-lg + .icon-text {
  width: calc(100% - $icon-size-lg - 1);
}
.icon-sm {
  width: 2rem;
  height: 2rem;
}
.icon-sm i, .icon-sm svg {
  font-size: 1.25rem;
}
.icon-sm + .icon-text {
  width: calc(100% - $icon-size-sm - 1);
}
.icon-shape {
  padding: 12px;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.icon-shape i, .icon-shape svg {
  font-size: 1.25rem;
}
.icon-shape.icon-lg i, .icon-shape.icon-lg svg {
  font-size: 1.625rem;
}
.icon-shape.icon-sm i, .icon-shape.icon-sm svg {
  font-size: 0.875rem;
}
.icon-shape svg {
  width: 30px;
  height: 30px;
}
.icon-shape-primary {
  color: #2643e9;
  background-color: rgba(138, 152, 235, 0.5);
}
.icon-shape-secondary {
  color: #cfe3f1;
  background-color: rgba(255, 255, 255, 0.5);
}
.icon-shape-success {
  color: #1aae6f;
  background-color: rgba(84, 218, 161, 0.5);
}
.icon-shape-info {
  color: #03acca;
  background-color: rgba(65, 215, 242, 0.5);
}
.icon-shape-warning {
  color: #ff3709;
  background-color: rgba(252, 140, 114, 0.5);
}
.icon-shape-danger {
  color: #f80031;
  background-color: rgba(247, 103, 131, 0.5);
}
.icon-shape-light {
  color: #879cb0;
  background-color: rgba(201, 207, 212, 0.5);
}
.icon-shape-dark {
  color: #090c0e;
  background-color: rgba(56, 63, 69, 0.5);
}
.icon-shape-default {
  color: #091428;
  background-color: rgba(35, 65, 116, 0.5);
}
.icon-shape-white {
  color: #e8e3e3;
  background-color: rgba(255, 255, 255, 0.5);
}
.icon-shape-neutral {
  color: #e8e3e3;
  background-color: rgba(255, 255, 255, 0.5);
}
.icon-shape-darker {
  color: black;
  background-color: rgba(23, 26, 28, 0.5);
}
.input-group {
  box-shadow: none;
  border-radius: 0.375rem;
  transition: all 0.15s ease;
}
.input-group .form-control {
  box-shadow: none;
}
.input-group .form-control:not(:first-child) {
  border-left: 0;
  padding-left: 0;
}
.input-group .form-control:not(:last-child) {
  border-right: 0;
  padding-right: 0;
}
.input-group .form-control:focus {
  box-shadow: none;
}
.input-group-text {
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.input-group-alternative {
  box-shadow: 0 1px 3px rgba(50, 50, 93, 0.15), 0 1px 0 rgba(0, 0, 0, 0.02);
  border: 0;
  transition: box-shadow 0.15s ease;
}
.input-group-alternative .form-control,
.input-group-alternative .input-group-text {
  border: 0;
  box-shadow: none;
}
.focused .input-group-alternative {
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}
.focused .input-group {
  box-shadow: none;
}
.focused .input-group-text {
  color: #8898aa;
  background-color: #fff;
  border-color: rgba(50, 151, 211, 0.25);
}
.focused .form-control {
  border-color: rgba(50, 151, 211, 0.25);
}
.list-group-space .list-group-item {
  margin-bottom: 1.5rem;
  border-radius: 0.375rem;
}
.list-group-img {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  vertical-align: top;
  margin: -0.1rem 1.2rem 0 -0.2rem;
}
.list-group-content {
  flex: 1;
  min-width: 0;
}
.list-group-content > p {
  color: #adb5bd;
  line-height: 1.5;
  margin: 0.2rem 0 0;
}
.list-group-heading {
  font-size: 1rem;
  color: #32325d;
}
.list-group-heading > small {
  float: right;
  color: #adb5bd;
  font-weight: 500;
}
.map-canvas {
  position: relative;
  width: 100%;
  height: 500px;
  border-radius: 0.375rem;
}
.mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.15s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .mask {
    transition: none;
  }
}
.modal-fluid .modal-dialog {
  margin-top: 0;
  margin-bottom: 0;
}
.modal-fluid .modal-content {
  border-radius: 0;
}
.modal-primary .modal-title {
  color: #fff;
}
.modal-primary .modal-header,
.modal-primary .modal-footer {
  border-color: rgba(255, 255, 255, 0.075);
}
.modal-primary .modal-content {
  background-color: #5e72e4;
  color: #fff;
}
.modal-primary .modal-content .heading {
  color: #fff;
}
.modal-primary .close > span:not(.sr-only) {
  color: #fff;
}
.modal-secondary .modal-title {
  color: #212529;
}
.modal-secondary .modal-header,
.modal-secondary .modal-footer {
  border-color: rgba(33, 37, 41, 0.075);
}
.modal-secondary .modal-content {
  background-color: #f7fafc;
  color: #212529;
}
.modal-secondary .modal-content .heading {
  color: #212529;
}
.modal-secondary .close > span:not(.sr-only) {
  color: #fff;
}
.modal-success .modal-title {
  color: #fff;
}
.modal-success .modal-header,
.modal-success .modal-footer {
  border-color: rgba(255, 255, 255, 0.075);
}
.modal-success .modal-content {
  background-color: #2dce89;
  color: #fff;
}
.modal-success .modal-content .heading {
  color: #fff;
}
.modal-success .close > span:not(.sr-only) {
  color: #fff;
}
.modal-info .modal-title {
  color: #fff;
}
.modal-info .modal-header,
.modal-info .modal-footer {
  border-color: rgba(255, 255, 255, 0.075);
}
.modal-info .modal-content {
  background-color: #11cdef;
  color: #fff;
}
.modal-info .modal-content .heading {
  color: #fff;
}
.modal-info .close > span:not(.sr-only) {
  color: #fff;
}
.modal-warning .modal-title {
  color: #fff;
}
.modal-warning .modal-header,
.modal-warning .modal-footer {
  border-color: rgba(255, 255, 255, 0.075);
}
.modal-warning .modal-content {
  background-color: #fb6340;
  color: #fff;
}
.modal-warning .modal-content .heading {
  color: #fff;
}
.modal-warning .close > span:not(.sr-only) {
  color: #fff;
}
.modal-danger .modal-title {
  color: #fff;
}
.modal-danger .modal-header,
.modal-danger .modal-footer {
  border-color: rgba(255, 255, 255, 0.075);
}
.modal-danger .modal-content {
  background-color: #f5365c;
  color: #fff;
}
.modal-danger .modal-content .heading {
  color: #fff;
}
.modal-danger .close > span:not(.sr-only) {
  color: #fff;
}
.modal-light .modal-title {
  color: #fff;
}
.modal-light .modal-header,
.modal-light .modal-footer {
  border-color: rgba(255, 255, 255, 0.075);
}
.modal-light .modal-content {
  background-color: #adb5bd;
  color: #fff;
}
.modal-light .modal-content .heading {
  color: #fff;
}
.modal-light .close > span:not(.sr-only) {
  color: #fff;
}
.modal-dark .modal-title {
  color: #fff;
}
.modal-dark .modal-header,
.modal-dark .modal-footer {
  border-color: rgba(255, 255, 255, 0.075);
}
.modal-dark .modal-content {
  background-color: #212529;
  color: #fff;
}
.modal-dark .modal-content .heading {
  color: #fff;
}
.modal-dark .close > span:not(.sr-only) {
  color: #fff;
}
.modal-default .modal-title {
  color: #fff;
}
.modal-default .modal-header,
.modal-default .modal-footer {
  border-color: rgba(255, 255, 255, 0.075);
}
.modal-default .modal-content {
  background-color: #172b4d;
  color: #fff;
}
.modal-default .modal-content .heading {
  color: #fff;
}
.modal-default .close > span:not(.sr-only) {
  color: #fff;
}
.modal-white .modal-title {
  color: #212529;
}
.modal-white .modal-header,
.modal-white .modal-footer {
  border-color: rgba(33, 37, 41, 0.075);
}
.modal-white .modal-content {
  background-color: #fff;
  color: #212529;
}
.modal-white .modal-content .heading {
  color: #212529;
}
.modal-white .close > span:not(.sr-only) {
  color: #fff;
}
.modal-neutral .modal-title {
  color: #212529;
}
.modal-neutral .modal-header,
.modal-neutral .modal-footer {
  border-color: rgba(33, 37, 41, 0.075);
}
.modal-neutral .modal-content {
  background-color: #fff;
  color: #212529;
}
.modal-neutral .modal-content .heading {
  color: #212529;
}
.modal-neutral .close > span:not(.sr-only) {
  color: #fff;
}
.modal-darker .modal-title {
  color: #fff;
}
.modal-darker .modal-header,
.modal-darker .modal-footer {
  border-color: rgba(255, 255, 255, 0.075);
}
.modal-darker .modal-content {
  background-color: black;
  color: #fff;
}
.modal-darker .modal-content .heading {
  color: #fff;
}
.modal-darker .close > span:not(.sr-only) {
  color: #fff;
}
.nav-wrapper {
  padding: 1rem 0;
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.nav-wrapper + .card {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.nav-link {
  color: #525f7f;
}
.nav-link:hover {
  color: #5e72e4;
}
.nav-link i.ni {
  position: relative;
  top: 2px;
}
.nav-pills .nav-item:not(:last-child) {
  padding-right: 1rem;
}
.nav-pills .nav-link {
  padding: 0.75rem 1rem;
  color: #5e72e4;
  font-weight: 500;
  font-size: 0.875rem;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
  background-color: #fff;
  transition: all 0.15s ease;
}
.nav-pills .nav-link:hover {
  color: #485fe0;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #5e72e4;
}
@media (max-width: 575.98px) {
  .nav-pills .nav-item {
    margin-bottom: 1rem;
  }
}
@media (max-width: 767.98px) {
  .nav-pills:not(.nav-pills-circle) .nav-item {
    padding-right: 0;
  }
}
.nav-pills-circle .nav-link {
  text-align: center;
  height: 60px;
  width: 60px;
  padding: 0;
  line-height: 60px;
  border-radius: 50%;
}
.nav-pills-circle .nav-link-icon i, .nav-pills-circle .nav-link-icon svg {
  font-size: 1rem;
}
.navbar-horizontal .navbar-nav .nav-link {
  font-size: 0.9rem;
  font-weight: 400;
  text-transform: normal;
  letter-spacing: 0;
  transition: all 0.15s linear;
}
@media screen and (prefers-reduced-motion: reduce) {
  .navbar-horizontal .navbar-nav .nav-link {
    transition: none;
  }
}
.navbar-horizontal .navbar-nav .nav-link .nav-link-inner--text {
  margin-left: 0.25rem;
}
.navbar-horizontal .navbar-brand {
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 0.05px;
}
.navbar-horizontal .navbar-brand img {
  height: 80px;
}
.navbar-horizontal .navbar-dark .navbar-brand {
  color: #fff;
}
.navbar-horizontal .navbar-light .navbar-brand {
  color: #32325d;
}
.navbar-horizontal .navbar-nav .nav-item .media:not(:last-child) {
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  .navbar-horizontal .navbar-nav .nav-item {
    margin-right: 0.5rem;
  }
  .navbar-horizontal .navbar-nav .nav-item [data-toggle=dropdown]::after {
    transition: all 0.15s ease;
  }
  .navbar-horizontal .navbar-nav .nav-item.show [data-toggle=dropdown]::after {
    transform: rotate(180deg);
  }
  .navbar-horizontal .navbar-nav .nav-link {
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-radius: 0.375rem;
  }
  .navbar-horizontal .navbar-nav .nav-link i {
    margin-right: 0.625rem;
  }
  .navbar-horizontal .navbar-nav .nav-link-icon {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
    font-size: 1rem;
    border-radius: 0.375rem;
  }
  .navbar-horizontal .navbar-nav .nav-link-icon i {
    margin-right: 0;
  }
}
.navbar-horizontal .navbar-transparent {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 100;
  background-color: transparent;
  border: 0;
  box-shadow: none;
}
.navbar-horizontal .navbar-transparent .navbar-brand {
  color: white;
}
.navbar-horizontal .navbar-transparent .navbar-toggler {
  color: white;
}
.navbar-horizontal .navbar-transparent .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.95)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
@media (min-width: 768px) {
  .navbar-horizontal .navbar-transparent .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.95);
  }
  .navbar-horizontal .navbar-transparent .navbar-nav .nav-link:hover, .navbar-horizontal .navbar-transparent .navbar-nav .nav-link:focus {
    color: rgba(255, 255, 255, 0.65);
  }
  .navbar-horizontal .navbar-transparent .navbar-nav .nav-link.disabled {
    color: rgba(255, 255, 255, 0.25);
  }
  .navbar-horizontal .navbar-transparent .navbar-nav .show > .nav-link,
.navbar-horizontal .navbar-transparent .navbar-nav .active > .nav-link,
.navbar-horizontal .navbar-transparent .navbar-nav .nav-link.show,
.navbar-horizontal .navbar-transparent .navbar-nav .nav-link.active {
    color: rgba(255, 255, 255, 0.65);
  }
  .navbar-horizontal .navbar-transparent .navbar-brand {
    color: rgba(255, 255, 255, 0.95);
  }
  .navbar-horizontal .navbar-transparent .navbar-brand:hover, .navbar-horizontal .navbar-transparent .navbar-brand:focus {
    color: rgba(255, 255, 255, 0.95);
  }
}
.navbar-vertical {
  box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15) !important;
}
.navbar-vertical .navbar {
  border-width: 0 0 1px 0;
  border-style: solid;
}
.navbar-vertical .navbar-light {
  background-color: transparent;
  border-color: #f6f9fc;
}
.navbar-vertical .navbar-brand {
  margin-right: 0;
}
.navbar-vertical .navbar-brand-img,
.navbar-vertical .navbar-brand > img {
  max-width: 100%;
  max-height: 2rem;
}
@media (min-width: 768px) {
  .navbar-vertical .navbar-collapse {
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .navbar-vertical .navbar-collapse:before {
    content: "";
    display: block;
    margin: 1rem -1rem;
  }
}
.navbar-vertical .navbar-nav {
  margin-left: -1rem;
  margin-right: -1rem;
}
.navbar-vertical .navbar-nav .nav-link {
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: 0.9rem;
}
.navbar-vertical .navbar-nav .nav-link.active {
  position: relative;
}
.navbar-vertical .navbar-nav .nav-link.active:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25rem;
  bottom: 0.25rem;
  border-left: 2px solid #5e72e4;
}
.navbar-vertical .navbar-nav .nav-link > i {
  min-width: 2.25rem;
  font-size: 0.9375rem;
  line-height: 1.5rem;
}
.navbar-vertical .navbar-nav .nav-link .dropdown-menu {
  border: none;
}
.navbar-vertical .navbar-nav .nav-link .dropdown-menu .dropdown-menu {
  margin-left: 0.75rem;
}
.navbar-vertical .navbar-nav .nav-link {
  display: flex;
  align-items: center;
}
.navbar-vertical .navbar-nav .nav-link[data-toggle=collapse]:after {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
  content: "";
  margin-left: auto;
  color: #8898aa;
  transition: all 0.15s ease;
}
.navbar-vertical .navbar-nav .nav-link[data-toggle=collapse][aria-expanded=true]:after {
  transform: rotate(90deg);
}
.navbar-vertical .navbar-nav .nav .nav-link {
  padding-left: 3.25rem;
}
.navbar-vertical .navbar-nav .nav .nav .nav-link {
  padding-left: 3.75rem;
}
.navbar-vertical .navbar-heading {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.navbar-vertical.navbar-expand-xs {
  display: block;
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
  max-width: 250px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  overflow-y: auto;
}
.navbar-vertical.navbar-expand-xs > [class*=container] {
  flex-direction: column;
  align-items: stretch;
  min-height: 100%;
  padding-left: 0;
  padding-right: 0;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .navbar-vertical.navbar-expand-xs > [class*=container] {
    min-height: none;
    height: 100%;
  }
}
.navbar-vertical.navbar-expand-xs.fixed-left {
  left: 0;
  border-width: 0 1px 0 0;
}
.navbar-vertical.navbar-expand-xs.fixed-right {
  right: 0;
  border-width: 0 0 0 1px;
}
.navbar-vertical.navbar-expand-xs .navbar-collapse {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.navbar-vertical.navbar-expand-xs .navbar-collapse > * {
  min-width: 100%;
}
.navbar-vertical.navbar-expand-xs .navbar-nav {
  flex-direction: column;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}
.navbar-vertical.navbar-expand-xs .navbar-nav .nav-link {
  padding: 0.65rem 1.5rem;
}
.navbar-vertical.navbar-expand-xs .navbar-nav .nav-link.active:before {
  top: 0.25rem;
  bottom: 0.25rem;
  left: 0;
  right: auto;
  border-left: 2px solid #5e72e4;
  border-bottom: 0;
}
.navbar-vertical.navbar-expand-xs .navbar-nav .nav .nav-link {
  padding-left: 3.75rem;
}
.navbar-vertical.navbar-expand-xs .navbar-nav .nav .nav .nav-link {
  padding-left: 4.5rem;
}
.navbar-vertical.navbar-expand-xs .navbar-brand {
  display: block;
  text-align: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.navbar-vertical.navbar-expand-xs .navbar-brand-img {
  max-height: 2.5rem;
}
.navbar-vertical.navbar-expand-xs .navbar-user {
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  padding-top: 1rem;
  padding-bottom: 0rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  border-top: 1px solid #e9ecef;
}
.navbar-vertical.navbar-expand-xs .navbar-user .dropup .dropdown-menu {
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 576px) {
  .navbar-vertical.navbar-expand-sm {
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    width: 100%;
    max-width: 250px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    overflow-y: auto;
  }
  .navbar-vertical.navbar-expand-sm > [class*=container] {
    flex-direction: column;
    align-items: stretch;
    min-height: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 576px) and (-ms-high-contrast: none), (min-width: 576px) and (-ms-high-contrast: active) {
  .navbar-vertical.navbar-expand-sm > [class*=container] {
    min-height: none;
    height: 100%;
  }
}
@media (min-width: 576px) {
  .navbar-vertical.navbar-expand-sm.fixed-left {
    left: 0;
    border-width: 0 1px 0 0;
  }
}
@media (min-width: 576px) {
  .navbar-vertical.navbar-expand-sm.fixed-right {
    right: 0;
    border-width: 0 0 0 1px;
  }
}
@media (min-width: 576px) {
  .navbar-vertical.navbar-expand-sm .navbar-collapse {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .navbar-vertical.navbar-expand-sm .navbar-collapse > * {
    min-width: 100%;
  }
}
@media (min-width: 576px) {
  .navbar-vertical.navbar-expand-sm .navbar-nav {
    flex-direction: column;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (min-width: 576px) {
  .navbar-vertical.navbar-expand-sm .navbar-nav .nav-link {
    padding: 0.65rem 1.5rem;
  }
  .navbar-vertical.navbar-expand-sm .navbar-nav .nav-link.active:before {
    top: 0.25rem;
    bottom: 0.25rem;
    left: 0;
    right: auto;
    border-left: 2px solid #5e72e4;
    border-bottom: 0;
  }
}
@media (min-width: 576px) {
  .navbar-vertical.navbar-expand-sm .navbar-nav .nav .nav-link {
    padding-left: 3.75rem;
  }
}
@media (min-width: 576px) {
  .navbar-vertical.navbar-expand-sm .navbar-nav .nav .nav .nav-link {
    padding-left: 4.5rem;
  }
}
@media (min-width: 576px) {
  .navbar-vertical.navbar-expand-sm .navbar-brand {
    display: block;
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
@media (min-width: 576px) {
  .navbar-vertical.navbar-expand-sm .navbar-brand-img {
    max-height: 2.5rem;
  }
}
@media (min-width: 576px) {
  .navbar-vertical.navbar-expand-sm .navbar-user {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-top: 1rem;
    padding-bottom: 0rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border-top: 1px solid #e9ecef;
  }
  .navbar-vertical.navbar-expand-sm .navbar-user .dropup .dropdown-menu {
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (min-width: 768px) {
  .navbar-vertical.navbar-expand-md {
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    width: 100%;
    max-width: 250px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    overflow-y: auto;
  }
  .navbar-vertical.navbar-expand-md > [class*=container] {
    flex-direction: column;
    align-items: stretch;
    min-height: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 768px) and (-ms-high-contrast: none), (min-width: 768px) and (-ms-high-contrast: active) {
  .navbar-vertical.navbar-expand-md > [class*=container] {
    min-height: none;
    height: 100%;
  }
}
@media (min-width: 768px) {
  .navbar-vertical.navbar-expand-md.fixed-left {
    left: 0;
    border-width: 0 1px 0 0;
  }
}
@media (min-width: 768px) {
  .navbar-vertical.navbar-expand-md.fixed-right {
    right: 0;
    border-width: 0 0 0 1px;
  }
}
@media (min-width: 768px) {
  .navbar-vertical.navbar-expand-md .navbar-collapse {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .navbar-vertical.navbar-expand-md .navbar-collapse > * {
    min-width: 100%;
  }
}
@media (min-width: 768px) {
  .navbar-vertical.navbar-expand-md .navbar-nav {
    flex-direction: column;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (min-width: 768px) {
  .navbar-vertical.navbar-expand-md .navbar-nav .nav-link {
    padding: 0.65rem 1.5rem;
  }
  .navbar-vertical.navbar-expand-md .navbar-nav .nav-link.active:before {
    top: 0.25rem;
    bottom: 0.25rem;
    left: 0;
    right: auto;
    border-left: 2px solid #5e72e4;
    border-bottom: 0;
  }
}
@media (min-width: 768px) {
  .navbar-vertical.navbar-expand-md .navbar-nav .nav .nav-link {
    padding-left: 3.75rem;
  }
}
@media (min-width: 768px) {
  .navbar-vertical.navbar-expand-md .navbar-nav .nav .nav .nav-link {
    padding-left: 4.5rem;
  }
}
@media (min-width: 768px) {
  .navbar-vertical.navbar-expand-md .navbar-brand {
    display: block;
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
@media (min-width: 768px) {
  .navbar-vertical.navbar-expand-md .navbar-brand-img {
    max-height: 2.5rem;
  }
}
@media (min-width: 768px) {
  .navbar-vertical.navbar-expand-md .navbar-user {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-top: 1rem;
    padding-bottom: 0rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border-top: 1px solid #e9ecef;
  }
  .navbar-vertical.navbar-expand-md .navbar-user .dropup .dropdown-menu {
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (min-width: 992px) {
  .navbar-vertical.navbar-expand-lg {
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    width: 100%;
    max-width: 250px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    overflow-y: auto;
  }
  .navbar-vertical.navbar-expand-lg > [class*=container] {
    flex-direction: column;
    align-items: stretch;
    min-height: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 992px) and (-ms-high-contrast: none), (min-width: 992px) and (-ms-high-contrast: active) {
  .navbar-vertical.navbar-expand-lg > [class*=container] {
    min-height: none;
    height: 100%;
  }
}
@media (min-width: 992px) {
  .navbar-vertical.navbar-expand-lg.fixed-left {
    left: 0;
    border-width: 0 1px 0 0;
  }
}
@media (min-width: 992px) {
  .navbar-vertical.navbar-expand-lg.fixed-right {
    right: 0;
    border-width: 0 0 0 1px;
  }
}
@media (min-width: 992px) {
  .navbar-vertical.navbar-expand-lg .navbar-collapse {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .navbar-vertical.navbar-expand-lg .navbar-collapse > * {
    min-width: 100%;
  }
}
@media (min-width: 992px) {
  .navbar-vertical.navbar-expand-lg .navbar-nav {
    flex-direction: column;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (min-width: 992px) {
  .navbar-vertical.navbar-expand-lg .navbar-nav .nav-link {
    padding: 0.65rem 1.5rem;
  }
  .navbar-vertical.navbar-expand-lg .navbar-nav .nav-link.active:before {
    top: 0.25rem;
    bottom: 0.25rem;
    left: 0;
    right: auto;
    border-left: 2px solid #5e72e4;
    border-bottom: 0;
  }
}
@media (min-width: 992px) {
  .navbar-vertical.navbar-expand-lg .navbar-nav .nav .nav-link {
    padding-left: 3.75rem;
  }
}
@media (min-width: 992px) {
  .navbar-vertical.navbar-expand-lg .navbar-nav .nav .nav .nav-link {
    padding-left: 4.5rem;
  }
}
@media (min-width: 992px) {
  .navbar-vertical.navbar-expand-lg .navbar-brand {
    display: block;
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
@media (min-width: 992px) {
  .navbar-vertical.navbar-expand-lg .navbar-brand-img {
    max-height: 2.5rem;
  }
}
@media (min-width: 992px) {
  .navbar-vertical.navbar-expand-lg .navbar-user {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-top: 1rem;
    padding-bottom: 0rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border-top: 1px solid #e9ecef;
  }
  .navbar-vertical.navbar-expand-lg .navbar-user .dropup .dropdown-menu {
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (min-width: 1200px) {
  .navbar-vertical.navbar-expand-xl {
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    width: 100%;
    max-width: 250px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    overflow-y: auto;
  }
  .navbar-vertical.navbar-expand-xl > [class*=container] {
    flex-direction: column;
    align-items: stretch;
    min-height: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 1200px) and (-ms-high-contrast: none), (min-width: 1200px) and (-ms-high-contrast: active) {
  .navbar-vertical.navbar-expand-xl > [class*=container] {
    min-height: none;
    height: 100%;
  }
}
@media (min-width: 1200px) {
  .navbar-vertical.navbar-expand-xl.fixed-left {
    left: 0;
    border-width: 0 1px 0 0;
  }
}
@media (min-width: 1200px) {
  .navbar-vertical.navbar-expand-xl.fixed-right {
    right: 0;
    border-width: 0 0 0 1px;
  }
}
@media (min-width: 1200px) {
  .navbar-vertical.navbar-expand-xl .navbar-collapse {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .navbar-vertical.navbar-expand-xl .navbar-collapse > * {
    min-width: 100%;
  }
}
@media (min-width: 1200px) {
  .navbar-vertical.navbar-expand-xl .navbar-nav {
    flex-direction: column;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (min-width: 1200px) {
  .navbar-vertical.navbar-expand-xl .navbar-nav .nav-link {
    padding: 0.65rem 1.5rem;
  }
  .navbar-vertical.navbar-expand-xl .navbar-nav .nav-link.active:before {
    top: 0.25rem;
    bottom: 0.25rem;
    left: 0;
    right: auto;
    border-left: 2px solid #5e72e4;
    border-bottom: 0;
  }
}
@media (min-width: 1200px) {
  .navbar-vertical.navbar-expand-xl .navbar-nav .nav .nav-link {
    padding-left: 3.75rem;
  }
}
@media (min-width: 1200px) {
  .navbar-vertical.navbar-expand-xl .navbar-nav .nav .nav .nav-link {
    padding-left: 4.5rem;
  }
}
@media (min-width: 1200px) {
  .navbar-vertical.navbar-expand-xl .navbar-brand {
    display: block;
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
@media (min-width: 1200px) {
  .navbar-vertical.navbar-expand-xl .navbar-brand-img {
    max-height: 2.5rem;
  }
}
@media (min-width: 1200px) {
  .navbar-vertical.navbar-expand-xl .navbar-user {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-top: 1rem;
    padding-bottom: 0rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border-top: 1px solid #e9ecef;
  }
  .navbar-vertical.navbar-expand-xl .navbar-user .dropup .dropdown-menu {
    left: 50%;
    transform: translateX(-50%);
  }
}
.navbar-search .input-group {
  border-radius: 2rem;
  border: 2px solid;
  background-color: transparent;
}
.navbar-search .input-group .input-group-text {
  background-color: transparent;
  padding-left: 1rem;
}
.navbar-search .form-control {
  width: 270px;
  background-color: transparent;
}
.navbar-search-dark .input-group {
  border-color: rgba(255, 255, 255, 0.6);
}
.navbar-search-dark .input-group-text {
  color: rgba(255, 255, 255, 0.6);
}
.navbar-search-dark .form-control {
  color: rgba(255, 255, 255, 0.9);
}
.navbar-search-dark .form-control::-moz-placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.navbar-search-dark .form-control::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.navbar-search-dark .focused .input-group {
  border-color: rgba(255, 255, 255, 0.9);
}
.navbar-search-light .input-group {
  border-color: rgba(0, 0, 0, 0.6);
}
.navbar-search-light .input-group-text {
  color: rgba(0, 0, 0, 0.6);
}
.navbar-search-light .form-control {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-search-light .form-control::-moz-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.navbar-search-light .form-control::placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.navbar-search-light .focused .input-group {
  border-color: rgba(0, 0, 0, 0.9);
}
@media (min-width: 768px) {
  .navbar .dropdown-menu {
    opacity: 0;
    pointer-events: none;
    margin: 0;
  }
  .navbar .dropdown-menu-arrow:before {
    background: #fff;
    box-shadow: none;
    content: "";
    display: block;
    height: 12px;
    width: 12px;
    left: 20px;
    position: absolute;
    bottom: 100%;
    transform: rotate(-45deg) translateY(12px);
    z-index: -5;
    border-radius: 2px;
  }
  .navbar .dropdown-menu-right:before {
    right: 20px;
    left: auto;
  }
  .navbar:not(.navbar-nav-hover) .dropdown-menu.show {
    opacity: 1;
    pointer-events: auto;
    -webkit-animation: show-navbar-dropdown 0.25s ease forwards;
            animation: show-navbar-dropdown 0.25s ease forwards;
  }
  .navbar:not(.navbar-nav-hover) .dropdown-menu.close {
    display: block;
    -webkit-animation: hide-navbar-dropdown 0.15s ease backwards;
            animation: hide-navbar-dropdown 0.15s ease backwards;
  }
  .navbar.navbar-nav-hover .dropdown-menu {
    opacity: 0;
    display: block;
    pointer-events: none;
    transform: translate(0, 10px) perspective(200px) rotateX(-2deg);
    transition: visibility 0.25s, opacity 0.25s, transform 0.25s;
  }
  .navbar.navbar-nav-hover .nav-item.dropdown:hover > .dropdown-menu {
    display: block;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translate(0, 0);
    -webkit-animation: none;
            animation: none;
  }
  .navbar .dropdown-menu-inner {
    position: relative;
    padding: 1rem;
  }
  @-webkit-keyframes show-navbar-dropdown {
    0% {
      opacity: 0;
      transform: translate(0, 10px) perspective(200px) rotateX(-2deg);
      transition: visibility 0.25s, opacity 0.25s, transform 0.25s;
    }
    100% {
      transform: translate(0, 0);
      opacity: 1;
    }
  }
  @keyframes show-navbar-dropdown {
    0% {
      opacity: 0;
      transform: translate(0, 10px) perspective(200px) rotateX(-2deg);
      transition: visibility 0.25s, opacity 0.25s, transform 0.25s;
    }
    100% {
      transform: translate(0, 0);
      opacity: 1;
    }
  }
  @-webkit-keyframes hide-navbar-dropdown {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      transform: translate(0, 10px);
    }
  }
  @keyframes hide-navbar-dropdown {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      transform: translate(0, 10px);
    }
  }
}
.navbar-collapse-header {
  display: none;
}
@media (max-width: 767.98px) {
  .navbar-nav .nav-link {
    padding: 0.625rem 0;
    color: #172b4d !important;
  }
  .navbar-nav .dropdown-menu {
    box-shadow: none;
    min-width: auto;
  }
  .navbar-nav .dropdown-menu .media svg {
    width: 30px;
  }

  .navbar-collapse {
    width: calc(100% - 1.4rem);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1050;
    margin: 0.7rem;
    overflow-y: auto;
    height: auto !important;
    opacity: 0;
  }
  .navbar-collapse .navbar-toggler {
    width: 20px;
    height: 20px;
    position: relative;
    cursor: pointer;
    display: inline-block;
    padding: 0;
  }
  .navbar-collapse .navbar-toggler span {
    display: block;
    position: absolute;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    opacity: 1;
    background: #283448;
  }
  .navbar-collapse .navbar-toggler :nth-child(1) {
    transform: rotate(135deg);
  }
  .navbar-collapse .navbar-toggler :nth-child(2) {
    transform: rotate(-135deg);
  }
  .navbar-collapse .navbar-collapse-header {
    display: block;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }
  .navbar-collapse .collapse-brand img {
    height: 36px;
  }
  .navbar-collapse .collapse-close {
    text-align: right;
  }

  .navbar-collapse.collapsing,
.navbar-collapse.show {
    padding: 1.5rem;
    border-radius: 0.375rem;
    background: #FFF;
    box-shadow: 0 50px 100px rgba(50, 50, 93, 0.1), 0 15px 35px rgba(50, 50, 93, 0.15), 0 5px 15px rgba(0, 0, 0, 0.1);
    -webkit-animation: show-navbar-collapse 0.2s ease forwards;
            animation: show-navbar-collapse 0.2s ease forwards;
  }

  .navbar-collapse.collapsing-out {
    -webkit-animation: hide-navbar-collapse 0.2s ease forwards;
            animation: hide-navbar-collapse 0.2s ease forwards;
  }
}
@-webkit-keyframes show-navbar-collapse {
  0% {
    opacity: 0;
    transform: scale(0.95);
    transform-origin: 100% 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes show-navbar-collapse {
  0% {
    opacity: 0;
    transform: scale(0.95);
    transform-origin: 100% 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@-webkit-keyframes hide-navbar-collapse {
  from {
    opacity: 1;
    transform: scale(1);
    transform-origin: 100% 0;
  }
  to {
    opacity: 0;
    transform: scale(0.95);
  }
}
@keyframes hide-navbar-collapse {
  from {
    opacity: 1;
    transform: scale(1);
    transform-origin: 100% 0;
  }
  to {
    opacity: 0;
    transform: scale(0.95);
  }
}
.page-item.active .page-link {
  box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08);
}
.page-item .page-link,
.page-item span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0 3px;
  border-radius: 50% !important;
  width: 36px;
  height: 36px;
  font-size: 0.875rem;
}
.pagination-lg .page-item .page-link,
.pagination-lg .page-item span {
  width: 46px;
  height: 46px;
  line-height: 46px;
}
.pagination-sm .page-item .page-link,
.pagination-sm .page-item span {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.popover {
  border: 0;
}
.popover-header {
  font-weight: 600;
}
.popover-primary {
  background-color: #5e72e4;
}
.popover-primary .popover-header {
  background-color: #5e72e4;
  color: #fff;
}
.popover-primary .popover-body {
  color: #fff;
}
.popover-primary .popover-header {
  border-color: rgba(255, 255, 255, 0.2);
}
.popover-primary.bs-popover-top .arrow::after, .popover-primary.bs-popover-auto[x-placement^=top] .arrow::after {
  border-top-color: #5e72e4;
}
.popover-primary.bs-popover-right .arrow::after, .popover-primary.bs-popover-auto[x-placement^=right] .arrow::after {
  border-right-color: #5e72e4;
}
.popover-primary.bs-popover-bottom .arrow::after, .popover-primary.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-bottom-color: #5e72e4;
}
.popover-primary.bs-popover-left .arrow::after, .popover-primary.bs-popover-auto[x-placement^=left] .arrow::after {
  border-left-color: #5e72e4;
}
.popover-secondary {
  background-color: #f7fafc;
}
.popover-secondary .popover-header {
  background-color: #f7fafc;
  color: #212529;
}
.popover-secondary .popover-body {
  color: #212529;
}
.popover-secondary .popover-header {
  border-color: rgba(33, 37, 41, 0.2);
}
.popover-secondary.bs-popover-top .arrow::after, .popover-secondary.bs-popover-auto[x-placement^=top] .arrow::after {
  border-top-color: #f7fafc;
}
.popover-secondary.bs-popover-right .arrow::after, .popover-secondary.bs-popover-auto[x-placement^=right] .arrow::after {
  border-right-color: #f7fafc;
}
.popover-secondary.bs-popover-bottom .arrow::after, .popover-secondary.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-bottom-color: #f7fafc;
}
.popover-secondary.bs-popover-left .arrow::after, .popover-secondary.bs-popover-auto[x-placement^=left] .arrow::after {
  border-left-color: #f7fafc;
}
.popover-success {
  background-color: #2dce89;
}
.popover-success .popover-header {
  background-color: #2dce89;
  color: #fff;
}
.popover-success .popover-body {
  color: #fff;
}
.popover-success .popover-header {
  border-color: rgba(255, 255, 255, 0.2);
}
.popover-success.bs-popover-top .arrow::after, .popover-success.bs-popover-auto[x-placement^=top] .arrow::after {
  border-top-color: #2dce89;
}
.popover-success.bs-popover-right .arrow::after, .popover-success.bs-popover-auto[x-placement^=right] .arrow::after {
  border-right-color: #2dce89;
}
.popover-success.bs-popover-bottom .arrow::after, .popover-success.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-bottom-color: #2dce89;
}
.popover-success.bs-popover-left .arrow::after, .popover-success.bs-popover-auto[x-placement^=left] .arrow::after {
  border-left-color: #2dce89;
}
.popover-info {
  background-color: #11cdef;
}
.popover-info .popover-header {
  background-color: #11cdef;
  color: #fff;
}
.popover-info .popover-body {
  color: #fff;
}
.popover-info .popover-header {
  border-color: rgba(255, 255, 255, 0.2);
}
.popover-info.bs-popover-top .arrow::after, .popover-info.bs-popover-auto[x-placement^=top] .arrow::after {
  border-top-color: #11cdef;
}
.popover-info.bs-popover-right .arrow::after, .popover-info.bs-popover-auto[x-placement^=right] .arrow::after {
  border-right-color: #11cdef;
}
.popover-info.bs-popover-bottom .arrow::after, .popover-info.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-bottom-color: #11cdef;
}
.popover-info.bs-popover-left .arrow::after, .popover-info.bs-popover-auto[x-placement^=left] .arrow::after {
  border-left-color: #11cdef;
}
.popover-warning {
  background-color: #fb6340;
}
.popover-warning .popover-header {
  background-color: #fb6340;
  color: #fff;
}
.popover-warning .popover-body {
  color: #fff;
}
.popover-warning .popover-header {
  border-color: rgba(255, 255, 255, 0.2);
}
.popover-warning.bs-popover-top .arrow::after, .popover-warning.bs-popover-auto[x-placement^=top] .arrow::after {
  border-top-color: #fb6340;
}
.popover-warning.bs-popover-right .arrow::after, .popover-warning.bs-popover-auto[x-placement^=right] .arrow::after {
  border-right-color: #fb6340;
}
.popover-warning.bs-popover-bottom .arrow::after, .popover-warning.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-bottom-color: #fb6340;
}
.popover-warning.bs-popover-left .arrow::after, .popover-warning.bs-popover-auto[x-placement^=left] .arrow::after {
  border-left-color: #fb6340;
}
.popover-danger {
  background-color: #f5365c;
}
.popover-danger .popover-header {
  background-color: #f5365c;
  color: #fff;
}
.popover-danger .popover-body {
  color: #fff;
}
.popover-danger .popover-header {
  border-color: rgba(255, 255, 255, 0.2);
}
.popover-danger.bs-popover-top .arrow::after, .popover-danger.bs-popover-auto[x-placement^=top] .arrow::after {
  border-top-color: #f5365c;
}
.popover-danger.bs-popover-right .arrow::after, .popover-danger.bs-popover-auto[x-placement^=right] .arrow::after {
  border-right-color: #f5365c;
}
.popover-danger.bs-popover-bottom .arrow::after, .popover-danger.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-bottom-color: #f5365c;
}
.popover-danger.bs-popover-left .arrow::after, .popover-danger.bs-popover-auto[x-placement^=left] .arrow::after {
  border-left-color: #f5365c;
}
.popover-light {
  background-color: #adb5bd;
}
.popover-light .popover-header {
  background-color: #adb5bd;
  color: #fff;
}
.popover-light .popover-body {
  color: #fff;
}
.popover-light .popover-header {
  border-color: rgba(255, 255, 255, 0.2);
}
.popover-light.bs-popover-top .arrow::after, .popover-light.bs-popover-auto[x-placement^=top] .arrow::after {
  border-top-color: #adb5bd;
}
.popover-light.bs-popover-right .arrow::after, .popover-light.bs-popover-auto[x-placement^=right] .arrow::after {
  border-right-color: #adb5bd;
}
.popover-light.bs-popover-bottom .arrow::after, .popover-light.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-bottom-color: #adb5bd;
}
.popover-light.bs-popover-left .arrow::after, .popover-light.bs-popover-auto[x-placement^=left] .arrow::after {
  border-left-color: #adb5bd;
}
.popover-dark {
  background-color: #212529;
}
.popover-dark .popover-header {
  background-color: #212529;
  color: #fff;
}
.popover-dark .popover-body {
  color: #fff;
}
.popover-dark .popover-header {
  border-color: rgba(255, 255, 255, 0.2);
}
.popover-dark.bs-popover-top .arrow::after, .popover-dark.bs-popover-auto[x-placement^=top] .arrow::after {
  border-top-color: #212529;
}
.popover-dark.bs-popover-right .arrow::after, .popover-dark.bs-popover-auto[x-placement^=right] .arrow::after {
  border-right-color: #212529;
}
.popover-dark.bs-popover-bottom .arrow::after, .popover-dark.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-bottom-color: #212529;
}
.popover-dark.bs-popover-left .arrow::after, .popover-dark.bs-popover-auto[x-placement^=left] .arrow::after {
  border-left-color: #212529;
}
.popover-default {
  background-color: #172b4d;
}
.popover-default .popover-header {
  background-color: #172b4d;
  color: #fff;
}
.popover-default .popover-body {
  color: #fff;
}
.popover-default .popover-header {
  border-color: rgba(255, 255, 255, 0.2);
}
.popover-default.bs-popover-top .arrow::after, .popover-default.bs-popover-auto[x-placement^=top] .arrow::after {
  border-top-color: #172b4d;
}
.popover-default.bs-popover-right .arrow::after, .popover-default.bs-popover-auto[x-placement^=right] .arrow::after {
  border-right-color: #172b4d;
}
.popover-default.bs-popover-bottom .arrow::after, .popover-default.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-bottom-color: #172b4d;
}
.popover-default.bs-popover-left .arrow::after, .popover-default.bs-popover-auto[x-placement^=left] .arrow::after {
  border-left-color: #172b4d;
}
.popover-white {
  background-color: #fff;
}
.popover-white .popover-header {
  background-color: #fff;
  color: #212529;
}
.popover-white .popover-body {
  color: #212529;
}
.popover-white .popover-header {
  border-color: rgba(33, 37, 41, 0.2);
}
.popover-white.bs-popover-top .arrow::after, .popover-white.bs-popover-auto[x-placement^=top] .arrow::after {
  border-top-color: #fff;
}
.popover-white.bs-popover-right .arrow::after, .popover-white.bs-popover-auto[x-placement^=right] .arrow::after {
  border-right-color: #fff;
}
.popover-white.bs-popover-bottom .arrow::after, .popover-white.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-bottom-color: #fff;
}
.popover-white.bs-popover-left .arrow::after, .popover-white.bs-popover-auto[x-placement^=left] .arrow::after {
  border-left-color: #fff;
}
.popover-neutral {
  background-color: #fff;
}
.popover-neutral .popover-header {
  background-color: #fff;
  color: #212529;
}
.popover-neutral .popover-body {
  color: #212529;
}
.popover-neutral .popover-header {
  border-color: rgba(33, 37, 41, 0.2);
}
.popover-neutral.bs-popover-top .arrow::after, .popover-neutral.bs-popover-auto[x-placement^=top] .arrow::after {
  border-top-color: #fff;
}
.popover-neutral.bs-popover-right .arrow::after, .popover-neutral.bs-popover-auto[x-placement^=right] .arrow::after {
  border-right-color: #fff;
}
.popover-neutral.bs-popover-bottom .arrow::after, .popover-neutral.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-bottom-color: #fff;
}
.popover-neutral.bs-popover-left .arrow::after, .popover-neutral.bs-popover-auto[x-placement^=left] .arrow::after {
  border-left-color: #fff;
}
.popover-darker {
  background-color: black;
}
.popover-darker .popover-header {
  background-color: black;
  color: #fff;
}
.popover-darker .popover-body {
  color: #fff;
}
.popover-darker .popover-header {
  border-color: rgba(255, 255, 255, 0.2);
}
.popover-darker.bs-popover-top .arrow::after, .popover-darker.bs-popover-auto[x-placement^=top] .arrow::after {
  border-top-color: black;
}
.popover-darker.bs-popover-right .arrow::after, .popover-darker.bs-popover-auto[x-placement^=right] .arrow::after {
  border-right-color: black;
}
.popover-darker.bs-popover-bottom .arrow::after, .popover-darker.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-bottom-color: black;
}
.popover-darker.bs-popover-left .arrow::after, .popover-darker.bs-popover-auto[x-placement^=left] .arrow::after {
  border-left-color: black;
}
.progress-wrapper {
  position: relative;
  padding-top: 1.5rem;
}
.progress {
  height: 8px;
  margin-bottom: 1rem;
  overflow: hidden;
  border-radius: 0.25rem;
  background-color: #e9ecef;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress .sr-only {
  width: auto;
  height: 20px;
  margin: 0 0 0 30px;
  left: 0;
  clip: auto;
  line-height: 20px;
  font-size: 13px;
}
.progress-heading {
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 2px;
  padding: 0;
}
.progress-bar {
  box-shadow: none;
  border-radius: 0;
  height: auto;
}
.progress-info {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.progress-label span {
  display: inline-block;
  color: #5e72e4;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  background: rgba(94, 114, 228, 0.1);
  padding: 0.25rem 1rem;
  border-radius: 30px;
}
.progress-percentage {
  text-align: right;
}
.progress-percentage span {
  display: inline-block;
  color: #8898aa;
  font-size: 0.875rem;
  font-weight: 600;
}
.separator {
  position: absolute;
  top: auto;
  left: 0;
  right: 0;
  width: 100%;
  height: 150px;
  transform: translateZ(0);
  overflow: hidden;
  pointer-events: none;
}
.separator svg {
  position: absolute;
  pointer-events: none;
}
.separator-top {
  top: 0;
  bottom: auto;
}
.separator-top svg {
  top: 0;
}
.separator-bottom {
  top: auto;
  bottom: 0;
}
.separator-bottom svg {
  bottom: 0;
}
.separator-inverse {
  transform: rotate(180deg);
}
.separator-skew {
  height: 60px;
}
@media (min-width: 1200px) {
  .separator-skew {
    height: 70px;
  }
}
.table thead th {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid #e9ecef;
}
.table th {
  font-weight: 600;
}
.table td .progress {
  height: 3px;
  width: 120px;
  margin: 0;
}
.table td,
.table th {
  font-size: 0.8125rem;
  white-space: nowrap;
}
.table.align-items-center td,
.table.align-items-center th {
  vertical-align: middle;
}
.table .thead-dark th {
  background-color: #1c345d;
  color: #4d7bca;
}
.table .thead-light th {
  background-color: #f6f9fc;
  color: #8898aa;
}
.table-hover tr {
  transition: all 0.15s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .table-hover tr {
    transition: none;
  }
}
.table-flush td,
.table-flush th {
  border-left: 0;
  border-right: 0;
}
.table-flush tbody tr:first-child td,
.table-flush tbody tr:first-child th {
  border-top: 0;
}
.table-flush tbody tr:last-child td,
.table-flush tbody tr:last-child th {
  border-bottom: 0;
}
.card .table {
  margin-bottom: 0;
}
.card .table td,
.card .table th {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
p {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.7;
}
.lead {
  font-size: 1.25rem;
  font-weight: 300;
  line-height: 1.7;
  margin-top: 1.5rem;
}
.lead + .btn-wrapper {
  margin-top: 3rem;
}
.description {
  font-size: 0.875rem;
}
.heading {
  letter-spacing: 0.025em;
  font-size: 0.95rem;
  text-transform: uppercase;
  font-weight: 600;
}
.heading-small {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.heading-title {
  letter-spacing: 0.025em;
  font-size: 1.375rem;
  font-weight: 600;
  text-transform: uppercase;
}
.heading-section {
  letter-spacing: 0.025em;
  font-size: 1.375rem;
  font-weight: 600;
  text-transform: uppercase;
}
.heading-section img {
  display: block;
  width: 72px;
  height: 72px;
  margin-bottom: 1.5rem;
}
.heading-section.text-center img {
  margin-left: auto;
  margin-right: auto;
}
.display-1 span,
.display-2 span,
.display-3 span,
.display-4 span {
  display: block;
  font-weight: 300;
}
article h4:not(:first-child),
article h5:not(:first-child) {
  margin-top: 3rem;
}
article h4, article h5 {
  margin-bottom: 1.5rem;
}
article figure {
  margin: 3rem 0;
}
article h5 + figure {
  margin-top: 0;
}
.datepicker {
  border-radius: 0.375rem;
  direction: ltr;
}
.datepicker-inline {
  width: 220px;
}
.datepicker-rtl {
  direction: rtl;
}
.datepicker-rtl.dropdown-menu {
  left: auto;
}
.datepicker-rtl table tr td span {
  float: right;
}
.datepicker-dropdown {
  top: 0;
  left: 0;
  padding: 20px 22px;
  box-shadow: 0 50px 100px rgba(50, 50, 93, 0.1), 0 15px 35px rgba(50, 50, 93, 0.15), 0 5px 15px rgba(0, 0, 0, 0.1);
}
.datepicker-dropdown.datepicker-orient-left:before {
  left: 6px;
}
.datepicker-dropdown.datepicker-orient-left:after {
  left: 7px;
}
.datepicker-dropdown.datepicker-orient-right:before {
  right: 6px;
}
.datepicker-dropdown.datepicker-orient-right:after {
  right: 7px;
}
.datepicker-dropdown.datepicker-orient-bottom:before {
  top: -7px;
}
.datepicker-dropdown.datepicker-orient-bottom:after {
  top: -6px;
}
.datepicker-dropdown.datepicker-orient-top:before {
  bottom: -7px;
  border-bottom: 0;
  border-top: 7px solid white;
}
.datepicker-dropdown.datepicker-orient-top:after {
  bottom: -6px;
  border-bottom: 0;
  border-top: 6px solid #fff;
}
.datepicker table {
  margin: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.datepicker table tr td {
  border-radius: 50%;
}
.datepicker table tr th {
  border-radius: 0.375rem;
  font-weight: 500;
}
.datepicker table tr td,
.datepicker table tr th {
  transition: all 0.15s ease;
  width: 36px;
  height: 36px;
  border: none;
  text-align: center;
  font-size: 0.875rem;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
  background-color: transparent;
}
.datepicker table tr td.old, .datepicker table tr td.new {
  color: #adb5bd;
}
.datepicker table tr td.day:hover, .datepicker table tr td.focused {
  background: white;
  cursor: pointer;
}
.datepicker table tr td.disabled, .datepicker table tr td.disabled:hover {
  background: none;
  color: #dee2e6;
  cursor: default;
}
.datepicker table tr td.highlighted {
  border-radius: 0;
}
.datepicker table tr td.highlighted.focused {
  background: #5e72e4;
}
.datepicker table tr td.highlighted.disabled, .datepicker table tr td.highlighted.disabled:active {
  background: #5e72e4;
  color: #ced4da;
}
.datepicker table tr td.today {
  background: white;
}
.datepicker table tr td.today.focused {
  background: white;
}
.datepicker table tr td.today.disabled, .datepicker table tr td.today.disabled:active {
  background: white;
  color: #8898aa;
}
.datepicker table tr td.range {
  background: #5e72e4;
  color: #fff;
  border-radius: 0;
}
.datepicker table tr td.range.focused {
  background: #3b53de;
}
.datepicker table tr td.range.disabled, .datepicker table tr td.range.disabled:active, .datepicker table tr td.range.day.disabled:hover {
  background: #324cdd;
  color: #8a98eb;
}
.datepicker table tr td.range.highlighted.focused {
  background: #cbd3da;
}
.datepicker table tr td.range.highlighted.disabled, .datepicker table tr td.range.highlighted.disabled:active {
  background: #e9ecef;
  color: #dee2e6;
}
.datepicker table tr td.range.today.disabled, .datepicker table tr td.range.today.disabled:active {
  background: #5e72e4;
  color: #fff;
}
.datepicker table tr td.day.range-start {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.datepicker table tr td.day.range-end {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.datepicker table tr td.day.range-start.range-end {
  border-radius: 50%;
}
.datepicker table tr td.selected, .datepicker table tr td.selected.highlighted, .datepicker table tr td.selected:hover, .datepicker table tr td.selected.highlighted:hover, .datepicker table tr td.day.range:hover {
  background: #5e72e4;
  color: #fff;
}
.datepicker table tr td.active, .datepicker table tr td.active.highlighted, .datepicker table tr td.active:hover, .datepicker table tr td.active.highlighted:hover {
  background: #5e72e4;
  color: #fff;
  box-shadow: none;
}
.datepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer;
  border-radius: 4px;
}
.datepicker table tr td span:hover, .datepicker table tr td span.focused {
  background: #e9ecef;
}
.datepicker table tr td span.disabled, .datepicker table tr td span.disabled:hover {
  background: none;
  color: #dee2e6;
  cursor: default;
}
.datepicker table tr td span.active, .datepicker table tr td span.active:hover, .datepicker table tr td span.active.disabled, .datepicker table tr td span.active.disabled:hover {
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.old, .datepicker table tr td span.new {
  color: #8898aa;
}
.datepicker .datepicker-switch {
  width: 145px;
}
.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next,
.datepicker tfoot tr th {
  cursor: pointer;
}
.datepicker .datepicker-switch:hover,
.datepicker .prev:hover,
.datepicker .next:hover,
.datepicker tfoot tr th:hover {
  background: #e9ecef;
}
.datepicker .prev.disabled,
.datepicker .next.disabled {
  visibility: hidden;
}
.datepicker .cw {
  font-size: 10px;
  width: 12px;
  padding: 0 2px 0 5px;
  vertical-align: middle;
}
.noUi-target,
.noUi-target * {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  touch-action: none;
  -moz-user-select: none;
       user-select: none;
  box-sizing: border-box;
}
.noUi-target {
  position: relative;
  direction: ltr;
}
.noUi-base,
.noUi-connects {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.noUi-connects {
  overflow: hidden;
  z-index: 0;
}
.noUi-connect,
.noUi-origin {
  will-change: transform;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  transform-origin: 0 0;
}
html:not([dir=rtl]) .noUi-horizontal .noUi-origin {
  left: auto;
  right: 0;
}
.noUi-vertical .noUi-origin {
  width: 0;
}
.noUi-horizontal .noUi-origin {
  height: 0;
}
.noUi-handle {
  position: absolute;
}
.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
  transition: transform 0.3s;
}
.noUi-state-drag * {
  cursor: inherit !important;
}
.noUi-horizontal {
  height: 5px;
}
.noUi-horizontal .noUi-handle {
  width: 34px;
  height: 28px;
  left: -17px;
  top: -6px;
}
.noUi-vertical {
  width: 5px;
}
.noUi-vertical .noUi-handle {
  width: 28px;
  height: 34px;
  left: -6px;
  top: -17px;
}
html:not([dir=rtl]) .noUi-horizontal .noUi-handle {
  right: -17px;
  left: auto;
}
.noUi-connects {
  border-radius: 3px;
}
.noUi-connect {
  background: #5e72e4;
}
.noUi-draggable {
  cursor: ew-resize;
}
.noUi-vertical .noUi-draggable {
  cursor: ns-resize;
}
.noUi-handle {
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #FFF;
  cursor: default;
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
  outline: none;
}
.noUi-active {
  outline: none;
}
/* Disabled state;
 */
[disabled] .noUi-connect {
  background: #B8B8B8;
}
[disabled].noUi-target,
[disabled].noUi-handle,
[disabled] .noUi-handle {
  cursor: not-allowed;
}
/* Base;
 *
 */
.noUi-pips,
.noUi-pips * {
  box-sizing: border-box;
}
.noUi-pips {
  position: absolute;
  color: #999;
}
/* Values;
 *
 */
.noUi-value {
  position: absolute;
  white-space: nowrap;
  text-align: center;
}
.noUi-value-sub {
  color: #ccc;
  font-size: 10px;
}
/* Markings;
 *
 */
.noUi-marker {
  position: absolute;
  background: #CCC;
}
.noUi-marker-sub {
  background: #AAA;
}
.noUi-marker-large {
  background: #AAA;
}
/* Horizontal layout;
 *
 */
.noUi-pips-horizontal {
  padding: 10px 0;
  height: 80px;
  top: 100%;
  left: 0;
  width: 100%;
}
.noUi-value-horizontal {
  transform: translate(-50%, 50%);
}
.noUi-rtl .noUi-value-horizontal {
  transform: translate(50%, 50%);
}
.noUi-marker-horizontal.noUi-marker {
  margin-left: -1px;
  width: 2px;
  height: 5px;
}
.noUi-marker-horizontal.noUi-marker-sub {
  height: 10px;
}
.noUi-marker-horizontal.noUi-marker-large {
  height: 15px;
}
/* Vertical layout;
 *
 */
.noUi-pips-vertical {
  padding: 0 10px;
  height: 100%;
  top: 0;
  left: 100%;
}
.noUi-value-vertical {
  transform: translate(0, -50%, 0);
  padding-left: 25px;
}
.noUi-rtl .noUi-value-vertical {
  transform: translate(0, 50%);
}
.noUi-marker-vertical.noUi-marker {
  width: 5px;
  height: 2px;
  margin-top: -1px;
}
.noUi-marker-vertical.noUi-marker-sub {
  width: 10px;
}
.noUi-marker-vertical.noUi-marker-large {
  width: 15px;
}
.noUi-tooltip {
  display: block;
  position: absolute;
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #fff;
  color: #000;
  padding: 5px;
  text-align: center;
  white-space: nowrap;
}
.noUi-horizontal .noUi-tooltip {
  transform: translate(-50%, 0);
  left: 50%;
  bottom: 120%;
}
.noUi-vertical .noUi-tooltip {
  transform: translate(0, -50%);
  top: 50%;
  right: 120%;
}
.noUi-target {
  background: #eceeef;
  border-radius: 5px;
  border: 0;
  box-shadow: inset 0 1px 2px rgba(90, 97, 105, 0.1);
  margin: 15px 0;
  cursor: pointer;
}
.noUi-horizontal {
  height: 5px;
}
html:not([dir=rtl]) .noUi-horizontal .noUi-handle {
  right: -10px;
}
.noUi-vertical {
  width: 5px;
}
.noUi-connect {
  background: #5e72e4;
  box-shadow: none;
}
.noUi-horizontal .noUi-handle,
.noUi-vertical .noUi-handle {
  top: -5px;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  box-shadow: none;
  cursor: pointer;
  background-color: #5e72e4;
  border: 0;
  transition: box-shadow 0.15s, transform 0.15s;
}
.noUi-horizontal .noUi-handle.noUi-active,
.noUi-vertical .noUi-handle.noUi-active {
  box-shadow: 0px 0px 0px 2px #5e72e4;
}
.input-slider--cyan .noUi-connect {
  background: #2bffc6;
}
/* Disabled state */
[disabled] .noUi-connect,
[disabled].noUi-connect {
  background: #b2b2b2;
}
[disabled] .noUi-handle,
[disabled].noUi-origin {
  cursor: not-allowed;
}
/* Range slider value labels */
.range-slider-value {
  font-size: 0.75rem;
  font-weight: 500;
  background-color: rgba(33, 37, 41, 0.7);
  color: #fff;
  border-radius: 10px;
  padding: 0.4em 0.8em 0.3em 0.85em;
}
.range-slider-wrapper .upper-info {
  font-weight: 400;
  margin-bottom: 5px;
}
.input-slider-value-output {
  background: #333;
  color: #fff;
  padding: 4px 8px;
  position: relative;
  top: 12px;
  font-size: 11px;
  border-radius: 2px;
}
.input-slider-value-output:after {
  bottom: 100%;
  left: 10px;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(136, 183, 213, 0);
  border-bottom-color: #333;
  border-width: 4px;
  margin-left: -4px;
}
.input-slider-value-output.left:after {
  left: 10px;
  right: auto;
}
.input-slider-value-output.right:after {
  right: 10px;
  left: auto;
}
.scrollbar-inner {
  height: 100%;
}
.scrollbar-inner:not(:hover) .scroll-element {
  opacity: 0;
}
.scrollbar-inner .scroll-element {
  transition: opacity 300ms;
  margin-right: 2px;
}
.scrollbar-inner .scroll-element .scroll-bar,
.scrollbar-inner .scroll-element .scroll-element_track {
  transition: background-color 300ms;
}
.scrollbar-inner .scroll-element .scroll-element_track {
  background-color: transparent;
}
.scrollbar-inner .scroll-element.scroll-y {
  width: 3px;
  right: 0;
}
.scrollbar-inner .scroll-element.scroll-x {
  height: 3px;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  html:not(.auth-layout) .main-content {
    margin-left: 250px;
  }
}
.fixed-right .navbar-vertical.navbar-expand-md {
  right: 0;
  border-width: 0 0 0 1px;
}
.fixed-right .main-content {
  margin-right: 250px;
  margin-left: 0;
}
@media screen and (max-width: 568px) {
  html:not(.auth-layout) .main-content {
    margin-left: 0;
  }
}
.dropdown .dropdown-toggle::after,
.dropup .dropdown-toggle::after {
  display: none;
}
.dropdown .dropdown-menu .dropdown-item.active,
.dropup .dropdown-menu .dropdown-item.active {
  background-color: inherit;
  color: inherit;
  text-decoration: inherit;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FyZ29uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCIuLi8uLi8uLi9jdXN0b20vX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JveC1zaGFkb3cuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29kZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL2NvcmUvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIi4uLy4uLy4uL2NvcmUvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9jb3JlL21peGlucy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FsZXJ0LnNjc3MiLCIuLi8uLi8uLi9jb3JlL21peGlucy9fYWxlcnQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCIuLi8uLi8uLi9jb3JlL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19ib3JkZXJzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9jdXN0b20vX3JlYm9vdC5zY3NzIiwiLi4vLi4vLi4vY29yZS91dGlsaXRpZXMvX2JhY2tncm91bmRzLnNjc3MiLCIuLi8uLi8uLi9jb3JlL3V0aWxpdGllcy9fZmxvYXRpbmcuc2NzcyIsIi4uLy4uLy4uL2NvcmUvdXRpbGl0aWVzL19oZWxwZXIuc2NzcyIsIi4uLy4uLy4uL2NvcmUvdXRpbGl0aWVzL19pbWFnZS5zY3NzIiwiLi4vLi4vLi4vY29yZS91dGlsaXRpZXMvX29wYWNpdHkuc2NzcyIsIi4uLy4uLy4uL2NvcmUvdXRpbGl0aWVzL19vdmVyZmxvdy5zY3NzIiwiLi4vLi4vLi4vY29yZS91dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9jb3JlL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIuLi8uLi8uLi9jb3JlL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vY29yZS91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIi4uLy4uLy4uL2NvcmUvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9jb3JlL3V0aWxpdGllcy9fdHJhbnNmb3JtLnNjc3MiLCIuLi8uLi8uLi9jb3JlL2FsZXJ0cy9fYWxlcnQuc2NzcyIsIi4uLy4uLy4uL2NvcmUvYWxlcnRzL19hbGVydC1kaXNtaXNzaWJsZS5zY3NzIiwiLi4vLi4vLi4vY29yZS9hdmF0YXJzL19hdmF0YXIuc2NzcyIsIi4uLy4uLy4uL2NvcmUvYXZhdGFycy9fYXZhdGFyLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9jb3JlL2JhZGdlcy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uL2NvcmUvYmFkZ2VzL19iYWRnZS1jaXJjbGUuc2NzcyIsIi4uLy4uLy4uL2NvcmUvYmFkZ2VzL19iYWRnZS1kb3Quc2NzcyIsIi4uLy4uLy4uL2NvcmUvYnV0dG9ucy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9jb3JlL2J1dHRvbnMvX2J1dHRvbi1pY29uLnNjc3MiLCIuLi8uLi8uLi9jb3JlL2J1dHRvbnMvX2J1dHRvbi1icmFuZC5zY3NzIiwiLi4vLi4vLi4vY29yZS9jYXJkcy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vY29yZS9jYXJkcy9fY2FyZC1wcm9maWxlLnNjc3MiLCIuLi8uLi8uLi9jb3JlL2NhcmRzL19jYXJkLWJsb2NrcXVvdGUuc2NzcyIsIi4uLy4uLy4uL2NvcmUvY2FyZHMvX2NhcmQtYW5pbWF0aW9ucy5zY3NzIiwiLi4vLi4vLi4vY29yZS9jYXJkcy9fY2FyZC1zdGF0cy5zY3NzIiwiLi4vLi4vLi4vY29yZS9jaGFydHMvX2NoYXJ0LnNjc3MiLCIuLi8uLi8uLi9jb3JlL2Nsb3NlL19jbG9zZS5zY3NzIiwiLi4vLi4vLi4vY3VzdG9tL19jb250ZW50LnNjc3MiLCIuLi8uLi8uLi9jb3JlL2N1c3RvbS1mb3Jtcy9fY3VzdG9tLWZvcm0uc2NzcyIsIi4uLy4uLy4uL2NvcmUvY3VzdG9tLWZvcm1zL19jdXN0b20tY29udHJvbC5zY3NzIiwiLi4vLi4vLi4vY29yZS9jdXN0b20tZm9ybXMvX2N1c3RvbS1jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vY29yZS9jdXN0b20tZm9ybXMvX2N1c3RvbS1yYWRpby5zY3NzIiwiLi4vLi4vLi4vY29yZS9jdXN0b20tZm9ybXMvX2N1c3RvbS10b2dnbGUuc2NzcyIsIi4uLy4uLy4uL2NvcmUvZHJvcGRvd25zL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vY29yZS9mb290ZXJzL19mb290ZXIuc2NzcyIsIi4uLy4uLy4uL2NvcmUvZm9ybXMvX2Zvcm0uc2NzcyIsIi4uLy4uLy4uL2NvcmUvZm9ybXMvX2Zvcm0tdmFsaWRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vY29yZS9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL2NvcmUvaGVhZGVycy9faGVhZGVyLnNjc3MiLCIuLi8uLi8uLi9jb3JlL2ljb25zL19pY29uLnNjc3MiLCIuLi8uLi8uLi9jb3JlL2ljb25zL19pY29uLXNoYXBlLnNjc3MiLCIuLi8uLi8uLi9jb3JlL21peGlucy9faWNvbi5zY3NzIiwiLi4vLi4vLi4vY29yZS9saXN0LWdyb3Vwcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vY29yZS9tYXBzL19tYXAuc2NzcyIsIi4uLy4uLy4uL2NvcmUvbWFza3MvX21hc2suc2NzcyIsIi4uLy4uLy4uL2NvcmUvbW9kYWxzL19tb2RhbC5zY3NzIiwiLi4vLi4vLi4vY29yZS9taXhpbnMvX21vZGFscy5zY3NzIiwiLi4vLi4vLi4vY29yZS9uYXZzL19uYXYuc2NzcyIsIi4uLy4uLy4uL2NvcmUvbmF2cy9fbmF2LXBpbGxzLnNjc3MiLCIuLi8uLi8uLi9jb3JlL25hdmJhcnMvX25hdmJhci5zY3NzIiwiLi4vLi4vLi4vY29yZS9uYXZiYXJzL19uYXZiYXItdmVydGljYWwuc2NzcyIsIi4uLy4uLy4uL2NvcmUvbmF2YmFycy9fbmF2YmFyLXNlYXJjaC5zY3NzIiwiLi4vLi4vLi4vY29yZS9uYXZiYXJzL19uYXZiYXItZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL2NvcmUvbmF2YmFycy9fbmF2YmFyLWNvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9jb3JlL3BhZ2luYXRpb25zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9jb3JlL3BvcG92ZXJzL19wb3BvdmVyLnNjc3MiLCIuLi8uLi8uLi9jb3JlL21peGlucy9fcG9wb3Zlci5zY3NzIiwiLi4vLi4vLi4vY29yZS9wcm9ncmVzc2VzL19wcm9ncmVzcy5zY3NzIiwiLi4vLi4vLi4vY29yZS9zZXBhcmF0b3JzL19zZXBhcmF0b3Iuc2NzcyIsIi4uLy4uLy4uL2NvcmUvdGFibGVzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vY29yZS90eXBlL190eXBlLnNjc3MiLCIuLi8uLi8uLi9jb3JlL3R5cGUvX2hlYWRpbmcuc2NzcyIsIi4uLy4uLy4uL2NvcmUvdHlwZS9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vY29yZS90eXBlL19hcnRpY2xlLnNjc3MiLCIuLi8uLi8uLi9jb3JlL3ZlbmRvcnMvX2Jvb3RzdHJhcC1kYXRlcGlja2VyLnNjc3MiLCIuLi8uLi8uLi9jb3JlL3ZlbmRvcnMvX25vdWlzbGlkZXIuc2NzcyIsIi4uLy4uLy4uL2NvcmUvdmVuZG9ycy9fc2Nyb2xsYmFyLnNjc3MiLCIuLi8uLi8uLi9hbmd1bGFyLWRpZmZlcmVuY2VzL19zaWRlYmFyLWFuZC1tYWluLXBhbmVsLnNjc3MiLCIuLi8uLi8uLi9hbmd1bGFyLWRpZmZlcmVuY2VzL19yZXNwb25zaXZlLnNjc3MiLCIuLi8uLi8uLi9hbmd1bGFyLWRpZmZlcmVuY2VzL3BsdWdpbnMvX25nLWJvb3RzdHJhcC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUFoQjs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7RUFHSSxlQUFBO0VBQUEsaUJBQUE7RUFBQSxpQkFBQTtFQUFBLGVBQUE7RUFBQSxjQUFBO0VBQUEsaUJBQUE7RUFBQSxpQkFBQTtFQUFBLGdCQUFBO0VBQUEsZUFBQTtFQUFBLGVBQUE7RUFBQSxhQUFBO0VBQUEsZUFBQTtFQUFBLG9CQUFBO0VBQUEsZ0JBQUE7RUFBQSxrQkFBQTtFQUlBLGtCQUFBO0VBQUEsb0JBQUE7RUFBQSxrQkFBQTtFQUFBLGVBQUE7RUFBQSxrQkFBQTtFQUFBLGlCQUFBO0VBQUEsZ0JBQUE7RUFBQSxlQUFBO0VBQUEsa0JBQUE7RUFBQSxhQUFBO0VBQUEsZUFBQTtFQUFBLGVBQUE7RUFJQSxrQkFBQTtFQUFBLHNCQUFBO0VBQUEsc0JBQUE7RUFBQSxzQkFBQTtFQUFBLHVCQUFBO0VBS0YsK0NBQUE7RUFDQSw2R0FBQTtBRG9DRjtBRWpDQTs7O0VBR0Usc0JBQUE7QUZvQ0Y7QUVqQ0E7RUFDRSx1QkFBQTtFQUNBLGlCQUFBO0VBQ0EsOEJBQUE7RUFDQSwwQkFBQTtFQUNBLDZCQUFBO0VBQ0EsNkNBQUE7QUZvQ0Y7QUV4QkE7RUFDRSxjQUFBO0FGOEJGO0FFbkJBO0VBQ0UsU0FBQTtFQUNBLGtDQ21TdUI7RURsU3ZCLGVDcVM0QjtFRHBTNUIsZ0JDMlM0QjtFRDFTNUIsZ0JDK1M0QjtFRDlTNUIsY0NWUztFRFdULGdCQUFBO0VBQ0EseUJDMEtRO0FIcEpWO0FFZEE7RUFDRSxxQkFBQTtBRmlCRjtBRVJBO0VBQ0UsdUJBQUE7RUFDQSxTQUFBO0VBQ0EsaUJBQUE7QUZXRjtBRUVBO0VBQ0UsYUFBQTtFQUNBLHFCQ29SNEI7QUhuUjlCO0FFT0E7RUFDRSxhQUFBO0VBQ0EsbUJFaUQwQjtBSnJENUI7QUVjQTs7RUFFRSwwQkFBQTtFQUNBLHlDQUFBO1VBQUEsaUNBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7QUZYRjtBRWNBO0VBQ0UsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0FGWEY7QUVjQTs7O0VBR0UsYUFBQTtFQUNBLG1CQUFBO0FGWEY7QUVjQTs7OztFQUlFLGdCQUFBO0FGWEY7QUVjQTtFQUNFLGdCQ21ONEI7QUg5TjlCO0FFY0E7RUFDRSxxQkFBQTtFQUNBLGNBQUE7QUZYRjtBRWNBO0VBQ0UsZ0JBQUE7QUZYRjtBRWNBO0VBQ0Usa0JBQUE7QUZYRjtBRWVBOztFQUVFLG1CQUFBO0FGWkY7QUVnQkE7RUFDRSxjQUFBO0FGYkY7QUVxQkE7O0VBRUUsa0JBQUE7RUFDQSxjQUFBO0VBQ0EsY0FBQTtFQUNBLHdCQUFBO0FGbEJGO0FFcUJBO0VBQU0sZUFBQTtBRmpCTjtBRWtCQTtFQUFNLFdBQUE7QUZkTjtBRXFCQTtFQUNFLGNDakdjO0VEa0dkLHFCQ3NEMEI7RURyRDFCLDZCQUFBO0VBQ0EscUNBQUE7QUZsQkY7QUszS0U7RUhnTUUsY0NrRHdCO0VEakR4QixxQkNrRHdCO0FIcEU1QjtBRTRCQTtFQUNFLGNBQUE7RUFDQSxxQkFBQTtBRnpCRjtBS2hMRTtFSDRNRSxjQUFBO0VBQ0EscUJBQUE7QUZ6Qko7QUU0QkU7RUFDRSxVQUFBO0FGMUJKO0FFbUNBOzs7O0VBSUUsaUdFSjRCO0VGSzVCLGNBQUE7QUZoQ0Y7QUVtQ0E7RUFFRSxhQUFBO0VBRUEsbUJBQUE7RUFFQSxjQUFBO0VBR0EsNkJBQUE7QUZyQ0Y7QUU2Q0E7RUFFRSxnQkFBQTtBRjNDRjtBRW1EQTtFQUNFLHNCQUFBO0VBQ0Esa0JBQUE7QUZoREY7QUVtREE7RUFDRSxnQkFBQTtBRmhERjtBRXdEQTtFQUNFLHlCQUFBO0FGckRGO0FFd0RBO0VBQ0UsaUJDOEo0QjtFRDdKNUIsb0JDNko0QjtFRDVKNUIsY0MvT1M7RURnUFQsZ0JBQUE7RUFDQSxvQkFBQTtBRnJERjtBRXdEQTtFQUdFLG1CQUFBO0FGdkRGO0FFK0RBO0VBRUUscUJBQUE7RUFDQSxxQkVpRnNDO0FKOUl4QztBRW1FQTtFQUNFLGdCQUFBO0FGaEVGO0FFdUVBO0VBQ0UsbUJBQUE7RUFDQSwwQ0FBQTtBRnBFRjtBRXVFQTs7Ozs7RUFLRSxTQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0FGcEVGO0FFdUVBOztFQUVFLGlCQUFBO0FGcEVGO0FFdUVBOztFQUVFLG9CQUFBO0FGcEVGO0FFMEVBOzs7O0VBSUUsMEJBQUE7QUZ2RUY7QUUyRUE7Ozs7RUFJRSxVQUFBO0VBQ0Esa0JBQUE7QUZ4RUY7QUUyRUE7O0VBRUUsc0JBQUE7RUFDQSxVQUFBO0FGeEVGO0FFNEVBOzs7O0VBU0UsMkJBQUE7QUY5RUY7QUVpRkE7RUFDRSxjQUFBO0VBRUEsZ0JBQUE7QUYvRUY7QUVrRkE7RUFNRSxZQUFBO0VBRUEsVUFBQTtFQUNBLFNBQUE7RUFDQSxTQUFBO0FGckZGO0FFMEZBO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsVUFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtBRnZGRjtBRTBGQTtFQUNFLHdCQUFBO0FGdkZGO0FFMkZBOztFQUVFLFlBQUE7QUZ4RkY7QUUyRkE7RUFLRSxvQkFBQTtFQUNBLHdCQUFBO0FGNUZGO0FFbUdBOztFQUVFLHdCQUFBO0FGaEdGO0FFd0dBO0VBQ0UsYUFBQTtFQUNBLDBCQUFBO0FGckdGO0FFNEdBO0VBQ0UscUJBQUE7QUZ6R0Y7QUU0R0E7RUFDRSxrQkFBQTtFQUNBLGVBQUE7QUZ6R0Y7QUU0R0E7RUFDRSxhQUFBO0FGekdGO0FFOEdBO0VBQ0Usd0JBQUE7QUYzR0Y7QU03V0E7O0VBRUUscUJIZ1g0QjtFRy9XNUIsb0JIZ1g0QjtFRy9XNUIsZ0JIOFY0QjtFRzdWNUIsZ0JIZ1g0QjtFRy9XNUIsY0h5Q1M7QUh1VVg7QU03V0E7RUFBVSxtQkhpV29CO0FIZ0I5QjtBTWhYQTtFQUFVLGtCSGlXb0I7QUhtQjlCO0FNblhBO0VBQVUsb0JIaVdvQjtBSHNCOUI7QU10WEE7RUFBVSxvQkhpV29CO0FIeUI5QjtBTXpYQTtFQUFVLG9CSGlXb0I7QUg0QjlCO0FNNVhBO0VBQVUsbUJIaVdvQjtBSCtCOUI7QU05WEE7RUFDRSxrQkhxWTRCO0VHcFk1QixnQkhxWTRCO0FISjlCO0FNN1hBO0VBQ0UsaUJIZ1g0QjtFRy9XNUIsZ0JIMFU0QjtFR3pVNUIsZ0JINFY0QjtBSG9DOUI7QU05WEE7RUFDRSxrQkg0VzRCO0VHM1c1QixnQkhxVTRCO0VHcFU1QixnQkh1VjRCO0FIMEM5QjtBTS9YQTtFQUNFLG9CSHdXNEI7RUd2VzVCLGdCSGdVNEI7RUcvVDVCLGdCSGtWNEI7QUhnRDlCO0FNaFlBO0VBQ0Usb0JIb1c0QjtFR25XNUIsZ0JIMlQ0QjtFRzFUNUIsZ0JINlU0QjtBSHNEOUI7QU0zWEE7RUFDRSxnQkgwWDRCO0VHelg1QixtQkh5WDRCO0VHeFg1QixTQUFBO0VBQ0Esd0NBQUE7QU44WEY7QU10WEE7O0VBRUUsY0gyVjRCO0VHMVY1QixnQkhrUzRCO0FIdUY5QjtBTXRYQTs7RUFFRSxjSCtWNEI7RUc5VjVCLHlCSG9XNEI7QUhxQjlCO0FNalhBO0VDL0VFLGVBQUE7RUFDQSxnQkFBQTtBUG9jRjtBTWpYQTtFQ3BGRSxlQUFBO0VBQ0EsZ0JBQUE7QVB5Y0Y7QU1uWEE7RUFDRSxxQkFBQTtBTnNYRjtBTXBYRTtFQUNFLG9CSDhVMEI7QUh3QzlCO0FNNVdBO0VBQ0UsY0FBQTtFQUNBLHlCQUFBO0FOK1dGO0FNM1dBO0VBQ0UsbUJIdUtPO0VHdEtQLGtCSG1UNEI7QUgyRDlCO0FNM1dBO0VBQ0UsY0FBQTtFQUNBLGNBQUE7RUFDQSxjSHBFUztBSGtiWDtBTTVXRTtFQUNFLGFBQUE7QU44V0o7QVFqZUE7RUNJRSxlQUFBO0VBR0EsWUFBQTtBVCtkRjtBUWhlQTtFQUNFLGdCSnMwQmtDO0VJcjBCbEMseUJMMk5RO0VLMU5SLHlCQUFBO0VFWkUsdUJQK1QwQjtFUWpVMUIsMENIZ0JGO0VDUEEsZUFBQTtFQUdBLFlBQUE7QVR5ZUY7QVEzZEE7RUFFRSxxQkFBQTtBUjZkRjtBUTFkQTtFQUNFLHFCQUFBO0VBQ0EsY0FBQTtBUjZkRjtBUTFkQTtFQUNFLGNKdXpCa0M7RUl0ekJsQyxjTFdTO0FIa2RYO0FZcGdCQTtFQUNFLGdCUis0QmtDO0VROTRCbEMsY1RzRVE7RVNyRVIsc0JBQUE7QVp1Z0JGO0FZcGdCRTtFQUNFLGNBQUE7QVpzZ0JKO0FZamdCQTtFQUNFLHNCQUFBO0VBQ0EsZ0JSazRCa0M7RVFqNEJsQyxXVDZCUztFUzVCVCx5QlRxQ1M7RU9sRFAsc0JQa1UwQjtFUXBVMUIsaURDaUJGO0Fab2dCRjtBWWxnQkU7RUFDRSxVQUFBO0VBQ0EsZUFBQTtFQUNBLGdCVGdWMEI7RVF0VzFCLGdCQ3VCQTtBWm9nQko7QVkvZkE7RUFDRSxjQUFBO0VBQ0EsZ0JSaTNCa0M7RVFoM0JsQyxjVHFCUztBSDZlWDtBWS9mRTtFQUNFLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0FaaWdCSjtBWTVmQTtFQUNFLGlCUjgyQmtDO0VRNzJCbEMsa0JBQUE7QVorZkY7QWF4aUJFO0VDQUEsV0FBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0FkNGlCRjtBZXpmSTtFRnZERjtJQ1lJLGdCVnNLaUI7RUprWXJCO0FBQ0Y7QWU5Zkk7RUZ2REY7SUNZSSxnQlZzS2lCO0VKdVlyQjtBQUNGO0FlbmdCSTtFRnZERjtJQ1lJLGdCVnNLaUI7RUo0WXJCO0FBQ0Y7QWV4Z0JJO0VGdkRGO0lDWUksaUJWc0tpQjtFSmlackI7QUFDRjtBYXhqQkU7RUNaQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7QWR3a0JGO0FhdGpCRTtFQ0pBLGFBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBZDhqQkY7QWF2akJFO0VBQ0UsZUFBQTtFQUNBLGNBQUE7QWIwakJKO0FheGpCSTs7RUFFRSxnQkFBQTtFQUNBLGVBQUE7QWIwakJOO0FnQjNsQkU7Ozs7OztFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FoQm1tQko7QWdCaGxCTTtFQUNFLGFBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBaEJtbEJSO0FnQmpsQk07RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7QWhCb2xCUjtBZ0JobEJRO0VGRk4sdUJBQUE7RUFJQSx3QkFBQTtBZG1sQkY7QWdCcmxCUTtFRkZOLHdCQUFBO0VBSUEseUJBQUE7QWR3bEJGO0FnQjFsQlE7RUZGTixhQUFBO0VBSUEsY0FBQTtBZDZsQkY7QWdCL2xCUTtFRkZOLHdCQUFBO0VBSUEseUJBQUE7QWRrbUJGO0FnQnBtQlE7RUZGTix3QkFBQTtFQUlBLHlCQUFBO0FkdW1CRjtBZ0J6bUJRO0VGRk4sYUFBQTtFQUlBLGNBQUE7QWQ0bUJGO0FnQjltQlE7RUZGTix3QkFBQTtFQUlBLHlCQUFBO0FkaW5CRjtBZ0JubkJRO0VGRk4sd0JBQUE7RUFJQSx5QkFBQTtBZHNuQkY7QWdCeG5CUTtFRkZOLGFBQUE7RUFJQSxjQUFBO0FkMm5CRjtBZ0I3bkJRO0VGRk4sd0JBQUE7RUFJQSx5QkFBQTtBZGdvQkY7QWdCbG9CUTtFRkZOLHdCQUFBO0VBSUEseUJBQUE7QWRxb0JGO0FnQnZvQlE7RUZGTixjQUFBO0VBSUEsZUFBQTtBZDBvQkY7QWdCdm9CTTtFQUF3QixTQUFBO0FoQjJvQjlCO0FnQnpvQk07RUFBdUIsU0FBQTtBaEI2b0I3QjtBZ0Ixb0JRO0VBQXdCLFFBRGI7QWhCK29CbkI7QWdCOW9CUTtFQUF3QixRQURiO0FoQm1wQm5CO0FnQmxwQlE7RUFBd0IsUUFEYjtBaEJ1cEJuQjtBZ0J0cEJRO0VBQXdCLFFBRGI7QWhCMnBCbkI7QWdCMXBCUTtFQUF3QixRQURiO0FoQitwQm5CO0FnQjlwQlE7RUFBd0IsUUFEYjtBaEJtcUJuQjtBZ0JscUJRO0VBQXdCLFFBRGI7QWhCdXFCbkI7QWdCdHFCUTtFQUF3QixRQURiO0FoQjJxQm5CO0FnQjFxQlE7RUFBd0IsUUFEYjtBaEIrcUJuQjtBZ0I5cUJRO0VBQXdCLFFBRGI7QWhCbXJCbkI7QWdCbHJCUTtFQUF3QixTQURiO0FoQnVyQm5CO0FnQnRyQlE7RUFBd0IsU0FEYjtBaEIyckJuQjtBZ0IxckJRO0VBQXdCLFNBRGI7QWhCK3JCbkI7QWdCeHJCVTtFRlRSLDBCQUFBO0FkcXNCRjtBZ0I1ckJVO0VGVFIsMkJBQUE7QWR5c0JGO0FnQmhzQlU7RUZUUixnQkFBQTtBZDZzQkY7QWdCcHNCVTtFRlRSLDJCQUFBO0FkaXRCRjtBZ0J4c0JVO0VGVFIsMkJBQUE7QWRxdEJGO0FnQjVzQlU7RUZUUixnQkFBQTtBZHl0QkY7QWdCaHRCVTtFRlRSLDJCQUFBO0FkNnRCRjtBZ0JwdEJVO0VGVFIsMkJBQUE7QWRpdUJGO0FnQnh0QlU7RUZUUixnQkFBQTtBZHF1QkY7QWdCNXRCVTtFRlRSLDJCQUFBO0FkeXVCRjtBZ0JodUJVO0VGVFIsMkJBQUE7QWQ2dUJGO0FlbnVCSTtFQzdCRTtJQUNFLGFBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTtFaEJvd0JOOztFZ0Jsd0JJO0lBQ0UsY0FBQTtJQUNBLFdBQUE7SUFDQSxlQUFBO0VoQnF3Qk47O0VnQmp3Qk07SUZGTix1QkFBQTtJQUlBLHdCQUFBO0Vkb3dCQTs7RWdCdHdCTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWR5d0JBOztFZ0Izd0JNO0lGRk4sYUFBQTtJQUlBLGNBQUE7RWQ4d0JBOztFZ0JoeEJNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFZG14QkE7O0VnQnJ4Qk07SUZGTix3QkFBQTtJQUlBLHlCQUFBO0Vkd3hCQTs7RWdCMXhCTTtJRkZOLGFBQUE7SUFJQSxjQUFBO0VkNnhCQTs7RWdCL3hCTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWRreUJBOztFZ0JweUJNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFZHV5QkE7O0VnQnp5Qk07SUZGTixhQUFBO0lBSUEsY0FBQTtFZDR5QkE7O0VnQjl5Qk07SUZGTix3QkFBQTtJQUlBLHlCQUFBO0VkaXpCQTs7RWdCbnpCTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWRzekJBOztFZ0J4ekJNO0lGRk4sY0FBQTtJQUlBLGVBQUE7RWQyekJBOztFZ0J4ekJJO0lBQXdCLFNBQUE7RWhCNHpCNUI7O0VnQjF6Qkk7SUFBdUIsU0FBQTtFaEI4ekIzQjs7RWdCM3pCTTtJQUF3QixRQURiO0VoQmcwQmpCOztFZ0IvekJNO0lBQXdCLFFBRGI7RWhCbzBCakI7O0VnQm4wQk07SUFBd0IsUUFEYjtFaEJ3MEJqQjs7RWdCdjBCTTtJQUF3QixRQURiO0VoQjQwQmpCOztFZ0IzMEJNO0lBQXdCLFFBRGI7RWhCZzFCakI7O0VnQi8wQk07SUFBd0IsUUFEYjtFaEJvMUJqQjs7RWdCbjFCTTtJQUF3QixRQURiO0VoQncxQmpCOztFZ0J2MUJNO0lBQXdCLFFBRGI7RWhCNDFCakI7O0VnQjMxQk07SUFBd0IsUUFEYjtFaEJnMkJqQjs7RWdCLzFCTTtJQUF3QixRQURiO0VoQm8yQmpCOztFZ0JuMkJNO0lBQXdCLFNBRGI7RWhCdzJCakI7O0VnQnYyQk07SUFBd0IsU0FEYjtFaEI0MkJqQjs7RWdCMzJCTTtJQUF3QixTQURiO0VoQmczQmpCOztFZ0J6MkJRO0lGVFIsY0FBQTtFZHMzQkE7O0VnQjcyQlE7SUZUUiwwQkFBQTtFZDAzQkE7O0VnQmozQlE7SUZUUiwyQkFBQTtFZDgzQkE7O0VnQnIzQlE7SUZUUixnQkFBQTtFZGs0QkE7O0VnQnozQlE7SUZUUiwyQkFBQTtFZHM0QkE7O0VnQjczQlE7SUZUUiwyQkFBQTtFZDA0QkE7O0VnQmo0QlE7SUZUUixnQkFBQTtFZDg0QkE7O0VnQnI0QlE7SUZUUiwyQkFBQTtFZGs1QkE7O0VnQno0QlE7SUZUUiwyQkFBQTtFZHM1QkE7O0VnQjc0QlE7SUZUUixnQkFBQTtFZDA1QkE7O0VnQmo1QlE7SUZUUiwyQkFBQTtFZDg1QkE7O0VnQnI1QlE7SUZUUiwyQkFBQTtFZGs2QkE7QUFDRjtBZXo1Qkk7RUM3QkU7SUFDRSxhQUFBO0lBQ0EsWUFBQTtJQUNBLGVBQUE7RWhCeTdCTjs7RWdCdjdCSTtJQUNFLGNBQUE7SUFDQSxXQUFBO0lBQ0EsZUFBQTtFaEIwN0JOOztFZ0J0N0JNO0lGRk4sdUJBQUE7SUFJQSx3QkFBQTtFZHk3QkE7O0VnQjM3Qk07SUZGTix3QkFBQTtJQUlBLHlCQUFBO0VkODdCQTs7RWdCaDhCTTtJRkZOLGFBQUE7SUFJQSxjQUFBO0VkbThCQTs7RWdCcjhCTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWR3OEJBOztFZ0IxOEJNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFZDY4QkE7O0VnQi84Qk07SUZGTixhQUFBO0lBSUEsY0FBQTtFZGs5QkE7O0VnQnA5Qk07SUZGTix3QkFBQTtJQUlBLHlCQUFBO0VkdTlCQTs7RWdCejlCTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWQ0OUJBOztFZ0I5OUJNO0lGRk4sYUFBQTtJQUlBLGNBQUE7RWRpK0JBOztFZ0JuK0JNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFZHMrQkE7O0VnQngrQk07SUZGTix3QkFBQTtJQUlBLHlCQUFBO0VkMitCQTs7RWdCNytCTTtJRkZOLGNBQUE7SUFJQSxlQUFBO0VkZy9CQTs7RWdCNytCSTtJQUF3QixTQUFBO0VoQmkvQjVCOztFZ0IvK0JJO0lBQXVCLFNBQUE7RWhCbS9CM0I7O0VnQmgvQk07SUFBd0IsUUFEYjtFaEJxL0JqQjs7RWdCcC9CTTtJQUF3QixRQURiO0VoQnkvQmpCOztFZ0J4L0JNO0lBQXdCLFFBRGI7RWhCNi9CakI7O0VnQjUvQk07SUFBd0IsUUFEYjtFaEJpZ0NqQjs7RWdCaGdDTTtJQUF3QixRQURiO0VoQnFnQ2pCOztFZ0JwZ0NNO0lBQXdCLFFBRGI7RWhCeWdDakI7O0VnQnhnQ007SUFBd0IsUUFEYjtFaEI2Z0NqQjs7RWdCNWdDTTtJQUF3QixRQURiO0VoQmloQ2pCOztFZ0JoaENNO0lBQXdCLFFBRGI7RWhCcWhDakI7O0VnQnBoQ007SUFBd0IsUUFEYjtFaEJ5aENqQjs7RWdCeGhDTTtJQUF3QixTQURiO0VoQjZoQ2pCOztFZ0I1aENNO0lBQXdCLFNBRGI7RWhCaWlDakI7O0VnQmhpQ007SUFBd0IsU0FEYjtFaEJxaUNqQjs7RWdCOWhDUTtJRlRSLGNBQUE7RWQyaUNBOztFZ0JsaUNRO0lGVFIsMEJBQUE7RWQraUNBOztFZ0J0aUNRO0lGVFIsMkJBQUE7RWRtakNBOztFZ0IxaUNRO0lGVFIsZ0JBQUE7RWR1akNBOztFZ0I5aUNRO0lGVFIsMkJBQUE7RWQyakNBOztFZ0JsakNRO0lGVFIsMkJBQUE7RWQrakNBOztFZ0J0akNRO0lGVFIsZ0JBQUE7RWRta0NBOztFZ0IxakNRO0lGVFIsMkJBQUE7RWR1a0NBOztFZ0I5akNRO0lGVFIsMkJBQUE7RWQya0NBOztFZ0Jsa0NRO0lGVFIsZ0JBQUE7RWQra0NBOztFZ0J0a0NRO0lGVFIsMkJBQUE7RWRtbENBOztFZ0Ixa0NRO0lGVFIsMkJBQUE7RWR1bENBO0FBQ0Y7QWU5a0NJO0VDN0JFO0lBQ0UsYUFBQTtJQUNBLFlBQUE7SUFDQSxlQUFBO0VoQjhtQ047O0VnQjVtQ0k7SUFDRSxjQUFBO0lBQ0EsV0FBQTtJQUNBLGVBQUE7RWhCK21DTjs7RWdCM21DTTtJRkZOLHVCQUFBO0lBSUEsd0JBQUE7RWQ4bUNBOztFZ0JobkNNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFZG1uQ0E7O0VnQnJuQ007SUZGTixhQUFBO0lBSUEsY0FBQTtFZHduQ0E7O0VnQjFuQ007SUZGTix3QkFBQTtJQUlBLHlCQUFBO0VkNm5DQTs7RWdCL25DTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWRrb0NBOztFZ0Jwb0NNO0lGRk4sYUFBQTtJQUlBLGNBQUE7RWR1b0NBOztFZ0J6b0NNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFZDRvQ0E7O0VnQjlvQ007SUZGTix3QkFBQTtJQUlBLHlCQUFBO0VkaXBDQTs7RWdCbnBDTTtJRkZOLGFBQUE7SUFJQSxjQUFBO0Vkc3BDQTs7RWdCeHBDTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWQycENBOztFZ0I3cENNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFZGdxQ0E7O0VnQmxxQ007SUZGTixjQUFBO0lBSUEsZUFBQTtFZHFxQ0E7O0VnQmxxQ0k7SUFBd0IsU0FBQTtFaEJzcUM1Qjs7RWdCcHFDSTtJQUF1QixTQUFBO0VoQndxQzNCOztFZ0JycUNNO0lBQXdCLFFBRGI7RWhCMHFDakI7O0VnQnpxQ007SUFBd0IsUUFEYjtFaEI4cUNqQjs7RWdCN3FDTTtJQUF3QixRQURiO0VoQmtyQ2pCOztFZ0JqckNNO0lBQXdCLFFBRGI7RWhCc3JDakI7O0VnQnJyQ007SUFBd0IsUUFEYjtFaEIwckNqQjs7RWdCenJDTTtJQUF3QixRQURiO0VoQjhyQ2pCOztFZ0I3ckNNO0lBQXdCLFFBRGI7RWhCa3NDakI7O0VnQmpzQ007SUFBd0IsUUFEYjtFaEJzc0NqQjs7RWdCcnNDTTtJQUF3QixRQURiO0VoQjBzQ2pCOztFZ0J6c0NNO0lBQXdCLFFBRGI7RWhCOHNDakI7O0VnQjdzQ007SUFBd0IsU0FEYjtFaEJrdENqQjs7RWdCanRDTTtJQUF3QixTQURiO0VoQnN0Q2pCOztFZ0JydENNO0lBQXdCLFNBRGI7RWhCMHRDakI7O0VnQm50Q1E7SUZUUixjQUFBO0VkZ3VDQTs7RWdCdnRDUTtJRlRSLDBCQUFBO0Vkb3VDQTs7RWdCM3RDUTtJRlRSLDJCQUFBO0Vkd3VDQTs7RWdCL3RDUTtJRlRSLGdCQUFBO0VkNHVDQTs7RWdCbnVDUTtJRlRSLDJCQUFBO0VkZ3ZDQTs7RWdCdnVDUTtJRlRSLDJCQUFBO0Vkb3ZDQTs7RWdCM3VDUTtJRlRSLGdCQUFBO0Vkd3ZDQTs7RWdCL3VDUTtJRlRSLDJCQUFBO0VkNHZDQTs7RWdCbnZDUTtJRlRSLDJCQUFBO0VkZ3dDQTs7RWdCdnZDUTtJRlRSLGdCQUFBO0Vkb3dDQTs7RWdCM3ZDUTtJRlRSLDJCQUFBO0Vkd3dDQTs7RWdCL3ZDUTtJRlRSLDJCQUFBO0VkNHdDQTtBQUNGO0FlbndDSTtFQzdCRTtJQUNFLGFBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTtFaEJteUNOOztFZ0JqeUNJO0lBQ0UsY0FBQTtJQUNBLFdBQUE7SUFDQSxlQUFBO0VoQm95Q047O0VnQmh5Q007SUZGTix1QkFBQTtJQUlBLHdCQUFBO0VkbXlDQTs7RWdCcnlDTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWR3eUNBOztFZ0IxeUNNO0lGRk4sYUFBQTtJQUlBLGNBQUE7RWQ2eUNBOztFZ0IveUNNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFZGt6Q0E7O0VnQnB6Q007SUZGTix3QkFBQTtJQUlBLHlCQUFBO0VkdXpDQTs7RWdCenpDTTtJRkZOLGFBQUE7SUFJQSxjQUFBO0VkNHpDQTs7RWdCOXpDTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWRpMENBOztFZ0JuMENNO0lGRk4sd0JBQUE7SUFJQSx5QkFBQTtFZHMwQ0E7O0VnQngwQ007SUZGTixhQUFBO0lBSUEsY0FBQTtFZDIwQ0E7O0VnQjcwQ007SUZGTix3QkFBQTtJQUlBLHlCQUFBO0VkZzFDQTs7RWdCbDFDTTtJRkZOLHdCQUFBO0lBSUEseUJBQUE7RWRxMUNBOztFZ0J2MUNNO0lGRk4sY0FBQTtJQUlBLGVBQUE7RWQwMUNBOztFZ0J2MUNJO0lBQXdCLFNBQUE7RWhCMjFDNUI7O0VnQnoxQ0k7SUFBdUIsU0FBQTtFaEI2MUMzQjs7RWdCMTFDTTtJQUF3QixRQURiO0VoQisxQ2pCOztFZ0I5MUNNO0lBQXdCLFFBRGI7RWhCbTJDakI7O0VnQmwyQ007SUFBd0IsUUFEYjtFaEJ1MkNqQjs7RWdCdDJDTTtJQUF3QixRQURiO0VoQjIyQ2pCOztFZ0IxMkNNO0lBQXdCLFFBRGI7RWhCKzJDakI7O0VnQjkyQ007SUFBd0IsUUFEYjtFaEJtM0NqQjs7RWdCbDNDTTtJQUF3QixRQURiO0VoQnUzQ2pCOztFZ0J0M0NNO0lBQXdCLFFBRGI7RWhCMjNDakI7O0VnQjEzQ007SUFBd0IsUUFEYjtFaEIrM0NqQjs7RWdCOTNDTTtJQUF3QixRQURiO0VoQm00Q2pCOztFZ0JsNENNO0lBQXdCLFNBRGI7RWhCdTRDakI7O0VnQnQ0Q007SUFBd0IsU0FEYjtFaEIyNENqQjs7RWdCMTRDTTtJQUF3QixTQURiO0VoQis0Q2pCOztFZ0J4NENRO0lGVFIsY0FBQTtFZHE1Q0E7O0VnQjU0Q1E7SUZUUiwwQkFBQTtFZHk1Q0E7O0VnQmg1Q1E7SUZUUiwyQkFBQTtFZDY1Q0E7O0VnQnA1Q1E7SUZUUixnQkFBQTtFZGk2Q0E7O0VnQng1Q1E7SUZUUiwyQkFBQTtFZHE2Q0E7O0VnQjU1Q1E7SUZUUiwyQkFBQTtFZHk2Q0E7O0VnQmg2Q1E7SUZUUixnQkFBQTtFZDY2Q0E7O0VnQnA2Q1E7SUZUUiwyQkFBQTtFZGk3Q0E7O0VnQng2Q1E7SUZUUiwyQkFBQTtFZHE3Q0E7O0VnQjU2Q1E7SUZUUixnQkFBQTtFZHk3Q0E7O0VnQmg3Q1E7SUZUUiwyQkFBQTtFZDY3Q0E7O0VnQnA3Q1E7SUZUUiwyQkFBQTtFZGk4Q0E7QUFDRjtBaUJoL0NBO0VBQ0UsV0FBQTtFQUNBLGVBQUE7RUFDQSxtQmRnUk87RWMvUVAsNkJkeWI0QjtBSHlqQzlCO0FpQmgvQ0U7O0VBRUUsYWRrYjBCO0VjamIxQixtQkFBQTtFQUNBLDZCQUFBO0FqQmsvQ0o7QWlCLytDRTtFQUNFLHNCQUFBO0VBQ0EsZ0NBQUE7QWpCaS9DSjtBaUI5K0NFO0VBQ0UsNkJBQUE7QWpCZy9DSjtBaUI3K0NFO0VBQ0UseUJkK01NO0FIZ3lDVjtBaUJyK0NFOztFQUVFLGVkd1owQjtBSGdsQzlCO0FpQi85Q0E7RUFDRSx5QkFBQTtBakJrK0NGO0FpQmgrQ0U7O0VBRUUseUJBQUE7QWpCaytDSjtBaUI5OUNJOztFQUVFLHdCQUFBO0FqQmcrQ047QWlCMTlDRTs7OztFQUlFLFNBQUE7QWpCNjlDSjtBaUJwOUNFO0VBQ0UscUNkbVgwQjtBSG9tQzlCO0FLMWhERTtFWStFSSx5QmQ3Q0s7QUg0L0NYO0FrQnBpREk7OztFQUdFLHlCRDhGK0I7QWpCeThDckM7QUtwaURFO0VhUU0seUJBSmU7QWxCb2lEdkI7QWtCOWhEUTs7RUFFRSx5QkFSYTtBbEJ3aUR2QjtBa0JsakRJOzs7RUFHRSx5QkQ4RitCO0FqQnU5Q3JDO0FLbGpERTtFYVFNLHlCQUplO0FsQmtqRHZCO0FrQjVpRFE7O0VBRUUseUJBUmE7QWxCc2pEdkI7QWtCaGtESTs7O0VBR0UseUJEOEYrQjtBakJxK0NyQztBS2hrREU7RWFRTSx5QkFKZTtBbEJna0R2QjtBa0IxakRROztFQUVFLHlCQVJhO0FsQm9rRHZCO0FrQjlrREk7OztFQUdFLHlCRDhGK0I7QWpCbS9DckM7QUs5a0RFO0VhUU0seUJBSmU7QWxCOGtEdkI7QWtCeGtEUTs7RUFFRSx5QkFSYTtBbEJrbER2QjtBa0I1bERJOzs7RUFHRSx5QkQ4RitCO0FqQmlnRHJDO0FLNWxERTtFYVFNLHlCQUplO0FsQjRsRHZCO0FrQnRsRFE7O0VBRUUseUJBUmE7QWxCZ21EdkI7QWtCMW1ESTs7O0VBR0UseUJEOEYrQjtBakIrZ0RyQztBSzFtREU7RWFRTSx5QkFKZTtBbEIwbUR2QjtBa0JwbURROztFQUVFLHlCQVJhO0FsQjhtRHZCO0FrQnhuREk7OztFQUdFLHlCRDhGK0I7QWpCNmhEckM7QUt4bkRFO0VhUU0seUJBSmU7QWxCd25EdkI7QWtCbG5EUTs7RUFFRSx5QkFSYTtBbEI0bkR2QjtBa0J0b0RJOzs7RUFHRSx5QkQ4RitCO0FqQjJpRHJDO0FLdG9ERTtFYVFNLHlCQUplO0FsQnNvRHZCO0FrQmhvRFE7O0VBRUUseUJBUmE7QWxCMG9EdkI7QWtCcHBESTs7O0VBR0UseUJEOEYrQjtBakJ5akRyQztBS3BwREU7RWFRTSx5QkFKZTtBbEJvcER2QjtBa0I5b0RROztFQUVFLHlCQVJhO0FsQndwRHZCO0FrQmxxREk7OztFQUdFLHVCRDhGK0I7QWpCdWtEckM7QUtscURFO0VhUU0seUJBSmU7QWxCa3FEdkI7QWtCNXBEUTs7RUFFRSx5QkFSYTtBbEJzcUR2QjtBa0JockRJOzs7RUFHRSx1QkQ4RitCO0FqQnFsRHJDO0FLaHJERTtFYVFNLHlCQUplO0FsQmdyRHZCO0FrQjFxRFE7O0VBRUUseUJBUmE7QWxCb3JEdkI7QWtCOXJESTs7O0VBR0UseUJEOEYrQjtBakJtbURyQztBSzlyREU7RWFRTSx5QkFKZTtBbEI4ckR2QjtBa0J4ckRROztFQUVFLHlCQVJhO0FsQmtzRHZCO0FrQjVzREk7OztFQUdFLHlCZnFDSztBSDBxRFg7QUs1c0RFO0VhUU0seUJBSmU7QWxCNHNEdkI7QWtCdHNEUTs7RUFFRSx5QkFSYTtBbEJndER2QjtBaUI1bURJO0VBQ0UsY2RxSEk7RWNwSEoseUJkOFZ3QjtFYzdWeEIscUJkZ1d3QjtBSCt3QzlCO0FpQjFtREk7RUFDRSxjZDFFSztFYzJFTCx5QmRoRks7RWNpRkwscUJkaEZLO0FINHJEWDtBaUJ2bURBO0VBQ0UsY2RxR1E7RWNwR1IseUJkOFU0QjtBSDR4QzlCO0FpQnhtREU7OztFQUdFLHFCZDRVMEI7QUg4eEM5QjtBaUJ2bURFO0VBQ0UsU0FBQTtBakJ5bURKO0FpQnJtREk7RUFDRSwyQ2RpVXdCO0FIc3lDOUI7QUsvdURFO0VZK0lNLDRDZDJUc0I7QUh3eUM5QjtBZXJyREk7RUVtR0E7SUFFSSxjQUFBO0lBQ0EsV0FBQTtJQUNBLGdCQUFBO0lBQ0EsaUNBQUE7SUFDQSw0Q0FBQTtFakJxbEROO0VpQmxsRE07SUFDRSxTQUFBO0VqQm9sRFI7QUFDRjtBZWxzREk7RUVtR0E7SUFFSSxjQUFBO0lBQ0EsV0FBQTtJQUNBLGdCQUFBO0lBQ0EsaUNBQUE7SUFDQSw0Q0FBQTtFakJpbUROO0VpQjlsRE07SUFDRSxTQUFBO0VqQmdtRFI7QUFDRjtBZTlzREk7RUVtR0E7SUFFSSxjQUFBO0lBQ0EsV0FBQTtJQUNBLGdCQUFBO0lBQ0EsaUNBQUE7SUFDQSw0Q0FBQTtFakI2bUROO0VpQjFtRE07SUFDRSxTQUFBO0VqQjRtRFI7QUFDRjtBZTF0REk7RUVtR0E7SUFFSSxjQUFBO0lBQ0EsV0FBQTtJQUNBLGdCQUFBO0lBQ0EsaUNBQUE7SUFDQSw0Q0FBQTtFakJ5bkROO0VpQnRuRE07SUFDRSxTQUFBO0VqQnduRFI7QUFDRjtBaUJub0RJO0VBRUksY0FBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLGlDQUFBO0VBQ0EsNENBQUE7QWpCb29EUjtBaUJqb0RRO0VBQ0UsU0FBQTtBakJtb0RWO0FtQm56REE7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLHlCQUFBO0VBQ0EsZWhCc1Y0QjtFZ0JyVjVCLGdCaEJrVzRCO0VnQmpXNUIsY2hCdUNTO0VnQnRDVCxzQmhCZ0NTO0VnQi9CVCw0QkFBQTtFQUNBLHlCQUFBO0VBS0UsdUJoQitTMEI7RVFqVTFCLGdCUXdCRjtFQ3JCSSwyRERzQko7QW5CNnlERjtBb0IvekRFO0VESEY7SUNJSSxnQkFBQTtFcEJrMERGO0FBQ0Y7QW1CL3lERTtFQUNFLDZCQUFBO0VBQ0EsU0FBQTtBbkJpekRKO0FxQmgxREU7RUFDRSxjbEJpRE87RWtCaERQLHNCbEIwQ087RWtCekNQLHNDbEJpakJvQztFa0JoakJwQyxVQUFBO0VBR0Usc0JBQUE7QXJCZzFETjtBbUJqekRFO0VBQ0UsY2hCVU87RWdCUlAsVUFBQTtBbkJrekRKO0FtQnJ6REU7RUFDRSxjaEJVTztFZ0JSUCxVQUFBO0FuQmt6REo7QW1CMXlERTtFQUVFLHlCaEJMTztFZ0JPUCxVQUFBO0FuQjB5REo7QW1CcnlERTtFQUNFLDJCZmdYb0M7QUp3N0N4QztBbUJyeURFO0VBTUUsY2hCbEJPO0VnQm1CUCxzQmhCekJPO0FIMnpEWDtBbUI3eERBOztFQUVFLGNBQUE7RUFDQSxXQUFBO0FuQmd5REY7QW1CdHhEQTtFQUNFLGlDQUFBO0VBQ0Esb0NBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JoQmdSNEI7QUh5Z0Q5QjtBbUJ0eERBO0VBQ0UsaUNBQUE7RUFDQSxvQ0FBQTtFQUNBLGtCaEIrUDRCO0VnQjlQNUIsZ0JoQnlONkI7QUhna0QvQjtBbUJ0eERBO0VBQ0UsZ0NBQUE7RUFDQSxtQ0FBQTtFQUNBLG1CaEJ5UDRCO0VnQnhQNUIsZ0JoQm1ONkI7QUhza0QvQjtBbUJoeERBO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxxQmhCd1c0QjtFZ0J2VzVCLHdCaEJ1VzRCO0VnQnRXNUIsZ0JBQUE7RUFDQSxnQmhCbVA0QjtFZ0JsUDVCLGNoQnZFUztFZ0J3RVQsNkJBQUE7RUFDQSx5QkFBQTtFQUNBLG1CQUFBO0FuQm14REY7QW1CanhERTs7Ozs7Ozs7O0VBRUUsZ0JBQUE7RUFDQSxlQUFBO0FuQjB4REo7QW1CN3dEQTs7Ozs7RUFDRSx1QkFBQTtFQUNBLG1CaEJpTjRCO0VnQmhONUIsZ0JoQjJLNkI7RU8xVDNCLHNCUGtVMEI7QUhrbUQ5QjtBbUJoeERFOzs7OztFQUNFLDZCZnNSb0M7QUppZ0R4QztBbUJueERBOzs7OztFQUNFLHNCQUFBO0VBQ0Esa0JoQm1NNEI7RWdCbE01QixnQmhCNko2QjtFT3pUM0Isd0JQaVUwQjtBSHNuRDlCO0FtQnR4REU7Ozs7O0VBQ0UsNEJmNFFvQztBSmloRHhDO0FtQm54REE7RUFDRSxxQmhCOFpzQztBSHczQ3hDO0FtQm54REE7RUFDRSxjQUFBO0VBQ0EsbUJmZ1FzQztBSnNoRHhDO0FtQjl3REE7RUFDRSxhQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7QW5CaXhERjtBbUIvd0RFOztFQUVFLGtCQUFBO0VBQ0EsaUJBQUE7QW5CaXhESjtBbUJ4d0RBO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0VBQ0EscUJmcU9zQztBSnNpRHhDO0FtQnh3REE7RUFDRSxrQkFBQTtFQUNBLGtCZmlPc0M7RWVoT3RDLHFCQUFBO0FuQjJ3REY7QW1CendERTtFQUNFLGNoQnpLTztBSG83RFg7QW1CdndEQTtFQUNFLGdCQUFBO0FuQjB3REY7QW1CdndEQTtFQUNFLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EscUJmb05zQztBSnNqRHhDO0FtQnZ3REU7RUFDRSxnQkFBQTtFQUNBLGFBQUE7RUFDQSx1QmYrTW9DO0VlOU1wQyxjQUFBO0FuQnl3REo7QXFCditERTtFQUNFLGFBQUE7RUFDQSxXQUFBO0VBQ0EsbUJqQmthb0M7RWlCamFwQyxjbEIwWTBCO0VrQnpZMUIsY2xCdW1CNkI7QUhtNENqQztBcUJ2K0RFO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLGFBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtFQUNBLHlDQUFBO0VBQ0EscUJBQUE7QXJCMCtESjtBcUJyK0RJOzs7RUFFRSxxQmxCaWxCMkI7QUh3NUNqQztBcUJ2K0RNOzs7RUFDRSxxQmxCOGtCeUI7QUg2NUNqQztBcUJ2K0RNOzs7Ozs7O0VBRUUsY0FBQTtBckI4K0RSO0FxQnQrRE07RUFDRSxjbEIrakJ5QjtBSDA2Q2pDO0FxQnQrRE07OztFQUVFLGNBQUE7QXJCeStEUjtBcUJqK0RNO0VBQ0UsY2xCaWpCeUI7QUhtN0NqQztBcUJsK0RRO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtBckJvK0RWO0FxQmgrRE07OztFQUVFLGNBQUE7QXJCbStEUjtBcUIvOURRO0VDcEZKLHlCRHFGMkI7RUFDckIscUJBQUE7QXJCaStEVjtBcUI1OURRO0VBQ0UsK0RBQUE7QXJCODlEVjtBcUJwOURNO0VBQ0UscUJsQmdoQnlCO0FIdThDakM7QXFCcjlEUTtFQUFZLHFCQUFBO0FyQnc5RHBCO0FxQnI5RE07OztFQUVFLGNBQUE7QXJCdzlEUjtBcUJwOURRO0VBQ0UsNENBQUE7QXJCczlEVjtBcUI5akVFO0VBQ0UsYUFBQTtFQUNBLFdBQUE7RUFDQSxtQmpCa2FvQztFaUJqYXBDLGNsQjBZMEI7RWtCelkxQixjbEJ5bUI2QjtBSHc5Q2pDO0FxQjlqRUU7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsYUFBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0VBQ0Esd0NBQUE7RUFDQSxxQkFBQTtBckJpa0VKO0FxQjVqRUk7OztFQUVFLHFCbEJtbEIyQjtBSDYrQ2pDO0FxQjlqRU07OztFQUNFLHFCbEJnbEJ5QjtBSGsvQ2pDO0FxQjlqRU07Ozs7Ozs7RUFFRSxjQUFBO0FyQnFrRVI7QXFCN2pFTTtFQUNFLGNsQmlrQnlCO0FIKy9DakM7QXFCN2pFTTs7O0VBRUUsY0FBQTtBckJna0VSO0FxQnhqRU07RUFDRSxjbEJtakJ5QjtBSHdnRGpDO0FxQnpqRVE7RUFDRSx5QkFBQTtFQUNBLHFCQUFBO0FyQjJqRVY7QXFCdmpFTTs7O0VBRUUsY0FBQTtBckIwakVSO0FxQnRqRVE7RUNwRkoseUJEcUYyQjtFQUNyQixxQkFBQTtBckJ3akVWO0FxQm5qRVE7RUFDRSw4REFBQTtBckJxakVWO0FxQjNpRU07RUFDRSxxQmxCa2hCeUI7QUg0aERqQztBcUI1aUVRO0VBQVkscUJBQUE7QXJCK2lFcEI7QXFCNWlFTTs7O0VBRUUsY0FBQTtBckIraUVSO0FxQjNpRVE7RUFDRSwyQ0FBQTtBckI2aUVWO0FtQi81REE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtBbkJrNkRGO0FtQjc1REU7RUFDRSxXQUFBO0FuQis1REo7QWVubkVJO0VJeU5BO0lBQ0UsYUFBQTtJQUNBLG1CQUFBO0lBQ0EsdUJBQUE7SUFDQSxnQkFBQTtFbkI2NURKO0VtQno1REU7SUFDRSxhQUFBO0lBQ0EsY0FBQTtJQUNBLG1CQUFBO0lBQ0EsbUJBQUE7SUFDQSxnQkFBQTtFbkIyNURKO0VtQnY1REU7SUFDRSxxQkFBQTtJQUNBLFdBQUE7SUFDQSxzQkFBQTtFbkJ5NURKO0VtQnI1REU7SUFDRSxxQkFBQTtFbkJ1NURKO0VtQnA1REU7O0lBRUUsV0FBQTtFbkJzNURKO0VtQmo1REU7SUFDRSxhQUFBO0lBQ0EsbUJBQUE7SUFDQSx1QkFBQTtJQUNBLFdBQUE7SUFDQSxlQUFBO0VuQm01REo7RW1CajVERTtJQUNFLGtCQUFBO0lBQ0EsYUFBQTtJQUNBLHFCZndIa0M7SWV2SGxDLGNBQUE7RW5CbTVESjtFbUJoNURFO0lBQ0UsbUJBQUE7SUFDQSx1QkFBQTtFbkJrNURKO0VtQmg1REU7SUFDRSxnQkFBQTtFbkJrNURKO0FBQ0Y7QXVCeHRFQTtFQUNFLHFCQUFBO0VBQ0EsZ0JwQjZmNEI7RW9CNWY1QixrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSx5QkFBQTtLQUFBLHNCQUFBO1VBQUEsaUJBQUE7RUFDQSw2QkFBQTtFQ2tGRSx5QkFBQTtFQUNBLGVyQmdRMEI7RXFCL1AxQixnQnJCNFEwQjtFcUIxUXRCLHVCckJnT3NCO0VpQjlUeEIscUlHVUo7QXZCOHRFRjtBb0JwdUVFO0VHSEY7SUhJSSxnQkFBQTtFcEJ1dUVGO0FBQ0Y7QUtsdUVFO0VrQkdFLHFCQUFBO0F2Qmt1RUo7QXVCL3RFRTtFQUVFLFVBQUE7RUFDQSwyRXBCbWYwQjtBSDZ1RDlCO0F1QjV0RUU7RUFFRSxhbkJzVjBCO0VPblgxQixnQlk4QkE7QXZCNnRFSjtBdUJ6dEVFO0VBQ0UsZUFBQTtBdkIydEVKO0F1Qnh0RUU7RUFFRSxzQkFBQTtFWnhDQSxnQll5Q0E7QXZCeXRFSjtBdUJ2dEVJO0VaM0NBLGlGWTRDRTtBdkJ5dEVOO0F1Qm50RUE7O0VBRUUsb0JBQUE7QXZCc3RFRjtBdUI3c0VFO0VDOURFLFdBQUE7RUZLQSx5QmxCb0VXO0VvQnZFWCxxQnBCdUVXO0VPeEVYLDJFYUVBO0F4Qit3RUo7QUt2d0VFO0VtQkxNLFdBQUE7RUZESix5QkVOMkQ7RUFTdkQscUJBVCtGO0F4Qnd4RXZHO0F3QjV3RUk7RUFJUSw0R0FBQTtBeEIyd0VaO0F3QnJ3RUk7RUFFSSxXQUFBO0VBQ0EseUJwQmlETztFb0JoRFAscUJwQmdETztBSnN0RWY7QXdCbndFSTtFQUdJLFdBQUE7RUFDQSx5QkFqQ3dJO0VBcUN4SSxxQkFyQ2tMO0F4QnF5RTFMO0F3Qjl2RVE7RUFHUSxpREFBQTtBeEI4dkVoQjtBdUJ6dUVFO0VDOURFLGNBQUE7RUZLQSx5QmxCb0VXO0VvQnZFWCxxQnBCdUVXO0VPeEVYLDJFYUVBO0F4QjJ5RUo7QUtueUVFO0VtQkxNLGNBQUE7RUZESix5QkVOMkQ7RUFTdkQscUJBVCtGO0F4Qm96RXZHO0F3Qnh5RUk7RUFJUSw2R0FBQTtBeEJ1eUVaO0F3Qmp5RUk7RUFFSSxjQUFBO0VBQ0EseUJwQmlETztFb0JoRFAscUJwQmdETztBSmt2RWY7QXdCL3hFSTtFQUdJLGNBQUE7RUFDQSx5QkFqQ3dJO0VBcUN4SSxxQkFyQ2tMO0F4QmkwRTFMO0F3QjF4RVE7RUFHUSxrREFBQTtBeEIweEVoQjtBdUJyd0VFO0VDOURFLFdBQUE7RUZLQSx5QmxCb0VXO0VvQnZFWCxxQnBCdUVXO0VPeEVYLDJFYUVBO0F4QnUwRUo7QUsvekVFO0VtQkxNLFdBQUE7RUZESix5QkVOMkQ7RUFTdkQscUJBVCtGO0F4QmcxRXZHO0F3QnAwRUk7RUFJUSw0R0FBQTtBeEJtMEVaO0F3Qjd6RUk7RUFFSSxXQUFBO0VBQ0EseUJwQmlETztFb0JoRFAscUJwQmdETztBSjh3RWY7QXdCM3pFSTtFQUdJLFdBQUE7RUFDQSx5QkFqQ3dJO0VBcUN4SSxxQkFyQ2tMO0F4QjYxRTFMO0F3QnR6RVE7RUFHUSxpREFBQTtBeEJzekVoQjtBdUJqeUVFO0VDOURFLFdBQUE7RUZLQSx5QmxCb0VXO0VvQnZFWCxxQnBCdUVXO0VPeEVYLDJFYUVBO0F4Qm0yRUo7QUszMUVFO0VtQkxNLFdBQUE7RUZESix5QkVOMkQ7RUFTdkQscUJBVCtGO0F4QjQyRXZHO0F3QmgyRUk7RUFJUSw0R0FBQTtBeEIrMUVaO0F3QnoxRUk7RUFFSSxXQUFBO0VBQ0EseUJwQmlETztFb0JoRFAscUJwQmdETztBSjB5RWY7QXdCdjFFSTtFQUdJLFdBQUE7RUFDQSx5QkFqQ3dJO0VBcUN4SSxxQkFyQ2tMO0F4QnkzRTFMO0F3QmwxRVE7RUFHUSxpREFBQTtBeEJrMUVoQjtBdUI3ekVFO0VDOURFLFdBQUE7RUZLQSx5QmxCb0VXO0VvQnZFWCxxQnBCdUVXO0VPeEVYLDJFYUVBO0F4QiszRUo7QUt2M0VFO0VtQkxNLFdBQUE7RUZESix5QkVOMkQ7RUFTdkQscUJBVCtGO0F4Qnc0RXZHO0F3QjUzRUk7RUFJUSwyR0FBQTtBeEIyM0VaO0F3QnIzRUk7RUFFSSxXQUFBO0VBQ0EseUJwQmlETztFb0JoRFAscUJwQmdETztBSnMwRWY7QXdCbjNFSTtFQUdJLFdBQUE7RUFDQSx5QkFqQ3dJO0VBcUN4SSxxQkFyQ2tMO0F4QnE1RTFMO0F3QjkyRVE7RUFHUSxnREFBQTtBeEI4MkVoQjtBdUJ6MUVFO0VDOURFLFdBQUE7RUZLQSx5QmxCb0VXO0VvQnZFWCxxQnBCdUVXO0VPeEVYLDJFYUVBO0F4QjI1RUo7QUtuNUVFO0VtQkxNLFdBQUE7RUZESix5QkVOMkQ7RUFTdkQscUJBVCtGO0F4Qm82RXZHO0F3Qng1RUk7RUFJUSwyR0FBQTtBeEJ1NUVaO0F3Qmo1RUk7RUFFSSxXQUFBO0VBQ0EseUJwQmlETztFb0JoRFAscUJwQmdETztBSmsyRWY7QXdCLzRFSTtFQUdJLFdBQUE7RUFDQSx5QkFqQ3dJO0VBcUN4SSxxQkFyQ2tMO0F4Qmk3RTFMO0F3QjE0RVE7RUFHUSxnREFBQTtBeEIwNEVoQjtBdUJyM0VFO0VDOURFLFdBQUE7RUZLQSx5QmxCb0VXO0VvQnZFWCxxQnBCdUVXO0VPeEVYLDJFYUVBO0F4QnU3RUo7QUsvNkVFO0VtQkxNLFdBQUE7RUZESix5QkVOMkQ7RUFTdkQscUJBVCtGO0F4Qmc4RXZHO0F3QnA3RUk7RUFJUSw2R0FBQTtBeEJtN0VaO0F3Qjc2RUk7RUFFSSxXQUFBO0VBQ0EseUJwQmlETztFb0JoRFAscUJwQmdETztBSjgzRWY7QXdCMzZFSTtFQUdJLFdBQUE7RUFDQSx5QkFqQ3dJO0VBcUN4SSxxQkFyQ2tMO0F4QjY4RTFMO0F3QnQ2RVE7RUFHUSxrREFBQTtBeEJzNkVoQjtBdUJqNUVFO0VDOURFLFdBQUE7RUZLQSx5QmxCb0VXO0VvQnZFWCxxQnBCdUVXO0VPeEVYLDJFYUVBO0F4Qm05RUo7QUszOEVFO0VtQkxNLFdBQUE7RUZESix5QkVOMkQ7RUFTdkQscUJBVCtGO0F4QjQ5RXZHO0F3Qmg5RUk7RUFJUSwwR0FBQTtBeEIrOEVaO0F3Qno4RUk7RUFFSSxXQUFBO0VBQ0EseUJwQmlETztFb0JoRFAscUJwQmdETztBSjA1RWY7QXdCdjhFSTtFQUdJLFdBQUE7RUFDQSx5QkFqQ3dJO0VBcUN4SSxxQkFyQ2tMO0F4QnkrRTFMO0F3Qmw4RVE7RUFHUSwrQ0FBQTtBeEJrOEVoQjtBdUI3NkVFO0VDOURFLFdBQUE7RUZLQSx5QmxCb0VXO0VvQnZFWCxxQnBCdUVXO0VPeEVYLDJFYUVBO0F4QisrRUo7QUt2K0VFO0VtQkxNLFdBQUE7RUZESix5QkVOMkQ7RUFTdkQscUJBVCtGO0F4QncvRXZHO0F3QjUrRUk7RUFJUSwwR0FBQTtBeEIyK0VaO0F3QnIrRUk7RUFFSSxXQUFBO0VBQ0EseUJwQmlETztFb0JoRFAscUJwQmdETztBSnM3RWY7QXdCbitFSTtFQUdJLFdBQUE7RUFDQSx5QkFqQ3dJO0VBcUN4SSxxQkFyQ2tMO0F4QnFnRjFMO0F3Qjk5RVE7RUFHUSwrQ0FBQTtBeEI4OUVoQjtBdUJ6OEVFO0VDOURFLGNBQUE7RUZLQSxzQmxCb0VXO0VvQnZFWCxrQnBCdUVXO0VPeEVYLDJFYUVBO0F4QjJnRko7QUtuZ0ZFO0VtQkxNLGNBQUE7RUZESix1QkVOMkQ7RUFTdkQsbUJBVCtGO0F4Qm9oRnZHO0F3QnhnRkk7RUFJUSw2R0FBQTtBeEJ1Z0ZaO0F3QmpnRkk7RUFFSSxjQUFBO0VBQ0Esc0JwQmlETztFb0JoRFAsa0JwQmdETztBSms5RWY7QXdCLy9FSTtFQUdJLGNBQUE7RUFDQSx5QkFqQ3dJO0VBcUN4SSxtQkFyQ2tMO0F4QmlpRjFMO0F3QjEvRVE7RUFHUSxrREFBQTtBeEIwL0VoQjtBdUJyK0VFO0VDOURFLGNBQUE7RUZLQSxzQmxCb0VXO0VvQnZFWCxrQnBCdUVXO0VPeEVYLDJFYUVBO0F4QnVpRko7QUsvaEZFO0VtQkxNLGNBQUE7RUZESix1QkVOMkQ7RUFTdkQsbUJBVCtGO0F4QmdqRnZHO0F3QnBpRkk7RUFJUSw2R0FBQTtBeEJtaUZaO0F3QjdoRkk7RUFFSSxjQUFBO0VBQ0Esc0JwQmlETztFb0JoRFAsa0JwQmdETztBSjgrRWY7QXdCM2hGSTtFQUdJLGNBQUE7RUFDQSx5QkFqQ3dJO0VBcUN4SSxtQkFyQ2tMO0F4QjZqRjFMO0F3QnRoRlE7RUFHUSxrREFBQTtBeEJzaEZoQjtBdUJqZ0ZFO0VDOURFLFdBQUE7RUZLQSx1QmxCb0VXO0VvQnZFWCxtQnBCdUVXO0VPeEVYLDJFYUVBO0F4Qm1rRko7QUszakZFO0VtQkxNLFdBQUE7RUZESix1QkVOMkQ7RUFTdkQsbUJBVCtGO0F4QjRrRnZHO0F3QmhrRkk7RUFJUSx1R0FBQTtBeEIrakZaO0F3QnpqRkk7RUFFSSxXQUFBO0VBQ0EsdUJwQmlETztFb0JoRFAsbUJwQmdETztBSjBnRmY7QXdCdmpGSTtFQUdJLFdBQUE7RUFDQSx1QkFqQ3dJO0VBcUN4SSxtQkFyQ2tMO0F4QnlsRjFMO0F3QmxqRlE7RUFHUSw0Q0FBQTtBeEJrakZoQjtBdUJ2aEZFO0VDakJFLGNwQnNCVztFb0JyQlgsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCcEJtQlc7QUp5aEZmO0F3QjFpRkk7RUFDSSxXQVA0QztFQVE1Qyx5QnBCZU87RW9CZFAscUJwQmNPO0FKOGhGZjtBd0J6aUZJO0VBRUksMkNBQUE7QXhCMGlGUjtBd0J2aUZJO0VBRUksY3BCSU87RW9CSFAsNkJBQUE7QXhCd2lGUjtBd0JyaUZJO0VBR0ksV0FBQTtFQUNBLHlCcEJKTztFb0JLUCxxQnBCTE87QUowaUZmO0F3Qm5pRlE7RUFNUSwyQ0FBQTtBeEJnaUZoQjtBdUJsakZFO0VDakJFLGNwQnNCVztFb0JyQlgsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCcEJtQlc7QUpvakZmO0F3QnJrRkk7RUFDSSxjQVA0QztFQVE1Qyx5QnBCZU87RW9CZFAscUJwQmNPO0FKeWpGZjtBd0Jwa0ZJO0VBRUksNENBQUE7QXhCcWtGUjtBd0Jsa0ZJO0VBRUksY3BCSU87RW9CSFAsNkJBQUE7QXhCbWtGUjtBd0Joa0ZJO0VBR0ksY0FBQTtFQUNBLHlCcEJKTztFb0JLUCxxQnBCTE87QUpxa0ZmO0F3QjlqRlE7RUFNUSw0Q0FBQTtBeEIyakZoQjtBdUI3a0ZFO0VDakJFLGNwQnNCVztFb0JyQlgsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCcEJtQlc7QUora0ZmO0F3QmhtRkk7RUFDSSxXQVA0QztFQVE1Qyx5QnBCZU87RW9CZFAscUJwQmNPO0FKb2xGZjtBd0IvbEZJO0VBRUksMkNBQUE7QXhCZ21GUjtBd0I3bEZJO0VBRUksY3BCSU87RW9CSFAsNkJBQUE7QXhCOGxGUjtBd0IzbEZJO0VBR0ksV0FBQTtFQUNBLHlCcEJKTztFb0JLUCxxQnBCTE87QUpnbUZmO0F3QnpsRlE7RUFNUSwyQ0FBQTtBeEJzbEZoQjtBdUJ4bUZFO0VDakJFLGNwQnNCVztFb0JyQlgsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCcEJtQlc7QUowbUZmO0F3QjNuRkk7RUFDSSxXQVA0QztFQVE1Qyx5QnBCZU87RW9CZFAscUJwQmNPO0FKK21GZjtBd0IxbkZJO0VBRUksMkNBQUE7QXhCMm5GUjtBd0J4bkZJO0VBRUksY3BCSU87RW9CSFAsNkJBQUE7QXhCeW5GUjtBd0J0bkZJO0VBR0ksV0FBQTtFQUNBLHlCcEJKTztFb0JLUCxxQnBCTE87QUoybkZmO0F3QnBuRlE7RUFNUSwyQ0FBQTtBeEJpbkZoQjtBdUJub0ZFO0VDakJFLGNwQnNCVztFb0JyQlgsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCcEJtQlc7QUpxb0ZmO0F3QnRwRkk7RUFDSSxXQVA0QztFQVE1Qyx5QnBCZU87RW9CZFAscUJwQmNPO0FKMG9GZjtBd0JycEZJO0VBRUksMENBQUE7QXhCc3BGUjtBd0JucEZJO0VBRUksY3BCSU87RW9CSFAsNkJBQUE7QXhCb3BGUjtBd0JqcEZJO0VBR0ksV0FBQTtFQUNBLHlCcEJKTztFb0JLUCxxQnBCTE87QUpzcEZmO0F3Qi9vRlE7RUFNUSwwQ0FBQTtBeEI0b0ZoQjtBdUI5cEZFO0VDakJFLGNwQnNCVztFb0JyQlgsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCcEJtQlc7QUpncUZmO0F3QmpyRkk7RUFDSSxXQVA0QztFQVE1Qyx5QnBCZU87RW9CZFAscUJwQmNPO0FKcXFGZjtBd0JockZJO0VBRUksMENBQUE7QXhCaXJGUjtBd0I5cUZJO0VBRUksY3BCSU87RW9CSFAsNkJBQUE7QXhCK3FGUjtBd0I1cUZJO0VBR0ksV0FBQTtFQUNBLHlCcEJKTztFb0JLUCxxQnBCTE87QUppckZmO0F3QjFxRlE7RUFNUSwwQ0FBQTtBeEJ1cUZoQjtBdUJ6ckZFO0VDakJFLGNwQnNCVztFb0JyQlgsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCcEJtQlc7QUoyckZmO0F3QjVzRkk7RUFDSSxXQVA0QztFQVE1Qyx5QnBCZU87RW9CZFAscUJwQmNPO0FKZ3NGZjtBd0Izc0ZJO0VBRUksNENBQUE7QXhCNHNGUjtBd0J6c0ZJO0VBRUksY3BCSU87RW9CSFAsNkJBQUE7QXhCMHNGUjtBd0J2c0ZJO0VBR0ksV0FBQTtFQUNBLHlCcEJKTztFb0JLUCxxQnBCTE87QUo0c0ZmO0F3QnJzRlE7RUFNUSw0Q0FBQTtBeEJrc0ZoQjtBdUJwdEZFO0VDakJFLGNwQnNCVztFb0JyQlgsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCcEJtQlc7QUpzdEZmO0F3QnZ1Rkk7RUFDSSxXQVA0QztFQVE1Qyx5QnBCZU87RW9CZFAscUJwQmNPO0FKMnRGZjtBd0J0dUZJO0VBRUkseUNBQUE7QXhCdXVGUjtBd0JwdUZJO0VBRUksY3BCSU87RW9CSFAsNkJBQUE7QXhCcXVGUjtBd0JsdUZJO0VBR0ksV0FBQTtFQUNBLHlCcEJKTztFb0JLUCxxQnBCTE87QUp1dUZmO0F3Qmh1RlE7RUFNUSx5Q0FBQTtBeEI2dEZoQjtBdUIvdUZFO0VDakJFLGNwQnNCVztFb0JyQlgsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCcEJtQlc7QUppdkZmO0F3Qmx3Rkk7RUFDSSxXQVA0QztFQVE1Qyx5QnBCZU87RW9CZFAscUJwQmNPO0FKc3ZGZjtBd0Jqd0ZJO0VBRUkseUNBQUE7QXhCa3dGUjtBd0IvdkZJO0VBRUksY3BCSU87RW9CSFAsNkJBQUE7QXhCZ3dGUjtBd0I3dkZJO0VBR0ksV0FBQTtFQUNBLHlCcEJKTztFb0JLUCxxQnBCTE87QUprd0ZmO0F3QjN2RlE7RUFNUSx5Q0FBQTtBeEJ3dkZoQjtBdUIxd0ZFO0VDakJFLFdwQnNCVztFb0JyQlgsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLGtCcEJtQlc7QUo0d0ZmO0F3Qjd4Rkk7RUFDSSxjQVA0QztFQVE1QyxzQnBCZU87RW9CZFAsa0JwQmNPO0FKaXhGZjtBd0I1eEZJO0VBRUksNENBQUE7QXhCNnhGUjtBd0IxeEZJO0VBRUksV3BCSU87RW9CSFAsNkJBQUE7QXhCMnhGUjtBd0J4eEZJO0VBR0ksY0FBQTtFQUNBLHNCcEJKTztFb0JLUCxrQnBCTE87QUo2eEZmO0F3QnR4RlE7RUFNUSw0Q0FBQTtBeEJteEZoQjtBdUJyeUZFO0VDakJFLFdwQnNCVztFb0JyQlgsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLGtCcEJtQlc7QUp1eUZmO0F3Qnh6Rkk7RUFDSSxjQVA0QztFQVE1QyxzQnBCZU87RW9CZFAsa0JwQmNPO0FKNHlGZjtBd0J2ekZJO0VBRUksNENBQUE7QXhCd3pGUjtBd0JyekZJO0VBRUksV3BCSU87RW9CSFAsNkJBQUE7QXhCc3pGUjtBd0JuekZJO0VBR0ksY0FBQTtFQUNBLHNCcEJKTztFb0JLUCxrQnBCTE87QUp3ekZmO0F3Qmp6RlE7RUFNUSw0Q0FBQTtBeEI4eUZoQjtBdUJoMEZFO0VDakJFLFlwQnNCVztFb0JyQlgsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CcEJtQlc7QUprMEZmO0F3Qm4xRkk7RUFDSSxXQVA0QztFQVE1Qyx1QnBCZU87RW9CZFAsbUJwQmNPO0FKdTBGZjtBd0JsMUZJO0VBRUksc0NBQUE7QXhCbTFGUjtBd0JoMUZJO0VBRUksWXBCSU87RW9CSFAsNkJBQUE7QXhCaTFGUjtBd0I5MEZJO0VBR0ksV0FBQTtFQUNBLHVCcEJKTztFb0JLUCxtQnBCTE87QUptMUZmO0F3QjUwRlE7RUFNUSxzQ0FBQTtBeEJ5MEZoQjtBdUJoMUZBO0VBQ0UsZ0JwQnNSNEI7RW9CclI1QixjcEJtQmM7RW9CbEJkLDZCQUFBO0F2Qm0xRkY7QUsxNUZFO0VrQjBFRSxjcEJ3S3dCO0VvQnZLeEIscUJwQndLd0I7RW9Cdkt4Qiw2QkFBQTtFQUNBLHlCQUFBO0F2Qm0xRko7QXVCaDFGRTtFQUVFLHFCcEJpS3dCO0VvQmhLeEIseUJBQUE7RUFDQSxnQkFBQTtBdkJpMUZKO0F1QjkwRkU7RUFFRSxjcEJsRE87RW9CbURQLG9C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QUFBO0VBQ0EsNkJBQUE7QTVCc25HRjtBMEJoaEdBO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSx1QkFBQTtFQUNBLFdBQUE7RUFDQSxnQnZCb1A0QjtFdUJuUDVCLGN2QjlEUztFdUIrRFQsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLDZCQUFBO0VBQ0EsU0FBQTtBMUJtaEdGO0FLM25HRTtFcUIyR0UsY3RCK2JnQztFc0I5YmhDLHFCQUFBO0VKdEhBLHlCbkJ3Q087QUhrbUdYO0EwQmhoR0U7RUFFRSxXdkJyRk87RXVCc0ZQLHFCQUFBO0VKN0hBLHlCbkJ1VTRCO0FIdzBGaEM7QTBCOWdHRTtFQUVFLGN2QnRGTztFdUJ1RlAsNkJBQUE7QTFCK2dHSjtBMEJ2Z0dBO0VBQ0UsY0FBQTtBMUIwZ0dGO0EwQnRnR0E7RUFDRSxjQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CdkJ3TTRCO0V1QnZNNUIsY3ZCekdTO0V1QjBHVCxtQkFBQTtBMUJ5Z0dGO0EwQnJnR0E7RUFDRSxjQUFBO0VBQ0EsdUJBQUE7RUFDQSxjdkI5R1M7QUhzbkdYO0E2QnpxR0E7O0VBRUUsa0JBQUE7RUFDQSxvQkFBQTtFQUNBLHNCQUFBO0E3QjRxR0Y7QTZCMXFHRTs7RUFDRSxrQkFBQTtFQUNBLGNBQUE7QTdCNnFHSjtBSzVxR0U7O0V3QklJLFVBQUE7QTdCNHFHTjtBNkIxcUdJOzs7O0VBR0UsVUFBQTtBN0I2cUdOO0E2QnhxR0U7Ozs7Ozs7O0VBSUUsaUJBQUE7QTdCOHFHSjtBNkJ6cUdBO0VBQ0UsYUFBQTtFQUNBLGVBQUE7RUFDQSwyQkFBQTtBN0I0cUdGO0E2QjFxR0U7RUFDRSxXQUFBO0E3QjRxR0o7QTZCdnFHRTtFQUNFLGNBQUE7QTdCMHFHSjtBNkJ0cUdFOztFbkJsQ0UsMEJtQm9DNkI7RW5CbkM3Qiw2Qm1CbUM2QjtBN0J5cUdqQztBNkJ0cUdFOztFbkJ6QkUseUJtQjJCNEI7RW5CMUI1Qiw0Qm1CMEI0QjtBN0J5cUdoQztBNkJ6cEdBO0VBQ0Usd0JBQUE7RUFDQSx1QkFBQTtBN0I0cEdGO0E2QjFwR0U7RUFHRSxjQUFBO0E3QjBwR0o7QTZCdnBHRTtFQUNFLGVBQUE7QTdCeXBHSjtBNkJycEdBO0VBQ0UsdUJBQUE7RUFDQSxzQkFBQTtBN0J3cEdGO0E2QnJwR0E7RUFDRSxzQkFBQTtFQUNBLHFCQUFBO0E3QndwR0Y7QTZCbHBHQTtFbEJwR0ksZ0JrQnFHRjtBN0JxcEdGO0E2QmxwR0U7RWxCeEdFLGdCa0J5R0E7QTdCb3BHSjtBNkIzb0dBO0VBQ0Usc0JBQUE7RUFDQSx1QkFBQTtFQUNBLHVCQUFBO0E3QjhvR0Y7QTZCNW9HRTs7RUFFRSxXQUFBO0E3QjhvR0o7QTZCM29HRTs7OztFQUlFLGdCQUFBO0VBQ0EsY0FBQTtBN0I2b0dKO0E2QnpvR0U7O0VuQi9HRSw2Qm1CaUg4QjtFbkJoSDlCLDRCbUJnSDhCO0E3QjRvR2xDO0E2QnpvR0U7O0VuQmxJRSx5Qm1Cb0kyQjtFbkJuSTNCLDBCbUJtSTJCO0E3QjRvRy9CO0E2QjFuR0U7O0VBRUUsZ0JBQUE7QTdCNm5HSjtBNkIzbkdJOzs7O0VBRUUsa0JBQUE7RUFDQSxzQkFBQTtFQUNBLG9CQUFBO0E3QituR047QThCanlHQTtFQUNFLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGVBQUE7RUFDQSxvQkFBQTtFQUNBLFdBQUE7QTlCb3lHRjtBOEJseUdFOzs7RUFHRSxrQkFBQTtFQUNBLGNBQUE7RUFHQSxTQUFBO0VBQ0EsZ0JBQUE7QTlCa3lHSjtBOEIveEdJOzs7RUFDRSxVQUFBO0E5Qm15R047QThCaHlHSTs7Ozs7Ozs7O0VBR0UsaUJBQUE7QTlCd3lHTjtBOEJseUdJOztFcEJwQkEsMEJvQm9Ca0Q7RXBCbkJsRCw2Qm9CbUJrRDtBOUJ1eUd0RDtBOEJ0eUdJOztFcEJQQSx5Qm9CT2tEO0VwQk5sRCw0Qm9CTWtEO0E5QjJ5R3REO0E4QnR5R0U7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7QTlCd3lHSjtBOEJ0eUdJO0VwQjlCQSwwQm9CK0I0RTtFcEI5QjVFLDZCb0I4QjRFO0E5Qnl5R2hGO0E4Qnh5R0k7RXBCbEJBLHlCb0JrQnFFO0VwQmpCckUsNEJvQmlCcUU7QTlCNHlHekU7QThCanlHQTs7RUFFRSxhQUFBO0E5Qm95R0Y7QThCL3hHRTs7RUFDRSxrQkFBQTtFQUNBLFVBQUE7QTlCa3lHSjtBOEIveEdFOzs7Ozs7OztFQUlFLGlCQUFBO0E5QnF5R0o7QThCanlHQTtFQUF1QixrQkFBQTtBOUJxeUd2QjtBOEJweUdBO0VBQXNCLGlCQUFBO0E5Qnd5R3RCO0E4Qmh5R0E7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx5QkFBQTtFQUNBLGdCQUFBO0VBQ0EsZTNCa1E0QjtFMkJqUTVCLGdCM0J3UTRCO0UyQnZRNUIsZ0IzQjZRNEI7RTJCNVE1QixjM0IvQ1M7RTJCZ0RULGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQjNCdkRTO0UyQndEVCx5QkFBQTtFcEJqR0UsdUJQK1QwQjtBSHNrRzlCO0E4Qmh5R0U7O0VBRUUsYUFBQTtBOUJreUdKO0E4Qmh3R0E7Ozs7OztFcEI1SEksMEJvQmtJMkI7RXBCakkzQiw2Qm9CaUkyQjtBOUJvd0cvQjtBOEJqd0dBOzs7Ozs7RXBCdkhJLHlCb0I2SDBCO0VwQjVIMUIsNEJvQjRIMEI7QTlCcXdHOUI7QStCeDVHQTtFQUNFLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EscUI1QnVrQnNDO0FIbzFGeEM7QStCeDVHQTtFQUNFLG9CQUFBO0VBQ0Esa0I1Qm1rQnNDO0FIdzFGeEM7QStCeDVHQTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7QS9CMjVHRjtBK0J6NUdFO0VBQ0UsVzVCa0JPO0VtQnZDUCx5Qm5CdVU0QjtFUTNVNUIsZ0JvQjJCQTtBL0IyNUdKO0ErQng1R0U7RUFFRSxnQjVCeWpCNEM7QUhnMkZoRDtBK0J0NUdFO0VBQ0UsVzVCT087RTRCTlAseUI1QnNTNEI7RVEzVTVCLGdCb0JzQ0E7QS9CdzVHSjtBK0JwNUdJO0VBQ0UsYzVCTUs7QUhnNUdYO0ErQnA1R007RUFDRSx5QjVCREc7QUh1NUdYO0ErQjU0R0E7RUFDRSxrQkFBQTtFQUNBLGdCQUFBO0EvQis0R0Y7QStCNTRHRTtFQUNFLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0VBQ0EsYzVCa2hCb0M7RTRCamhCcEMsZTVCaWhCb0M7RTRCaGhCcEMsb0JBQUE7RUFDQSxXQUFBO0VBQ0EseUJBQUE7S0FBQSxzQkFBQTtVQUFBLGlCQUFBO0VBQ0Esc0I1QjVCTztFUTNDUCxnQm9Cd0VBO0EvQjg0R0o7QStCMTRHRTtFQUNFLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0VBQ0EsYzVCbWdCb0M7RTRCbGdCcEMsZTVCa2dCb0M7RTRCamdCcEMsV0FBQTtFQUNBLDRCQUFBO0VBQ0Esa0NBQUE7RUFDQSx3QjNCa1hvQztBSjBoR3hDO0ErQmw0R0U7RXJCOUZFLHNCUGtVMEI7QUhrcUc5QjtBK0JqNEdJO0VUakdBLHlCbkJ1VTRCO0FIOHBHaEM7QStCajRHSTtFQUNFLDBOM0JpWDBDO0FKa2hHaEQ7QStCOTNHSTtFVDFHQSx5Qm5CdVU0QjtFUTNVNUIsZ0JvQmdIRTtBL0JnNEdOO0ErQjkzR0k7RUFDRSx1SzNCMldnRDtBSnFoR3REO0ErQjMzR0k7RUFDRSx5QzVCaWYwQztBSDQ0RmhEO0ErQjMzR0k7RUFDRSx5QzVCOGUwQztBSCs0RmhEO0ErQm4zR0U7RUFDRSxrQjNCMFY0QztBSjRoR2hEO0ErQmwzR0k7RVR2SUEseUJuQnVVNEI7QUhxckdoQztBK0JsM0dJO0VBQ0Usb0szQm1WMEM7QUppaUdoRDtBK0IvMkdJO0VBQ0UseUM1QnFkMEM7QUg0NUZoRDtBK0JyMkdBO0VBQ0UscUJBQUE7RUFDQSxXQUFBO0VBQ0EsMkIzQnNRc0M7RTJCclF0QywwQ0FBQTtFQUNBLGdCNUJxTTRCO0U0QnBNNUIsYzVCdEhTO0U0QnVIVCxzQkFBQTtFQUNBLHNOQUFBO0VBQ0EseUIzQm1Va0M7RTJCbFVsQyx5QkFBQTtFQUVFLHVCNUJvSjBCO0U0QmhKNUIsd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0EvQm8yR0Y7QStCbDJHRTtFQUNFLHNDNUIrWG9DO0U0QjlYcEMsVUFBQTtFQUNBLGlGM0IrVGdDO0FKcWlHcEM7QStCbDJHSTtFQU1FLGM1QjdJSztFNEI4SUwsc0I1QnBKSztBSG0vR1g7QStCMzFHRTtFQUVFLFlBQUE7RUFDQSxzQjNCK1JnQztFMkI5UmhDLHNCQUFBO0EvQjQxR0o7QStCejFHRTtFQUNFLGM1QjFKTztFNEIySlAseUI1Qi9KTztBSDAvR1g7QStCdjFHRTtFQUNFLFVBQUE7QS9CeTFHSjtBK0JyMUdBO0VBQ0UsNkIzQnVOc0M7RTJCdE50QyxxQjNCNlFrQztFMkI1UWxDLHdCM0I0UWtDO0UyQjNRbEMsYzNCOFJrQztBSjBqR3BDO0ErQnIxR0E7RUFDRSw0QjNCbU5zQztFMkJsTnRDLHFCM0JzUWtDO0UyQnJRbEMsd0IzQnFRa0M7RTJCcFFsQyxlM0IwUmtDO0FKOGpHcEM7QStCaDFHQTtFQUNFLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsMkIzQjhMc0M7RTJCN0x0QyxnQkFBQTtBL0JtMUdGO0ErQmgxR0E7RUFDRSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsMkIzQnNMc0M7RTJCckx0QyxTQUFBO0VBQ0EsVUFBQTtBL0JtMUdGO0ErQmoxR0U7RUFDRSxzQzVCMFRvQztFNEJ6VHBDLGdCNUJ5TzBCO0FIMG1HOUI7QStCajFHSTtFQUNFLHNDNUJzVGtDO0FINmhHeEM7QStCOTBHSTtFQUNFLGlCM0IwUmE7QUpzakduQjtBK0IzMEdBO0VBQ0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLE9BQUE7RUFDQSxVQUFBO0VBQ0EsMkIzQjRKc0M7RTJCM0p0Qyx5QkFBQTtFQUNBLGdCNUIyRjRCO0U0QjFGNUIsYzVCaE9TO0U0QmlPVCxzQjVCdk9TO0U0QndPVCx5QkFBQTtFckJqUkUsdUJQK1QwQjtFUWpVMUIsZ0JvQnFSRjtBL0I4MEdGO0ErQjUwR0U7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxjQUFBO0VBQ0EsZTNCMklvQztFMkIxSXBDLHlCQUFBO0VBQ0EsZ0I1QjJFMEI7RTRCMUUxQixjNUJoUE87RTRCaVBQLGlCQUFBO0VUOVJBLHNCbkJ1Q087RTRCeVBQLDhCQUFBO0VyQmxTQSxvQ3FCbVN1QjtBL0I4MEczQjtBK0JwMEdBO0VBQ0UsV0FBQTtFQUNBLGVBQUE7RUFDQSw2QkFBQTtFQUNBLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtBL0J1MEdGO0ErQnIwR0U7RUFDRSxhQUFBO0EvQnUwR0o7QStCcDBHRTtFQUNFLFNBQUE7QS9CczBHSjtBK0JuMEdFO0VBQ0UsVzNCc01rQztFMkJyTWxDLFkzQnFNa0M7RTJCcE1sQyxvQkFBQTtFVDVUQSx5Qm5CdVU0QjtFNEJUNUIsUzNCcU1rQztFTXJnQmxDLG1CTnNnQmtDO0VPeGdCbEMsK0NvQm9VQTtFQUNBLHdCQUFBO1VBQUEsZ0JBQUE7QS9CcTBHSjtBK0JuMEdJO0VBQ0UsYUFBQTtFQUNBLG1DM0JpTWdDO0FKb29HdEM7QStCbDBHSTtFVHhVQSx5QmxCdWdCa0M7QUpzb0d0QztBK0JoMEdFO0VBQ0UsVzNCMktnQztFMkIxS2hDLGMzQjJLZ0M7RTJCMUtoQyxrQkFBQTtFQUNBLGUzQjBLZ0M7RTJCektoQyx5QjVCeFNPO0U0QnlTUCx5QkFBQTtFckJyVkEsbUJOK2ZnQztFT2pnQmhDLHNEb0J5VkE7QS9CazBHSjtBK0IvekdFO0VBQ0UsVzNCdUtrQztFMkJ0S2xDLFkzQnNLa0M7RWtCaGdCbEMseUJuQnVVNEI7RTRCcUI1QixTM0J1S2tDO0VNcmdCbEMsbUJOc2dCa0M7RU94Z0JsQywrQ29Ca1dBO0VBQ0EscUJBQUE7T0FBQSxnQkFBQTtBL0JpMEdKO0ErQi96R0k7RUFDRSxhQUFBO0VBQ0EsbUMzQm1LZ0M7QUo4cEd0QztBK0I5ekdJO0VUdFdBLHlCbEJ1Z0JrQztBSmdxR3RDO0ErQjV6R0U7RUFDRSxXM0I2SWdDO0UyQjVJaEMsYzNCNklnQztFMkI1SWhDLGtCQUFBO0VBQ0EsZTNCNElnQztFMkIzSWhDLHlCNUJ0VU87RTRCdVVQLHlCQUFBO0VyQm5YQSxtQk4rZmdDO0VPamdCaEMsc0RvQnVYQTtBL0I4ekdKO0ErQjN6R0U7RUFDRSxXM0J5SWtDO0UyQnhJbEMsWTNCd0lrQztFa0JoZ0JsQyx5Qm5CdVU0QjtFNEJtRDVCLFMzQnlJa0M7RU1yZ0JsQyxtQk5zZ0JrQztFT3hnQmxDLCtDb0JnWUE7RUFDQSxnQkFBQTtBL0I2ekdKO0ErQjN6R0k7RUFDRSxhQUFBO0VBQ0EsbUMzQnFJZ0M7QUp3ckd0QztBK0IxekdJO0VUcFlBLHlCbEJ1Z0JrQztBSjByR3RDO0ErQnh6R0U7RUFDRSxXM0IrR2dDO0UyQjlHaEMsYzNCK0dnQztFMkI5R2hDLGtCQUFBO0VBQ0EsZTNCOEdnQztFMkI3R2hDLDZCQUFBO0VBQ0EseUJBQUE7RUFDQSxvQkFBQTtFcEJwWkEsc0RvQnFaQTtBL0IwekdKO0ErQnZ6R0U7RUFDRSx5QjVCM1dPO0VPNUNQLG1CTitmZ0M7QUprdEdwQztBK0J0ekdFO0VBQ0Usa0JBQUE7RUFDQSx5QjVCalhPO0VPNUNQLG1CTitmZ0M7QUp1dEdwQztBZ0NydEhBO0VBQ0UsYUFBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtBaEN3dEhGO0FnQ3J0SEE7RUFDRSxjQUFBO0VBQ0Esd0JBQUE7QWhDd3RIRjtBS3Z0SEU7RTJCRUUscUJBQUE7QWhDd3RISjtBZ0NwdEhFO0VBQ0UsYzdCNEJPO0FIMHJIWDtBZ0M5c0hBO0VBQ0UsZ0NBQUE7QWhDaXRIRjtBZ0Mvc0hFO0VBQ0UsbUJBQUE7QWhDaXRISjtBZ0M5c0hFO0VBQ0UsNkJBQUE7RXRCN0JBLGdDUHlUMEI7RU94VDFCLGlDUHdUMEI7QUhzN0c5QjtBS3p1SEU7RTJCMkJJLHFDNUJtakI4QjtBSjhwR3BDO0FnQzlzSEk7RUFDRSxjN0JJSztFNkJITCw2QkFBQTtFQUNBLHlCQUFBO0FoQ2d0SE47QWdDNXNIRTs7RUFFRSxjN0JITztFNkJJUCx5QjdCa0xNO0U2QmpMTixxQzVCd2lCZ0M7QUpzcUdwQztBZ0Mzc0hFO0VBRUUsZ0JBQUE7RXRCcERBLHlCc0JzRDJCO0V0QnJEM0IsMEJzQnFEMkI7QWhDNHNIL0I7QWdDbHNIRTtFdEJ0RUUsdUJQK1QwQjtBSDY4RzlCO0FnQ2xzSEU7O0VBRUUs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RWlDcnlITTtJQUNFLGFBQUE7RWpDdXlIUjtBQUNGO0FldjVISTtFa0J5RUk7O0lBRUUsZ0JBQUE7SUFDQSxlQUFBO0VqQ2kxSFI7QUFDRjtBZTM2SEk7RWtCb0ZBO0lBVUkscUJBQUE7SUFDQSwyQkFBQTtFakNpMUhOO0VpQy8wSE07SUFDRSxtQkFBQTtFakNpMUhSO0VpQy8wSFE7SUFDRSxrQkFBQTtFakNpMUhWO0VpQzkwSFE7SUFDRSxtQjlCK2lCd0I7SThCOWlCeEIsa0I5QjhpQndCO0VIa3lHbEM7RWlDMzBITTs7SUFFRSxpQkFBQTtFakM2MEhSO0VpQzEwSE07SUFDRSx3QkFBQTtJQUdBLGdCQUFBO0VqQzAwSFI7RWlDdjBITTtJQUNFLGFBQUE7RWpDeTBIUjtBQUNGO0FpQ2wzSEk7RUFVSSxxQkFBQTtFQUNBLDJCQUFBO0FqQzIySFI7QWlDcDNIUTs7RUFFRSxnQkFBQTtFQUNBLGVBQUE7QWpDczNIVjtBaUM5MkhRO0VBQ0UsbUJBQUE7QWpDZzNIVjtBaUM5MkhVO0VBQ0Usa0JBQUE7QWpDZzNIWjtBaUM3MkhVO0VBQ0UsbUI5QitpQndCO0U4QjlpQnhCLGtCOUI4aUJ3QjtBSGkwR3BDO0FpQzEySFE7O0VBRUUsaUJBQUE7QWpDNDJIVjtBaUN6MkhRO0VBQ0Usd0JBQUE7RUFHQSxnQkFBQTtBakN5MkhWO0FpQ3QySFE7RUFDRSxhQUFBO0FqQ3cySFY7QWlDMTFIRTtFQUNFLHlCOUJnakJnQztBSDZ5R3BDO0FLcGhJRTtFNEIwTEkseUI5QjZpQjhCO0FIZ3pHcEM7QWlDeDFISTtFQUNFLHlCOUJxaUI4QjtBSHF6R3BDO0FLMWhJRTtFNEJtTU0seUI5Qm1pQjRCO0FIdXpHcEM7QWlDdjFITTtFQUNFLHlCOUJpaUI0QjtBSHd6R3BDO0FpQ3IxSEk7Ozs7RUFJRSx5QjlCd2hCOEI7QUgrekdwQztBaUNuMUhFO0VBQ0UseUI5QmloQmdDO0U4QmhoQmhDLHlCOUJvaEJnQztBSGkwR3BDO0FpQ2wxSEU7RUFDRSxxUTdCOFpnQztBSnM3R3BDO0FpQ2oxSEU7RUFDRSx5QjlCd2dCZ0M7QUgyMEdwQztBaUNsMUhJO0VBQ0UseUI5QndnQjhCO0FINDBHcEM7QUtuaklFO0U0QmtPTSx5QjlCcWdCNEI7QUgrMEdwQztBaUM1MEhFO0VBQ0UsZ0M5QjZlZ0M7QUhrMkdwQztBSzFqSUU7RTRCOE9JLGdDOUIwZThCO0FIcTJHcEM7QWlDMTBISTtFQUNFLGdDOUJrZThCO0FIMDJHcEM7QUtoa0lFO0U0QnVQTSxnQzlCZ2U0QjtBSDQyR3BDO0FpQ3owSE07RUFDRSxnQzlCOGQ0QjtBSDYyR3BDO0FpQ3YwSEk7Ozs7RUFJRSxnQzlCcWQ4QjtBSG8zR3BDO0FpQ3IwSEU7RUFDRSxnQzlCOGNnQztFOEI3Y2hDLHlCOUJpZGdDO0FIczNHcEM7QWlDcDBIRTtFQUNFLDRRN0JtV2dDO0FKbStHcEM7QWlDbjBIRTtFQUNFLGdDOUJxY2dDO0FIZzRHcEM7QWlDcDBISTtFQUNFLGdDOUJxYzhCO0FIaTRHcEM7QUt6bElFO0U0QnNSTSxnQzlCa2M0QjtBSG80R3BDO0FrQ3htSUE7RUFDRSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxxQkFBQTtFQUNBLHNCL0JtQ1M7RStCbENULDJCQUFBO0VBQ0EscUNBQUE7RXhCUkUsdUJQK1QwQjtBSHF6SDlCO0FrQ3ptSUU7RUFDRSxlQUFBO0VBQ0EsY0FBQTtBbEMybUlKO0FrQ3ZtSUk7RXhCWEEsZ0NQeVQwQjtFT3hUMUIsaUNQd1QwQjtBSDZ6SDlCO0FrQ3JtSUk7RXhCSEEsb0NQMlMwQjtFTzFTMUIsbUNQMFMwQjtBSGkwSDlCO0FrQ25tSUE7RUFHRSxjQUFBO0VBQ0EsZS9CODJCa0M7QUhzdkdwQztBa0NqbUlBO0VBQ0Usc0IvQnkyQmtDO0FIMnZHcEM7QWtDam1JQTtFQUNFLHFCQUFBO0VBQ0EsZ0JBQUE7QWxDb21JRjtBa0NqbUlBO0VBQ0UsZ0JBQUE7QWxDb21JRjtBSzFvSUU7RTZCMkNFLHFCQUFBO0FsQ21tSUo7QWtDaG1JRTtFQUNFLG1CL0J3MUJnQztBSDB3R3BDO0FrQzFsSUE7RUFDRSx1QkFBQTtFQUNBLGdCQUFBO0VBQ0Esc0IvQnpCUztFK0IwQlQsNENBQUE7QWxDNmxJRjtBa0MzbElFO0V4QnJFRSw0RHdCc0V1QjtBbEM2bEkzQjtBa0N6bElJO0VBQ0UsYUFBQTtBbEMybElOO0FrQ3RsSUE7RUFDRSx1QkFBQTtFQUNBLHNCL0J6Q1M7RStCMENULHlDQUFBO0FsQ3lsSUY7QWtDdmxJRTtFeEJyRkUsNER3QnNGdUI7QWxDeWxJM0I7QWtDaGxJQTtFQUNFLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSxxQkFBQTtFQUNBLGdCQUFBO0FsQ21sSUY7QWtDaGxJQTtFQUNFLHNCQUFBO0VBQ0EscUJBQUE7QWxDbWxJRjtBa0Mva0lBO0VBQ0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsZ0IvQnF5QmtDO0FINnlHcEM7QWtDL2tJQTtFQUNFLFdBQUE7RXhCdEhFLG1DUG01QmdDO0FIc3pHcEM7QWtDOWtJQTtFQUNFLFdBQUE7RXhCdEhFLDRDUDY0QmdDO0VPNTRCaEMsNkNQNDRCZ0M7QUg0ekdwQztBa0Mva0lBO0VBQ0UsV0FBQTtFeEI3R0UsZ0RQKzNCZ0M7RU85M0JoQywrQ1A4M0JnQztBSGswR3BDO0FrQzdrSUE7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7QWxDZ2xJRjtBa0M5a0lFO0VBQ0UsbUI5QjJpQmdDO0FKcWlIcEM7QWVycUlJO0VtQmdGSjtJQVNJLG1CQUFBO0lBQ0EsbUJBQUE7SUFDQSxrQkFBQTtFbENnbElGO0VrQzlrSUU7SUFDRSxhQUFBO0lBRUEsWUFBQTtJQUNBLHNCQUFBO0lBQ0Esa0I5QjhoQjhCO0k4QjdoQjlCLGdCQUFBO0lBQ0EsaUI5QjRoQjhCO0VKbWpIbEM7QUFDRjtBa0N0a0lBO0VBQ0UsYUFBQTtFQUNBLHNCQUFBO0FsQ3lrSUY7QWtDcmtJRTtFQUNFLG1COUIyZ0JnQztBSjRqSHBDO0FlNXJJSTtFbUI4R0o7SUFXSSxtQkFBQTtFbEN1a0lGO0VrQ3BrSUU7SUFFRSxZQUFBO0lBQ0EsZ0JBQUE7RWxDcWtJSjtFa0Nua0lJO0lBQ0UsY0FBQTtJQUNBLGNBQUE7RWxDcWtJTjtFa0Noa0lNO0l4Qm5MSiwwQndCb0xtQztJeEJuTG5DLDZCd0JtTG1DO0VsQ21rSXJDO0VrQ2prSVE7O0lBRUUsMEJBQUE7RWxDbWtJVjtFa0Nqa0lROztJQUVFLDZCQUFBO0VsQ21rSVY7RWtDL2pJTTtJeEJsTEoseUJ3Qm1Ma0M7SXhCbExsQyw0QndCa0xrQztFbENra0lwQztFa0Noa0lROztJQUVFLHlCQUFBO0VsQ2trSVY7RWtDaGtJUTs7SUFFRSw0QkFBQTtFbENra0lWO0VrQzlqSU07SXhCMU5KLHVCUCtUMEI7RUg0OUg1QjtFa0M5aklROztJeEJ2Tk4sZ0NQeVQwQjtJT3hUMUIsaUNQd1QwQjtFSGkrSDVCO0VrQy9qSVE7O0l4QjdNTixvQ1AyUzBCO0lPMVMxQixtQ1AwUzBCO0VIcytINUI7RWtDOWpJTTtJeEJ2T0osZ0J3QndPNkI7RWxDZ2tJL0I7RWtDOWpJUTs7OztJeEIxT04sZ0J3QjhPK0I7RWxDZ2tJakM7QUFDRjtBa0NuaklFO0VBQ0Usc0IvQmlwQmdDO0FIcTZHcEM7QWUzdklJO0VtQm1NSjtJQU1JLG9CL0IycEJnQztTK0IzcEJoQyxlL0IycEJnQztJK0IxcEJoQyx3Qi9CMnBCZ0M7UytCM3BCaEMsbUIvQjJwQmdDO0krQjFwQmhDLFVBQUE7SUFDQSxTQUFBO0VsQ3NqSUY7RWtDcGpJRTtJQUNFLHFCQUFBO0lBQ0EsV0FBQTtFbENzaklKO0FBQ0Y7QWtDNWlJRTtFQUNFLGdCQUFBO0VBQ0EsZ0JBQUE7QWxDK2lJSjtBa0MzaUlJO0VBQ0UsZ0JBQUE7QWxDNmlJTjtBa0N6aUlFO0VBQ0UsZ0JBQUE7RUFDQSw2QkFBQTtFQUNBLDRCQUFBO0FsQzJpSUo7QWtDeGlJRTtFQUNFLHlCQUFBO0VBQ0EsMEJBQUE7QWxDMGlJSjtBbUNwMUlBO0VBQ0UsYUFBQTtFQUNBLGVBQUE7RUFDQSxxQkFBQTtFQUNBLG1CL0JvMkJrQztFK0JuMkJsQyxnQkFBQTtFQUNBLHlCaEN5Q1M7RU8zQ1AsdUJQK1QwQjtBSDJoSTlCO0FtQ2wxSUU7RUFDRSxvQi9CeTFCZ0M7QUo0L0dwQztBbUNuMUlJO0VBQ0UscUJBQUE7RUFDQSxxQi9CcTFCOEI7RStCcDFCOUIsY2hDaUNLO0VnQ2hDTCxZL0IwMUI4QjtBSjIvR3BDO0FtQzMwSUU7RUFDRSwwQkFBQTtBbkM2MElKO0FtQzEwSUU7RUFDRSxxQkFBQTtBbkM0MElKO0FtQ3owSUU7RUFDRSxjaENhTztBSDh6SVg7QW9DajNJQTtFQUNFLGFBQUE7RTdCR0EsZUFBQTtFQUNBLGdCQUFBO0VHREUsdUJQK1QwQjtBSHFqSTlCO0FvQ2wzSUE7RUFDRSxrQkFBQTtFQUNBLGNBQUE7RUFDQSx1QkFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJoQ3VvQmtDO0VnQ3RvQmxDLGNqQ3VDUztFaUN0Q1Qsc0JqQ2dDUztFaUMvQlQseUJBQUE7QXBDcTNJRjtBb0NuM0lFO0VBQ0UsVUFBQTtFQUNBLGNqQ2lDTztFaUNoQ1AscUJBQUE7RUFDQSx5QmpDNEJPO0VpQzNCUCxxQmpDMkJPO0FIMDFJWDtBb0NsM0lFO0VBQ0UsVUFBQTtFQUNBLFVoQ2dvQmdDO0VnQy9uQmhDLGdCakMwYzBCO0FIMDZIOUI7QW9DaDNJRTtFQUNFLGVBQUE7QXBDazNJSjtBb0M1MklJO0VBQ0UsY0FBQTtFMUJSRixnQ1BvUzBCO0VPblMxQixtQ1BtUzBCO0FIcWxJOUI7QW9DNTJJSTtFMUIzQkEsaUNQa1QwQjtFT2pUMUIsb0NQaVQwQjtBSHlsSTlCO0FvQzMySUU7RUFDRSxVQUFBO0VBQ0EsV2pDTk87RWlDT1AseUJqQ3lSNEI7RWlDeFI1QixxQmpDd1I0QjtBSHFsSWhDO0FvQzEySUU7RUFDRSxjakNOTztFaUNPUCxvQkFBQTtFQUVBLFlBQUE7RUFDQSxzQmpDaEJPO0VpQ2lCUCxxQmpDZE87QUh5M0lYO0FxQ3Q2SUU7RUFDRSx1QkFBQTtFQUNBLGtCbEM2VjBCO0VrQzVWMUIsZ0JqQ3NNMEI7QUptdUk5QjtBcUNwNklNO0UzQm9CRixpQ1BzUzBCO0VPclMxQixvQ1BxUzBCO0FIOG1JOUI7QXFDbjZJTTtFM0JDRixrQ1BvVDBCO0VPblQxQixxQ1BtVDBCO0FIa25JOUI7QXFDcDdJRTtFQUNFLHVCQUFBO0VBQ0EsbUJsQzhWMEI7RWtDN1YxQixnQmpDdU0wQjtBSmd2STlCO0FxQ2w3SU07RTNCb0JGLCtCUHVTMEI7RU90UzFCLGtDUHNTMEI7QUgybkk5QjtBcUNqN0lNO0UzQkNGLGdDUHFUMEI7RU9wVDFCLG1DUG9UMEI7QUgrbkk5QjtBc0NoOElBO0VBQ0UscUJBQUE7RUFDQSx5QkFBQTtFQUNBLGNuQzYxQmtDO0VtQzUxQmxDLGdCbkMrVjRCO0VtQzlWNUIsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtFNUJURSx1QlArVDBCO0FIOG9JOUI7QXNDaDhJRTtFQUNFLGFBQUE7QXRDazhJSjtBc0M3N0lBO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0F0Q2c4SUY7QXNDejdJQTtFQUNFLHNCbkMyMEJrQztFbUMxMEJsQyxxQm5DMDBCa0M7RU94MkJoQyxvQlB5MkJnQztBSGtuSHBDO0FzQ3A3SUU7RUMxQ0QsY0FBQTtFQUNHLDBDQUFBO0F2Q2srSUo7QUtwOUlFO0VrQ1ZPLFdBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBO0F2Q2krSVQ7QXNDOTdJRTtFQzFDRCxjQUFBO0VBQ0csMENBQUE7QXZDNCtJSjtBSzk5SUU7RWtDVk8sY0FBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7QXZDMitJVDtBc0N4OElFO0VDMUNELGNBQUE7RUFDRywwQ0FBQTtBdkNzL0lKO0FLeCtJRTtFa0NWTyxXQUFBO0VBQ0EscUJBQUE7RUFDQSx5QkFBQTtBdkNxL0lUO0FzQ2w5SUU7RUMxQ0QsY0FBQTtFQUNHLDBDQUFBO0F2Q2dnSko7QUtsL0lFO0VrQ1ZPLFdBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBO0F2QysvSVQ7QXNDNTlJRTtFQzFDRCxjQUFBO0VBQ0csMENBQUE7QXZDMGdKSjtBSzUvSUU7RWtDVk8sV0FBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7QXZDeWdKVDtBc0N0K0lFO0VDMUNELGNBQUE7RUFDRywwQ0FBQTtBdkNvaEpKO0FLdGdKRTtFa0NWTyxXQUFBO0VBQ0EscUJBQUE7RUFDQSx5QkFBQTtBdkNtaEpUO0FzQ2gvSUU7RUMxQ0QsY0FBQTtFQUNHLDBDQUFBO0F2QzhoSko7QUtoaEpFO0VrQ1ZPLFdBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBO0F2QzZoSlQ7QXNDMS9JRTtFQzFDRCxjQUFBO0VBQ0cseUNBQUE7QXZDd2lKSjtBSzFoSkU7RWtDVk8sV0FBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7QXZDdWlKVDtBc0NwZ0pFO0VDMUNELGNBQUE7RUFDRyx3Q0FBQTtBdkNrakpKO0FLcGlKRTtFa0NWTyxXQUFBO0VBQ0EscUJBQUE7RUFDQSx5QkFBQTtBdkNpakpUO0FzQzlnSkU7RUMxQ0QsY0FBQTtFQUNHLDBDQUFBO0F2QzRqSko7QUs5aUpFO0VrQ1ZPLGNBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBO0F2QzJqSlQ7QXNDeGhKRTtFQzFDRCxjQUFBO0VBQ0csMENBQUE7QXZDc2tKSjtBS3hqSkU7RWtDVk8sY0FBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7QXZDcWtKVDtBc0NsaUpFO0VDMUNELFlBQUE7RUFDRyx1Q0FBQTtBdkNnbEpKO0FLbGtKRTtFa0NWTyxXQUFBO0VBQ0EscUJBQUE7RUFDQSx1QkFBQTtBdkMra0pUO0F3Q3ZsSkE7RUFDRSxrQkFBQTtFQUNBLG1CcEN5cUJrQztFb0N4cUJsQyx5QnJDNENTO0VPM0NQLHdCUGlVMEI7QUh5eEk5QjtBZWxpSkk7RXlCNURKO0lBT0ksa0JBQUE7RXhDMmxKRjtBQUNGO0F3Q3hsSkE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RTlCVEUsZ0I4QlVxQjtBeEMybEp6QjtBeUNybUpBO0VBQ0Usa0JBQUE7RUFDQSxvQkFBQTtFQUNBLG1CckM0eEJrQztFcUMzeEJsQyw2QkFBQTtFL0JKRSx1QlArVDBCO0FIOHlJOUI7QXlDcG1KQTtFQUVFLGNBQUE7QXpDc21KRjtBeUNsbUpBO0VBQ0UsZ0J0Q29WNEI7QUhpeEk5QjtBeUM3bEpBO0VBQ0UscUJBQUE7QXpDZ21KRjtBeUM3bEpFO0VBQ0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLG9CQUFBO0VBQ0EsY0FBQTtBekMrbEpKO0F5Q3JsSkU7RUM5Q0UsV0FBQTtFcEJLQSx5Qm1CMEN1QjtFQzdDdkIscUJENkNtRTtBekMwbEp2RTtBMENyb0pJO0VBQ0kseUJBQUE7QTFDdW9KUjtBMENwb0pJO0VBQ0ksY0FBQTtBMUNzb0pSO0F5Q2ptSkU7RUM5Q0UsY0FBQTtFcEJLQSx5Qm1CMEN1QjtFQzdDdkIscUJENkNtRTtBekNzbUp2RTtBMENqcEpJO0VBQ0kseUJBQUE7QTFDbXBKUjtBMENocEpJO0VBQ0ksY0FBQTtBMUNrcEpSO0F5QzdtSkU7RUM5Q0UsV0FBQTtFcEJLQSx5Qm1CMEN1QjtFQzdDdkIscUJENkNtRTtBekNrbkp2RTtBMEM3cEpJO0VBQ0kseUJBQUE7QTFDK3BKUjtBMEM1cEpJO0VBQ0ksY0FBQTtBMUM4cEpSO0F5Q3puSkU7RUM5Q0UsV0FBQTtFcEJLQSx5Qm1CMEN1QjtFQzdDdkIscUJENkNtRTtBekM4bkp2RTtBMEN6cUpJO0VBQ0kseUJBQUE7QTFDMnFKUjtBMEN4cUpJO0VBQ0ksY0FBQTtBMUMwcUpSO0F5Q3JvSkU7RUM5Q0UsV0FBQTtFcEJLQSx5Qm1CMEN1QjtFQzdDdkIscUJENkNtRTtBekMwb0p2RTtBMENyckpJO0VBQ0kseUJBQUE7QTFDdXJKUjtBMENwckpJO0VBQ0ksY0FBQTtBMUNzckpSO0F5Q2pwSkU7RUM5Q0UsV0FBQTtFcEJLQSx5Qm1CMEN1QjtFQzdDdkIscUJENkNtRTtBekNzcEp2RTtBMENqc0pJO0VBQ0kseUJBQUE7QTFDbXNKUjtBMENoc0pJO0VBQ0ksY0FBQTtBMUNrc0pSO0F5QzdwSkU7RUM5Q0UsV0FBQTtFcEJLQSx5Qm1CMEN1QjtFQzdDdkIscUJENkNtRTtBekNrcUp2RTtBMEM3c0pJO0VBQ0kseUJBQUE7QTFDK3NKUjtBMEM1c0pJO0VBQ0ksY0FBQTtBMUM4c0pSO0F5Q3pxSkU7RUM5Q0UsV0FBQTtFcEJLQSx5Qm1CMEN1QjtFQzdDdkIscUJENkNtRTtBekM4cUp2RTtBMEN6dEpJO0VBQ0kseUJBQUE7QTFDMnRKUjtBMEN4dEpJO0VBQ0ksY0FBQTtBMUMwdEpSO0F5Q3JySkU7RUM5Q0UsV0FBQTtFcEJLQSx5Qm1CMEN1QjtFQzdDdkIscUJENkNtRTtBekMwckp2RTtBMENydUpJO0VBQ0kseUJBQUE7QTFDdXVKUjtBMENwdUpJO0VBQ0ksY0FBQTtBMUNzdUpSO0F5Q2pzSkU7RUM5Q0UsY0FBQTtFcEJLQSx1Qm1CMEN1QjtFQzdDdkIsbUJENkNtRTtBekNzc0p2RTtBMENqdkpJO0VBQ0kseUJBQUE7QTFDbXZKUjtBMENodkpJO0VBQ0ksY0FBQTtBMUNrdkpSO0F5QzdzSkU7RUM5Q0UsY0FBQTtFcEJLQSx1Qm1CMEN1QjtFQzdDdkIsbUJENkNtRTtBekNrdEp2RTtBMEM3dkpJO0VBQ0kseUJBQUE7QTFDK3ZKUjtBMEM1dkpJO0VBQ0ksY0FBQTtBMUM4dkpSO0F5Q3p0SkU7RUM5Q0UsV0FBQTtFcEJLQSx5Qm1CMEN1QjtFQzdDdkIscUJENkNtRTtBekM4dEp2RTtBMEN6d0pJO0VBQ0kseUJBQUE7QTFDMndKUjtBMEN4d0pJO0VBQ0ksWUFBQTtBMUMwd0pSO0EyQ3B4SkE7RUFDRTtJQUFPLDJCQUFBO0UzQ3d4SlA7RTJDdnhKQTtJQUFLLHdCQUFBO0UzQzB4Skw7QUFDRjtBMkM3eEpBO0VBQ0U7SUFBTywyQkFBQTtFM0N3eEpQO0UyQ3Z4SkE7SUFBSyx3QkFBQTtFM0MweEpMO0FBQ0Y7QTJDeHhKQTtFQUNFLGFBQUE7RUFDQSxZdkN3eUJrQztFdUN2eUJsQyxnQkFBQTtFQUNBLGtCdkN1eUJrQztFdUN0eUJsQyx5QnhDcUNTO0VPM0NQLHVCUCtUMEI7RVFqVTFCLG9EZ0NVRjtBM0MweEpGO0EyQ3Z4SkE7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLFd4QzBCUztFd0N6QlQsa0JBQUE7RUFDQSxtQkFBQTtFQUNBLHlCdkMreEJrQztFZ0JoekI5QiwyQnVCa0JKO0EzQzB4SkY7QW9CeHlKRTtFdUJNRjtJdkJMSSxnQkFBQTtFcEIyeUpGO0FBQ0Y7QTJDNXhKQTtFckJpQkUscU1BQUE7RXFCZkEsMEJBQUE7QTNDK3hKRjtBMkM1eEpBO0VBQ0UsMERBQUE7VUFBQSxrREFBQTtBM0MreEpGO0E0Qy96SkE7RUFDRSxhQUFBO0VBQ0EsdUJBQUE7QTVDazBKRjtBNEMvekpBO0VBQ0UsT0FBQTtBNUNrMEpGO0E2Q3AwSkE7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFHQSxlQUFBO0VBQ0EsZ0JBQUE7QTdDcTBKRjtBNkM1ekpBO0VBQ0UsV0FBQTtFQUNBLGMxQytCUztFMEM5QlQsbUJBQUE7QTdDK3pKRjtBS3IwSkU7RXdDVUUsYzFDMEJPO0UwQ3pCUCxxQkFBQTtFQUNBLHlCMUNrQk87QUg0eUpYO0E2QzN6SkU7RUFDRSxjMUNvQk87RTBDbkJQLHlCMUNjTztBSCt5Slg7QTZDcHpKQTtFQUNFLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBRUEsbUJBQUE7RUFDQSxzQjFDSFM7RTBDSVQseUJBQUE7QTdDc3pKRjtBNkNwekpFO0VuQ3pDRSxnQ1B5VDBCO0VPeFQxQixpQ1B3VDBCO0FId2lKOUI7QTZDcHpKRTtFQUNFLGdCQUFBO0VuQ2hDQSxvQ1AyUzBCO0VPMVMxQixtQ1AwUzBCO0FINmlKOUI7QUtoMkpFO0V3QzZDRSxVQUFBO0VBQ0EscUJBQUE7QTdDc3pKSjtBNkNuekpFO0VBRUUsYzFDaEJPO0UwQ2lCUCxzQjFDdkJPO0FIMjBKWDtBNkNoekpFO0VBQ0UsVUFBQTtFQUNBLFcxQzdCTztFMEM4QlAseUIxQ2tRNEI7RTBDalE1QixxQjFDaVE0QjtBSGlqSmhDO0E2Q3Z5SkU7RUFDRSxlQUFBO0VBQ0EsY0FBQTtFbkNyRkEsZ0JtQ3NGdUI7QTdDMHlKM0I7QTZDdHlKSTtFQUNFLGFBQUE7QTdDd3lKTjtBNkNueUpJO0VBQ0UsZ0JBQUE7QTdDcXlKTjtBOEN2NEpFO0VBQ0UsY0Q2R3NFO0VDNUd0RSx5QkQ0R3VDO0E3Qzh4SjNDO0FLLzNKRTtFeUNQTSxjRHdHa0U7RUN2R2xFLHlCQUFBO0E5Q3k0SlI7QThDdDRKTTtFQUNFLFczQytCRztFMkM5QkgseUJEa0drRTtFQ2pHbEUscUJEaUdrRTtBN0N1eUoxRTtBOENyNUpFO0VBQ0UsY0Q2R3NFO0VDNUd0RSx5QkQ0R3VDO0E3QzR5SjNDO0FLNzRKRTtFeUNQTSxjRHdHa0U7RUN2R2xFLHlCQUFBO0E5Q3U1SlI7QThDcDVKTTtFQUNFLFczQytCRztFMkM5QkgseUJEa0drRTtFQ2pHbEUscUJEaUdrRTtBN0NxekoxRTtBOENuNkpFO0VBQ0UsY0Q2R3NFO0VDNUd0RSx5QkQ0R3VDO0E3QzB6SjNDO0FLMzVKRTtFeUNQTSxjRHdHa0U7RUN2R2xFLHlCQUFBO0E5Q3E2SlI7QThDbDZKTTtFQUNFLFczQytCRztFMkM5QkgseUJEa0drRTtFQ2pHbEUscUJEaUdrRTtBN0NtMEoxRTtBOENqN0pFO0VBQ0UsY0Q2R3NFO0VDNUd0RSx5QkQ0R3VDO0E3Q3cwSjNDO0FLejZKRTtFeUNQTSxjRHdHa0U7RUN2R2xFLHlCQUFBO0E5Q203SlI7QThDaDdKTTtFQUNFLFczQytCRztFMkM5QkgseUJEa0drRTtFQ2pHbEUscUJEaUdrRTtBN0NpMUoxRTtBOEMvN0pFO0VBQ0UsY0Q2R3NFO0VDNUd0RSx5QkQ0R3VDO0E3Q3MxSjNDO0FLdjdKRTtFeUNQTSxjRHdHa0U7RUN2R2xFLHlCQUFBO0E5Q2k4SlI7QThDOTdKTTtFQUNFLFczQytCRztFMkM5QkgseUJEa0drRTtFQ2pHbEUscUJEaUdrRTtBN0MrMUoxRTtBOEM3OEpFO0VBQ0UsY0Q2R3NFO0VDNUd0RSx5QkQ0R3VDO0E3Q28ySjNDO0FLcjhKRTtFeUNQTSxjRHdHa0U7RUN2R2xFLHlCQUFBO0E5Qys4SlI7QThDNThKTTtFQUNFLFczQytCRztFMkM5QkgseUJEa0drRTtFQ2pHbEUscUJEaUdrRTtBN0M2MkoxRTtBOEMzOUpFO0VBQ0UsY0Q2R3NFO0VDNUd0RSx5QkQ0R3VDO0E3Q2szSjNDO0FLbjlKRTtFeUNQTSxjRHdHa0U7RUN2R2xFLHlCQUFBO0E5QzY5SlI7QThDMTlKTTtFQUNFLFczQytCRztFMkM5QkgseUJEa0drRTtFQ2pHbEUscUJEaUdrRTtBN0MyM0oxRTtBOEN6K0pFO0VBQ0UsY0Q2R3NFO0VDNUd0RSx5QkQ0R3VDO0E3Q2c0SjNDO0FLaitKRTtFeUNQTSxjRHdHa0U7RUN2R2xFLHlCQUFBO0E5QzIrSlI7QThDeCtKTTtFQUNFLFczQytCRztFMkM5QkgseUJEa0drRTtFQ2pHbEUscUJEaUdrRTtBN0N5NEoxRTtBOEN2L0pFO0VBQ0UsY0Q2R3NFO0VDNUd0RSx5QkQ0R3VDO0E3Qzg0SjNDO0FLLytKRTtFeUNQTSxjRHdHa0U7RUN2R2xFLHlCQUFBO0E5Q3kvSlI7QThDdC9KTTtFQUNFLFczQytCRztFMkM5QkgseUJEa0drRTtFQ2pHbEUscUJEaUdrRTtBN0N1NUoxRTtBOENyZ0tFO0VBQ0UsY0Q2R3NFO0VDNUd0RSx1QkQ0R3VDO0E3QzQ1SjNDO0FLNy9KRTtFeUNQTSxjRHdHa0U7RUN2R2xFLHlCQUFBO0E5Q3VnS1I7QThDcGdLTTtFQUNFLFczQytCRztFMkM5QkgseUJEa0drRTtFQ2pHbEUscUJEaUdrRTtBN0NxNkoxRTtBOENuaEtFO0VBQ0UsY0Q2R3NFO0VDNUd0RSx1QkQ0R3VDO0E3QzA2SjNDO0FLM2dLRTtFeUNQTSxjRHdHa0U7RUN2R2xFLHlCQUFBO0E5Q3FoS1I7QThDbGhLTTtFQUNFLFczQytCRztFMkM5QkgseUJEa0drRTtFQ2pHbEUscUJEaUdrRTtBN0NtN0oxRTtBOENqaUtFO0VBQ0UsWUQ2R3NFO0VDNUd0RSx5QkQ0R3VDO0E3Q3c3SjNDO0FLemhLRTtFeUNQTSxZRHdHa0U7RUN2R2xFLHlCQUFBO0E5Q21pS1I7QThDaGlLTTtFQUNFLFczQytCRztFMkM5QkgsdUJEa0drRTtFQ2pHbEUsbUJEaUdrRTtBN0NpOEoxRTtBK0NsaktBO0VBQ0UsWUFBQTtFQUNBLGlCNUM4ekJrQztFNEM3ekJsQyxnQjVDcVc0QjtFNENwVzVCLGNBQUE7RUFDQSx5QjVDK3pCa0M7RTRDOXpCbEMsaUI1Q2cwQmtDO0U0Qy96QmxDLFlBQUE7QS9DcWpLRjtBSzVpS0U7RTBDTkUseUI1QzB6QmdDO0U0Q3p6QmhDLHFCQUFBO0VBQ0EsYUFBQTtBL0NxaktKO0ErQ2pqS0U7RUFDRSxlQUFBO0EvQ21qS0o7QStDemlLQTtFQUNFLFVBQUE7RUFDQSw2QkFBQTtFQUNBLFNBQUE7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aVUwQjtFUW5VMUIsa0R3Q2VGO0FuRDYwS0Y7QW1EMzBLRTtFQUNFLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGFoRHMwQmdDO0VnRHIwQmhDLGVoRHMwQmdDO0VnRHIwQmhDLG1CQUFBO0FuRDYwS0o7QW1EMzBLSTtFQUVFLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7RUFDQSx5QkFBQTtFQUNBLG1CQUFBO0FuRDQwS047QW1EdjBLQTtFQUNFLHNCaER1ekJrQztBSG1oSnBDO0FtRHgwS0U7RUFDRSxrQ0FBQTtBbkQwMEtKO0FtRHYwS0U7OztFQUVFLCtCQUFBO0FuRDAwS0o7QW1EdjBLRTtFQUNFLFNBQUE7RUFDQSw2QmhENnlCZ0M7QUg0aEpwQztBbUR0MEtFO0VBQ0UsV2hEdXhCZ0M7RWdEdHhCaEMsc0JoRFhPO0FIbTFLWDtBbURwMEtBO0VBQ0Usb0JoRGd5QmtDO0FIdWlKcEM7QW1EcjBLRTtFQUNFLGdDQUFBO0VBQ0EsY2hENHhCZ0M7RWdEM3hCaEMsY2hEMHhCZ0M7RWdEenhCaEMsbUJBQUE7QW5EdTBLSjtBbURwMEtFOzs7RUFFRSx1Q0FBQTtBbkR1MEtKO0FtRHAwS0U7RUFDRSxPQUFBO0VBQ0EsK0JoRG14QmdDO0FIbWpKcEM7QW1EbjBLRTtFQUNFLFNoRDZ2QmdDO0VnRDV2QmhDLHdCaERyQ087QUgwMktYO0FtRGowS0E7RUFDRSxtQmhEc3dCa0M7QUg4akpwQztBbURsMEtFO0VBQ0UsK0JBQUE7QW5EbzBLSjtBbURqMEtFOzs7RUFFRSx1Q0FBQTtBbkRvMEtKO0FtRGowS0U7RUFDRSxNQUFBO0VBQ0EsZ0NoRDR2QmdDO0FIdWtKcEM7QW1EaDBLRTtFQUNFLFFoRHN1QmdDO0VnRHJ1QmhDLHlCaEQ1RE87QUg4M0tYO0FtRDl6S0U7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxTQUFBO0VBQ0EsY0FBQTtFQUNBLGFoRDB1QmdDO0VnRHp1QmhDLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLDZCQUFBO0FuRGcwS0o7QW1ENXpLQTtFQUNFLHFCaERtdUJrQztBSDRsSnBDO0FtRDd6S0U7RUFDRSxp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b0NBQUE7QXREdXhMWjtBc0Q3eExJO0VBQ0ksaUNBQUE7QXREZ3lMUjtBS254TEU7OztFaURSVSxvQ0FBQTtBdERpeUxaO0FzRHZ5TEk7RUFDSSxpQ0FBQTtBdEQweUxSO0FLN3hMRTs7O0VpRFJVLG9DQUFBO0F0RDJ5TFo7QXNEanpMSTtFQUNJLGtDQUFBO0F0RG96TFI7QUt2eUxFOzs7RWlEUlUsa0NBQUE7QXREcXpMWjtBdURqekxBO0VBQ0UsaUNBQUE7QXZEb3pMRjtBdURqekxBO0VBQ0Usd0NBQUE7QXZEb3pMRjtBd0QvekxBO0VBQWtCLG9DQUFBO0F4RG0wTGxCO0F3RGwwTEE7RUFBa0Isd0NBQUE7QXhEczBMbEI7QXdEcjBMQTtFQUFrQiwwQ0FBQTtBeER5MExsQjtBd0R4MExBO0VBQWtCLDJDQUFBO0F4RDQwTGxCO0F3RDMwTEE7RUFBa0IseUNBQUE7QXhEKzBMbEI7QXdENzBMQTtFQUFtQixvQkFBQTtBeERpMUxuQjtBd0RoMUxBO0VBQW1CLHdCQUFBO0F4RG8xTG5CO0F3RG4xTEE7RUFBbUIsMEJBQUE7QXhEdTFMbkI7QXdEdDFMQTtFQUFtQiwyQkFBQTtBeEQwMUxuQjtBd0R6MUxBO0VBQW1CLHlCQUFBO0F4RDYxTG5CO0F3RDExTEU7RUFDRSxnQ0FBQTtBeEQ2MUxKO0F3RDkxTEU7RUFDRSxnQ0FBQTtBeERpMkxKO0F3RGwyTEU7RUFDRSxnQ0FBQTtBeERxMkxKO0F3RHQyTEU7RUFDRSxnQ0FBQTtBeER5MkxKO0F3RDEyTEU7RUFDRSxnQ0FBQTtBeEQ2MkxKO0F3RDkyTEU7RUFDRSxnQ0FBQTtBeERpM0xKO0F3RGwzTEU7RUFDRSxnQ0FBQTtBeERxM0xKO0F3RHQzTEU7RUFDRSxnQ0FBQTtBeER5M0xKO0F3RDEzTEU7RUFDRSxnQ0FBQTtBeEQ2M0xKO0F3RDkzTEU7RUFDRSw2QkFBQTtBeERpNExKO0F3RGw0TEU7RUFDRSw2QkFBQTtBeERxNExKO0F3RHQ0TEU7RUFDRSw4QkFBQTtBeER5NExKO0F3RHI0TEE7RUFDRSw2QkFBQTtBeER3NExGO0F3RGo0TEE7RUFDRSxrQ0FBQTtBeERv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QUE7QTVEcXZNeEM7QTREbnZNSTtFQUFpQyxrQ0FBQTtBNUR1dk1yQztBNER0dk1JO0VBQWlDLGdDQUFBO0E1RDB2TXJDO0E0RHp2TUk7RUFBaUMsOEJBQUE7QTVENnZNckM7QTRENXZNSTtFQUFpQyxnQ0FBQTtBNURnd01yQztBNEQvdk1JO0VBQWlDLCtCQUFBO0E1RG13TXJDO0E0RGp3TUk7RUFBa0Msb0NBQUE7QTVEcXdNdEM7QTREcHdNSTtFQUFrQyxrQ0FBQTtBNUR3d010QztBNER2d01JO0VBQWtDLGdDQUFBO0E1RDJ3TXRDO0E0RDF3TUk7RUFBa0MsdUNBQUE7QTVEOHdNdEM7QTREN3dNSTtFQUFrQyxzQ0FBQTtBNURpeE10QztBNERoeE1JO0VBQWtDLGlDQUFBO0E1RG94TXRDO0E0RGx4TUk7RUFBZ0MsMkJBQUE7QTVEc3hNcEM7QTREcnhNSTtFQUFnQyxpQ0FBQTtBNUR5eE1wQztBNER4eE1JO0VBQWdDLCtCQUFBO0E1RDR4TXBDO0E0RDN4TUk7RUFBZ0MsNkJBQUE7QTVEK3hNcEM7QTREOXhNSTtFQUFnQywrQkFBQTtBNURreU1wQztBNERqeU1JO0VBQWdDLDhCQUFBO0E1RHF5TXBDO0FlenhNSTtFNkNsREE7SUFBZ0MsOEJBQUE7RTVEZzFNbEM7O0U0RC8wTUU7SUFBZ0MsaUNBQUE7RTVEbTFNbEM7O0U0RGwxTUU7SUFBZ0Msc0NBQUE7RTVEczFNbEM7O0U0RHIxTUU7SUFBZ0MseUNBQUE7RTVEeTFNbEM7O0U0RHYxTUU7SUFBOEIsMEJBQUE7RTVEMjFNaEM7O0U0RDExTUU7SUFBOEIsNEJBQUE7RTVEODFNaEM7O0U0RDcxTUU7SUFBOEIsa0NBQUE7RTVEaTJNaEM7O0U0RGgyTUU7SUFBOEIseUJBQUE7RTVEbzJNaEM7O0U0RG4yTUU7SUFBOEIsdUJBQUE7RTVEdTJNaEM7O0U0RHQyTUU7SUFBOEIsdUJBQUE7RTVEMDJNaEM7O0U0RHoyTUU7SUFBOEIseUJBQUE7RTVENjJNaEM7O0U0RDUyTUU7SUFBOEIseUJBQUE7RTVEZzNNaEM7O0U0RDkyTUU7SUFBb0Msc0NBQUE7RTVEazNNdEM7O0U0RGozTUU7SUFBb0Msb0NBQUE7RTVEcTNNdEM7O0U0RHAzTUU7SUFBb0Msa0NBQUE7RTVEdzNNdEM7O0U0RHYzTUU7SUFBb0MseUNBQUE7RTVEMjNNdEM7O0U0RDEzTUU7SUFBb0Msd0NBQUE7RTVEODNNdEM7O0U0RDUzTUU7SUFBaUMsa0NBQUE7RTVEZzRNbkM7O0U0RC8zTUU7SUFBaUMsZ0NBQUE7RTVEbTRNbkM7O0U0RGw0TUU7SUFBaUMsOEJBQUE7RTVEczRNbkM7O0U0RHI0TUU7SUFBaUMsZ0NBQUE7RTVEeTRNbkM7O0U0RHg0TUU7SUFBaUMsK0JBQUE7RTVENDRNbkM7O0U0RDE0TUU7SUFBa0Msb0NBQUE7RTVEODRNcEM7O0U0RDc0TUU7SUFBa0Msa0NBQUE7RTVEaTVNcEM7O0U0RGg1TUU7SUFBa0MsZ0NBQUE7RTVEbzVNcEM7O0U0RG41TUU7SUFBa0MsdUNBQUE7RTVEdTVNcEM7O0U0RHQ1TUU7SUFBa0Msc0NBQUE7RTVEMDVNcEM7O0U0RHo1TUU7SUFBa0MsaUNBQUE7RTVENjVNcEM7O0U0RDM1TUU7SUFBZ0MsMkJBQUE7RTVEKzVNbEM7O0U0RDk1TUU7SUFBZ0MsaUNBQUE7RTVEazZNbEM7O0U0RGo2TUU7SUFBZ0MsK0JBQUE7RTVEcTZNbEM7O0U0RHA2TUU7SUFBZ0MsNkJBQUE7RTVEdzZNbEM7O0U0RHY2TUU7SUFBZ0MsK0JBQUE7RTVEMjZNbEM7O0U0RDE2TUU7SUFBZ0MsOEJBQUE7RTVEODZNbEM7QUFDRjtBZW42TUk7RTZDbERBO0lBQWdDLDhCQUFBO0U1RHk5TWxDOztFNER4OU1FO0lBQWdDLGlDQUFBO0U1RDQ5TWxDOztFNEQzOU1FO0lBQWdDLHNDQUFBO0U1RCs5TWxDOztFNEQ5OU1FO0lBQWdDLHlDQUFBO0U1RGsrTWxDOztFNERoK01FO0lBQThCLDBCQUFBO0U1RG8rTWhDOztFNERuK01FO0lBQThCLDRCQUFBO0U1RHUrTWhDOztFNER0K01FO0lBQThCLGtDQUFBO0U1RDArTWhDOztFNER6K01FO0lBQThCLHlCQUFBO0U1RDYrTWhDOztFNEQ1K01FO0lBQThCLHVCQUFBO0U1RGcvTWhDOztFNEQvK01FO0lBQThCLHVCQUFBO0U1RG0vTWhDOztFNERsL01FO0lBQThCLHlCQUFBO0U1RHMvTWhDOztFNERyL01FO0lBQThCLHlCQUFBO0U1RHkvTWhDOztFNER2L01FO0lBQW9DLHNDQUFBO0U1RDIvTXRDOztFNEQxL01FO0lBQW9DLG9DQUFBO0U1RDgvTXRDOztFNEQ3L01FO0lBQW9DLGtDQUFBO0U1RGlnTnRDOztFNERoZ05FO0lBQW9DLHlDQUFBO0U1RG9nTnRDOztFNERuZ05FO0lBQW9DLHdDQUFBO0U1RHVnTnRDOztFNERyZ05FO0lBQWlDLGtDQUFBO0U1RHlnTm5DOztFNER4Z05FO0lBQWlDLGdDQUFBO0U1RDRnTm5DOztFNEQzZ05FO0lBQWlDLDhCQUFBO0U1RCtnTm5DOztFNEQ5Z05FO0lBQWlDLGdDQUFBO0U1RGtoTm5DOztFNERqaE5FO0lBQWlDLCtCQUFBO0U1RHFoTm5DOztFNERuaE5FO0lBQWtDLG9DQUFBO0U1RHVoTnBDOztFNER0aE5FO0lBQWtDLGtDQUFBO0U1RDBoTnBDOztFNER6aE5FO0lBQWtDLGdDQUFBO0U1RDZoTnBDOztFNEQ1aE5FO0lBQWtDLHVDQUFBO0U1RGdpTnBDOztFNEQvaE5FO0lBQWtDLHNDQUFBO0U1RG1pTnBDOztFNERsaU5FO0lBQWtDLGlDQUFBO0U1RHNpTnBDOztFNERwaU5FO0lBQWdDLDJCQUFBO0U1RHdpTmxDOztFNER2aU5FO0lBQWdDLGlDQUFBO0U1RDJpTmxDOztFNEQxaU5FO0lBQWdDLCtCQUFBO0U1RDhpTmxDOztFNEQ3aU5FO0lBQWdDLDZCQUFBO0U1RGlqTmxDOztFNERoak5FO0lBQWdDLCtCQUFBO0U1RG9qTmxDOztFNERuak5FO0lBQWdDLDhCQUFBO0U1RHVqTmxDO0FBQ0Y7QWU1aU5JO0U2Q2xEQTtJQUFnQyw4QkFBQTtFNURrbU5sQzs7RTREam1ORTtJQUFnQyxpQ0FBQTtFNURxbU5sQzs7RTREcG1ORTtJQUFnQyxzQ0FBQTtFNUR3bU5sQzs7RTREdm1ORTtJQUFnQyx5Q0FBQTtFNUQybU5sQzs7RTREem1ORTtJQUE4QiwwQkFBQTtFNUQ2bU5oQzs7RTRENW1ORTtJQUE4Qiw0QkFBQTtFNURnbk5oQzs7RTREL21ORTtJQUE4QixrQ0FBQTtFNURtbk5oQzs7RTREbG5ORTtJQUE4Qix5QkFBQTtFNURzbk5oQzs7RTREcm5ORTtJQUE4Qix1QkFBQTtFNUR5bk5oQzs7RTREeG5ORTtJQUE4Qix1QkFBQTtFNUQ0bk5oQzs7RTREM25ORTtJQUE4Qix5QkFBQTtFNUQrbk5oQzs7RTREOW5ORTtJQUE4Qix5QkFBQTtFNURrb05oQzs7RTREaG9ORTtJQUFvQyxzQ0FBQTtFNURvb050Qzs7RTREbm9ORTtJQUFvQyxvQ0FBQTtFNUR1b050Qzs7RTREdG9ORTtJQUFvQyxrQ0FBQTtFNUQwb050Qzs7RTREem9ORTtJQUFvQyx5Q0FBQTtFNUQ2b050Qzs7RTRENW9ORTtJQUFvQyx3Q0FBQTtFNURncE50Qzs7RTREOW9ORTtJQUFpQyxrQ0FBQTtFNURrcE5uQzs7RTREanBORTtJQUFpQyxnQ0FBQTtFNURxcE5uQzs7RTREcHBORTtJQUFpQyw4QkFBQTtFNUR3cE5uQzs7RTREdnBORTtJQUFpQyxnQ0FBQTtFNUQycE5uQzs7RTREMXBORTtJQUFpQywrQkFBQTtFNUQ4cE5uQzs7RTRENXBORTtJQUFrQyxvQ0FBQTtFNURncU5wQzs7RTREL3BORTtJQUFrQyxrQ0FBQTtFNURtcU5wQzs7RTREbHFORTtJQUFrQyxnQ0FBQTtFNURzcU5wQzs7RTREcnFORTtJQUFrQyx1Q0FBQTtFNUR5cU5wQzs7RTREeHFORTtJQUFrQyxzQ0FBQTtFNUQ0cU5wQzs7RTREM3FORTtJQUFrQyxpQ0FBQTtFNUQrcU5wQzs7RTREN3FORTtJQUFnQywyQkFBQTtFNURpck5sQzs7RTREaHJORTtJQUFnQyxpQ0FBQTtFNURvck5sQzs7RTREbnJORTtJQUFnQywrQkFBQTtFNUR1ck5sQzs7RTREdHJORTtJQUFnQyw2QkFBQTtFNUQwck5sQzs7RTREenJORTtJQUFnQywrQkFBQTtFNUQ2ck5sQzs7RTRENXJORTtJQUFnQyw4QkFBQTtFNURnc05sQztBQUNGO0FlcnJOSTtFNkNsREE7SUFBZ0MsOEJBQUE7RTVEMnVObEM7O0U0RDF1TkU7SUFBZ0MsaUNBQUE7RTVEOHVObEM7O0U0RDd1TkU7SUFBZ0Msc0NBQUE7RTVEaXZObEM7O0U0RGh2TkU7SUFBZ0MseUNBQUE7RTVEb3ZObEM7O0U0RGx2TkU7SUFBOEIsMEJBQUE7RTVEc3ZOaEM7O0U0RHJ2TkU7SUFBOEIsNEJBQUE7RTVEeXZOaEM7O0U0RHh2TkU7SUFBOEIsa0NBQUE7RTVENHZOaEM7O0U0RDN2TkU7SUFBOEIseUJBQUE7RTVEK3ZOaEM7O0U0RDl2TkU7SUFBOEIsdUJBQUE7RTVEa3dOaEM7O0U0RGp3TkU7SUFBOEIsdUJBQUE7RTVEcXdOaEM7O0U0RHB3TkU7SUFBOEIseUJBQUE7RTVEd3dOaEM7O0U0RHZ3TkU7SUFBOEIseUJBQUE7RTVEMndOaEM7O0U0RHp3TkU7SUFBb0Msc0NBQUE7RTVENndOdEM7O0U0RDV3TkU7SUFBb0Msb0NBQUE7RTVEZ3hOdEM7O0U0RC93TkU7SUFBb0Msa0NBQUE7RTVEbXhOdEM7O0U0RGx4TkU7SUFBb0MseUNBQUE7RTVEc3hOdEM7O0U0RHJ4TkU7SUFBb0Msd0NBQUE7RTVEeXhOdEM7O0U0RHZ4TkU7SUFBaUMsa0NBQUE7RTVEMnhObkM7O0U0RDF4TkU7SUFBaUMsZ0NBQUE7RTVEOHhObkM7O0U0RDd4TkU7SUFBaUMsOEJBQUE7RTVEaXlObkM7O0U0RGh5TkU7SUFBaUMsZ0NBQUE7RTVEb3lObkM7O0U0RG55TkU7SUFBaUMsK0JBQUE7RTVEdXlObkM7O0U0RHJ5TkU7SUFBa0Msb0NBQUE7RTVEeXlOcEM7O0U0RHh5TkU7SUFBa0Msa0NBQUE7RTVENHlOcEM7O0U0RDN5TkU7SUFBa0MsZ0NBQUE7RTVEK3lOcEM7O0U0RDl5TkU7SUFBa0MsdUNBQUE7RTVEa3pOcEM7O0U0RGp6TkU7SUFBa0Msc0NBQUE7RTVEcXpOcEM7O0U0RHB6TkU7SUFBa0MsaUNBQUE7RTVEd3pOcEM7O0U0RHR6TkU7SUFBZ0MsMkJBQUE7RTVEMHpObEM7O0U0RHp6TkU7SUFBZ0MsaUNBQUE7RTVENnpObEM7O0U0RDV6TkU7SUFBZ0MsK0JBQUE7RTVEZzBObEM7O0U0RC96TkU7SUFBZ0MsNkJBQUE7RTVEbTBObEM7O0U0RGwwTkU7SUFBZ0MsK0JBQUE7RTVEczBObEM7O0U0RHIwTkU7SUFBZ0MsOEJBQUE7RTVEeTBObEM7QUFDRjtBNkR0M05JO0VDREYsc0JBQUE7QTlEMDNORjtBNkR4M05JO0VDQ0YsdUJBQUE7QTlEMjNORjtBNkQzM05JO0VDR0Ysc0JBQUE7QTlENDNORjtBZXowTkk7RThDeERBO0lDREYsc0JBQUE7RTlEdTROQTs7RTZEcjRORTtJQ0NGLHVCQUFBO0U5RHc0TkE7O0U2RHg0TkU7SUNHRixzQkFBQTtFOUR5NE5BO0FBQ0Y7QWV2MU5JO0U4Q3hEQTtJQ0RGLHNCQUFBO0U5RG81TkE7O0U2RGw1TkU7SUNDRix1QkFBQTtFOURxNU5BOztFNkRyNU5FO0lDR0Ysc0JBQUE7RTlEczVOQTtBQUNGO0FlcDJOSTtFOEN4REE7SUNERixzQkFBQTtFOURpNk5BOztFNkQvNU5FO0lDQ0YsdUJBQUE7RTlEazZOQTs7RTZEbDZORTtJQ0dGLHNCQUFBO0U5RG02TkE7QUFDRjtBZWozTkk7RThDeERBO0lDREYsc0JBQUE7RTlEODZOQTs7RTZENTZORTtJQ0NGLHVCQUFBO0U5RCs2TkE7O0U2RC82TkU7SUNHRixzQkFBQTtFOURnN05BO0FBQ0Y7QStEajdORTtFQUF5QiwyQkFBQTtBL0RvN04zQjtBK0RwN05FO0VBQXlCLDZCQUFBO0EvRHc3TjNCO0ErRHg3TkU7RUFBeUIsNkJBQUE7QS9ENDdOM0I7QStENTdORTtFQUF5QiwwQkFBQTtBL0RnOE4zQjtBK0RoOE5FO0VBQXlCLG1DQUFBO0VBQUEsMkJBQUE7QS9EbzhOM0I7QStELzdOQTtFQUNFLGVBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLE9BQUE7RUFDQSxhM0Q0akJrQztBSnM0TXBDO0ErRC83TkE7RUFDRSxlQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsYTNEb2pCa0M7QUo4NE1wQztBK0Q5N05FO0VBREY7SUFFSSx3QkFBQTtJQUFBLGdCQUFBO0lBQ0EsTUFBQTtJQUNBLGEzRDRpQmdDO0VKczVNbEM7QUFDRjtBZ0VqK05BO0VDRUUsa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0FqRW0rTkY7QWlFejlORTtFQUVFLGdCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLFVBQUE7RUFDQSxtQkFBQTtBakUyOU5KO0FrRXYvTkE7RUFBYSw0REFBQTtBbEUyL05iO0FrRTEvTkE7RUFBVSwyREFBQTtBbEU4L05WO0FrRTcvTkE7RUFBYSwwREFBQTtBbEVpZ09iO0FrRWhnT0E7RUFBZSwyQkFBQTtBbEVvZ09mO0FtRW5nT0k7RUFBdUIscUJBQUE7QW5FdWdPM0I7QW1FdmdPSTtFQUF1QixxQkFBQTtBbkUyZ08zQjtBbUUzZ09JO0VBQXVCLHFCQUFBO0FuRStnTzNCO0FtRS9nT0k7RUFBdUIsc0JBQUE7QW5FbWhPM0I7QW1FbmhPSTtFQUF1QixzQkFBQTtBbkV1aE8zQjtBbUV2aE9JO0VBQXVCLHNCQUFBO0FuRTJoTzNCO0FtRTNoT0k7RUFBdUIsc0JBQUE7QW5FK2hPM0I7QW1FL2hPSTtFQUF1QixzQkFBQTtBbkVtaU8zQjtBbUVuaU9JO0VBQXVCLHVCQUFBO0FuRXVpTzNCO0FtRXZpT0k7RUFBdUIsdUJBQUE7QW5FMmlPM0I7QW1FdmlPQTtFQUFVLDBCQUFBO0FuRTJpT1Y7QW1FMWlPQTtFQUFVLDJCQUFBO0FuRThpT1Y7QW9FOWlPUTtFQUFnQyxvQkFBQTtBcEVrak94QztBb0Vqak9ROztFQUVFLHdCQUFBO0FwRW9qT1Y7QW9FbGpPUTs7RUFFRSwwQkFBQTtBcEVxak9WO0FvRW5qT1E7O0VBRUUsMkJBQUE7QXBFc2pPVjtBb0Vwak9ROztFQUVFLHlCQUFBO0FwRXVqT1Y7QW9FdGtPUTtFQUFnQywwQkFBQTtBcEUwa094QztBb0V6a09ROztFQUVFLDhCQUFBO0FwRTRrT1Y7QW9FMWtPUTs7RUFFRSxnQ0FBQTtBcEU2a09WO0FvRTNrT1E7O0VBRUUsaUNBQUE7QXBFOGtPVjtBb0U1a09ROztFQUVFLCtCQUFBO0FwRStrT1Y7QW9FOWxPUTtFQUFnQyx5QkFBQTtBcEVrbU94QztBb0VqbU9ROztFQUVFLDZCQUFBO0FwRW9tT1Y7QW9FbG1PUTs7RUFFRSwrQkFBQTtBcEVxbU9WO0FvRW5tT1E7O0VBRUUsZ0NBQUE7QXBFc21PVjtBb0VwbU9ROztFQUVFLDhCQUFBO0FwRXVtT1Y7QW9FdG5PUTtFQUFnQyx1QkFBQTtBcEUwbk94QztBb0V6bk9ROztFQUVFLDJCQUFBO0FwRTRuT1Y7QW9FMW5PUTs7RUFFRSw2QkFBQTtBcEU2bk9WO0FvRTNuT1E7O0VBRUUsOEJBQUE7QXBFOG5PVjtBb0U1bk9ROztFQUVFLDRCQUFBO0FwRStuT1Y7QW9FOW9PUTtFQUFnQyx5QkFBQTtBcEVrcE94QztBb0VqcE9ROztFQUVFLDZCQUFBO0FwRW9wT1Y7QW9FbHBPUTs7RUFFRSwrQkFBQTtBcEVxcE9WO0FvRW5wT1E7O0VBRUUsZ0NBQUE7QXBFc3BPVjtBb0VwcE9ROztFQUVFLDhCQUFBO0FwRXVwT1Y7QW9FdHFPUTtFQUFnQyx1QkFBQTtBcEUwcU94QztBb0V6cU9ROztFQUVFLDJCQUFBO0FwRTRxT1Y7QW9FMXFPUTs7RUFFRSw2QkFBQTtBcEU2cU9WO0FvRTNxT1E7O0VBRUUsOEJBQUE7QXBFOHFPVjtBb0U1cU9ROztFQUVFLDRCQUFBO0FwRStxT1Y7QW9FOXJPUTtFQUFnQyx5QkFBQTtBcEVrc094QztBb0Vqc09ROztFQUVFLDZCQUFBO0FwRW9zT1Y7QW9FbHNPUTs7RUFFRSwrQkFBQTtBcEVxc09WO0FvRW5zT1E7O0VBRUUsZ0NBQUE7QXBFc3NPVjtBb0Vwc09ROztFQUVFLDhCQUFBO0FwRXVzT1Y7QW9FdHRPUTtFQUFnQyx3QkFBQTtBcEUwdE94QztBb0V6dE9ROztFQUVFLDRCQUFBO0FwRTR0T1Y7QW9FMXRPUTs7RUFFRSw4QkFBQTtBcEU2dE9WO0FvRTN0T1E7O0VBRUUsK0JBQUE7QXBFOHRPVjtBb0U1dE9ROztFQUVFLDZCQUFBO0FwRSt0T1Y7QW9FOXVPUTtFQUFnQyx3QkFBQTtBcEVrdk94QztBb0Vqdk9ROztFQUVFLDRCQUFBO0FwRW92T1Y7QW9FbHZPUTs7RUFFRSw4QkFBQTtBcEVxdk9WO0FvRW52T1E7O0VBRUUsK0JBQUE7QXBFc3ZPVjtBb0Vwdk9ROztFQUVFLDZCQUFBO0FwRXV2T1Y7QW9FdHdPUTtFQUFnQywwQkFBQTtBcEUwd094QztBb0V6d09ROztFQUVFLDhCQUFBO0FwRTR3T1Y7QW9FMXdPUTs7RUFFRSxnQ0FBQTtBcEU2d09WO0FvRTN3T1E7O0VBRUUsaUNBQUE7QXBFOHdPVjtBb0U1d09ROztFQUVFLCtCQUFBO0FwRSt3T1Y7QW9FOXhPUTtFQUFnQyx3QkFBQTtBcEVreU94QztBb0VqeU9ROztFQUVFLDRCQUFBO0FwRW95T1Y7QW9FbHlPUTs7RUFFRSw4QkFBQTtBcEVxeU9WO0FvRW55T1E7O0VBRUUsK0JBQUE7QXBFc3lPVjtBb0VweU9ROztFQUVFLDZCQUFBO0FwRXV5T1Y7QW9FdHpPUTtFQUFnQywwQkFBQTtBcEUwek94QztBb0V6ek9ROztFQUVFLDhCQUFBO0FwRTR6T1Y7QW9FMXpPUTs7RUFFRSxnQ0FBQTtBcEU2ek9WO0FvRTN6T1E7O0VBRUUsaUNBQUE7QXBFOHpPVjtBb0U1ek9ROztFQUVFLCtCQUFBO0FwRSt6T1Y7QW9FOTBPUTtFQUFnQyx3QkFBQTtBcEVrMU94QztBb0VqMU9ROztFQUVFLDRCQUFBO0FwRW8xT1Y7QW9FbDFPUTs7RUFFRSw4QkFBQTtBcEVxMU9WO0FvRW4xT1E7O0VBRUUsK0JBQUE7QXBFczFPVjtBb0VwMU9ROztFQUVFLDZCQUFBO0FwRXUxT1Y7QW9FdDJPUTtFQUFnQywwQkFBQTtBcEUwMk94QztBb0V6Mk9ROztFQUVFLDhCQUFBO0FwRTQyT1Y7QW9FMTJPUTs7RUFFRSxnQ0FBQTtBcEU2Mk9WO0FvRTMyT1E7O0VBRUUsaUNBQUE7QXBFODJPVjtBb0U1Mk9ROztFQUVFLCtCQUFBO0FwRSsyT1Y7QW9FOTNPUTtFQUFnQywyQkFBQTtBcEVrNE94QztBb0VqNE9ROztFQUVFLCtCQUFBO0FwRW80T1Y7QW9FbDRPUTs7RUFFRSxpQ0FBQTtBcEVxNE9WO0FvRW40T1E7O0VBRUUsa0NBQUE7QXBFczRPVjtBb0VwNE9ROztFQUVFLGdDQUFBO0FwRXU0T1Y7QW9FdDVPUTtFQUFnQyx5QkFBQTtBcEUwNU94QztBb0V6NU9ROztFQUVFLDZCQUFBO0FwRTQ1T1Y7QW9FMTVPUTs7RUFFRSwrQkFBQTtBcEU2NU9WO0FvRTM1T1E7O0VBRUUsZ0NBQUE7QXBFODVPVjtBb0U1NU9ROztFQUVFLDhCQUFBO0FwRSs1T1Y7QW9FOTZPUTtFQUFnQyx1QkFBQTtBcEVrN094QztBb0VqN09ROztFQUVFLDJCQUFBO0FwRW83T1Y7QW9FbDdPUTs7RUFFRSw2QkFBQTtBcEVxN09WO0FvRW43T1E7O0VBRUUsOEJBQUE7QXBFczdPVjtBb0VwN09ROztFQUVFLDRCQUFBO0FwRXU3T1Y7QW9FdDhPUTtFQUFnQyx1QkFBQTtBcEUwOE94QztBb0V6OE9ROztFQUVFLDJCQUFBO0FwRTQ4T1Y7QW9FMThPUTs7RUFFRSw2QkFBQTtBcEU2OE9WO0FvRTM4T1E7O0VBRUUsOEJBQUE7QXBFODhPVjtBb0U1OE9ROztFQUVFLDRCQUFBO0FwRSs4T1Y7QW9FOTlPUTtFQUFnQyx3QkFBQTtBcEVrK094QztBb0VqK09ROztFQUVFLDRCQUFBO0FwRW8rT1Y7QW9FbCtPUTs7RUFFRSw4QkFBQTtBcEVxK09WO0FvRW4rT1E7O0VBRUUsK0JBQUE7QXBFcytPVjtBb0VwK09ROztFQUVFLDZCQUFBO0FwRXUrT1Y7QW9FdC9PUTtFQUFnQyxxQkFBQTtBcEUwL094QztBb0V6L09ROztFQUVFLHlCQUFBO0FwRTQvT1Y7QW9FMS9PUTs7RUFFRSwyQkFBQTtBcEU2L09WO0FvRTMvT1E7O0VBRUUsNEJBQUE7QXBFOC9PVjtBb0U1L09ROztFQUVFLDBCQUFBO0FwRSsvT1Y7QW9FOWdQUTtFQUFnQywyQkFBQTtBcEVraFB4QztBb0VqaFBROztFQUVFLCtCQUFBO0FwRW9oUFY7QW9FbGhQUTs7RUFFRSxpQ0FBQTtBcEVxaFBWO0FvRW5oUFE7O0VBRUUsa0NBQUE7QXBFc2hQVjtBb0VwaFBROztFQUVFLGdDQUFBO0FwRXVoUFY7QW9FdGlQUTtFQUFnQywwQkFBQTtBcEUwaVB4QztBb0V6aVBROztFQUVFLDhCQUFBO0FwRTRpUFY7QW9FMWlQUTs7RUFFRSxnQ0FBQTtBcEU2aVBWO0FvRTNpUFE7O0VBRUUsaUNBQUE7QXBFOGlQVjtBb0U1aVBROztFQUVFLCtCQUFBO0FwRStpUFY7QW9FOWpQUTtFQUFnQyx3QkFBQTtBcEVra1B4QztBb0Vqa1BROztFQUVFLDRCQUFBO0FwRW9rUFY7QW9FbGtQUTs7RUFFRSw4QkFBQTtBcEVxa1BWO0FvRW5rUFE7O0VBRUUsK0JBQUE7QXBFc2tQVjtBb0Vwa1BROztFQUVFLDZCQUFBO0FwRXVrUFY7QW9FdGxQUTtFQUFnQywwQkFBQTtBcEUwbFB4QztBb0V6bFBROztFQUVFLDhCQUFBO0FwRTRsUFY7QW9FMWxQUTs7RUFFRSxnQ0FBQTtBcEU2bFBWO0FvRTNsUFE7O0VBRUUsaUNBQUE7QXBFOGxQVjtBb0U1bFBROztFQUVFLCtCQUFBO0FwRStsUFY7QW9FOW1QUTtFQUFnQyx3QkFBQTtBcEVrblB4QztBb0VqblBROztFQUVFLDRCQUFBO0FwRW9uUFY7QW9FbG5QUTs7RUFFRSw4QkFBQTtBcEVxblBWO0FvRW5uUFE7O0VBRUUsK0JBQUE7QXBFc25QVjtBb0VwblBROztFQUVFLDZCQUFBO0FwRXVuUFY7QW9FdG9QUTtFQUFnQywwQkFBQTtBcEUwb1B4QztBb0V6b1BROztFQUVFLDhCQUFBO0FwRTRvUFY7QW9FMW9QUTs7RUFFRSxnQ0FBQTtBcEU2b1BWO0FvRTNvUFE7O0VBRUUsaUNBQUE7QXBFOG9QVjtBb0U1b1BROztFQUVFLCtCQUFBO0FwRStvUFY7QW9FOXBQUTtFQUFnQyx5QkFBQTtBcEVrcVB4QztBb0VqcVBROztFQUVFLDZCQUFBO0FwRW9xUFY7QW9FbHFQUTs7RUFFRSwrQkFBQTtBcEVxcVBWO0FvRW5xUFE7O0VBRUUsZ0NBQUE7QXBFc3FQVjtBb0VwcVBROztFQUVFLDhCQUFBO0FwRXVxUFY7QW9FdHJQUTtFQUFnQyx5QkFBQTtBcEUwclB4QztBb0V6clBROztFQUVFLDZCQUFBO0FwRTRyUFY7QW9FMXJQUTs7RUFFRSwrQkFBQTtBcEU2clBWO0FvRTNyUFE7O0VBRUUsZ0NBQUE7QXBFOHJQVjtBb0U1clBROztFQUVFLDhCQUFBO0FwRStyUFY7QW9FOXNQUTtFQUFnQywyQkFBQTtBcEVrdFB4QztBb0VqdFBROztFQUVFLCtCQUFBO0FwRW90UFY7QW9FbHRQUTs7RUFFRSxpQ0FBQTtBcEVxdFBWO0FvRW50UFE7O0VBRUUsa0NBQUE7QXBFc3RQVjtBb0VwdFBROztFQUVFLGdDQUFBO0FwRXV0UFY7QW9FdHVQUTtFQUFnQyx5QkFBQTtBcEUwdVB4QztBb0V6dVBROztFQUVFLDZCQUFBO0FwRTR1UFY7QW9FMXVQUTs7RUFFRSwrQkFBQTtBcEU2dVBWO0FvRTN1UFE7O0VBRUUsZ0NBQUE7QXBFOHVQVjtBb0U1dVBROztFQUVFLDhCQUFBO0FwRSt1UFY7QW9FOXZQUTtFQUFnQywyQkFBQTtBcEVrd1B4QztBb0Vqd1BROztFQUVFLCtCQUFBO0FwRW93UFY7QW9FbHdQUTs7RUFFRSxpQ0FBQTtBcEVxd1BWO0FvRW53UFE7O0VBRUUsa0NBQUE7QXBFc3dQVjtBb0Vwd1BROztFQUVFLGdDQUFBO0FwRXV3UFY7QW9FdHhQUTtFQUFnQyx5QkFBQTtBcEUweFB4QztBb0V6eFBROztFQUVFLDZCQUFBO0FwRTR4UFY7QW9FMXhQUTs7RUFFRSwrQkFBQTtBcEU2eFBWO0FvRTN4UFE7O0VBRUUsZ0NBQUE7QXBFOHhQVjtBb0U1eFBROztFQUVFLDhCQUFBO0FwRSt4UFY7QW9FOXlQUTtFQUFnQywyQkFBQTtBcEVrelB4QztBb0VqelBROztFQUVFLCtCQUFBO0FwRW96UFY7QW9FbHpQUTs7RUFFRSxpQ0FBQTtBcEVxelBWO0FvRW56UFE7O0VBRUUsa0NBQUE7QXBFc3pQVjtBb0VwelBROztFQUVFLGdDQUFBO0FwRXV6UFY7QW9FdDBQUTtFQUFnQyw0QkFBQTtBcEUwMFB4QztBb0V6MFBROztFQUVFLGdDQUFBO0FwRTQwUFY7QW9FMTBQUTs7RUFFRSxrQ0FBQTtBcEU2MFBWO0FvRTMwUFE7O0VBRUUsbUNBQUE7QXBFODBQVjtBb0U1MFBROztFQUVFLGlDQUFBO0FwRSswUFY7QW9FOTFQUTtFQUFnQywwQkFBQTtBcEVrMlB4QztBb0VqMlBROztFQUVFLDhCQUFBO0FwRW8yUFY7QW9FbDJQUTs7RUFFRSxnQ0FBQTtBcEVxMlBWO0FvRW4yUFE7O0VBRUUsaUNBQUE7QXBFczJQVjtBb0VwMlBROztFQUVFLCtCQUFBO0FwRXUyUFY7QW9FdDNQUTtFQUFnQyx3QkFBQTtBcEUwM1B4QztBb0V6M1BROztFQUVFLDRCQUFBO0FwRTQzUFY7QW9FMTNQUTs7RUFFRSw4QkFBQTtBcEU2M1BWO0FvRTMzUFE7O0VBRUUsK0JBQUE7QXBFODNQVjtBb0U1M1BROztFQUVFLDZCQUFBO0FwRSszUFY7QW9FOTRQUTtFQUFnQyx3QkFBQTtBcEVrNVB4QztBb0VqNVBROztFQUVFLDRCQUFBO0FwRW81UFY7QW9FbDVQUTs7RUFFRSw4QkFBQTtBcEVxNVBWO0FvRW41UFE7O0VBRUUsK0JBQUE7QXBFczVQVjtBb0VwNVBROztFQUVFLDZCQUFBO0FwRXU1UFY7QW9FdDZQUTtFQUFnQyx5QkFBQTtBcEUwNlB4QztBb0V6NlBROztFQUVFLDZCQUFBO0FwRTQ2UFY7QW9FMTZQUTs7RUFFRSwrQkFBQTtBcEU2NlBWO0FvRTM2UFE7O0VBRUUsZ0NBQUE7QXBFODZQVjtBb0U1NlBROztFQUVFLDhCQUFBO0FwRSs2UFY7QW9FejZQSTtFQUFtQix1QkFBQTtBcEU2NlB2QjtBb0U1NlBJOztFQUVFLDJCQUFBO0FwRSs2UE47QW9FNzZQSTs7RUFFRSw2QkFBQTtBcEVnN1BOO0FvRTk2UEk7O0VBRUUsOEJBQUE7QXBFaTdQTjtBb0UvNlBJOztFQUVFLDRCQUFBO0FwRWs3UE47QWVyNlBJO0VxRGpESTtJQUFnQyxvQkFBQTtFcEUyOVB0Qzs7RW9FMTlQTTs7SUFFRSx3QkFBQTtFcEU2OVBSOztFb0UzOVBNOztJQUVFLDBCQUFBO0VwRTg5UFI7O0VvRTU5UE07O0lBRUUsMkJBQUE7RXBFKzlQUjs7RW9FNzlQTTs7SUFFRSx5QkFBQTtFcEVnK1BSOztFb0UvK1BNO0lBQWdDLDBCQUFBO0VwRW0vUHRDOztFb0VsL1BNOztJQUVFLDhCQUFBO0VwRXEvUFI7O0VvRW4vUE07O0lBRUUsZ0NBQUE7RXBFcy9QUjs7RW9FcC9QTTs7SUFFRSxpQ0FBQTtFcEV1L1BSOztFb0VyL1BNOztJQUVFLCtCQUFBO0VwRXcvUFI7O0VvRXZnUU07SUFBZ0MseUJBQUE7RXBFMmdRdEM7O0VvRTFnUU07O0lBRUUsNkJBQUE7RXBFNmdRUjs7RW9FM2dRTTs7SUFFRSwrQkFBQTtFcEU4Z1FSOztFb0U1Z1FNOztJQUVFLGdDQUFBO0VwRStnUVI7O0VvRTdnUU07O0lBRUUsOEJBQUE7RXBFZ2hRUjs7RW9FL2hRTTtJQUFnQyx1QkFBQTtFcEVtaVF0Qzs7RW9FbGlRTTs7SUFFRSwyQkFBQTtFcEVxaVFSOztFb0VuaVFNOztJQUVFLDZCQUFBO0VwRXNpUVI7O0VvRXBpUU07O0lBRUUsOEJBQUE7RXBFdWlRUjs7RW9FcmlRTTs7SUFFRSw0QkFBQTtFcEV3aVFSOztFb0V2alFNO0lBQWdDLHlCQUFBO0VwRTJqUXRDOztFb0UxalFNOztJQUVFLDZCQUFBO0VwRTZqUVI7O0VvRTNqUU07O0lBRUUsK0JBQUE7RXBFOGpRUjs7RW9FNWpRTTs7SUFFRSxnQ0FBQTtFcEUralFSOztFb0U3alFNOztJQUVFLDhCQUFBO0VwRWdrUVI7O0VvRS9rUU07SUFBZ0MsdUJBQUE7RXBFbWxRdEM7O0VvRWxsUU07O0lBRUUsMkJBQUE7RXBFcWxRUjs7RW9FbmxRTTs7SUFFRSw2QkFBQTtFcEVzbFFSOztFb0VwbFFNOztJQUVFLDhCQUFBO0VwRXVsUVI7O0VvRXJsUU07O0lBRUUsNEJBQUE7RXBFd2xRUjs7RW9Fdm1RTTtJQUFnQyx5QkFBQTtFcEUybVF0Qzs7RW9FMW1RTTs7SUFFRSw2QkFBQTtFcEU2bVFSOztFb0UzbVFNOztJQUVFLCtCQUFBO0VwRThtUVI7O0VvRTVtUU07O0lBRUUsZ0NBQUE7RXBFK21RUjs7RW9FN21RTTs7SUFFRSw4QkFBQTtFcEVnblFSOztFb0UvblFNO0lBQWdDLHdCQUFBO0VwRW1vUXRDOztFb0Vsb1FNOztJQUVFLDRCQUFBO0VwRXFvUVI7O0VvRW5vUU07O0lBRUUsOEJBQUE7RXBFc29RUjs7RW9FcG9RTTs7SUFFRSwrQkFBQTtFcEV1b1FSOztFb0Vyb1FNOztJQUVFLDZCQUFBO0VwRXdvUVI7O0VvRXZwUU07SUFBZ0Msd0JBQUE7RXBFMnBRdEM7O0VvRTFwUU07O0lBRUUsNEJBQUE7RXBFNnBRUjs7RW9FM3BRTTs7SUFFRSw4QkFBQTtFcEU4cFFSOztFb0U1cFFNOztJQUVFLCtCQUFBO0VwRStwUVI7O0VvRTdwUU07O0lBRUUsNkJBQUE7RXBFZ3FRUjs7RW9FL3FRTTtJQUFnQywwQkFBQTtFcEVtclF0Qzs7RW9FbHJRTTs7SUFFRSw4QkFBQTtFcEVxclFSOztFb0VuclFNOztJQUVFLGdDQUFBO0VwRXNyUVI7O0VvRXByUU07O0lBRUUsaUNBQUE7RXBFdXJRUjs7RW9FcnJRTTs7SUFFRSwrQkFBQTtFcEV3clFSOztFb0V2c1FNO0lBQWdDLHdCQUFBO0VwRTJzUXRDOztFb0Uxc1FNOztJQUVFLDRCQUFBO0VwRTZzUVI7O0VvRTNzUU07O0lBRUUsOEJBQUE7RXBFOHNRUjs7RW9FNXNRTTs7SUFFRSwrQkFBQTtFcEUrc1FSOztFb0U3c1FNOztJQUVFLDZCQUFBO0VwRWd0UVI7O0VvRS90UU07SUFBZ0MsMEJBQUE7RXBFbXVRdEM7O0VvRWx1UU07O0lBRUUsOEJBQUE7RXBFcXVRUjs7RW9FbnVRTTs7SUFFRSxnQ0FBQTtFcEVzdVFSOztFb0VwdVFNOztJQUVFLGlDQUFBO0VwRXV1UVI7O0VvRXJ1UU07O0lBRUUsK0JBQUE7RXBFd3VRUjs7RW9FdnZRTTtJQUFnQyx3QkFBQTtFcEUydlF0Qzs7RW9FMXZRTTs7SUFFRSw0QkFBQTtFcEU2dlFSOztFb0UzdlFNOztJQUVFLDhCQUFBO0VwRTh2UVI7O0VvRTV2UU07O0lBRUUsK0JBQUE7RXBFK3ZRUjs7RW9FN3ZRTTs7SUFFRSw2QkFBQTtFcEVnd1FSOztFb0Uvd1FNO0lBQWdDLDBCQUFBO0VwRW14UXRDOztFb0VseFFNOztJQUVFLDhCQUFBO0VwRXF4UVI7O0VvRW54UU07O0lBRUUsZ0NBQUE7RXBFc3hRUjs7RW9FcHhRTTs7SUFFRSxpQ0FBQTtFcEV1eFFSOztFb0VyeFFNOztJQUVFLCtCQUFBO0VwRXd4UVI7O0VvRXZ5UU07SUFBZ0MsMkJBQUE7RXBFMnlRdEM7O0VvRTF5UU07O0lBRUUsK0JBQUE7RXBFNnlRUjs7RW9FM3lRTTs7SUFFRSxpQ0FBQTtFcEU4eVFSOztFb0U1eVFNOztJQUVFLGtDQUFBO0VwRSt5UVI7O0VvRTd5UU07O0lBRUUsZ0NBQUE7RXBFZ3pRUjs7RW9FL3pRTTtJQUFnQyx5QkFBQTtFcEVtMFF0Qzs7RW9FbDBRTTs7SUFFRSw2QkFBQTtFcEVxMFFSOztFb0VuMFFNOztJQUVFLCtCQUFBO0VwRXMwUVI7O0VvRXAwUU07O0lBRUUsZ0NBQUE7RXBFdTBRUjs7RW9FcjBRTTs7SUFFRSw4QkFBQTtFcEV3MFFSOztFb0V2MVFNO0lBQWdDLHVCQUFBO0VwRTIxUXRDOztFb0UxMVFNOztJQUVFLDJCQUFBO0VwRTYxUVI7O0VvRTMxUU07O0lBRUUsNkJBQUE7RXBFODFRUjs7RW9FNTFRTTs7SUFFRSw4QkFBQTtFcEUrMVFSOztFb0U3MVFNOztJQUVFLDRCQUFBO0VwRWcyUVI7O0VvRS8yUU07SUFBZ0MsdUJBQUE7RXBFbTNRdEM7O0VvRWwzUU07O0lBRUUsMkJBQUE7RXBFcTNRUjs7RW9FbjNRTTs7SUFFRSw2QkFBQTtFcEVzM1FSOztFb0VwM1FNOztJQUVFLDhCQUFBO0VwRXUzUVI7O0VvRXIzUU07O0lBRUUsNEJBQUE7RXBFdzNRUjs7RW9FdjRRTTtJQUFnQyx3QkFBQTtFcEUyNFF0Qzs7RW9FMTRRTTs7SUFFRSw0QkFBQTtFcEU2NFFSOztFb0UzNFFNOztJQUVFLDhCQUFBO0VwRTg0UVI7O0VvRTU0UU07O0lBRUUsK0JBQUE7RXBFKzRRUjs7RW9FNzRRTTs7SUFFRSw2QkFBQTtFcEVnNVFSOztFb0UvNVFNO0lBQWdDLHFCQUFBO0VwRW02UXRDOztFb0VsNlFNOztJQUVFLHlCQUFBO0VwRXE2UVI7O0VvRW42UU07O0lBRUUsMkJBQUE7RXBFczZRUjs7RW9FcDZRTTs7SUFFRSw0QkFBQTtFcEV1NlFSOztFb0VyNlFNOztJQUVFLDBCQUFBO0VwRXc2UVI7O0VvRXY3UU07SUFBZ0MsMkJBQUE7RXBFMjdRdEM7O0VvRTE3UU07O0lBRUUsK0JBQUE7RXBFNjdRUjs7RW9FMzdRTTs7SUFFRSxpQ0FBQTtFcEU4N1FSOztFb0U1N1FNOztJQUVFLGtDQUFBO0VwRSs3UVI7O0VvRTc3UU07O0lBRUUsZ0NBQUE7RXBFZzhRUjs7RW9FLzhRTTtJQUFnQywwQkFBQTtFcEVtOVF0Qzs7RW9FbDlRTTs7SUFFRSw4QkFBQTtFcEVxOVFSOztFb0VuOVFNOztJQUVFLGdDQUFBO0VwRXM5UVI7O0VvRXA5UU07O0lBRUUsaUNBQUE7RXBFdTlRUjs7RW9FcjlRTTs7SUFFRSwrQkFBQTtFcEV3OVFSOztFb0V2K1FNO0lBQWdDLHdCQUFBO0VwRTIrUXRDOztFb0UxK1FNOztJQUVFLDRCQUFBO0VwRTYrUVI7O0VvRTMrUU07O0lBRUUsOEJBQUE7RXBFOCtRUjs7RW9FNStRTTs7SUFFRSwrQkFBQTtFcEUrK1FSOztFb0U3K1FNOztJQUVFLDZCQUFBO0VwRWcvUVI7O0VvRS8vUU07SUFBZ0MsMEJBQUE7RXBFbWdSdEM7O0VvRWxnUk07O0lBRUUsOEJBQUE7RXBFcWdSUjs7RW9FbmdSTTs7SUFFRSxnQ0FBQTtFcEVzZ1JSOztFb0VwZ1JNOztJQUVFLGlDQUFBO0VwRXVnUlI7O0VvRXJnUk07O0lBRUUsK0JBQUE7RXBFd2dSUjs7RW9FdmhSTTtJQUFnQyx3QkFBQTtFcEUyaFJ0Qzs7RW9FMWhSTTs7SUFFRSw0QkFBQTtFcEU2aFJSOztFb0UzaFJNOztJQUVFLDhCQUFBO0VwRThoUlI7O0VvRTVoUk07O0lBRUUsK0JBQUE7RXBFK2hSUjs7RW9FN2hSTTs7SUFFRSw2QkFBQTtFcEVnaVJSOztFb0UvaVJNO0lBQWdDLDBCQUFBO0VwRW1qUnRDOztFb0VsalJNOztJQUVFLDhCQUFBO0VwRXFqUlI7O0VvRW5qUk07O0lBRUUsZ0NBQUE7RXBFc2pSUjs7RW9FcGpSTTs7SUFFRSxpQ0FBQTtFcEV1alJSOztFb0VyalJNOztJQUVFLCtCQUFBO0VwRXdqUlI7O0VvRXZrUk07SUFBZ0MseUJBQUE7RXBFMmtSdEM7O0VvRTFrUk07O0lBRUUsNkJBQUE7RXBFNmtSUjs7RW9FM2tSTTs7SUFFRSwrQkFBQTtFcEU4a1JSOztFb0U1a1JNOztJQUVFLGdDQUFBO0VwRStrUlI7O0VvRTdrUk07O0lBRUUsOEJBQUE7RXBFZ2xSUjs7RW9FL2xSTTtJQUFnQyx5QkFBQTtFcEVtbVJ0Qzs7RW9FbG1STTs7SUFFRSw2QkFBQTtFcEVxbVJSOztFb0VubVJNOztJQUVFLCtCQUFBO0VwRXNtUlI7O0VvRXBtUk07O0lBRUUsZ0NBQUE7RXBFdW1SUjs7RW9Fcm1STTs7SUFFRSw4QkFBQTtFcEV3bVJSOztFb0V2blJNO0lBQWdDLDJCQUFBO0VwRTJuUnRDOztFb0UxblJNOztJQUVFLCtCQUFBO0VwRTZuUlI7O0VvRTNuUk07O0lBRUUsaUNBQUE7RXBFOG5SUjs7RW9FNW5STTs7SUFFRSxrQ0FBQTtFcEUrblJSOztFb0U3blJNOztJQUVFLGdDQUFBO0VwRWdvUlI7O0VvRS9vUk07SUFBZ0MseUJBQUE7RXBFbXBSdEM7O0VvRWxwUk07O0lBRUUsNkJBQUE7RXBFcXBSUjs7RW9FbnBSTTs7SUFFRSwrQkFBQTtFcEVzcFJSOztFb0VwcFJNOztJQUVFLGdDQUFBO0VwRXVwUlI7O0VvRXJwUk07O0lBRUUsOEJBQUE7RXBFd3BSUjs7RW9FdnFSTTtJQUFnQywyQkFBQTtFcEUycVJ0Qzs7RW9FMXFSTTs7SUFFRSwrQkFBQTtFcEU2cVJSOztFb0UzcVJNOztJQUVFLGlDQUFBO0VwRThxUlI7O0VvRTVxUk07O0lBRUUsa0NBQUE7RXBFK3FSUjs7RW9FN3FSTTs7SUFFRSxnQ0FBQTtFcEVnclJSOztFb0UvclJNO0lBQWdDLHlCQUFBO0VwRW1zUnRDOztFb0Vsc1JNOztJQUVFLDZCQUFBO0VwRXFzUlI7O0VvRW5zUk07O0lBRUUsK0JBQUE7RXBFc3NSUjs7RW9FcHNSTTs7SUFFRSxnQ0FBQTtFcEV1c1JSOztFb0Vyc1JNOztJQUVFLDhCQUFBO0VwRXdzUlI7O0VvRXZ0Uk07SUFBZ0MsMkJBQUE7RXBFMnRSdEM7O0VvRTF0Uk07O0lBRUUsK0JBQUE7RXBFNnRSUjs7RW9FM3RSTTs7SUFFRSxpQ0FBQTtFcEU4dFJSOztFb0U1dFJNOztJQUVFLGtDQUFBO0VwRSt0UlI7O0VvRTd0Uk07O0lBRUUsZ0NBQUE7RXBFZ3VSUjs7RW9FL3VSTTtJQUFnQyw0QkFBQTtFcEVtdlJ0Qzs7RW9FbHZSTTs7SUFFRSxnQ0FBQTtFcEVxdlJSOztFb0VudlJNOztJQUVFLGtDQUFBO0VwRXN2UlI7O0VvRXB2Uk07O0lBRUUsbUNBQUE7RXBFdXZSUjs7RW9FcnZSTTs7SUFFRSxpQ0FBQTtFcEV3dlJSOztFb0V2d1JNO0lBQWdDLDBCQUFBO0VwRTJ3UnRDOztFb0Uxd1JNOztJQUVFLDhCQUFBO0VwRTZ3UlI7O0VvRTN3Uk07O0lBRUUsZ0NBQUE7RXBFOHdSUjs7RW9FNXdSTTs7SUFFRSxpQ0FBQTtFcEUrd1JSOztFb0U3d1JNOztJQUVFLCtCQUFBO0VwRWd4UlI7O0VvRS94Uk07SUFBZ0Msd0JBQUE7RXBFbXlSdEM7O0VvRWx5Uk07O0lBRUUsNEJBQUE7RXBFcXlSUjs7RW9FbnlSTTs7SUFFRSw4QkFBQTtFcEVzeVJSOztFb0VweVJNOztJQUVFLCtCQUFBO0VwRXV5UlI7O0VvRXJ5Uk07O0lBRUUsNkJBQUE7RXBFd3lSUjs7RW9FdnpSTTtJQUFnQyx3QkFBQTtFcEUyelJ0Qzs7RW9FMXpSTTs7SUFFRSw0QkFBQTtFcEU2elJSOztFb0UzelJNOztJQUVFLDhCQUFBO0VwRTh6UlI7O0VvRTV6Uk07O0lBRUUsK0JBQUE7RXBFK3pSUjs7RW9FN3pSTTs7SUFFRSw2QkFBQTtFcEVnMFJSOztFb0UvMFJNO0lBQWdDLHlCQUFBO0VwRW0xUnRDOztFb0VsMVJNOztJQUVFLDZCQUFBO0VwRXExUlI7O0VvRW4xUk07O0lBRUUsK0JBQUE7RXBFczFSUjs7RW9FcDFSTTs7SUFFRSxnQ0FBQTtFcEV1MVJSOztFb0VyMVJNOztJQUVFLDhCQUFBO0VwRXcxUlI7O0VvRWwxUkU7SUFBbUIsdUJBQUE7RXBFczFSckI7O0VvRXIxUkU7O0lBRUUsMkJBQUE7RXBFdzFSSjs7RW9FdDFSRTs7SUFFRSw2QkFBQTtFcEV5MVJKOztFb0V2MVJFOztJQUVFLDhCQUFBO0VwRTAxUko7O0VvRXgxUkU7O0lBRUUsNEJBQUE7RXBFMjFSSjtBQUNGO0FlLzBSSTtFcURqREk7SUFBZ0Msb0JBQUE7RXBFbzRSdEM7O0VvRW40Uk07O0lBRUUsd0JBQUE7RXBFczRSUjs7RW9FcDRSTTs7SUFFRSwwQkFBQTtFcEV1NFJSOztFb0VyNFJNOztJQUVFLDJCQUFBO0VwRXc0UlI7O0VvRXQ0Uk07O0lBRUUseUJBQUE7RXBFeTRSUjs7RW9FeDVSTTtJQUFnQywwQkFBQTtFcEU0NVJ0Qzs7RW9FMzVSTTs7SUFFRSw4QkFBQTtFcEU4NVJSOztFb0U1NVJNOztJQUVFLGdDQUFBO0VwRSs1UlI7O0VvRTc1Uk07O0lBRUUsaUNBQUE7RXBFZzZSUjs7RW9FOTVSTTs7SUFFRSwrQkFBQTtFcEVpNlJSOztFb0VoN1JNO0lBQWdDLHlCQUFBO0VwRW83UnRDOztFb0VuN1JNOztJQUVFLDZCQUFBO0VwRXM3UlI7O0VvRXA3Uk07O0lBRUUsK0JBQUE7RXBFdTdSUjs7RW9FcjdSTTs7SUFFRSxnQ0FBQTtFcEV3N1JSOztFb0V0N1JNOztJQUVFLDhCQUFBO0VwRXk3UlI7O0VvRXg4Uk07SUFBZ0MsdUJBQUE7RXBFNDhSdEM7O0VvRTM4Uk07O0lBRUUsMkJBQUE7RXBFODhSUjs7RW9FNThSTTs7SUFFRSw2QkFBQTtFcEUrOFJSOztFb0U3OFJNOztJQUVFLDhCQUFBO0VwRWc5UlI7O0VvRTk4Uk07O0lBRUUsNEJBQUE7RXBFaTlSUjs7RW9FaCtSTTtJQUFnQyx5QkFBQTtFcEVvK1J0Qzs7RW9FbitSTTs7SUFFRSw2QkFBQTtFcEVzK1JSOztFb0VwK1JNOztJQUVFLCtCQUFBO0VwRXUrUlI7O0VvRXIrUk07O0lBRUUsZ0NBQUE7RXBFdytSUjs7RW9FdCtSTTs7SUFFRSw4QkFBQTtFcEV5K1JSOztFb0V4L1JNO0lBQWdDLHVCQUFBO0VwRTQvUnRDOztFb0UzL1JNOztJQUVFLDJCQUFBO0VwRTgvUlI7O0VvRTUvUk07O0lBRUUsNkJBQUE7RXBFKy9SUjs7RW9FNy9STTs7SUFFRSw4QkFBQTtFcEVnZ1NSOztFb0U5L1JNOztJQUVFLDRCQUFBO0VwRWlnU1I7O0VvRWhoU007SUFBZ0MseUJBQUE7RXBFb2hTdEM7O0VvRW5oU007O0lBRUUsNkJBQUE7RXBFc2hTUjs7RW9FcGhTTTs7SUFFRSwrQkFBQTtFcEV1aFNSOztFb0VyaFNNOztJQUVFLGdDQUFBO0VwRXdoU1I7O0VvRXRoU007O0lBRUUsOEJBQUE7RXBFeWhTUjs7RW9FeGlTTTtJQUFnQyx3QkFBQTtFcEU0aVN0Qzs7RW9FM2lTTTs7SUFFRSw0QkFBQTtFcEU4aVNSOztFb0U1aVNNOztJQUVFLDhCQUFBO0VwRStpU1I7O0VvRTdpU007O0lBRUUsK0JBQUE7RXBFZ2pTUjs7RW9FOWlTTTs7SUFFRSw2QkFBQTtFcEVpalNSOztFb0Voa1NNO0lBQWdDLHdCQUFBO0VwRW9rU3RDOztFb0Vua1NNOztJQUVFLDRCQUFBO0VwRXNrU1I7O0VvRXBrU007O0lBRUUsOEJBQUE7RXBFdWtTUjs7RW9FcmtTTTs7SUFFRSwrQkFBQTtFcEV3a1NSOztFb0V0a1NNOztJQUVFLDZCQUFBO0VwRXlrU1I7O0VvRXhsU007SUFBZ0MsMEJBQUE7RXBFNGxTdEM7O0VvRTNsU007O0lBRUUsOEJBQUE7RXBFOGxTUjs7RW9FNWxTTTs7SUFFRSxnQ0FBQTtFcEUrbFNSOztFb0U3bFNNOztJQUVFLGlDQUFBO0VwRWdtU1I7O0VvRTlsU007O0lBRUUsK0JBQUE7RXBFaW1TUjs7RW9FaG5TTTtJQUFnQyx3QkFBQTtFcEVvblN0Qzs7RW9Fbm5TTTs7SUFFRSw0QkFBQTtFcEVzblNSOztFb0VwblNNOztJQUVFLDhCQUFBO0VwRXVuU1I7O0VvRXJuU007O0lBRUUsK0JBQUE7RXBFd25TUjs7RW9FdG5TTTs7SUFFRSw2QkFBQTtFcEV5blNSOztFb0V4b1NNO0lBQWdDLDBCQUFBO0VwRTRvU3RDOztFb0Uzb1NNOztJQUVFLDhCQUFBO0VwRThvU1I7O0VvRTVvU007O0lBRUUsZ0NBQUE7RXBFK29TUjs7RW9FN29TTTs7SUFFRSxpQ0FBQTtFcEVncFNSOztFb0U5b1NNOztJQUVFLCtCQUFBO0VwRWlwU1I7O0VvRWhxU007SUFBZ0Msd0JBQUE7RXBFb3FTdEM7O0VvRW5xU007O0lBRUUsNEJBQUE7RXBFc3FTUjs7RW9FcHFTTTs7SUFFRSw4QkFBQTtFcEV1cVNSOztFb0VycVNNOztJQUVFLCtCQUFBO0VwRXdxU1I7O0VvRXRxU007O0lBRUUsNkJBQUE7RXBFeXFTUjs7RW9FeHJTTTtJQUFnQywwQkFBQTtFcEU0clN0Qzs7RW9FM3JTTTs7SUFFRSw4QkFBQTtFcEU4clNSOztFb0U1clNNOztJQUVFLGdDQUFBO0VwRStyU1I7O0VvRTdyU007O0lBRUUsaUNBQUE7RXBFZ3NTUjs7RW9FOXJTTTs7SUFFRSwrQkFBQTtFcEVpc1NSOztFb0VodFNNO0lBQWdDLDJCQUFBO0VwRW90U3RDOztFb0VudFNNOztJQUVFLCtCQUFBO0VwRXN0U1I7O0VvRXB0U007O0lBRUUsaUNBQUE7RXBFdXRTUjs7RW9FcnRTTTs7SUFFRSxrQ0FBQTtFcEV3dFNSOztFb0V0dFNNOztJQUVFLGdDQUFBO0VwRXl0U1I7O0VvRXh1U007SUFBZ0MseUJBQUE7RXBFNHVTdEM7O0VvRTN1U007O0lBRUUsNkJBQUE7RXBFOHVTUjs7RW9FNXVTTTs7SUFFRSwrQkFBQTtFcEUrdVNSOztFb0U3dVNNOztJQUVFLGdDQUFBO0VwRWd2U1I7O0VvRTl1U007O0lBRUUsOEJBQUE7RXBFaXZTUjs7RW9FaHdTTTtJQUFnQyx1QkFBQTtFcEVvd1N0Qzs7RW9FbndTTTs7SUFFRSwyQkFBQTtFcEVzd1NSOztFb0Vwd1NNOztJQUVFLDZCQUFBO0VwRXV3U1I7O0VvRXJ3U007O0lBRUUsOEJBQUE7RXBFd3dTUjs7RW9FdHdTTTs7SUFFRSw0QkFBQTtFcEV5d1NSOztFb0V4eFNNO0lBQWdDLHVCQUFBO0VwRTR4U3RDOztFb0UzeFNNOztJQUVFLDJCQUFBO0VwRTh4U1I7O0VvRTV4U007O0lBRUUsNkJBQUE7RXBFK3hTUjs7RW9FN3hTTTs7SUFFRSw4QkFBQTtFcEVneVNSOztFb0U5eFNNOztJQUVFLDRCQUFBO0VwRWl5U1I7O0VvRWh6U007SUFBZ0Msd0JBQUE7RXBFb3pTdEM7O0VvRW56U007O0lBRUUsNEJBQUE7RXBFc3pTUjs7RW9FcHpTTTs7SUFFRSw4QkFBQTtFcEV1elNSOztFb0VyelNNOztJQUVFLCtCQUFBO0VwRXd6U1I7O0VvRXR6U007O0lBRUUsNkJBQUE7RXBFeXpTUjs7RW9FeDBTTTtJQUFnQyxxQkFBQTtFcEU0MFN0Qzs7RW9FMzBTTTs7SUFFRSx5QkFBQTtFcEU4MFNSOztFb0U1MFNNOztJQUVFLDJCQUFBO0VwRSswU1I7O0VvRTcwU007O0lBRUUsNEJBQUE7RXBFZzFTUjs7RW9FOTBTTTs7SUFFRSwwQkFBQTtFcEVpMVNSOztFb0VoMlNNO0lBQWdDLDJCQUFBO0VwRW8yU3RDOztFb0VuMlNNOztJQUVFLCtCQUFBO0VwRXMyU1I7O0VvRXAyU007O0lBRUUsaUNBQUE7RXBFdTJTUjs7RW9FcjJTTTs7SUFFRSxrQ0FBQTtFcEV3MlNSOztFb0V0MlNNOztJQUVFLGdDQUFBO0VwRXkyU1I7O0VvRXgzU007SUFBZ0MsMEJBQUE7RXBFNDNTdEM7O0VvRTMzU007O0lBRUUsOEJBQUE7RXBFODNTUjs7RW9FNTNTTTs7SUFFRSxnQ0FBQTtFcEUrM1NSOztFb0U3M1NNOztJQUVFLGlDQUFBO0VwRWc0U1I7O0VvRTkzU007O0lBRUUsK0JBQUE7RXBFaTRTUjs7RW9FaDVTTTtJQUFnQyx3QkFBQTtFcEVvNVN0Qzs7RW9FbjVTTTs7SUFFRSw0QkFBQTtFcEVzNVNSOztFb0VwNVNNOztJQUVFLDhCQUFBO0VwRXU1U1I7O0VvRXI1U007O0lBRUUsK0JBQUE7RXBFdzVTUjs7RW9FdDVTTTs7SUFFRSw2QkFBQTtFcEV5NVNSOztFb0V4NlNNO0lBQWdDLDBCQUFBO0VwRTQ2U3RDOztFb0UzNlNNOztJQUVFLDhCQUFBO0VwRTg2U1I7O0VvRTU2U007O0lBRUUsZ0NBQUE7RXBFKzZTUjs7RW9FNzZTTTs7SUFFRSxpQ0FBQTtFcEVnN1NSOztFb0U5NlNNOztJQUVFLCtCQUFBO0VwRWk3U1I7O0VvRWg4U007SUFBZ0Msd0JBQUE7RXBFbzhTdEM7O0VvRW44U007O0lBRUUsNEJBQUE7RXBFczhTUjs7RW9FcDhTTTs7SUFFRSw4QkFBQTtFcEV1OFNSOztFb0VyOFNNOztJQUVFLCtCQUFBO0VwRXc4U1I7O0VvRXQ4U007O0lBRUUsNkJBQUE7RXBFeThTUjs7RW9FeDlTTTtJQUFnQywwQkFBQTtFcEU0OVN0Qzs7RW9FMzlTTTs7SUFFRSw4QkFBQTtFcEU4OVNSOztFb0U1OVNNOztJQUVFLGdDQUFBO0VwRSs5U1I7O0VvRTc5U007O0lBRUUsaUNBQUE7RXBFZytTUjs7RW9FOTlTTTs7SUFFRSwrQkFBQTtFcEVpK1NSOztFb0VoL1NNO0lBQWdDLHlCQUFBO0VwRW8vU3RDOztFb0VuL1NNOztJQUVFLDZCQUFBO0VwRXMvU1I7O0VvRXAvU007O0lBRUUsK0JBQUE7RXBFdS9TUjs7RW9Fci9TTTs7SUFFRSxnQ0FBQTtFcEV3L1NSOztFb0V0L1NNOztJQUVFLDhCQUFBO0VwRXkvU1I7O0VvRXhnVE07SUFBZ0MseUJBQUE7RXBFNGdUdEM7O0VvRTNnVE07O0lBRUUsNkJBQUE7RXBFOGdUUjs7RW9FNWdUTTs7SUFFRSwrQkFBQTtFcEUrZ1RSOztFb0U3Z1RNOztJQUVFLGdDQUFBO0VwRWdoVFI7O0VvRTlnVE07O0lBRUUsOEJBQUE7RXBFaWhUUjs7RW9FaGlUTTtJQUFnQywyQkFBQTtFcEVvaVR0Qzs7RW9FbmlUTTs7SUFFRSwrQkFBQTtFcEVzaVRSOztFb0VwaVRNOztJQUVFLGlDQUFBO0VwRXVpVFI7O0VvRXJpVE07O0lBRUUsa0NBQUE7RXBFd2lUUjs7RW9FdGlUTTs7SUFFRSxnQ0FBQTtFcEV5aVRSOztFb0V4alRNO0lBQWdDLHlCQUFBO0VwRTRqVHRDOztFb0UzalRNOztJQUVFLDZCQUFBO0VwRThqVFI7O0VvRTVqVE07O0lBRUUsK0JBQUE7RXBFK2pUUjs7RW9FN2pUTTs7SUFFRSxnQ0FBQTtFcEVna1RSOztFb0U5alRNOztJQUVFLDhCQUFBO0VwRWlrVFI7O0VvRWhsVE07SUFBZ0MsMkJBQUE7RXBFb2xUdEM7O0VvRW5sVE07O0lBRUUsK0JBQUE7RXBFc2xUUjs7RW9FcGxUTTs7SUFFRSxpQ0FBQTtFcEV1bFRSOztFb0VybFRNOztJQUVFLGtDQUFBO0VwRXdsVFI7O0VvRXRsVE07O0lBRUUsZ0NBQUE7RXBFeWxUUjs7RW9FeG1UTTtJQUFnQyx5QkFBQTtFcEU0bVR0Qzs7RW9FM21UTTs7SUFFRSw2QkFBQTtFcEU4bVRSOztFb0U1bVRNOztJQUVFLCtCQUFBO0VwRSttVFI7O0VvRTdtVE07O0lBRUUsZ0NBQUE7RXBFZ25UUjs7RW9FOW1UTTs7SUFFRSw4QkFBQTtFcEVpblRSOztFb0Vob1RNO0lBQWdDLDJCQUFBO0VwRW9vVHRDOztFb0Vub1RNOztJQUVFLCtCQUFBO0VwRXNvVFI7O0VvRXBvVE07O0lBRUUsaUNBQUE7RXBFdW9UUjs7RW9Fcm9UTTs7SUFFRSxrQ0FBQTtFcEV3b1RSOztFb0V0b1RNOztJQUVFLGdDQUFBO0VwRXlvVFI7O0VvRXhwVE07SUFBZ0MsNEJBQUE7RXBFNHBUdEM7O0VvRTNwVE07O0lBRUUsZ0NBQUE7RXBFOHBUUjs7RW9FNXBUTTs7SUFFRSxrQ0FBQTtFcEUrcFRSOztFb0U3cFRNOztJQUVFLG1DQUFBO0VwRWdxVFI7O0VvRTlwVE07O0lBRUUsaUNBQUE7RXBFaXFUUjs7RW9FaHJUTTtJQUFnQywwQkFBQTtFcEVvclR0Qzs7RW9FbnJUTTs7SUFFRSw4QkFBQTtFcEVzclRSOztFb0VwclRNOztJQUVFLGdDQUFBO0VwRXVyVFI7O0VvRXJyVE07O0lBRUUsaUNBQUE7RXBFd3JUUjs7RW9FdHJUTTs7SUFFRSwrQkFBQTtFcEV5clRSOztFb0V4c1RNO0lBQWdDLHdCQUFBO0VwRTRzVHRDOztFb0Uzc1RNOztJQUVFLDRCQUFBO0VwRThzVFI7O0VvRTVzVE07O0lBRUUsOEJBQUE7RXBFK3NUUjs7RW9FN3NUTTs7SUFFRSwrQkFBQTtFcEVndFRSOztFb0U5c1RNOztJQUVFLDZCQUFBO0VwRWl0VFI7O0VvRWh1VE07SUFBZ0Msd0JBQUE7RXBFb3VUdEM7O0VvRW51VE07O0lBRUUsNEJBQUE7RXBFc3VUUjs7RW9FcHVUTTs7SUFFRSw4QkFBQTtFcEV1dVRSOztFb0VydVRNOztJQUVFLCtCQUFBO0VwRXd1VFI7O0VvRXR1VE07O0lBRUUsNkJBQUE7RXBFeXVUUjs7RW9FeHZUTTtJQUFnQyx5QkFBQTtFcEU0dlR0Qzs7RW9FM3ZUTTs7SUFFRSw2QkFBQTtFcEU4dlRSOztFb0U1dlRNOztJQUVFLCtCQUFBO0VwRSt2VFI7O0VvRTd2VE07O0lBRUUsZ0NBQUE7RXBFZ3dUUjs7RW9FOXZUTTs7SUFFRSw4QkFBQTtFcEVpd1RSOztFb0UzdlRFO0lBQW1CLHVCQUFBO0VwRSt2VHJCOztFb0U5dlRFOztJQUVFLDJCQUFBO0VwRWl3VEo7O0VvRS92VEU7O0lBRUUsNkJBQUE7RXBFa3dUSjs7RW9FaHdURTs7SUFFRSw4QkFBQTtFcEVtd1RKOztFb0Vqd1RFOztJQUVFLDRCQUFBO0VwRW93VEo7QUFDRjtBZXh2VEk7RXFEakRJO0lBQWdDLG9CQUFBO0VwRTZ5VHRDOztFb0U1eVRNOztJQUVFLHdCQUFBO0VwRSt5VFI7O0VvRTd5VE07O0lBRUUsMEJBQUE7RXBFZ3pUUjs7RW9FOXlUTTs7SUFFRSwyQkFBQTtFcEVpelRSOztFb0UveVRNOztJQUVFLHlCQUFBO0VwRWt6VFI7O0VvRWowVE07SUFBZ0MsMEJBQUE7RXBFcTBUdEM7O0VvRXAwVE07O0lBRUUsOEJBQUE7RXBFdTBUUjs7RW9FcjBUTTs7SUFFRSxnQ0FBQTtFcEV3MFRSOztFb0V0MFRNOztJQUVFLGlDQUFBO0VwRXkwVFI7O0VvRXYwVE07O0lBRUUsK0JBQUE7RXBFMDBUUjs7RW9FejFUTTtJQUFnQyx5QkFBQTtFcEU2MVR0Qzs7RW9FNTFUTTs7SUFFRSw2QkFBQTtFcEUrMVRSOztFb0U3MVRNOztJQUVFLCtCQUFBO0VwRWcyVFI7O0VvRTkxVE07O0lBRUUsZ0NBQUE7RXBFaTJUUjs7RW9FLzFUTTs7SUFFRSw4QkFBQTtFcEVrMlRSOztFb0VqM1RNO0lBQWdDLHVCQUFBO0VwRXEzVHRDOztFb0VwM1RNOztJQUVFLDJCQUFBO0VwRXUzVFI7O0VvRXIzVE07O0lBRUUsNkJBQUE7RXBFdzNUUjs7RW9FdDNUTTs7SUFFRSw4QkFBQTtFcEV5M1RSOztFb0V2M1RNOztJQUVFLDRCQUFBO0VwRTAzVFI7O0VvRXo0VE07SUFBZ0MseUJBQUE7RXBFNjRUdEM7O0VvRTU0VE07O0lBRUUsNkJBQUE7RXBFKzRUUjs7RW9FNzRUTTs7SUFFRSwrQkFBQTtFcEVnNVRSOztFb0U5NFRNOztJQUVFLGdDQUFBO0VwRWk1VFI7O0VvRS80VE07O0lBRUUsOEJBQUE7RXBFazVUUjs7RW9FajZUTTtJQUFnQyx1QkFBQTtFcEVxNlR0Qzs7RW9FcDZUTTs7SUFFRSwyQkFBQTtFcEV1NlRSOztFb0VyNlRNOztJQUVFLDZCQUFBO0VwRXc2VFI7O0VvRXQ2VE07O0lBRUUsOEJBQUE7RXBFeTZUUjs7RW9FdjZUTTs7SUFFRSw0QkFBQTtFcEUwNlRSOztFb0V6N1RNO0lBQWdDLHlCQUFBO0VwRTY3VHRDOztFb0U1N1RNOztJQUVFLDZCQUFBO0VwRSs3VFI7O0VvRTc3VE07O0lBRUUsK0JBQUE7RXBFZzhUUjs7RW9FOTdUTTs7SUFFRSxnQ0FBQTtFcEVpOFRSOztFb0UvN1RNOztJQUVFLDhCQUFBO0VwRWs4VFI7O0VvRWo5VE07SUFBZ0Msd0JBQUE7RXBFcTlUdEM7O0VvRXA5VE07O0lBRUUsNEJBQUE7RXBFdTlUUjs7RW9FcjlUTTs7SUFFRSw4QkFBQTtFcEV3OVRSOztFb0V0OVRNOztJQUVFLCtCQUFBO0VwRXk5VFI7O0VvRXY5VE07O0lBRUUsNkJBQUE7RXBFMDlUUjs7RW9FeitUTTtJQUFnQyx3QkFBQTtFcEU2K1R0Qzs7RW9FNStUTTs7SUFFRSw0QkFBQTtFcEUrK1RSOztFb0U3K1RNOztJQUVFLDhCQUFBO0VwRWcvVFI7O0VvRTkrVE07O0lBRUUsK0JBQUE7RXBFaS9UUjs7RW9FLytUTTs7SUFFRSw2QkFBQTtFcEVrL1RSOztFb0VqZ1VNO0lBQWdDLDBCQUFBO0VwRXFnVXRDOztFb0VwZ1VNOztJQUVFLDhCQUFBO0VwRXVnVVI7O0VvRXJnVU07O0lBRUUsZ0NBQUE7RXBFd2dVUjs7RW9FdGdVTTs7SUFFRSxpQ0FBQTtFcEV5Z1VSOztFb0V2Z1VNOztJQUVFLCtCQUFBO0VwRTBnVVI7O0VvRXpoVU07SUFBZ0Msd0JBQUE7RXBFNmhVdEM7O0VvRTVoVU07O0lBRUUsNEJBQUE7RXBFK2hVUjs7RW9FN2hVTTs7SUFFRSw4QkFBQTtFcEVnaVVSOztFb0U5aFVNOztJQUVFLCtCQUFBO0VwRWlpVVI7O0VvRS9oVU07O0lBRUUsNkJBQUE7RXBFa2lVUjs7RW9FampVTTtJQUFnQywwQkFBQTtFcEVxalV0Qzs7RW9FcGpVTTs7SUFFRSw4QkFBQTtFcEV1alVSOztFb0VyalVNOztJQUVFLGdDQUFBO0VwRXdqVVI7O0VvRXRqVU07O0lBRUUsaUNBQUE7RXBFeWpVUjs7RW9FdmpVTTs7SUFFRSwrQkFBQTtFcEUwalVSOztFb0V6a1VNO0lBQWdDLHdCQUFBO0VwRTZrVXRDOztFb0U1a1VNOztJQUVFLDRCQUFBO0VwRStrVVI7O0VvRTdrVU07O0lBRUUsOEJBQUE7RXBFZ2xVUjs7RW9FOWtVTTs7SUFFRSwrQkFBQTtFcEVpbFVSOztFb0Uva1VNOztJQUVFLDZCQUFBO0VwRWtsVVI7O0VvRWptVU07SUFBZ0MsMEJBQUE7RXBFcW1VdEM7O0VvRXBtVU07O0lBRUUsOEJBQUE7RXBFdW1VUjs7RW9Fcm1VTTs7SUFFRSxnQ0FBQTtFcEV3bVVSOztFb0V0bVVNOztJQUVFLGlDQUFBO0VwRXltVVI7O0VvRXZtVU07O0lBRUUsK0JBQUE7RXBFMG1VUjs7RW9Fem5VTTtJQUFnQywyQkFBQTtFcEU2blV0Qzs7RW9FNW5VTTs7SUFFRSwrQkFBQTtFcEUrblVSOztFb0U3blVNOztJQUVFLGlDQUFBO0VwRWdvVVI7O0VvRTluVU07O0lBRUUsa0NBQUE7RXBFaW9VUjs7RW9FL25VTTs7SUFFRSxnQ0FBQTtFcEVrb1VSOztFb0VqcFVNO0lBQWdDLHlCQUFBO0VwRXFwVXRDOztFb0VwcFVNOztJQUVFLDZCQUFBO0VwRXVwVVI7O0VvRXJwVU07O0lBRUUsK0JBQUE7RXBFd3BVUjs7RW9FdHBVTTs7SUFFRSxnQ0FBQTtFcEV5cFVSOztFb0V2cFVNOztJQUVFLDhCQUFBO0VwRTBwVVI7O0VvRXpxVU07SUFBZ0MsdUJBQUE7RXBFNnFVdEM7O0VvRTVxVU07O0lBRUUsMkJBQUE7RXBFK3FVUjs7RW9FN3FVTTs7SUFFRSw2QkFBQTtFcEVnclVSOztFb0U5cVVNOztJQUVFLDhCQUFBO0VwRWlyVVI7O0VvRS9xVU07O0lBRUUsNEJBQUE7RXBFa3JVUjs7RW9FanNVTTtJQUFnQyx1QkFBQTtFcEVxc1V0Qzs7RW9FcHNVTTs7SUFFRSwyQkFBQTtFcEV1c1VSOztFb0Vyc1VNOztJQUVFLDZCQUFBO0VwRXdzVVI7O0VvRXRzVU07O0lBRUUsOEJBQUE7RXBFeXNVUjs7RW9FdnNVTTs7SUFFRSw0QkFBQTtFcEUwc1VSOztFb0V6dFVNO0lBQWdDLHdCQUFBO0VwRTZ0VXRDOztFb0U1dFVNOztJQUVFLDRCQUFBO0VwRSt0VVI7O0VvRTd0VU07O0lBRUUsOEJBQUE7RXBFZ3VVUjs7RW9FOXRVTTs7SUFFRSwrQkFBQTtFcEVpdVVSOztFb0UvdFVNOztJQUVFLDZCQUFBO0VwRWt1VVI7O0VvRWp2VU07SUFBZ0MscUJBQUE7RXBFcXZVdEM7O0VvRXB2VU07O0lBRUUseUJBQUE7RXBFdXZVUjs7RW9FcnZVTTs7SUFFRSwyQkFBQTtFcEV3dlVSOztFb0V0dlVNOztJQUVFLDRCQUFBO0VwRXl2VVI7O0VvRXZ2VU07O0lBRUUsMEJBQUE7RXBFMHZVUjs7RW9FendVTTtJQUFnQywyQkFBQTtFcEU2d1V0Qzs7RW9FNXdVTTs7SUFFRSwrQkFBQTtFcEUrd1VSOztFb0U3d1VNOztJQUVFLGlDQUFBO0VwRWd4VVI7O0VvRTl3VU07O0lBRUUsa0NBQUE7RXBFaXhVUjs7RW9FL3dVTTs7SUFFRSxnQ0FBQTtFcEVreFVSOztFb0VqeVVNO0lBQWdDLDBCQUFBO0VwRXF5VXRDOztFb0VweVVNOztJQUVFLDhCQUFBO0VwRXV5VVI7O0VvRXJ5VU07O0lBRUUsZ0NBQUE7RXBFd3lVUjs7RW9FdHlVTTs7SUFFRSxpQ0FBQTtFcEV5eVVSOztFb0V2eVVNOztJQUVFLCtCQUFBO0VwRTB5VVI7O0VvRXp6VU07SUFBZ0Msd0JBQUE7RXBFNnpVdEM7O0VvRTV6VU07O0lBRUUsNEJBQUE7RXBFK3pVUjs7RW9FN3pVTTs7SUFFRSw4QkFBQTtFcEVnMFVSOztFb0U5elVNOztJQUVFLCtCQUFBO0VwRWkwVVI7O0VvRS96VU07O0lBRUUsNkJBQUE7RXBFazBVUjs7RW9FajFVTTtJQUFnQywwQkFBQTtFcEVxMVV0Qzs7RW9FcDFVTTs7SUFFRSw4QkFBQTtFcEV1MVVSOztFb0VyMVVNOztJQUVFLGdDQUFBO0VwRXcxVVI7O0VvRXQxVU07O0lBRUUsaUNBQUE7RXBFeTFVUjs7RW9FdjFVTTs7SUFFRSwrQkFBQTtFcEUwMVVSOztFb0V6MlVNO0lBQWdDLHdCQUFBO0VwRTYyVXRDOztFb0U1MlVNOztJQUVFLDRCQUFBO0VwRSsyVVI7O0VvRTcyVU07O0lBRUUsOEJBQUE7RXBFZzNVUjs7RW9FOTJVTTs7SUFFRSwrQkFBQTtFcEVpM1VSOztFb0UvMlVNOztJQUVFLDZCQUFBO0VwRWszVVI7O0VvRWo0VU07SUFBZ0MsMEJBQUE7RXBFcTRVdEM7O0VvRXA0VU07O0lBRUUsOEJBQUE7RXBFdTRVUjs7RW9FcjRVTTs7SUFFRSxnQ0FBQTtFcEV3NFVSOztFb0V0NFVNOztJQUVFLGlDQUFBO0VwRXk0VVI7O0VvRXY0VU07O0lBRUUsK0JBQUE7RXBFMDRVUjs7RW9FejVVTTtJQUFnQyx5QkFBQTtFcEU2NVV0Qzs7RW9FNTVVTTs7SUFFRSw2QkFBQTtFcEUrNVVSOztFb0U3NVVNOztJQUVFLCtCQUFBO0VwRWc2VVI7O0VvRTk1VU07O0lBRUUsZ0NBQUE7RXBFaTZVUjs7RW9FLzVVTTs7SUFFRSw4QkFBQTtFcEVrNlVSOztFb0VqN1VNO0lBQWdDLHlCQUFBO0VwRXE3VXRDOztFb0VwN1VNOztJQUVFLDZCQUFBO0VwRXU3VVI7O0VvRXI3VU07O0lBRUUsK0JBQUE7RXBFdzdVUjs7RW9FdDdVTTs7SUFFRSxnQ0FBQTtFcEV5N1VSOztFb0V2N1VNOztJQUVFLDhCQUFBO0VwRTA3VVI7O0VvRXo4VU07SUFBZ0MsMkJBQUE7RXBFNjhVdEM7O0VvRTU4VU07O0lBRUUsK0JBQUE7RXBFKzhVUjs7RW9FNzhVTTs7SUFFRSxpQ0FBQTtFcEVnOVVSOztFb0U5OFVNOztJQUVFLGtDQUFBO0VwRWk5VVI7O0VvRS84VU07O0lBRUUsZ0NBQUE7RXBFazlVUjs7RW9FaitVTTtJQUFnQyx5QkFBQTtFcEVxK1V0Qzs7RW9FcCtVTTs7SUFFRSw2QkFBQTtFcEV1K1VSOztFb0VyK1VNOztJQUVFLCtCQUFBO0VwRXcrVVI7O0VvRXQrVU07O0lBRUUsZ0NBQUE7RXBFeStVUjs7RW9FditVTTs7SUFFRSw4QkFBQTtFcEUwK1VSOztFb0V6L1VNO0lBQWdDLDJCQUFBO0VwRTYvVXRDOztFb0U1L1VNOztJQUVFLCtCQUFBO0VwRSsvVVI7O0VvRTcvVU07O0lBRUUsaUNBQUE7RXBFZ2dWUjs7RW9FOS9VTTs7SUFFRSxrQ0FBQTtFcEVpZ1ZSOztFb0UvL1VNOztJQUVFLGdDQUFBO0VwRWtnVlI7O0VvRWpoVk07SUFBZ0MseUJBQUE7RXBFcWhWdEM7O0VvRXBoVk07O0lBRUUsNkJBQUE7RXBFdWhWUjs7RW9FcmhWTTs7SUFFRSwrQkFBQTtFcEV3aFZSOztFb0V0aFZNOztJQUVFLGdDQUFBO0VwRXloVlI7O0VvRXZoVk07O0lBRUUsOEJBQUE7RXBFMGhWUjs7RW9FemlWTTtJQUFnQywyQkFBQTtFcEU2aVZ0Qzs7RW9FNWlWTTs7SUFFRSwrQkFBQTtFcEUraVZSOztFb0U3aVZNOztJQUVFLGlDQUFBO0VwRWdqVlI7O0VvRTlpVk07O0lBRUUsa0NBQUE7RXBFaWpWUjs7RW9FL2lWTTs7SUFFRSxnQ0FBQTtFcEVralZSOztFb0Vqa1ZNO0lBQWdDLDRCQUFBO0VwRXFrVnRDOztFb0Vwa1ZNOztJQUVFLGdDQUFBO0VwRXVrVlI7O0VvRXJrVk07O0lBRUUsa0NBQUE7RXBFd2tWUjs7RW9FdGtWTTs7SUFFRSxtQ0FBQTtFcEV5a1ZSOztFb0V2a1ZNOztJQUVFLGlDQUFBO0VwRTBrVlI7O0VvRXpsVk07SUFBZ0MsMEJBQUE7RXBFNmxWdEM7O0VvRTVsVk07O0lBRUUsOEJBQUE7RXBFK2xWUjs7RW9FN2xWTTs7SUFFRSxnQ0FBQTtFcEVnbVZSOztFb0U5bFZNOztJQUVFLGlDQUFBO0VwRWltVlI7O0VvRS9sVk07O0lBRUUsK0JBQUE7RXBFa21WUjs7RW9Fam5WTTtJQUFnQyx3QkFBQTtFcEVxblZ0Qzs7RW9FcG5WTTs7SUFFRSw0QkFBQTtFcEV1blZSOztFb0VyblZNOztJQUVFLDhCQUFBO0VwRXduVlI7O0VvRXRuVk07O0lBRUUsK0JBQUE7RXBFeW5WUjs7RW9Fdm5WTTs7SUFFRSw2QkFBQTtFcEUwblZSOztFb0V6b1ZNO0lBQWdDLHdCQUFBO0VwRTZvVnRDOztFb0U1b1ZNOztJQUVFLDRCQUFBO0VwRStvVlI7O0VvRTdvVk07O0lBRUUsOEJBQUE7RXBFZ3BWUjs7RW9FOW9WTTs7SUFFRSwrQkFBQTtFcEVpcFZSOztFb0Uvb1ZNOztJQUVFLDZCQUFBO0VwRWtwVlI7O0VvRWpxVk07SUFBZ0MseUJBQUE7RXBFcXFWdEM7O0VvRXBxVk07O0lBRUUsNkJBQUE7RXBFdXFWUjs7RW9FcnFWTTs7SUFFRSwrQkFBQTtFcEV3cVZSOztFb0V0cVZNOztJQUVFLGdDQUFBO0VwRXlxVlI7O0VvRXZxVk07O0lBRUUsOEJBQUE7RXBFMHFWUjs7RW9FcHFWRTtJQUFtQix1QkFBQTtFcEV3cVZyQjs7RW9FdnFWRTs7SUFFRSwyQkFBQTtFcEUwcVZKOztFb0V4cVZFOztJQUVFLDZCQUFBO0VwRTJxVko7O0VvRXpxVkU7O0lBRUUsOEJBQUE7RXBFNHFWSjs7RW9FMXFWRTs7SUFFRSw0QkFBQTtFcEU2cVZKO0FBQ0Y7QWVqcVZJO0VxRGpESTtJQUFnQyxvQkFBQTtFcEVzdFZ0Qzs7RW9FcnRWTTs7SUFFRSx3QkFBQTtFcEV3dFZSOztFb0V0dFZNOztJQUVFLDBCQUFBO0VwRXl0VlI7O0VvRXZ0Vk07O0lBRUUsMkJBQUE7RXBFMHRWUjs7RW9FeHRWTTs7SUFFRSx5QkFBQTtFcEUydFZSOztFb0UxdVZNO0lBQWdDLDBCQUFBO0VwRTh1VnRDOztFb0U3dVZNOztJQUVFLDhCQUFBO0VwRWd2VlI7O0VvRTl1Vk07O0lBRUUsZ0NBQUE7RXBFaXZWUjs7RW9FL3VWTTs7SUFFRSxpQ0FBQTtFcEVrdlZSOztFb0VodlZNOztJQUVFLCtCQUFBO0VwRW12VlI7O0VvRWx3Vk07SUFBZ0MseUJBQUE7RXBFc3dWdEM7O0VvRXJ3Vk07O0lBRUUsNkJBQUE7RXBFd3dWUjs7RW9FdHdWTTs7SUFFRSwrQkFBQTtFcEV5d1ZSOztFb0V2d1ZNOztJQUVFLGdDQUFBO0VwRTB3VlI7O0VvRXh3Vk07O0lBRUUsOEJBQUE7RXBFMndWUjs7RW9FMXhWTTtJQUFnQyx1QkFBQTtFcEU4eFZ0Qzs7RW9FN3hWTTs7SUFFRSwyQkFBQTtFcEVneVZSOztFb0U5eFZNOztJQUVFLDZCQUFBO0VwRWl5VlI7O0VvRS94Vk07O0lBRUUsOEJBQUE7RXBFa3lWUjs7RW9FaHlWTTs7SUFFRSw0QkFBQTtFcEVteVZSOztFb0VselZNO0lBQWdDLHlCQUFBO0VwRXN6VnRDOztFb0VyelZNOztJQUVFLDZCQUFBO0VwRXd6VlI7O0VvRXR6Vk07O0lBRUUsK0JBQUE7RXBFeXpWUjs7RW9FdnpWTTs7SUFFRSxnQ0FBQTtFcEUwelZSOztFb0V4elZNOztJQUVFLDhCQUFBO0VwRTJ6VlI7O0VvRTEwVk07SUFBZ0MsdUJBQUE7RXBFODBWdEM7O0VvRTcwVk07O0lBRUUsMkJBQUE7RXBFZzFWUjs7RW9FOTBWTTs7SUFFRSw2QkFBQTtFcEVpMVZSOztFb0UvMFZNOztJQUVFLDhCQUFBO0VwRWsxVlI7O0VvRWgxVk07O0lBRUUsNEJBQUE7RXBFbTFWUjs7RW9FbDJWTTtJQUFnQyx5QkFBQTtFcEVzMlZ0Qzs7RW9FcjJWTTs7SUFFRSw2QkFBQTtFcEV3MlZSOztFb0V0MlZNOztJQUVFLCtCQUFBO0VwRXkyVlI7O0VvRXYyVk07O0lBRUUsZ0NBQUE7RXBFMDJWUjs7RW9FeDJWTTs7SUFFRSw4QkFBQTtFcEUyMlZSOztFb0UxM1ZNO0lBQWdDLHdCQUFBO0VwRTgzVnRDOztFb0U3M1ZNOztJQUVFLDRCQUFBO0VwRWc0VlI7O0VvRTkzVk07O0lBRUUsOEJBQUE7RXBFaTRWUjs7RW9FLzNWTTs7SUFFRSwrQkFBQTtFcEVrNFZSOztFb0VoNFZNOztJQUVFLDZCQUFBO0VwRW00VlI7O0VvRWw1Vk07SUFBZ0Msd0JBQUE7RXBFczVWdEM7O0VvRXI1Vk07O0lBRUUsNEJBQUE7RXBFdzVWUjs7RW9FdDVWTTs7SUFFRSw4QkFBQTtFcEV5NVZSOztFb0V2NVZNOztJQUVFLCtCQUFBO0VwRTA1VlI7O0VvRXg1Vk07O0lBRUUsNkJBQUE7RXBFMjVWUjs7RW9FMTZWTTtJQUFnQywwQkFBQTtFcEU4NlZ0Qzs7RW9FNzZWTTs7SUFFRSw4QkFBQTtFcEVnN1ZSOztFb0U5NlZNOztJQUVFLGdDQUFBO0VwRWk3VlI7O0VvRS82Vk07O0lBRUUsaUNBQUE7RXBFazdWUjs7RW9FaDdWTTs7SUFFRSwrQkFBQTtFcEVtN1ZSOztFb0VsOFZNO0lBQWdDLHdCQUFBO0VwRXM4VnRDOztFb0VyOFZNOztJQUVFLDRCQUFBO0VwRXc4VlI7O0VvRXQ4Vk07O0lBRUUsOEJBQUE7RXBFeThWUjs7RW9FdjhWTTs7SUFFRSwrQkFBQTtFcEUwOFZSOztFb0V4OFZNOztJQUVFLDZCQUFBO0VwRTI4VlI7O0VvRTE5Vk07SUFBZ0MsMEJBQUE7RXBFODlWdEM7O0VvRTc5Vk07O0lBRUUsOEJBQUE7RXBFZytWUjs7RW9FOTlWTTs7SUFFRSxnQ0FBQTtFcEVpK1ZSOztFb0UvOVZNOztJQUVFLGlDQUFBO0VwRWsrVlI7O0VvRWgrVk07O0lBRUUsK0JBQUE7RXBFbStWUjs7RW9FbC9WTTtJQUFnQyx3QkFBQTtFcEVzL1Z0Qzs7RW9Fci9WTTs7SUFFRSw0QkFBQTtFcEV3L1ZSOztFb0V0L1ZNOztJQUVFLDhCQUFBO0VwRXkvVlI7O0VvRXYvVk07O0lBRUUsK0JBQUE7RXBFMC9WUjs7RW9FeC9WTTs7SUFFRSw2QkFBQTtFcEUyL1ZSOztFb0UxZ1dNO0lBQWdDLDBCQUFBO0VwRThnV3RDOztFb0U3Z1dNOztJQUVFLDhCQUFBO0VwRWdoV1I7O0VvRTlnV007O0lBRUUsZ0NBQUE7RXBFaWhXUjs7RW9FL2dXTTs7SUFFRSxpQ0FBQTtFcEVraFdSOztFb0VoaFdNOztJQUVFLCtCQUFBO0VwRW1oV1I7O0VvRWxpV007SUFBZ0MsMkJBQUE7RXBFc2lXdEM7O0VvRXJpV007O0lBRUUsK0JBQUE7RXBFd2lXUjs7RW9FdGlXTTs7SUFFRSxpQ0FBQTtFcEV5aVdSOztFb0V2aVdNOztJQUVFLGtDQUFBO0VwRTBpV1I7O0VvRXhpV007O0lBRUUsZ0NBQUE7RXBFMmlXUjs7RW9FMWpXTTtJQUFnQyx5QkFBQTtFcEU4ald0Qzs7RW9FN2pXTTs7SUFFRSw2QkFBQTtFcEVna1dSOztFb0U5aldNOztJQUVFLCtCQUFBO0VwRWlrV1I7O0VvRS9qV007O0lBRUUsZ0NBQUE7RXBFa2tXUjs7RW9FaGtXTTs7SUFFRSw4QkFBQTtFcEVta1dSOztFb0VsbFdNO0lBQWdDLHVCQUFBO0VwRXNsV3RDOztFb0VybFdNOztJQUVFLDJCQUFBO0VwRXdsV1I7O0VvRXRsV007O0lBRUUsNkJBQUE7RXBFeWxXUjs7RW9FdmxXTTs7SUFFRSw4QkFBQTtFcEUwbFdSOztFb0V4bFdNOztJQUVFLDRCQUFBO0VwRTJsV1I7O0VvRTFtV007SUFBZ0MsdUJBQUE7RXBFOG1XdEM7O0VvRTdtV007O0lBRUUsMkJBQUE7RXBFZ25XUjs7RW9FOW1XTTs7SUFFRSw2QkFBQTtFcEVpbldSOztFb0UvbVdNOztJQUVFLDhCQUFBO0VwRWtuV1I7O0VvRWhuV007O0lBRUUsNEJBQUE7RXBFbW5XUjs7RW9FbG9XTTtJQUFnQyx3QkFBQTtFcEVzb1d0Qzs7RW9Fcm9XTTs7SUFFRSw0QkFBQTtFcEV3b1dSOztFb0V0b1dNOztJQUVFLDhCQUFBO0VwRXlvV1I7O0VvRXZvV007O0lBRUUsK0JBQUE7RXBFMG9XUjs7RW9FeG9XTTs7SUFFRSw2QkFBQTtFcEUyb1dSOztFb0UxcFdNO0lBQWdDLHFCQUFBO0VwRThwV3RDOztFb0U3cFdNOztJQUVFLHlCQUFBO0VwRWdxV1I7O0VvRTlwV007O0lBRUUsMkJBQUE7RXBFaXFXUjs7RW9FL3BXTTs7SUFFRSw0QkFBQTtFcEVrcVdSOztFb0VocVdNOztJQUVFLDBCQUFBO0VwRW1xV1I7O0VvRWxyV007SUFBZ0MsMkJBQUE7RXBFc3JXdEM7O0VvRXJyV007O0lBRUUsK0JBQUE7RXBFd3JXUjs7RW9FdHJXTTs7SUFFRSxpQ0FBQTtFcEV5cldSOztFb0V2cldNOztJQUVFLGtDQUFBO0VwRTByV1I7O0VvRXhyV007O0lBRUUsZ0NBQUE7RXBFMnJXUjs7RW9FMXNXTTtJQUFnQywwQkFBQTtFcEU4c1d0Qzs7RW9FN3NXTTs7SUFFRSw4QkFBQTtFcEVndFdSOztFb0U5c1dNOztJQUVFLGdDQUFBO0VwRWl0V1I7O0VvRS9zV007O0lBRUUsaUNBQUE7RXBFa3RXUjs7RW9FaHRXTTs7SUFFRSwrQkFBQTtFcEVtdFdSOztFb0VsdVdNO0lBQWdDLHdCQUFBO0VwRXN1V3RDOztFb0VydVdNOztJQUVFLDRCQUFBO0VwRXd1V1I7O0VvRXR1V007O0lBRUUsOEJBQUE7RXBFeXVXUjs7RW9FdnVXTTs7SUFFRSwrQkFBQTtFcEUwdVdSOztFb0V4dVdNOztJQUVFLDZCQUFBO0VwRTJ1V1I7O0VvRTF2V007SUFBZ0MsMEJBQUE7RXBFOHZXdEM7O0VvRTd2V007O0lBRUUsOEJBQUE7RXBFZ3dXUjs7RW9FOXZXTTs7SUFFRSxnQ0FBQTtFcEVpd1dSOztFb0UvdldNOztJQUVFLGlDQUFBO0VwRWt3V1I7O0VvRWh3V007O0lBRUUsK0JBQUE7RXBFbXdXUjs7RW9FbHhXTTtJQUFnQyx3QkFBQTtFcEVzeFd0Qzs7RW9FcnhXTTs7SUFFRSw0QkFBQTtFcEV3eFdSOztFb0V0eFdNOztJQUVFLDhCQUFBO0VwRXl4V1I7O0VvRXZ4V007O0lBRUUsK0JBQUE7RXBFMHhXUjs7RW9FeHhXTTs7SUFFRSw2QkFBQTtFcEUyeFdSOztFb0UxeVdNO0lBQWdDLDBCQUFBO0VwRTh5V3RDOztFb0U3eVdNOztJQUVFLDhCQUFBO0VwRWd6V1I7O0VvRTl5V007O0lBRUUsZ0NBQUE7RXBFaXpXUjs7RW9FL3lXTTs7SUFFRSxpQ0FBQTtFcEVreldSOztFb0VoeldNOztJQUVFLCtCQUFBO0VwRW16V1I7O0VvRWwwV007SUFBZ0MseUJBQUE7RXBFczBXdEM7O0VvRXIwV007O0lBRUUsNkJBQUE7RXBFdzBXUjs7RW9FdDBXTTs7SUFFRSwrQkFBQTtFcEV5MFdSOztFb0V2MFdNOztJQUVFLGdDQUFBO0VwRTAwV1I7O0VvRXgwV007O0lBRUUsOEJBQUE7RXBFMjBXUjs7RW9FMTFXTTtJQUFnQyx5QkFBQTtFcEU4MVd0Qzs7RW9FNzFXTTs7SUFFRSw2QkFBQTtFcEVnMldSOztFb0U5MVdNOztJQUVFLCtCQUFBO0VwRWkyV1I7O0VvRS8xV007O0lBRUUsZ0NBQUE7RXBFazJXUjs7RW9FaDJXTTs7SUFFRSw4QkFBQTtFcEVtMldSOztFb0VsM1dNO0lBQWdDLDJCQUFBO0VwRXMzV3RDOztFb0VyM1dNOztJQUVFLCtCQUFBO0VwRXczV1I7O0VvRXQzV007O0lBRUUsaUNBQUE7RXBFeTNXUjs7RW9FdjNXTTs7SUFFRSxrQ0FBQTtFcEUwM1dSOztFb0V4M1dNOztJQUVFLGdDQUFBO0VwRTIzV1I7O0VvRTE0V007SUFBZ0MseUJBQUE7RXBFODRXdEM7O0VvRTc0V007O0lBRUUsNkJBQUE7RXBFZzVXUjs7RW9FOTRXTTs7SUFFRSwrQkFBQTtFcEVpNVdSOztFb0UvNFdNOztJQUVFLGdDQUFBO0VwRWs1V1I7O0VvRWg1V007O0lBRUUsOEJBQUE7RXBFbTVXUjs7RW9FbDZXTTtJQUFnQywyQkFBQTtFcEVzNld0Qzs7RW9FcjZXTTs7SUFFRSwrQkFBQTtFcEV3NldSOztFb0V0NldNOztJQUVFLGlDQUFBO0VwRXk2V1I7O0VvRXY2V007O0lBRUUsa0NBQUE7RXBFMDZXUjs7RW9FeDZXTTs7SUFFRSxnQ0FBQTtFcEUyNldSOztFb0UxN1dNO0lBQWdDLHlCQUFBO0VwRTg3V3RDOztFb0U3N1dNOztJQUVFLDZCQUFBO0VwRWc4V1I7O0VvRTk3V007O0lBRUUsK0JBQUE7RXBFaThXUjs7RW9FLzdXTTs7SUFFRSxnQ0FBQTtFcEVrOFdSOztFb0VoOFdNOztJQUVFLDhCQUFBO0VwRW04V1I7O0VvRWw5V007SUFBZ0MsMkJBQUE7RXBFczlXdEM7O0VvRXI5V007O0lBRUUsK0JBQUE7RXBFdzlXUjs7RW9FdDlXTTs7SUFFRSxpQ0FBQTtFcEV5OVdSOztFb0V2OVdNOztJQUVFLGtDQUFBO0VwRTA5V1I7O0VvRXg5V007O0lBRUUsZ0NBQUE7RXBFMjlXUjs7RW9FMStXTTtJQUFnQyw0QkFBQTtFcEU4K1d0Qzs7RW9FNytXTTs7SUFFRSxnQ0FBQTtFcEVnL1dSOztFb0U5K1dNOztJQUVFLGtDQUFBO0VwRWkvV1I7O0VvRS8rV007O0lBRUUsbUNBQUE7RXBFay9XUjs7RW9FaC9XTTs7SUFFRSxpQ0FBQTtFcEVtL1dSOztFb0VsZ1hNO0lBQWdDLDBCQUFBO0VwRXNnWHRDOztFb0VyZ1hNOztJQUVFLDhCQUFBO0VwRXdnWFI7O0VvRXRnWE07O0lBRUUsZ0NBQUE7RXBFeWdYUjs7RW9FdmdYTTs7SUFFRSxpQ0FBQTtFcEUwZ1hSOztFb0V4Z1hNOztJQUVFLCtCQUFBO0VwRTJnWFI7O0VvRTFoWE07SUFBZ0Msd0JBQUE7RXBFOGhYdEM7O0VvRTdoWE07O0lBRUUsNEJBQUE7RXBFZ2lYUjs7RW9FOWhYTTs7SUFFRSw4QkFBQTtFcEVpaVhSOztFb0UvaFhNOztJQUVFLCtCQUFBO0VwRWtpWFI7O0VvRWhpWE07O0lBRUUsNkJBQUE7RXBFbWlYUjs7RW9FbGpYTTtJQUFnQyx3QkFBQTtFcEVzalh0Qzs7RW9FcmpYTTs7SUFFRSw0QkFBQTtFcEV3alhSOztFb0V0alhNOztJQUVFLDhCQUFBO0VwRXlqWFI7O0VvRXZqWE07O0lBRUUsK0JBQUE7RXBFMGpYUjs7RW9FeGpYTTs7SUFFRSw2QkFBQTtFcEUyalhSOztFb0Uxa1hNO0lBQWdDLHlCQUFBO0VwRThrWHRDOztFb0U3a1hNOztJQUVFLDZCQUFBO0VwRWdsWFI7O0VvRTlrWE07O0lBRUUsK0JBQUE7RXBFaWxYUjs7RW9FL2tYTTs7SUFFRSxnQ0FBQTtFcEVrbFhSOztFb0VobFhNOztJQUVFLDhCQUFBO0VwRW1sWFI7O0VvRTdrWEU7SUFBbUIsdUJBQUE7RXBFaWxYckI7O0VvRWhsWEU7O0lBRUUsMkJBQUE7RXBFbWxYSjs7RW9FamxYRTs7SUFFRSw2QkFBQTtFcEVvbFhKOztFb0VsbFhFOztJQUVFLDhCQUFBO0VwRXFsWEo7O0VvRW5sWEU7O0lBRUUsNEJBQUE7RXBFc2xYSjtBQUNGO0FxRWhvWEE7RUFBa0IsaUdqRW9PWTtBSis1VzlCO0FxRS9uWEE7RUFBaUIsOEJBQUE7QXJFbW9YakI7QXFFbG9YQTtFQUFpQiw4QkFBQTtBckVzb1hqQjtBcUVyb1hBO0VDUkUsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0F0RWlwWEY7QXFFbm9YSTtFQUF3QiwyQkFBQTtBckV1b1g1QjtBcUV0b1hJO0VBQXdCLDRCQUFBO0FyRTBvWDVCO0FxRXpvWEk7RUFBd0IsNkJBQUE7QXJFNm9YNUI7QWV2bVhJO0VzRHhDQTtJQUF3QiwyQkFBQTtFckVvcFgxQjs7RXFFbnBYRTtJQUF3Qiw0QkFBQTtFckV1cFgxQjs7RXFFdHBYRTtJQUF3Qiw2QkFBQTtFckUwcFgxQjtBQUNGO0Flcm5YSTtFc0R4Q0E7SUFBd0IsMkJBQUE7RXJFaXFYMUI7O0VxRWhxWEU7SUFBd0IsNEJBQUE7RXJFb3FYMUI7O0VxRW5xWEU7SUFBd0IsNkJBQUE7RXJFdXFYMUI7QUFDRjtBZWxvWEk7RXNEeENBO0lBQXdCLDJCQUFBO0VyRThxWDFCOztFcUU3cVhFO0lBQXdCLDRCQUFBO0VyRWlyWDFCOztFcUVoclhFO0lBQXdCLDZCQUFBO0VyRW9yWDFCO0FBQ0Y7QWUvb1hJO0VzRHhDQTtJQUF3QiwyQkFBQTtFckUyclgxQjs7RXFFMXJYRTtJQUF3Qiw0QkFBQTtFckU4clgxQjs7RXFFN3JYRTtJQUF3Qiw2QkFBQTtFckVpc1gxQjtBQUNGO0FxRTVyWEE7RUFBbUIsb0NBQUE7QXJFK3JYbkI7QXFFOXJYQTtFQUFtQixvQ0FBQTtBckVrc1huQjtBcUVqc1hBO0VBQW1CLHFDQUFBO0FyRXFzWG5CO0FxRWpzWEE7RUFBc0IsMkJBQUE7QXJFcXNYdEI7QXFFcHNYQTtFQUFzQiwyQkFBQTtBckV3c1h0QjtBcUV2c1hBO0VBQXNCLDJCQUFBO0FyRTJzWHRCO0FxRTFzWEE7RUFBc0IsNkJBQUE7QXJFOHNYdEI7QXFFMXNYQTtFQUFjLHNCQUFBO0FyRThzWGQ7QXVFbHZYRTtFQUNFLHlCQUFBO0F2RXF2WEo7QUszdVhFO0VrRU5JLHlCQUFBO0F2RXF2WE47QXVFMXZYRTtFQUNFLHlCQUFBO0F2RTZ2WEo7QUtudlhFO0VrRU5JLHlCQUFBO0F2RTZ2WE47QXVFbHdYRTtFQUNFLHlCQUFBO0F2RXF3WEo7QUszdlhFO0VrRU5JLHlCQUFBO0F2RXF3WE47QXVFMXdYRTtFQUNFLHlCQUFBO0F2RTZ3WEo7QUtud1hFO0VrRU5JLHlCQUFBO0F2RTZ3WE47QXVFbHhYRTtFQUNFLHlCQUFBO0F2RXF4WEo7QUszd1hFO0VrRU5JLHlCQUFBO0F2RXF4WE47QXVFMXhYRTtFQUNFLHlCQUFBO0F2RTZ4WEo7QUtueFhFO0VrRU5JLHlCQUFBO0F2RTZ4WE47QXVFbHlYRTtFQUNFLHlCQUFBO0F2RXF5WEo7QUszeFhFO0VrRU5JLHlCQUFBO0F2RXF5WE47QXVFMXlYRTtFQUNFLHlCQUFBO0F2RTZ5WEo7QUtueVhFO0VrRU5JLHlCQUFBO0F2RTZ5WE47QXVFbHpYRTtFQUNFLHlCQUFBO0F2RXF6WEo7QUszeVhFO0VrRU5JLHlCQUFBO0F2RXF6WE47QXVFMXpYRTtFQUNFLHNCQUFBO0F2RTZ6WEo7QUtuelhFO0VrRU5JLHlCQUFBO0F2RTZ6WE47QXVFbDBYRTtFQUNFLHNCQUFBO0F2RXEwWEo7QUszelhFO0VrRU5JLHlCQUFBO0F2RXEwWE47QXVFMTBYRTtFQUNFLHVCQUFBO0F2RTYwWEo7QUtuMFhFO0VrRU5JLHVCQUFBO0F2RTYwWE47QXFFeHlYQTtFQUFhLHlCQUFBO0FyRTR5WGI7QXFFM3lYQTtFQUFjLHlCQUFBO0FyRSt5WGQ7QXFFN3lYQTtFQUFpQixvQ0FBQTtBckVpelhqQjtBcUVoelhBO0VBQWlCLDBDQUFBO0FyRW96WGpCO0FxRWh6WEE7RUdwREUsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSw2QkFBQTtFQUNBLFNBQUE7QXhFdzJYRjtBeUUzMlhBO0VDQ0UsOEJBQUE7QTFFODJYRjtBeUUzMlhBO0VDSEUsNkJBQUE7QTFFazNYRjtBMkU1MlhFO0VBQ0U7OztJQUtFLDRCQUFBO0lBRUEsMkJBQUE7RTNFNDJYSjs7RTJFeDJYSTtJQUNFLDBCQUFBO0UzRTIyWE47O0UyRWwyWEU7SUFDRSw2QkFBQTtFM0VxMlhKOztFMkV2MVhFO0lBQ0UsZ0NBQUE7RTNFMDFYSjs7RTJFeDFYRTs7SUFFRSx5QkFBQTtJQUNBLHdCQUFBO0UzRTIxWEo7O0UyRW4xWEU7SUFDRSwyQkFBQTtFM0VzMVhKOztFMkVuMVhFOztJQUVFLHdCQUFBO0UzRXMxWEo7O0UyRW4xWEU7OztJQUdFLFVBQUE7SUFDQSxTQUFBO0UzRXMxWEo7O0UyRW4xWEU7O0lBRUUsdUJBQUE7RTNFczFYSjs7RTJFOTBYRTtJQUNFLFF2RXMwQjhCO0VKMmdXbEM7RTJFLzBYRTtJQUNFLDJCQUFBO0UzRWkxWEo7O0UyRS8wWEU7SUFDRSwyQkFBQTtFM0VrMVhKOztFMkU5MFhFO0lBQ0UsYUFBQTtFM0VpMVhKOztFMkUvMFhFO0lBQ0Usc0JBQUE7RTNFazFYSjs7RTJFLzBYRTtJQUNFLG9DQUFBO0UzRWsxWEo7RTJFaDFYSTs7SUFFRSxpQ0FBQTtFM0VrMVhOOztFMkU3MFhJOztJQUVFLG9DQUFBO0UzRWcxWE47O0UyRTUwWEU7SUFDRSxjQUFBO0UzRSswWEo7RTJFNzBYSTs7OztJQUlFLHFCeEVsRkc7RUhpNlhUOztFMkUzMFhFO0lBQ0UsY0FBQTtJQUNBLHFCeEV4Rks7RUhzNlhUO0FBQ0Y7QTRFdDlYQTtFQUNJLFNBQUE7QTVFdzlYSjtBNEVyOVhBOzs7RUFHSSxjQUFBO0E1RXc5WEo7QTRFcjlYQTtFQUNJLGdCQUFBO0E1RXc5WEo7QXNEaitYSTtFQUNJLG9DQUFBO0F0RG8rWFI7QUt2OVhFOzs7RWlEUlUsb0NBQUE7QXREcStYWjtBc0QzK1hJO0VBQ0ksb0NBQUE7QXREOCtYUjtBS2orWEU7OztFaURSVSxvQ0FBQTtBdEQrK1haO0FzRHIvWEk7RUFDSSxvQ0FBQTtBdER3L1hSO0FLMytYRTs7O0VpRFJVLG9DQUFBO0F0RHkvWFo7QXNELy9YSTtFQUNJLG9DQUFBO0F0RGtnWVI7QUtyL1hFOzs7RWlEUlUsb0NBQUE7QXREbWdZWjtBc0R6Z1lJO0VBQ0ksb0NBQUE7QXRENGdZUjtBSy8vWEU7OztFaURSVSxvQ0FBQTtBdEQ2Z1laO0FzRG5oWUk7RUFDSSxvQ0FBQTtBdERzaFlSO0FLemdZRTs7O0VpRFJVLG9DQUFBO0F0RHVoWVo7QXNEN2hZSTtFQUNJLG9DQUFBO0F0RGdpWVI7QUtuaFlFOzs7RWlEUlUsb0NBQUE7QXREaWlZWjtBc0R2aVlJO0VBQ0ksb0NBQUE7QXREMGlZUjtBSzdoWUU7OztFaURSVSxvQ0FBQTtBdEQyaVlaO0FzRGpqWUk7RUFDSSxvQ0FBQTtBdERvallSO0FLdmlZRTs7O0VpRFJVLG9DQUFBO0F0RHFqWVo7QXNEM2pZSTtFQUNJLG9DQUFBO0F0RDhqWVI7QUtqallFOzs7RWlEUlUsb0NBQUE7QXREK2pZWjtBc0Rya1lJO0VBQ0ksaUNBQUE7QXREd2tZUjtBSzNqWUU7OztFaURSVSxvQ0FBQTtBdER5a1laO0FzRC9rWUk7RUFDSSxvQ0FBQTtBdERrbFlSO0FLcmtZRTs7O0VpRFJVLG9DQUFBO0F0RG1sWVo7QXNEemxZSTtFQUNJLG9DQUFBO0F0RDRsWVI7QUsva1lFOzs7RWlEUlUsb0NBQUE7QXRENmxZWjtBc0RubVlJO0VBQ0ksb0NBQUE7QXREc21ZUjtBS3psWUU7OztFaURSVSxvQ0FBQTtBdER1bVlaO0FzRDdtWUk7RUFDSSxvQ0FBQTtBdERnbllSO0FLbm1ZRTs7O0VpRFJVLG9DQUFBO0F0RGluWVo7QXNEM21ZSTtFQUNJLHNFQUFBO0F0RDhtWVI7QXNEL21ZSTtFQUNJLHNFQUFBO0F0RGtuWVI7QXNEbm5ZSTtFQUNJLHNFQUFBO0F0RHNuWVI7QXNEdm5ZSTtFQUNJLHNFQUFBO0F0RDBuWVI7QXNEM25ZSTtFQUNJLHNFQUFBO0F0RDhuWVI7QXNEL25ZSTtFQUNJLHNFQUFBO0F0RGtvWVI7QXNEbm9ZSTtFQUNJLHNFQUFBO0F0RHNvWVI7QXNEdm9ZSTtFQUNJLHNFQUFBO0F0RDBvWVI7QXNEM29ZSTtFQUNJLHNFQUFBO0F0RDhvWVI7QXNEL29ZSTtFQUNJLGlFQUFBO0F0RGtwWVI7QXNEbnBZSTtFQUNJLGlFQUFBO0F0RHNwWVI7QXNEdnBZSTtFQUNJLGtFQUFBO0F0RDBwWVI7QXNEM3BZSTtFQUNJLHNFQUFBO0F0RDhwWVI7QXNEL3BZSTtFQUNJLHNFQUFBO0F0RGtxWVI7QXNEbnFZSTtFQUNJLHNFQUFBO0F0RHNxWVI7QXNEdnFZSTtFQUNJLHNFQUFBO0F0RDBxWVI7QXNEM3FZSTtFQUNJLHNFQUFBO0F0RDhxWVI7QXNEL3FZSTtFQUNJLHNFQUFBO0F0RGtyWVI7QXNEbnJZSTtFQUNJLHNFQUFBO0F0RHNyWVI7QXNEdnJZSTtFQUNJLHNFQUFBO0F0RDByWVI7QXNEM3JZSTtFQUNJLHNFQUFBO0F0RDhyWVI7QXNEL3JZSTtFQUNJLHNFQUFBO0F0RGtzWVI7QXNEbnNZSTtFQUNJLGlFQUFBO0F0RHNzWVI7QXNEdnNZSTtFQUNJLHNFQUFBO0F0RDBzWVI7QXNEM3NZSTtFQUNJLHNFQUFBO0F0RDhzWVI7QXNEL3NZSTtFQUNJLHNFQUFBO0F0RGt0WVI7QXNEbnRZSTtFQUNJLHNFQUFBO0F0RHN0WVI7QXNEanRZSTtFQUNJLG1EQUFBO0F0RG90WVI7QUt6dFlFOzs7RWlEVVUsbURBQUE7QXREcXRZWjtBc0QzdFlJO0VBQ0kscURBQUE7QXREOHRZUjtBS251WUU7OztFaURVVSxxREFBQTtBdEQrdFlaO0FzRHJ1WUk7RUFDSSxvREFBQTtBdER3dVlSO0FLN3VZRTs7O0VpRFVVLG9EQUFBO0F0RHl1WVo7QXNEL3VZSTtFQUNJLG9EQUFBO0F0RGt2WVI7QUt2dllFOzs7RWlEVVUsb0RBQUE7QXREbXZZWjtBc0R6dllJO0VBQ0ksbURBQUE7QXRENHZZUjtBS2p3WUU7OztFaURVVSxrREFBQTtBdEQ2dllaO0FzRG53WUk7RUFDSSxtREFBQTtBdERzd1lSO0FLM3dZRTs7O0VpRFVVLG1EQUFBO0F0RHV3WVo7QXNEN3dZSTtFQUNJLHFEQUFBO0F0RGd4WVI7QUtyeFlFOzs7RWlEVVUscURBQUE7QXREaXhZWjtBc0R2eFlJO0VBQ0ksa0RBQUE7QXREMHhZUjtBSy94WUU7OztFaURVVSwrQ0FBQTtBdEQyeFlaO0FzRGp5WUk7RUFDSSxrREFBQTtBdERveVlSO0FLenlZRTs7O0VpRFVVLGlEQUFBO0F0RHF5WVo7QXNEM3lZSTtFQUNJLHFEQUFBO0F0RDh5WVI7QUtuellFOzs7RWlEVVUscURBQUE7QXREK3lZWjtBc0RyellJO0VBQ0kscURBQUE7QXREd3pZUjtBSzd6WUU7OztFaURVVSxxREFBQTtBdER5ellaO0FzRC96WUk7RUFDSSwrQ0FBQTtBdERrMFlSO0FLdjBZRTs7O0VpRFVVLCtDQUFBO0F0RG0wWVo7QXNEMzFZSTtFQUNJLG9DQUFBO0F0RDgxWVI7QUtqMVlFOzs7RWlEUlUsb0NBQUE7QXREKzFZWjtBc0RyMllJO0VBQ0ksb0NBQUE7QXREdzJZUjtBSzMxWUU7OztFaURSVSxvQ0FBQTtBdER5MllaO0FzRC8yWUk7RUFDSSxvQ0FBQTtBdERrM1lSO0FLcjJZRTs7O0VpRFJVLG9DQUFBO0F0RG0zWVo7QXNEejNZSTtFQUNJLG9DQUFBO0F0RDQzWVI7QUsvMllFOzs7RWlEUlUsb0NBQUE7QXRENjNZWjtBc0RuNFlJO0VBQ0ksa0NBQUE7QXREczRZUjtBS3ozWUU7OztFaURSVSxrQ0FBQTtBdER1NFlaO0FzRGo0WUk7RUFDSSxzRUFBQTtBdERvNFlSO0FzRHI0WUk7RUFDSSxzRUFBQTtBdER3NFlSO0FzRHo0WUk7RUFDSSxzRUFBQTtBdEQ0NFlSO0FzRDc0WUk7RUFDSSxzRUFBQTtBdERnNVlSO0FzRGo1WUk7RUFDSSxzRUFBQTtBdERvNVlSO0FzRHI1WUk7RUFDSSxzRUFBQTtBdER3NVlSO0FzRHo1WUk7RUFDSSxzRUFBQTtBdEQ0NVlSO0FzRDc1WUk7RUFDSSxzRUFBQTtBdERnNllSO0FzRGo2WUk7RUFDSSxzRUFBQTtBdERvNllSO0FzRHI2WUk7RUFDSSxpRUFBQTtBdER3NllSO0FzRHo2WUk7RUFDSSxpRUFBQTtBdEQ0NllSO0FzRDc2WUk7RUFDSSxrRUFBQTtBdERnN1lSO0E2RXg1WUk7RUFDSSxhekVrQ087QUp5M1lmO0E2RXg1WUk7RUFDSSxlekU4Qk87QUo2M1lmO0E2RWg2WUk7RUFDSSxhekVrQ087QUppNFlmO0E2RWg2WUk7RUFDSSxlekU4Qk87QUpxNFlmO0E2RXg2WUk7RUFDSSxhekVrQ087QUp5NFlmO0E2RXg2WUk7RUFDSSxlekU4Qk87QUo2NFlmO0E2RWg3WUk7RUFDSSxhekVrQ087QUppNVlmO0E2RWg3WUk7RUFDSSxlekU4Qk87QUpxNVlmO0E2RXg3WUk7RUFDSSxhekVrQ087QUp5NVlmO0E2RXg3WUk7RUFDSSxlekU4Qk87QUo2NVlmO0E2RWg4WUk7RUFDSSxhekVrQ087QUppNllmO0E2RWg4WUk7RUFDSSxlekU4Qk87QUpxNllmO0E2RXg4WUk7RUFDSSxhekVrQ087QUp5NllmO0E2RXg4WUk7RUFDSSxlekU4Qk87QUo2NllmO0E2RWg5WUk7RUFDSSxhekVrQ087QUppN1lmO0E2RWg5WUk7RUFDSSxlekU4Qk87QUpxN1lmO0E2RXg5WUk7RUFDSSxhekVrQ087QUp5N1lmO0E2RXg5WUk7RUFDSSxlekU4Qk87QUo2N1lmO0E2RWgrWUk7RUFDSSxVekVrQ087QUppOFlmO0E2RWgrWUk7RUFDSSxZekU4Qk87QUpxOFlmO0E2RXgrWUk7RUFDSSxVekVrQ087QUp5OFlmO0E2RXgrWUk7RUFDSSxZekU4Qk87QUo2OFlmO0E2RWgvWUk7RUFDSSxXekVrQ087QUppOVlmO0E2RWgvWUk7RUFDSSxhekU4Qk87QUpxOVlmO0E2RS8rWUE7RUFDQyxpQkFBQTtBN0VrL1lEO0E4RTdoWkE7RUFDQyw0Q0FBQTtVQUFBLG9DQUFBO0VBQ0Esc0JBQUE7QTlFZ2laRDtBOEU5aFpDO0VBQ08sb0NBQUE7VUFBQSw0QkFBQTtBOUVnaVpSO0E4RXpoWkE7RUFDQywrQ0FBQTtVQUFBLHVDQUFBO0E5RTRoWkQ7QThFemhaQTtFQUNDLCtDQUFBO1VBQUEsdUNBQUE7QTlFNGhaRDtBOEV0aFpBO0VBQ0k7SUFDSSwwQkFBQTtFOUV5aFpOO0U4RXZoWkU7SUFDSSwyQkFBQTtFOUV5aFpOO0U4RXZoWkU7SUFDSSwwQkFBQTtFOUV5aFpOO0FBQ0Y7QThFbGlaQTtFQUNJO0lBQ0ksMEJBQUE7RTlFeWhaTjtFOEV2aFpFO0lBQ0ksMkJBQUE7RTlFeWhaTjtFOEV2aFpFO0lBQ0ksMEJBQUE7RTlFeWhaTjtBQUNGO0E4RXRoWkE7RUFDSTtJQUNJLDBCQUFBO0U5RXdoWk47RThFdGhaRTtJQUNJLDJCQUFBO0U5RXdoWk47RThFdGhaRTtJQUNJLDBCQUFBO0U5RXdoWk47QUFDRjtBOEVqaVpBO0VBQ0k7SUFDSSwwQkFBQTtFOUV3aFpOO0U4RXRoWkU7SUFDSSwyQkFBQTtFOUV3aFpOO0U4RXRoWkU7SUFDSSwwQkFBQTtFOUV3aFpOO0FBQ0Y7QThFcmhaQTtFQUNJO0lBQ0ksMEJBQUE7RTlFdWhaTjtFOEVyaFpFO0lBQ0ksMEJBQUE7RTlFdWhaTjtFOEVyaFpFO0lBQ0ksMEJBQUE7RTlFdWhaTjtBQUNGO0E4RWhpWkE7RUFDSTtJQUNJLDBCQUFBO0U5RXVoWk47RThFcmhaRTtJQUNJLDBCQUFBO0U5RXVoWk47RThFcmhaRTtJQUNJLDBCQUFBO0U5RXVoWk47QUFDRjtBK0U1a1pJO0VBRUksV0FBQTtFQUNBLGNBQUE7QS9FNmtaUjtBK0Uza1pJO0VBQ0ksV0FBQTtBL0U2a1pSO0FnRnhsWkE7RUFDSSxjQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBaEYybFpKO0FpRjdsWkE7RUFDSSx1QkFBQTtBakZnbVpKO0FpRjlsWkE7RUFDSSx1QkFBQTtBakZpbVpKO0FpRi9sWkE7RUFDSSx1QkFBQTtBakZrbVpKO0FpRmhtWkE7RUFDSSx1QkFBQTtBakZtbVpKO0FpRmptWkE7RUFDSSx1QkFBQTtBakZvbVpKO0FpRmxtWkE7RUFDSSx1QkFBQTtBakZxbVpKO0FpRm5tWkE7RUFDSSx1QkFBQTtBakZzbVpKO0FpRnBtWkE7RUFDSSx1QkFBQTtBakZ1bVpKO0FpRnJtWkE7RUFDSSx1QkFBQTtBakZ3bVpKO0FpRnRtWkE7RUFDSSxxQkFBQTtBakZ5bVpKO0FrRnRvWkE7RUFDSSw0QkFBQTtBbEZ5b1pKO0FrRnRvWkE7RUFDSSwyQkFBQTtBbEZ5b1pKO0FtRjNvWkM7RUFDQyxNL0UrR1E7QUoraFpWO0FtRjVvWkM7RUFDQyxRL0U0R1E7QUptaVpWO0FtRjdvWkM7RUFDQyxTL0V5R1E7QUp1aVpWO0FtRjlvWkM7RUFDQyxPL0VzR1E7QUoyaVpWO0FtRjNwWkM7RUFDQyxZL0UrR1E7QUoraVpWO0FtRjVwWkM7RUFDQyxjL0U0R1E7QUptalpWO0FtRjdwWkM7RUFDQyxlL0V5R1E7QUp1alpWO0FtRjlwWkM7RUFDQyxhL0VzR1E7QUoyalpWO0FtRjNxWkM7RUFDQyxXL0UrR1E7QUoralpWO0FtRjVxWkM7RUFDQyxhL0U0R1E7QUpta1pWO0FtRjdxWkM7RUFDQyxjL0V5R1E7QUp1a1pWO0FtRjlxWkM7RUFDQyxZL0VzR1E7QUoya1pWO0FtRjNyWkM7RUFDQyxTL0UrR1E7QUora1pWO0FtRjVyWkM7RUFDQyxXL0U0R1E7QUptbFpWO0FtRjdyWkM7RUFDQyxZL0V5R1E7QUp1bFpWO0FtRjlyWkM7RUFDQyxVL0VzR1E7QUoybFpWO0FtRjNzWkM7RUFDQyxXL0UrR1E7QUorbFpWO0FtRjVzWkM7RUFDQyxhL0U0R1E7QUptbVpWO0FtRjdzWkM7RUFDQyxjL0V5R1E7QUp1bVpWO0FtRjlzWkM7RUFDQyxZL0VzR1E7QUoybVpWO0FtRjN0WkM7RUFDQyxTL0UrR1E7QUorbVpWO0FtRjV0WkM7RUFDQyxXL0U0R1E7QUptblpWO0FtRjd0WkM7RUFDQyxZL0V5R1E7QUp1blpWO0FtRjl0WkM7RUFDQyxVL0VzR1E7QUoyblpWO0FtRjN1WkM7RUFDQyxXL0UrR1E7QUorblpWO0FtRjV1WkM7RUFDQyxhL0U0R1E7QUptb1pWO0FtRjd1WkM7RUFDQyxjL0V5R1E7QUp1b1pWO0FtRjl1WkM7RUFDQyxZL0VzR1E7QUoyb1pWO0FtRjN2WkM7RUFDQyxVL0UrR1E7QUorb1pWO0FtRjV2WkM7RUFDQyxZL0U0R1E7QUptcFpWO0FtRjd2WkM7RUFDQyxhL0V5R1E7QUp1cFpWO0FtRjl2WkM7RUFDQyxXL0VzR1E7QUoycFpWO0FtRjN3WkM7RUFDQyxVL0UrR1E7QUorcFpWO0FtRjV3WkM7RUFDQyxZL0U0R1E7QUptcVpWO0FtRjd3WkM7RUFDQyxhL0V5R1E7QUp1cVpWO0FtRjl3WkM7RUFDQyxXL0VzR1E7QUoycVpWO0FtRjN4WkM7RUFDQyxZL0UrR1E7QUorcVpWO0FtRjV4WkM7RUFDQyxjL0U0R1E7QUptclpWO0FtRjd4WkM7RUFDQyxlL0V5R1E7QUp1clpWO0FtRjl4WkM7RUFDQyxhL0VzR1E7QUoyclpWO0FtRjN5WkM7RUFDQyxVL0UrR1E7QUorclpWO0FtRjV5WkM7RUFDQyxZL0U0R1E7QUptc1pWO0FtRjd5WkM7RUFDQyxhL0V5R1E7QUp1c1pWO0FtRjl5WkM7RUFDQyxXL0VzR1E7QUoyc1pWO0FtRjN6WkM7RUFDQyxZL0UrR1E7QUorc1pWO0FtRjV6WkM7RUFDQyxjL0U0R1E7QUptdFpWO0FtRjd6WkM7RUFDQyxlL0V5R1E7QUp1dFpWO0FtRjl6WkM7RUFDQyxhL0VzR1E7QUoydFpWO0FtRjMwWkM7RUFDQyxVL0UrR1E7QUordFpWO0FtRjUwWkM7RUFDQyxZL0U0R1E7QUptdVpWO0FtRjcwWkM7RUFDQyxhL0V5R1E7QUp1dVpWO0FtRjkwWkM7RUFDQyxXL0VzR1E7QUoydVpWO0FtRjMxWkM7RUFDQyxZL0UrR1E7QUordVpWO0FtRjUxWkM7RUFDQyxjL0U0R1E7QUptdlpWO0FtRjcxWkM7RUFDQyxlL0V5R1E7QUp1dlpWO0FtRjkxWkM7RUFDQyxhL0VzR1E7QUoydlpWO0FtRjMyWkM7RUFDQyxhL0UrR1E7QUordlpWO0FtRjUyWkM7RUFDQyxlL0U0R1E7QUptd1pWO0FtRjcyWkM7RUFDQyxnQi9FeUdRO0FKdXdaVjtBbUY5MlpDO0VBQ0MsYy9Fc0dRO0FKMndaVjtBbUYzM1pDO0VBQ0MsVy9FK0dRO0FKK3daVjtBbUY1M1pDO0VBQ0MsYS9FNEdRO0FKbXhaVjtBbUY3M1pDO0VBQ0MsYy9FeUdRO0FKdXhaVjtBbUY5M1pDO0VBQ0MsWS9Fc0dRO0FKMnhaVjtBbUYzNFpDO0VBQ0MsUy9FK0dRO0FKK3haVjtBbUY1NFpDO0VBQ0MsVy9FNEdRO0FKbXlaVjtBbUY3NFpDO0VBQ0MsWS9FeUdRO0FKdXlaVjtBbUY5NFpDO0VBQ0MsVS9Fc0dRO0FKMnlaVjtBbUYzNVpDO0VBQ0MsUy9FK0dRO0FKK3laVjtBbUY1NVpDO0VBQ0MsVy9FNEdRO0FKbXpaVjtBbUY3NVpDO0VBQ0MsWS9FeUdRO0FKdXpaVjtBbUY5NVpDO0VBQ0MsVS9Fc0dRO0FKMnpaVjtBbUYzNlpDO0VBQ0MsVS9FK0dRO0FKK3paVjtBbUY1NlpDO0VBQ0MsWS9FNEdRO0FKbTBaVjtBbUY3NlpDO0VBQ0MsYS9FeUdRO0FKdTBaVjtBbUY5NlpDO0VBQ0MsVy9Fc0dRO0FKMjBaVjtBbUY3NlpBO0VBQ0MsU0FBQTtFQUNBLDJCQUFBO0FuRmc3WkQ7QW9GbjhaQTtFQUNDLHdCQUFBO0FwRnM4WkQ7QXFGdjhaQTtFQUNJLGdCQUFBO0FyRjA4Wko7QWVuNVpJO0VzRW5EQTtJQUNJLGFBQUE7RXJGMDhaTjtBQUNGO0FlejVaSTtFc0U5Q0E7SUFDSSxhQUFBO0VyRjA4Wk47QUFDRjtBZTk1Wkk7RXNFekNBO0lBQ0ksYUFBQTtFckYwOFpOO0FBQ0Y7QXFGdjhaQTtFQUNJLGdCQUFBO0FyRnk4Wko7QXFGbjhaQTtFQVdJO0lBQ0ksNkJBQUE7RXJGNDdaTjs7RXFGMTdaRTtJQUNJLCtCQUFBO0VyRjY3Wk47O0VxRjM3WkU7SUFDSSxnQ0FBQTtFckY4N1pOOztFcUY1N1pFO0lBQ0ksOEJBQUE7RXJGKzdaTjs7RXFGNzdaRTtJQUNJLDZCQUFBO0VyRmc4Wk47O0VxRjk3WkU7SUFDSSxnQ0FBQTtFckZpOFpOOztFcUYvN1pFO0lBQ0ksNkJBQUE7RXJGazhaTjs7RXFGaDhaRTtJQUNJLGdDQUFBO0VyRm04Wk47O0VxRmo4WkU7SUFDSSw2QkFBQTtFckZvOFpOOztFcUZsOFpFO0lBQ0ksZ0NBQUE7RXJGcThaTjs7RXFGLzdaRTtJQUNJLDZCQUFBO0VyRms4Wk47O0VxRmg4WkU7SUFDSSxnQ0FBQTtFckZtOFpOOztFcUZqOFpFO0lBQ0ksNkJBQUE7RXJGbzhaTjs7RXFGbDhaRTtJQUNJLGdDQUFBO0VyRnE4Wk47O0VxRm44WkU7SUFDSSw2QkFBQTtFckZzOFpOOztFcUZwOFpFO0lBQ0ksZ0NBQUE7RXJGdThaTjs7RXFGcjhaRTtJQUNJLDZCQUFBO0VyRnc4Wk47O0VxRnQ4WkU7SUFDSSxnQ0FBQTtFckZ5OFpOOztFcUZ2OFpFO0lBQ0ksNkJBQUE7RXJGMDhaTjs7RXFGeDhaRTtJQUNJLGdDQUFBO0VyRjI4Wk47QUFDRjtBc0YvaWFBO0VBRVEsMEJuRitVc0I7QUhpdVo5QjtBc0YxaWFBO0VBQ0MsNERBQUE7QXRGNmlhRDtBc0YxaWFBO0VBQ0MsMkRBQUE7QXRGNmlhRDtBc0YxaWFBO0VBQ0MsMERBQUE7QXRGNmlhRDtBc0YxaWFBO0VBQ0MsMkJBQUE7QXRGNmlhRDtBdUZya2FBO0VBQW1CLDJCQUFBO0F2RnlrYW5CO0F1RnhrYUE7RUFBbUIsMkJBQUE7QXZGNGthbkI7QXVGM2thQTtFQUFtQiwyQkFBQTtBdkYra2FuQjtBdUY5a2FBO0VBQW1CLDJCQUFBO0F2RmtsYW5CO0F1RmpsYUE7RUFBbUIsMkJBQUE7QXZGcWxhbkI7QXVGcGxhQTtFQUFtQiwyQkFBQTtBdkZ3bGFuQjtBdUZ2bGFBO0VBQW1CLDJCQUFBO0F2RjJsYW5CO0F1RnRsYUE7RUFBa0IsMEJBQUE7QXZGMGxhbEI7QXVGemxhQTtFQUFnQiw2QkFBQTtBdkY2bGFoQjtBdUZ4bGFBO0VBQVcsNkJBQUE7QXZGNGxhWDtBdUYzbGFBO0VBQVcsOEJBQUE7QXZGK2xhWDtBdUY5bGFBO0VBQVcsNkJBQUE7QXZGa21hWDtBdUZqbWFBO0VBQVcsNEJBQUE7QXZGcW1hWDtBdUZobWFBO0VBQVUsY0FBQTtBdkZvbWFWO0F1Rm5tYUE7RUFBVSxnQkFBQTtBdkZ1bWFWO0F1RnRtYUE7RUFBVSxnQkFBQTtBdkYwbWFWO0F1RnptYUE7RUFBVSxnQkFBQTtBdkY2bWFWO0F1RjVtYUE7RUFBVSxnQkFBQTtBdkZnbmFWO0F1Ri9tYUE7RUFBVSxnQkFBQTtBdkZtbmFWO0F1RmxuYUE7RUFBVSxnQkFBQTtBdkZzbmFWO0F1RnJuYUE7RUFBVSxnQkFBQTtBdkZ5bmFWO0F1RnhuYUE7RUFBVSxnQkFBQTtBdkY0bmFWO0F1RnZuYUE7RUFBUSx5QkFBQTtBdkYybmFSO0F1RjFuYUE7RUFBUywwQkFBQTtBdkY4bmFUO0F1RjduYUE7RUFBUSx3QkFBQTtBdkZpb2FSO0F1RXRxYUU7RUFDRSx5QkFBQTtBdkV5cWFKO0FLL3BhRTtFa0VOSSx5QkFBQTtBdkV5cWFOO0F1RTlxYUU7RUFDRSx5QkFBQTtBdkVpcmFKO0FLdnFhRTtFa0VOSSx5QkFBQTtBdkVpcmFOO0F1RXRyYUU7RUFDRSx5QkFBQTtBdkV5cmFKO0FLL3FhRTtFa0VOSSx5QkFBQTtBdkV5cmFOO0F1RTlyYUU7RUFDRSx5QkFBQTtBdkVpc2FKO0FLdnJhRTtFa0VOSSx5QkFBQTtBdkVpc2FOO0F1RXRzYUU7RUFDRSx5QkFBQTtBdkV5c2FKO0FLL3JhRTtFa0VOSSx5QkFBQTtBdkV5c2FOO0F1RTlzYUU7RUFDRSx5QkFBQTtBdkVpdGFKO0FLdnNhRTtFa0VOSSx5QkFBQTtBdkVpdGFOO0F1RXR0YUU7RUFDRSx5QkFBQTtBdkV5dGFKO0FLL3NhRTtFa0VOSSx5QkFBQTtBdkV5dGFOO0F1RTl0YUU7RUFDRSx5QkFBQTtBdkVpdWFKO0FLdnRhRTtFa0VOSSx5QkFBQTtBdkVpdWFOO0F1RXR1YUU7RUFDRSx5QkFBQTtBdkV5dWFKO0FLL3RhRTtFa0VOSSx5QkFBQTtBdkV5dWFOO0F1RTl1YUU7RUFDRSx5QkFBQTtBdkVpdmFKO0FLdnVhRTtFa0VOSSx5QkFBQTtBdkVpdmFOO0F1RXR2YUU7RUFDRSxzQkFBQTtBdkV5dmFKO0FLL3VhRTtFa0VOSSx5QkFBQTtBdkV5dmFOO0F1RTl2YUU7RUFDRSx5QkFBQTtBdkVpd2FKO0FLdnZhRTtFa0VOSSx5QkFBQTtBdkVpd2FOO0F1RXR3YUU7RUFDRSx5QkFBQTtBdkV5d2FKO0FLL3ZhRTtFa0VOSSx5QkFBQTtBdkV5d2FOO0F1RTl3YUU7RUFDRSx5QkFB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O0VBQ0ksbUJBQUE7RUFDQSxhQUFBO0FqRzBnYlI7QWlHdmdiSTtFQUNJLHVCQUFBO0VBQ0EsY0FBQTtFQUNBLHNCQUFBO0VBQ0EsaUJBQUE7QWpHeWdiUjtBaUd0Z2JJO0VBQ0kscUJBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSxzQkFBQTtBakd3Z2JSO0FrR3psYkk7RTFFUEEsV0FBQTtFRktBLHlCbkJtSVc7RXFCdElYLHFCckJzSVc7RVF2SVgsMkVhRUE7QXhCb21iSjtBSzVsYkU7RW1CTE0sV0FBQTtFRkRKLHlCRU4yRDtFQVN2RCxxQkFUK0Y7QXhCNm1idkc7QXdCam1iSTtFQUlRLDJHQUFBO0F4QmdtYlo7QXdCMWxiSTtFQUVJLFdBQUE7RUFDQSx5QnJCZ0hPO0VxQi9HUCxxQnJCK0dPO0FINCthZjtBd0J4bGJJO0VBR0ksV0FBQTtFQUNBLHlCQWpDd0k7RUFxQ3hJLHFCQXJDa0w7QXhCMG5iMUw7QXdCbmxiUTtFQUdRLGdEQUFBO0F4Qm1sYmhCO0FrR3JuYkk7RTFFUEEsV0FBQTtFRktBLHlCbkJtSVc7RXFCdElYLHFCckJzSVc7RVF2SVgsMkVhRUE7QXhCZ29iSjtBS3huYkU7RW1CTE0sV0FBQTtFRkRKLHlCRU4yRDtFQVN2RCxxQkFUK0Y7QXhCeW9idkc7QXdCN25iSTtFQUlRLDRHQUFBO0F4QjRuYlo7QXdCdG5iSTtFQUVJLFdBQUE7RUFDQSx5QnJCZ0hPO0VxQi9HUCxxQnJCK0dPO0FId2diZjtBd0JwbmJJO0VBR0ksV0FBQTtFQUNBLHlCQWpDd0k7RUFxQ3hJLHFCQXJDa0w7QXhCc3BiMUw7QXdCL21iUTtFQUdRLGlEQUFBO0F4QittYmhCO0FrR2pwYkk7RTFFUEEsV0FBQTtFRktBLHlCbkJtSVc7RXFCdElYLHFCckJzSVc7RVF2SVgsMkVhRUE7QXhCNHBiSjtBS3BwYkU7RW1CTE0sV0FBQTtFRkRKLHlCRU4yRDtFQVN2RCxxQkFUK0Y7QXhCcXFidkc7QXdCenBiSTtFQUlRLDJHQUFBO0F4QndwYlo7QXdCbHBiSTtFQUVJLFdBQUE7RUFDQSx5QnJCZ0hPO0VxQi9HUCxxQnJCK0dPO0FIb2liZjtBd0JocGJJO0VBR0ksV0FBQTtFQUNBLHlCQWpDd0k7RUFxQ3hJLHFCQXJDa0w7QXhCa3JiMUw7QXdCM29iUTtFQUdRLGdEQUFBO0F4QjJvYmhCO0FrRzdxYkk7RTFFUEEsV0FBQTtFRktBLHlCbkJtSVc7RXFCdElYLHFCckJzSVc7RVF2SVgsMkVhRUE7QXhCd3JiSjtBS2hyYkU7RW1CTE0sV0FBQTtFRkRKLHlCRU4yRDtFQVN2RCxxQkFUK0Y7QXhCaXNidkc7QXdCcnJiSTtFQUlRLDJHQUFBO0F4Qm9yYlo7QXdCOXFiSTtFQUVJLFdBQUE7RUFDQSx5QnJCZ0hPO0VxQi9HUCxxQnJCK0dPO0FIZ2tiZjtBd0I1cWJJO0VBR0ksV0FBQTtFQUNBLHlCQWpDd0k7RUFxQ3hJLHFCQXJDa0w7QXhCOHNiMUw7QXdCdnFiUTtFQUdRLGdEQUFBO0F4QnVxYmhCO0FrR3pzYkk7RTFFUEEsV0FBQTtFRktBLHlCbkJtSVc7RXFCdElYLHFCckJzSVc7RVF2SVgsMkVhRUE7QXhCb3RiSjtBSzVzYkU7RW1CTE0sV0FBQTtFRkRKLHlCRU4yRDtFQVN2RCxxQkFUK0Y7QXhCNnRidkc7QXdCanRiSTtFQUlRLDBHQUFBO0F4Qmd0Ylo7QXdCMXNiSTtFQUVJLFdBQUE7RUFDQSx5QnJCZ0hPO0VxQi9HUCxxQnJCK0dPO0FINGxiZjtBd0J4c2JJO0VBR0ksV0FBQTtFQUNBLHlCQWpDd0k7RUFxQ3hJLHFCQXJDa0w7QXhCMHViMUw7QXdCbnNiUTtFQUdRLCtDQUFBO0F4Qm1zYmhCO0FrR3J1Ykk7RTFFUEEsV0FBQTtFRktBLHlCbkJtSVc7RXFCdElYLHFCckJzSVc7RVF2SVgsMkVhRUE7QXhCZ3ZiSjtBS3h1YkU7RW1CTE0sV0FBQTtFRkRKLHlCRU4yRDtFQVN2RCxxQkFUK0Y7QXhCeXZidkc7QXdCN3ViSTtFQUlRLDJHQUFBO0F4QjR1Ylo7QXdCdHViSTtFQUVJLFdBQUE7RUFDQSx5QnJCZ0hPO0VxQi9HUCxxQnJCK0dPO0FId25iZjtBd0JwdWJJO0VBR0ksV0FBQTtFQUNBLHlCQWpDd0k7RUFxQ3hJLHFCQXJDa0w7QXhCc3diMUw7QXdCL3RiUTtFQUdRLGdEQUFBO0F4Qit0YmhCO0FrR2p3Ykk7RTFFUEEsV0FBQTtFRktBLHlCbkJtSVc7RXFCdElYLHFCckJzSVc7RVF2SVgsMkVhRUE7QXhCNHdiSjtBS3B3YkU7RW1CTE0sV0FBQTtFRkRKLHlCRU4yRDtFQVN2RCxxQkFUK0Y7QXhCcXhidkc7QXdCendiSTtFQUlRLDRHQUFBO0F4Qnd3Ylo7QXdCbHdiSTtFQUVJLFdBQUE7RUFDQSx5QnJCZ0hPO0VxQi9HUCxxQnJCK0dPO0FIb3BiZjtBd0Jod2JJO0VBR0ksV0FBQTtFQUNBLHlCQWpDd0k7RUFxQ3hJLHFCQXJDa0w7QXhCa3liMUw7QXdCM3ZiUTtFQUdRLGlEQUFBO0F4QjJ2YmhCO0FrRzd4Ykk7RTFFUEEsV0FBQTtFRktBLHlCbkJtSVc7RXFCdElYLHFCckJzSVc7RVF2SVgsMkVhRUE7QXhCd3liSjtBS2h5YkU7RW1CTE0sV0FBQTtFRkRKLHlCRU4yRDtFQVN2RCxxQkFUK0Y7QXhCaXpidkc7QXdCcnliSTtFQUlRLDRHQUFBO0F4Qm95Ylo7QXdCOXhiSTtFQUVJLFdBQUE7RUFDQSx5QnJCZ0hPO0VxQi9HUCxxQnJCK0dPO0FIZ3JiZjtBd0I1eGJJO0VBR0ksV0FBQTtFQUNBLHlCQWpDd0k7RUFxQ3hJLHFCQXJDa0w7QXhCOHpiMUw7QXdCdnhiUTtFQUdRLGlEQUFBO0F4QnV4YmhCO0FrR3p6Ykk7RTFFUEEsV0FBQTtFRktBLHlCbkJtSVc7RXFCdElYLHFCckJzSVc7RVF2SVgsMkVhRUE7QXhCbzBiSjtBSzV6YkU7RW1CTE0sV0FBQTtFRkRKLHlCRU4yRDtFQVN2RCxxQkFUK0Y7QXhCNjBidkc7QXdCajBiSTtFQUlRLDBHQUFBO0F4QmcwYlo7QXdCMXpiSTtFQUVJLFdBQUE7RUFDQSx5QnJCZ0hPO0VxQi9HUCxxQnJCK0dPO0FINHNiZjtBd0J4emJJO0VBR0ksV0FBQTtFQUNBLHlCQWpDd0k7RUFxQ3hJLHFCQXJDa0w7QXhCMDFi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OHRCSTtFSGd5YXRCO0UwRzUvYmM7SUFDSSxtQnZHMnRCSTtFSG15YXRCO0FBQ0Y7QWU1K2JJO0UyRnZCWTtJQUNJLGtCdkc4dEJJO0VId3lhdEI7RTBHcGdjYztJQUNJLG1CdkcydEJJO0VIMnlhdEI7QUFDRjtBMkczaWNJO0VBQ0ksZUFBQTtFQUNBLG1CeEc0VnNCO0FIa3RiOUI7QTJHeGljZ0I7RUFDSSxxQnhHZ1VZO0FIMHViaEM7QTJHeGljZ0I7RUFDSSwwTnZHMmM0QjtBSitsYmhEO0EyR25pY2dCO0VBQ0kscUJ4R3NCVDtBSCtnY1g7QTJHaGljZ0I7RUFDSSxxQ3hHNmtCNEI7QUhxOWFoRDtBNEcxamNJO0VBQ0kseUJBQUE7RUFFSSwyRHpHcWpCNEI7QUh1Z2J4QztBNEd4amNJO0VBQ0ksa0JBQUE7RUFDQSxRQUFBO0E1RzBqY1I7QTRHdGpjQTtFQUNJLGdCQUFBO0E1R3lqY0o7QTRHaGpjUTtFQUNJLFNBQUE7RUFDQSx5RXpHNGdCNEI7QUh1aWJ4QztBNEc1aWNnQjtFQUNJLDJFekdxZ0JvQjtBSHlpYnhDO0E0R3ppY1E7RUFFSSx5RXpHNmY0QjtBSDZpYnhDO0E2R3BsY0k7RUFDSSxlQUFBO0VBQ0EsbUIxRzRWc0I7QUgydmI5QjtBNkdqbGNnQjtFQUNJLHFCMUdnVVk7QUhteGJoQztBNkdqbGNnQjtFQUNJLDBOekcyYzRCO0FKd29iaEQ7QTZHNWtjZ0I7RUFDSSxxQjFHc0JUO0FId2pjWDtBNkd6a2NnQjtFQUNJLHFDMUc2a0I0QjtBSDgvYWhEO0E4R3JtY0k7RUFDSSxlQUFBO0VBQ0EsbUIzRzRWc0I7QUg0d2I5QjtBOEdsbWNnQjtFQUNJLHFCM0dnVVk7QUhveWJoQztBOEdsbWNnQjtFQUNJLG9LMUdtZDRCO0FKaXBiaEQ7QThHN2xjZ0I7RUFDSSxxQjNHc0JUO0FIeWtjWDtBOEcxbGNnQjtFQUNJLHFDM0c2a0I0QjtBSCtnYmhEO0ErR3ZuY0E7RUFDSSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsVzVHK21CNEI7RTRHOW1CNUIsY0FBQTtBL0cwbmNKO0ErR3huY0k7RUFDSSxhQUFBO0EvRzBuY1I7QStHdm5jYTtFQUNHLHlCQUFBO0EvR3luY2hCO0ErR3ZuY2dCO0VBQ0ksbUI1R3NtQlk7RTRHcm1CWiwrQkFBQTtBL0d5bmNwQjtBK0dubmNZO0VBQ0kseUJBQUE7QS9HcW5jaEI7QStHam5jZ0I7RUFDSSx5QkFBQTtBL0dtbmNwQjtBK0dqbmNvQjtFQUNJLHlCQUFBO0EvR21uY3hCO0ErRzNtY0E7RUFDSSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EseUJBQUE7RUFDQSw4QkFBQTtFQUNBLDZCQUFBO0EvRzhtY0o7QStHM21jSTtFQUNJLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSw2QkFBQTtFQUNBLHlCNUdmRztFNEdnQkgsMkQ1R2dnQmdDO0FINm1ieEM7QWdIdHFjQTs7OztFQUlJLHFCQUFBO0FoSHlxY0o7QWdIdHFjQTtFQUNJLGdCQUFBO0FoSHlxY0o7QWdIdnFjSTtFQUNJLG9CQUFBO0VBQ0EsbUI3R2lWc0I7QUh3MWI5QjtBZ0h4cWNROztFQUVJLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0FoSDBxY1o7QWdIcnFjQTtFQUNJLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxjN0dlTztFNkdkUCxtQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7QWhId3FjSjtBZ0g5cGNZO0VBQ0ksY0FBQTtBaEhpcWNoQjtBZ0g3cGNRO0VBQ0ksYzdHQ0Q7QUg4cGNYO0FnSDNwY1k7O0VBRUkseUJBQUE7QWhINnBjaEI7QWdIcHBjQTtFQUNJLGdCQUFBO0VBQ0EsaUI3R2tRMEI7QUhxNWI5QjtBZ0hwcGNBO0VBQ0ksZ0JBQUE7RUFDQSx3QjdHNlAwQjtBSDA1YjlCO0FnSHBwY0E7RUFDSSxnQkFBQTtFQUNBLHdCN0d3UDBCO0FIKzViOUI7QWlIN3RjQTtFQUNJLG1COUcrOUJRO0U4Rzk5QlIsaUJBQUE7QWpIZ3VjSjtBaUg3dGNRO0VBQ0ksYzlHc0NEO0U4R3JDQyxpQkFBQTtFQUNBLG1COUdvVmtCO0U4R25WbEIseUJBQUE7RUFDQSxnQjlHdVZrQjtFOEd0VmxCLG1CQUFBO0FqSCt0Y1o7QWlIM3RjSTs7RUFFSSx5QkFBQTtBakg2dGNSO0FpSDN0Y1E7O0VBQ0kseUJBQUE7QWpIOHRjWjtBaUgxdGNJO0VBQ0kscUJBQUE7RUFDQSxtQkFBQTtFQUNBLGM5R2lCRztFOEdoQkgsa0I5R204QmdCO0FIeXhheEI7QWlIMXRjUTtFQUNJLGM5R2NEO0FIOHNjWDtBaUh4dGNJO0VBQ0ksbUI5R3dUc0I7QUhrNmI5QjtBaUhsdGNJO0VBQ0ksVzlHUEc7QUg0dGNYO0FpSDdzY0k7RUFDSSxtQjlHc1NzQjtBSDA2YjlCO0FpSDVzY1E7RUFDSSxnQkFBQTtBakg4c2NaO0FpSHRzY0E7RUFDSSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLHVCQUFBO0VBQ0Esb0JBQUE7QWpIeXNjSjtBaUh2c2NJO0VBQ0ksV0FBQTtFQUNBLGtCQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0VBQ0EseUJBQUE7QWpIeXNjUjtBaUh0c2NJO0VBQ0ksb0JBQUE7RUFDQSxrQkFBQTtBakh3c2NSO0FrSGh5Y0E7RUFDSSxjL0c0Q087RStHM0NQLG1CL0cwVjBCO0UrR3pWMUIsZ0IvRzhWMEI7QUhxOGI5QjtBa0g3eGNBO0VBQ0ksbUIvR2llMEI7QUgremI5QjtBa0g3eGNRO0VBQ0ksYy9HNkJEO0FIa3djWDtBa0hoeWNRO0VBQ0ksYy9HNkJEO0FIa3djWDtBa0h2eGNBO0VBQ0ksdUJBQUE7QWxIMHhjSjtBa0h2eGNBO0VBQ0ksdUJBQUE7QWxIMHhjSjtBa0h2eGNBO0VBQ0ksMkJBQUE7QWxIMHhjSjtBa0h2eGNBO0VBQ0ksNkJBQUE7QWxIMHhjSjtBa0hseGNBO0VBQ0kseUIvR3Nmb0M7RStHcmZwQyxxQi9HcWZvQztFK0dwZnBDLGdCQUFBO0FsSHF4Y0o7QWtIbnhjSTtFQUNJLHlCL0drZmdDO0FIbXlieEM7QWtIOXdjQTtFQUNJLHlFL0c0ZW9DO0UrRzNlcEMsU0FBQTtFQUNBLGlDQUFBO0FsSGl4Y0o7QWtIL3djSTtFQUNJLDJFL0d3ZWdDO0FIeXlieEM7QWtIM3djQTs7Ozs7RUFDSSxlL0dvUjBCO0FIOC9iOUI7QW1IeDFjQTs7RUFFSSxrQkFBQTtBbkgyMWNKO0FtSHoxY0k7O0VBQ0ksV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsMEJBQUE7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSwwQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7QW5INDFjUjtBbUh2MWNJO0VBQ0ksWUFBQTtFQUNBLDBCQUFBO0VBQ0EseUJoSDZsQnlCO0FINnZiakM7QW1IdjFjSTtFQUNJLHNCaEhVRztBSCswY1g7QW1IdjFjUTtFQUNJLHNDaEgrZ0I0QjtBSDAwYnhDO0FtSG4xY1E7RUFDSSxjaEhnbEJxQjtBSHF3YmpDO0FtSHQxY1E7RUFDSSxjaEhnbEJxQjtBSHF3YmpDO0FtSC8wY0k7RUFDSSxZQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QmhId2tCeUI7QUgwd2JqQztBbUgvMGNJO0VBQ0ksc0JoSGJHO0FIODFjWDtBbUgvMGNRO0VBQ0ksc0NoSHdmNEI7QUh5MWJ4QztBbUg1MGNRO0VBQ0ksY2hINGpCcUI7QUhreGJqQztBbUgvMGNRO0VBQ0ksY2hINGpCcUI7QUhreGJqQztBb0g3NGNBO0VBQ0MsZ0JqSDZpQnVDO0VpSDVpQnZDLHVCakg2VDZCO0VpSDVUN0IsMEJqSCtVNkI7QUhpa2M5QjtBb0g5NGNDO0VBQ0MsZ0JBQUE7QXBIZzVjRjtBb0g5NGNFO0VBQ0ksY0FBQTtFQUNBLGVBQUE7QXBIZzVjTjtBb0g5NGNFO0VBQ0MsZUFBQTtFQUNBLGdCQUFBO0FwSGc1Y0g7QW9IOTRjRTtFQUNDLGdCQUFBO0FwSGc1Y0g7QW9IMzRjQTtFQUNJLDJEakhvaUJvQztBSDAyYnhDO0FvSHY0Y0E7RUFDSSx5RWpIeWdCb0M7RWlIeGdCcEMsU0FBQTtFQUNBLGlDQUFBO0FwSDA0Y0o7QW9IeDRjSTs7RUFFSSxTQUFBO0VBQ0EsZ0JBQUE7QXBIMDRjUjtBb0hyNGNDO0VBQ08sc0ZBQUE7QXBIdzRjUjtBb0hoNGNDO0VBQ0MsZ0JqSCtmc0M7QUhvNGJ4QztBb0hoNGNDO0VBQ0ksY2pIVk07RWlIV04sc0JqSGpCTTtFaUhrQk4sc0NqSHNmbUM7QUg0NGJ4QztBb0gvM2NDO0VBQ0Msc0NqSGtmc0M7QUgrNGJ4QztBcUhoOGNBO0VBQ0ksa0JBQUE7QXJIbThjSjtBc0hwOGNBO0VBQ0MsV25IaWJXO0VtSGhiWCxZbkhnYlc7QUh1aGNaO0FzSHI4Y0M7RUFDQyxrQkFBQTtBdEh1OGNGO0FzSHA4Y0k7RUFDQyxrQkFBQTtFQUNBLDRCQUFBO0F0SHM4Y0w7QXNILzdjQTtFQUNDLFduSGlhYztFbUhoYWQsWW5IZ2FjO0FIa2ljZjtBc0hoOGNDO0VBQ0Msa0JBQUE7QXRIazhjRjtBc0gvN2NJO0VBQ0MscUNBQUE7QXRIaThjTDtBc0gxN2NBO0VBQ0MsV25Ia1pjO0VtSGpaZCxZbkhpWmM7QUg0aWNmO0FzSDM3Y0M7RUFDQyxrQkFBQTtBdEg2N2NGO0FzSDE3Y0k7RUFDQyxxQ0FBQTtBdEg0N2NMO0FzSHI3Y0E7RUFDQyxXbkhtWWM7RW1IbFlkLFluSGtZYztBSHNqY2Y7QXNIdDdjQztFQUNDLGtCQUFBO0F0SHc3Y0Y7QXNIcjdjSTtFQUNDLHFDQUFBO0F0SHU3Y0w7QXVIaC9jQTtFQUNDLGFBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0F2SG0vY0Q7QXVIaC9jQztFQUNDLGtCQUFBO0F2SGsvY0Y7QXVIOStjRTtFQUNDLG1CQUFBO0F2SGcvY0g7QXVIMytjRTtFQUNDLG1CQUFBO0F2SDYrY0g7QXVIeitjQztFQUNDLFdBQUE7RUFDQSxZQUFBO0F2SDIrY0Y7QXVIcitjQztFQ3JDRyxjQUFBO0VBQ0EsMENBQUE7QXhIOGdkSjtBdUgxK2NDO0VDckNHLGNBQUE7RUFDQSwwQ0FBQTtBeEhtaGRKO0F1SC8rY0M7RUNyQ0csY0FBQTtFQUNBLHlDQUFBO0F4SHdoZEo7QXVIcC9jQztFQ3JDRyxjQUFBO0VBQ0EseUNBQUE7QXhINmhkSjtBdUh6L2NDO0VDckNHLGNBQUE7RUFDQSwwQ0FBQTtBeEhraWRKO0F1SDkvY0M7RUNyQ0csY0FBQTtFQUNBLDBDQUFBO0F4SHVpZEo7QXVIbmdkQztFQ3JDRyxjQUFBO0VBQ0EsMENBQUE7QXhINGlkSjtBdUh4Z2RDO0VDckNHLGNBQUE7RUFDQSx1Q0FBQTtBeEhpamRKO0F1SDdnZEM7RUNyQ0csY0FBQTtFQUNBLHdDQUFBO0F4SHNqZEo7QXVIbGhkQztFQ3JDRyxjQUFBO0VBQ0EsMENBQUE7QXhIMmpkSjtBdUh2aGRDO0VDckNHLGNBQUE7RUFDQSwwQ0FBQTtBeEhna2RKO0F1SDVoZEM7RUNyQ0csWUFBQTtFQUNBLHVDQUFBO0F4SHFrZEo7QW9IbmtkQTtFQUNDLGdCakg2aUJ1QztFaUg1aUJ2Qyx1QmpINlQ2QjtFaUg1VDdCLDBCakgrVTZCO0FIdXZjOUI7QW9IcGtkQztFQUNDLGdCQUFBO0FwSHNrZEY7QW9IcGtkRTtFQUNJLGNBQUE7RUFDQSxlQUFBO0FwSHNrZE47QW9IcGtkRTtFQUNDLGVBQUE7RUFDQSxnQkFBQTtBcEhza2RIO0FvSHBrZEU7RUFDQyxnQkFBQTtBcEhza2RIO0FvSGprZEE7RUFDSSwyRGpIb2lCb0M7QUhnaWN4QztBb0g3amRBO0VBQ0kseUVqSHlnQm9DO0VpSHhnQnBDLFNBQUE7RUFDQSxpQ0FBQTtBcEhna2RKO0FvSDlqZEk7O0VBRUksU0FBQTtFQUNBLGdCQUFBO0FwSGdrZFI7QW9IM2pkQztFQUNPLHNGQUFBO0FwSDhqZFI7QW9IdGpkQztFQUNDLGdCakgrZnNDO0FIMGpjeEM7QW9IdGpkQztFQUNJLGNqSFZNO0VpSFdOLHNCakhqQk07RWlIa0JOLHNDakhzZm1DO0FIa2tjeEM7QW9IcmpkQztFQUNDLHNDakhrZnNDO0FIcWtjeEM7QXlIbG5kSTtFQUNJLHFCQUFBO0UvR0xKLHVCUCtUMEI7QUg0emM5QjtBeUg5bWRBO0VBQ0ksV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0NBQUE7QXpIaW5kSjtBeUg5bWRBO0VBQ0ksT0FBQTtFQUNBLFlBQUE7QXpIaW5kSjtBeUgvbWRJO0VBQ0csY3RIb0JJO0VzSG5CSixnQkFBQTtFQUNBLGtCQUFBO0F6SGluZFA7QXlIN21kQTtFQUNJLGV0SDJUMEI7RXNIMVQxQixjdEhlTztBSGltZFg7QXlIOW1kSTtFQUNHLFlBQUE7RUFDQSxjdEhRSTtFc0hQSixnQkFBQTtBekhnbmRQO0EwSHZwZEE7RUFDSSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxhdkhncEJTO0V1SC9vQlQsdUJ2SDJUMEI7QUgrMWM5QjtBMkg5cGRBO0VBQ0ksa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0V2R0pFLDBCdUdLRjtBM0hpcWRKO0FvQmxxZEU7RXVHTEY7SXZHTUksZ0JBQUE7RXBCcXFkRjtBQUNGO0E0SHhxZEk7RUFDSSxhQUFBO0VBQ0EsZ0JBQUE7QTVIMnFkUjtBNEh6cWRJO0VBQ0ksZ0JBQUE7QTVIMnFkUjtBNkh2cmRDO0VBQ0MsV0FBQTtBN0gwcmRGO0E2SHhyZEM7O0VBRUMsd0NBQUE7QTdIMHJkRjtBNkh4cmRDO0VBQ0MseUJ6SGlFYTtFeUhoRWIsV0FBQTtBN0gwcmRGO0E2SHhyZEU7RUFDQyxXQUFBO0E3SDByZEg7QTZIcnJkSztFQUNDLFcxSDBCSztBSDZwZFg7QTZIenNkQztFQUNDLGNBQUE7QTdINHNkRjtBNkgxc2RDOztFQUVDLHFDQUFBO0E3SDRzZEY7QTZIMXNkQztFQUNDLHlCekhpRWE7RXlIaEViLGNBQUE7QTdINHNkRjtBNkgxc2RFO0VBQ0MsY0FBQTtBN0g0c2RIO0E2SHZzZEs7RUFDQyxXMUgwQks7QUgrcWRYO0E2SDN0ZEM7RUFDQyxXQUFBO0E3SDh0ZEY7QTZINXRkQzs7RUFFQyx3Q0FBQTtBN0g4dGRGO0E2SDV0ZEM7RUFDQyx5QnpIaUVhO0V5SGhFYixXQUFBO0E3SDh0ZEY7QTZINXRkRTtFQUNDLFdBQUE7QTdIOHRkSDtBNkh6dGRLO0VBQ0MsVzFIMEJLO0FIaXNkWDtBNkg3dWRDO0VBQ0MsV0FBQTtBN0hndmRGO0E2SDl1ZEM7O0VBRUMsd0NBQUE7QTdIZ3ZkRjtBNkg5dWRDO0VBQ0MseUJ6SGlFYTtFeUhoRWIsV0FBQTtBN0hndmRGO0E2SDl1ZEU7RUFDQyxXQUFBO0E3SGd2ZEg7QTZIM3VkSztFQUNDLFcxSDBCSztBSG10ZFg7QTZIL3ZkQztFQUNDLFdBQUE7QTdIa3dkRjtBNkhod2RDOztFQUVDLHdDQUFBO0E3SGt3ZEY7QTZIaHdkQztFQUNDLHlCekhpRWE7RXlIaEViLFdBQUE7QTdIa3dkRjtBNkhod2RFO0VBQ0MsV0FBQTtBN0hrd2RIO0E2SDd2ZEs7RUFDQyxXMUgwQks7QUhxdWRYO0E2SGp4ZEM7RUFDQyxXQUFBO0E3SG94ZEY7QTZIbHhkQzs7RUFFQyx3Q0FBQTtBN0hveGRGO0E2SGx4ZEM7RUFDQyx5QnpIaUVhO0V5SGhFYixXQUFBO0E3SG94ZEY7QTZIbHhkRTtFQUNDLFdBQUE7QTdIb3hkSDtBNkgvd2RLO0VBQ0MsVzFIMEJLO0FIdXZkWDtBNkhueWRDO0VBQ0MsV0FBQTtBN0hzeWRGO0E2SHB5ZEM7O0VBRUMsd0NBQUE7QTdIc3lkRjtBNkhweWRDO0VBQ0MseUJ6SGlFYTtFeUhoRWIsV0FBQTtBN0hzeWRGO0E2SHB5ZEU7RUFDQyxXQUFBO0E3SHN5ZEg7QTZIanlkSztFQUNDLFcxSDBCSztBSHl3ZFg7QTZIcnpkQztFQUNDLFdBQUE7QTdId3pkRjtBNkh0emRDOztFQUVDLHdDQUFBO0E3SHd6ZEY7QTZIdHpkQztFQUNDLHlCekhpRWE7RXlIaEViLFdBQUE7QTdId3pkRjtBNkh0emRFO0VBQ0MsV0FBQTtBN0h3emRIO0E2SG56ZEs7RUFDQyxXMUgwQks7QUgyeGRYO0E2SHYwZEM7RUFDQyxXQUFBO0E3SDAwZEY7QTZIeDBkQzs7RUFFQyx3Q0FBQTtBN0gwMGRGO0E2SHgwZEM7RUFDQyx5QnpIaUVhO0V5SGhFYixXQUFBO0E3SDAwZEY7QTZIeDBkRTtFQUNDLFdBQUE7QTdIMDBkSDtBNkhyMGRLO0VBQ0MsVzFIMEJLO0FINnlkWDtBNkh6MWRDO0VBQ0MsY0FBQTtBN0g0MWRGO0E2SDExZEM7O0VBRUMscUNBQUE7QTdINDFkRjtBNkgxMWRDO0VBQ0Msc0J6SGlFYTtFeUhoRWIsY0FBQTtBN0g0MWRGO0E2SDExZEU7RUFDQyxjQUFBO0E3SDQxZEg7QTZIdjFkSztFQUNDLFcxSDBCSztBSCt6ZFg7QTZIMzJkQztFQUNDLGNBQUE7QTdIODJkRjtBNkg1MmRDOztFQUVDLHFDQUFBO0E3SDgyZEY7QTZINTJkQztFQUNDLHNCekhpRWE7RXlIaEViLGNBQUE7QTdIODJkRjtBNkg1MmRFO0VBQ0MsY0FBQTtBN0g4MmRIO0E2SHoyZEs7RUFDQyxXMUgwQks7QUhpMWRYO0E2SDczZEM7RUFDQyxXQUFBO0E3SGc0ZEY7QTZIOTNkQzs7RUFFQyx3Q0FBQTtBN0hnNGRGO0E2SDkzZEM7RUFDQyx1QnpIaUVhO0V5SGhFYixXQUFBO0E3SGc0ZEY7QTZIOTNkRTtFQUNDLFdBQUE7QTdIZzRkSDtBNkgzM2RLO0VBQ0MsVzFIMEJLO0FIbTJkWDtBOEh4NGRBO0VBQ0ksZUFBQTtFcEhDQSxnQ1B5VDBCO0VPeFQxQixpQ1B3VDBCO0FIbWxkOUI7QThIMTRkSTtFcEhGQSx5Qm9IRytCO0VwSEYvQiwwQm9IRStCO0VwSFcvQixvQ1AyUzBCO0VPMVMxQixtQ1AwUzBCO0FIeWxkOUI7QThIdjRkQTtFQUNJLGMzSDhCTztBSDQyZFg7QThIeDRkSTtFQUNJLGMzSGtxQjRCO0FId3VjcEM7QThIdjRkSTtFQUNJLGtCQUFBO0VBQ0EsUUFBQTtBOUh5NGRSO0ErSC81ZEk7RUFDSSxtQjVId3JCNEI7QUgwdWNwQztBK0gvNWRJO0VBQ0MscUJBQUE7RUFDRyxjNUgwckI0QjtFNEh6ckI1QixnQkFBQTtFQUNBLG1CNUhtVnNCO0U0SGxWdEIsMkU1SDBmc0I7RTRIemZ0QixzQjVIMkJHO0U0SDFCSCwwQjVIbVVzQjtBSDhsZDlCO0ErSC81ZFE7RUFDQyxjNUhtckIyQjtBSDh1Y3BDO0ErSDc1ZEk7O0VBRUksVzVIOHFCNEI7RTRIN3FCNUIseUI1SDhxQjRCO0FIaXZjcEM7QWVuM2RJO0VnSHhDSTtJQUNJLG1CNUhxUEg7RUh5cWRQO0FBQ0Y7QWV4M2RJO0VnSGhDSTtJQUNJLGdCQUFBO0UvSDQ1ZFY7QUFDRjtBK0hwNWRJO0VBQ0ksa0JBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0EvSHM1ZFI7QStIbDVkUTtFQUNJLGVBQUE7QS9IbzVkWjtBZ0l6OGRRO0VBQ0ksaUI3SDZzQndCO0U2SDVzQnhCLGdCN0g2c0J3QjtFNkg1c0J4QixzQjdINnNCd0I7RTZINXNCeEIsaUI3SDZzQndCO0VpQnJ0QjlCLDRCNEdTTTtBaEk0OGRaO0FvQmo5ZEU7RTRHQU07STVHQ0osZ0JBQUE7RXBCbzlkRjtBQUNGO0FnSS84ZFk7RUFDSSxvQkFBQTtBaElpOWRoQjtBZ0l6OGRJO0VBQ0ksbUI3SHlVc0I7RTZIeFV0QixnQkFBQTtFQUNBLHlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtBaEkyOGRSO0FnSXo4ZFE7RUFDSSxZQUFBO0FoSTI4ZFo7QWdJdDhkUTtFQUNJLFc3SE1EO0FIazhkWDtBZ0luOGRRO0VBQ0ksYzdIUUQ7QUg2N2RYO0FnSS83ZFE7RUFDRSxxQkFBQTtBaElpOGRWO0FlejdkSTtFaUhEUTtJQUNJLG9CQUFBO0VoSTY3ZGQ7RWdJMzdkYztJQUNJLDBCN0h1UlU7RUhzcWQ1QjtFZ0l6N2RrQjtJQUNJLHlCQUFBO0VoSTI3ZHRCO0VnSXY3ZFU7SUFDSSxpQjdING9Cb0I7STZIM29CcEIsb0I3SDJvQm9CO0k2SDFvQnBCLHVCN0h3UGM7RUhpc2Q1QjtFZ0l2N2RjO0lBQ0ksc0JBQUE7RWhJeTdkbEI7RWdJcjdkVTtJQUNJLCtCQUFBO0lBQ0EsZ0NBQUE7SUFDQSxlQUFBO0lBQ0EsdUI3SDZPYztFSDBzZDVCO0VnSXI3ZGM7SUFDSSxlQUFBO0VoSXU3ZGxCO0FBQ0Y7QWdJLzZkSTtFQUNJLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsNkJBQUE7RUFDQSxTQUFBO0VBQ0EsZ0JBQUE7QWhJaTdkUjtBZ0kvNmRRO0VBQ0ksWUFBQTtBaElpN2RaO0FnSTk2ZFE7RUFDSSxZQUFBO0FoSWc3ZFo7QWdJNzZkUTtFQUNJLDRRNUg0Z0J3QjtBSm02Y3BDO0FlditkSTtFaUgrRFk7SUFDSSxnQzdIMG1CZ0I7RUhpMGNsQztFS3ZoZUE7STJIK0dzQixnQzdId21CWTtFSG0wY2xDO0VnSXg2ZGtCO0lBQ0ksZ0M3SHNtQlk7RUhvMGNsQztFZ0l0NmRjOzs7O0lBSUksZ0M3SDZsQmdCO0VIMjBjbEM7RWdJcDZkVTtJQUNJLGdDN0hzbEJvQjtFSGcxY2xDO0VLdGllQTtJMkhtSWtCLGdDN0htbEJnQjtFSG0xY2xDO0FBQ0Y7QWlJbGplQTtFQUNJLDJEOUgwdkJ5QjtBSDJ6YzdCO0FpSW5qZUk7RUFDSSx1QkFBQTtFQUNBLG1CQUFBO0FqSXFqZVI7QWlJL2llSTtFQUNJLDZCOUg2dEI0QjtFOEg1dEI1QixxQjlIeUJHO0FId2hlWDtBaUkzaWVJO0VBQ0ksZUFBQTtBakk2aWVSO0FpSTFpZUk7O0VBRUksZUFBQTtFQUNBLGdCQUFBO0FqSTRpZVI7QWVsaGVJO0VrSG5CSTtJQUNJLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSxrQjlIc3FCd0I7SThIcnFCeEIsbUI5SHFxQndCO0VIbTRjbEM7RWlJdGllVTtJQUNJLFdBQUE7SUFDQSxjQUFBO0lBQ0Esa0JBQUE7RWpJd2llZDtBQUNGO0FpSWhpZUk7RUFDSSxrQkFBQTtFQUNBLG1CQUFBO0FqSWtpZVI7QWlJN2hlUTtFQUNJLGtCOUgrb0J3QjtFOEg5b0J4QixtQjlIOG9Cd0I7RThIN29CeEIsaUI5SGtwQndCO0FINjRjcEM7QWlJN2hlWTtFQUNJLGtCQUFBO0FqSStoZWhCO0FpSTdoZWdCO0VBQ0ksV0FBQTtFQUNBLGtCQUFBO0VBQ0EsT0FBQTtFQUNBLFk5SDBtQmdCO0U4SHptQmhCLGU5SHltQmdCO0U4SHhtQmhCLDhCQUFBO0FqSStoZXBCO0FpSXhoZVk7RUFDSSxrQjlIaXJCUTtFOEhockJSLG9CQUFBO0VBQ0EsbUJBQUE7QWpJMGhlaEI7QWlJcGhlWTtFQUNJLFlBQUE7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Q0EsaUI5SFVmO0k4SFRlLG9CQUFBO0lBQ0Esb0I5SHNmSTtJOEhyZkoscUI5SHFmSTtJOEhwZkosNkJBQUE7RWpJMDVldEI7RWlJdjVlc0I7SUFDSSxTQUFBO0lBQ0EsMkJBQUE7RWpJeTVlMUI7QUFDRjtBa0kzcWZJO0VBQ0ksbUIvSDB0QjRCO0UrSHp0QjVCLGlCQUFBO0VBQ0EsNkJBQUE7QWxJOHFmUjtBa0k1cWZRO0VBQ0ksNkJBQUE7RUFDQSxrQkFBQTtBbEk4cWZaO0FrSTFxZkk7RUFDSSxZL0g0c0I0QjtFK0gzc0I1Qiw2QkFBQTtBbEk0cWZSO0FrSXZxZkk7RUFDSSxzQy9Ib3RCNEI7QUhzOWRwQztBa0l2cWZJO0VBQ0ksK0IvSGl0QjRCO0FIdzlkcEM7QWtJdHFmSTtFQUNJLCtCL0grc0I0QjtBSHk5ZHBDO0FrSXRxZlE7RUFDSSwrQi9IMHNCd0I7QUg4OWRwQztBa0l6cWZRO0VBQ0ksK0IvSDBzQndCO0FIODlkcEM7QWtJbnFmUTtFQUNJLHNDL0hxc0I0QjtBSGcrZHhDO0FrSS9wZkk7RUFDSSxnQy9IMnNCNEI7QUh1OWRwQztBa0kvcGZJO0VBQ0kseUIvSHdzQjZCO0FIeTlkckM7QWtJOXBmSTtFQUNJLHlCL0hzc0I2QjtBSDA5ZHJDO0FrSTlwZlE7RUFDSSx5Qi9IaXNCeUI7QUgrOWRyQztBa0lqcWZRO0VBQ0kseUIvSGlzQnlCO0FIKzlkckM7QWtJM3BmUTtFQUNJLGdDL0g0ckI2QjtBSGkrZHpDO0FlbHFmSTtFb0h4REk7SUFDSSxVQUFBO0lBQ0Esb0JBQUE7SUFDQSxTQUFBO0VuSTh0ZlY7RW1JMXRmVTtJQUNJLGdCaElpQ0w7SWdJaENLLGdCQUFBO0lBQ0EsV0FBQTtJQUNBLGNBQUE7SUFDQSxZQUFBO0lBQ0EsV0FBQTtJQUNBLFVBQUE7SUFDQSxrQkFBQTtJQUNBLFlBQUE7SUFDQSwwQ0FBQTtJQUNBLFdBQUE7SUFDQSxrQkFBQTtFbkk0dGZkO0VtSXZ0ZlU7SUFDSSxXQUFBO0lBQ0EsVUFBQTtFbkl5dGZkO0VtSW50ZmM7SUFDSSxVQUFBO0lBQ0Esb0JBQUE7SUFDQSwyREFB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O0VBQ0EsNkJBQUE7RUFDQSxXQUFBO0VBQ04sWUFBQTtFQUNBLG1CbEkrVTRCO0FId2pmOUI7QXFJOTNmUTs7RUFFSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0FySWk0Zlo7QXFJMTNmUTs7RUFFSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0FySTYzZlo7QXNJcDZmQTtFQUNJLFNBQUE7QXRJdTZmSjtBc0lwNmZBO0VBQ0MsZ0JuSThWNkI7QUh5a2Y5QjtBc0loNmZJO0VDZkgseUJuSXdFYztBSjIyZmY7QXVJajdmQztFQUNDLHlCbklxRWE7RW1JcEViLFdBQUE7QXZJbTdmRjtBdUloN2ZDO0VBQ0MsV0FBQTtBdklrN2ZGO0F1SWg3ZkM7RUFDQyxzQ0FBQTtBdklrN2ZGO0F1SS82ZkU7RUFDQyx5Qm5JeURZO0FKdzNmZjtBdUk3NmZFO0VBQ0MsMkJuSW9EWTtBSjIzZmY7QXVJMzZmRTtFQUNDLDRCbkkrQ1k7QUo4M2ZmO0F1SXo2ZkU7RUFDQywwQm5JMENZO0FKaTRmZjtBc0kxN2ZJO0VDZkgseUJuSXdFYztBSnE0ZmY7QXVJMzhmQztFQUNDLHlCbklxRWE7RW1JcEViLGNBQUE7QXZJNjhmRjtBdUkxOGZDO0VBQ0MsY0FBQTtBdkk0OGZGO0F1STE4ZkM7RUFDQyxtQ0FBQTtBdkk0OGZGO0F1SXo4ZkU7RUFDQyx5Qm5JeURZO0FKazVmZjtBdUl2OGZFO0VBQ0MsMkJuSW9EWTtBSnE1ZmY7QXVJcjhmRTtFQUNDLDRCbkkrQ1k7QUp3NWZmO0F1SW44ZkU7RUFDQywwQm5JMENZO0FKMjVmZjtBc0lwOWZJO0VDZkgseUJuSXdFYztBSis1ZmY7QXVJcitmQztFQUNDLHlCbklxRWE7RW1JcEViLFdBQUE7QXZJdStmRjtBdUlwK2ZDO0VBQ0MsV0FBQTtBdklzK2ZGO0F1SXArZkM7RUFDQyxzQ0FBQTtBdklzK2ZGO0F1SW4rZkU7RUFDQyx5Qm5JeURZO0FKNDZmZjtBdUlqK2ZFO0VBQ0MsMkJuSW9EWTtBSis2ZmY7QXVJLzlmRTtFQUNDLDRCbkkrQ1k7QUprN2ZmO0F1STc5ZkU7RUFDQywwQm5JMENZO0FKcTdmZjtBc0k5K2ZJO0VDZkgseUJuSXdFYztBSnk3ZmY7QXVJLy9mQztFQUNDLHlCbklxRWE7RW1JcEViLFdBQUE7QXZJaWdnQkY7QXVJOS9mQztFQUNDLFdBQUE7QXZJZ2dnQkY7QXVJOS9mQztFQUNDLHNDQUFBO0F2SWdnZ0JGO0F1STcvZkU7RUFDQyx5Qm5JeURZO0FKczhmZjtBdUkzL2ZFO0VBQ0MsMkJuSW9EWTtBSnk4ZmY7QXVJei9mRTtFQUNDLDRCbkkrQ1k7QUo0OGZmO0F1SXYvZkU7RUFDQywwQm5JMENZO0FKKzhmZjtBc0l4Z2dCSTtFQ2ZILHlCbkl3RWM7QUptOWZmO0F1SXpoZ0JDO0VBQ0MseUJuSXFFYTtFbUlwRWIsV0FBQTtBdkkyaGdCRjtBdUl4aGdCQztFQUNDLFdBQUE7QXZJMGhnQkY7QXVJeGhnQkM7RUFDQyxzQ0FBQTtBdkkwaGdCRjtBdUl2aGdCRTtFQUNDLHlCbkl5RFk7QUpnK2ZmO0F1SXJoZ0JFO0VBQ0MsMkJuSW9EWTtBSm0rZmY7QXVJbmhnQkU7RUFDQyw0Qm5JK0NZO0FKcytmZjtBdUlqaGdCRTtFQUNDLDBCbkkwQ1k7QUp5K2ZmO0FzSWxpZ0JJO0VDZkgseUJuSXdFYztBSjYrZmY7QXVJbmpnQkM7RUFDQyx5Qm5JcUVhO0VtSXBFYixXQUFBO0F2SXFqZ0JGO0F1SWxqZ0JDO0VBQ0MsV0FBQTtBdklvamdCRjtBdUlsamdCQztFQUNDLHNDQUFBO0F2SW9qZ0JGO0F1SWpqZ0JFO0VBQ0MseUJuSXlEWTtBSjAvZmY7QXVJL2lnQkU7RUFDQywyQm5Jb0RZO0FKNi9mZjtBdUk3aWdCRTtFQUNDLDRCbkkrQ1k7QUpnZ2dCZjtBdUkzaWdCRTtFQUNDLDBCbkkwQ1k7QUptZ2dCZjtBc0k1amdCSTtFQ2ZILHlCbkl3RWM7QUp1Z2dCZjtBdUk3a2dCQztFQUNDLHlCbklxRWE7RW1JcEViLFdBQUE7QXZJK2tnQkY7QXVJNWtnQkM7RUFDQyxXQUFBO0F2SThrZ0JGO0F1STVrZ0JDO0VBQ0Msc0NBQUE7QXZJOGtnQkY7QXVJM2tnQkU7RUFDQyx5Qm5JeURZO0FKb2hnQmY7QXVJemtnQkU7RUFDQywyQm5Jb0RZO0FKdWhnQmY7QXVJdmtnQkU7RUFDQyw0Qm5JK0NZO0FKMGhnQmY7QXVJcmtnQkU7RUFDQywwQm5JMENZO0FKNmhnQmY7QXNJdGxnQkk7RUNmSCx5Qm5Jd0VjO0FKaWlnQmY7QXVJdm1nQkM7RUFDQyx5Qm5JcUVhO0VtSXBFYixXQUFBO0F2SXltZ0JGO0F1SXRtZ0JDO0VBQ0MsV0FBQTtBdkl3bWdCRjtBdUl0bWdCQztFQUNDLHNDQUFBO0F2SXdtZ0JGO0F1SXJtZ0JFO0VBQ0MseUJuSXlEWTtBSjhpZ0JmO0F1SW5tZ0JFO0VBQ0MsMkJuSW9EWTtBSmlqZ0JmO0F1SWptZ0JFO0VBQ0MsNEJuSStDWTtBSm9qZ0JmO0F1SS9sZ0JFO0VBQ0MsMEJuSTBDWTtBSnVqZ0JmO0FzSWhuZ0JJO0VDZkgseUJuSXdFYztBSjJqZ0JmO0F1SWpvZ0JDO0VBQ0MseUJuSXFFYTtFbUlwRWIsV0FBQTtBdkltb2dCRjtBdUlob2dCQztFQUNDLFdBQUE7QXZJa29nQkY7QXVJaG9nQkM7RUFDQyxzQ0FBQTtBdklrb2dCRjtBdUkvbmdCRTtFQUNDLHlCbkl5RFk7QUp3a2dCZjtBdUk3bmdCRTtFQUNDLDJCbklvRFk7QUoya2dCZjtBdUkzbmdCRTtFQUNDLDRCbkkrQ1k7QUo4a2dCZjtBdUl6bmdCRTtFQUNDLDBCbkkwQ1k7QUppbGdCZjtBc0kxb2dCSTtFQ2ZILHNCbkl3RWM7QUpxbGdCZjtBdUkzcGdCQztFQUNDLHNCbklxRWE7RW1JcEViLGNBQUE7QXZJNnBnQkY7QXVJMXBnQkM7RUFDQyxjQUFBO0F2STRwZ0JGO0F1STFwZ0JDO0VBQ0MsbUNBQUE7QXZJNHBnQkY7QXVJenBnQkU7RUFDQyxzQm5JeURZO0FKa21nQmY7QXVJdnBnQkU7RUFDQyx3Qm5Jb0RZO0FKcW1nQmY7QXVJcnBnQkU7RUFDQyx5Qm5JK0NZO0FKd21nQmY7QXVJbnBnQkU7RUFDQyx1Qm5JMENZO0FKMm1nQmY7QXNJcHFnQkk7RUNmSCxzQm5Jd0VjO0FKK21nQmY7QXVJcnJnQkM7RUFDQyxzQm5JcUVhO0VtSXBFYixjQUFB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SXF6Z0JSO0FvQm4zZ0JFO0VzSDZERTtJdEg1REEsZ0JBQUE7RXBCczNnQkY7QUFDRjtBMElsemdCSTs7RUFFSSxjQUFBO0VBQ0EsZUFBQTtBMUlxemdCUjtBMEkveWdCZ0I7O0VBRUksYUFBQTtBMUlpemdCcEI7QTBJNXlnQmdCOztFQUVJLGdCQUFBO0ExSTh5Z0JwQjtBMElueWdCSTtFQUNJLGdCQUFBO0ExSXN5Z0JSO0EwSXB5Z0JROztFQUVJLG9CdklreUJ3QjtFdUlqeUJ4QixxQnZJaXlCd0I7QUhxZ2ZwQztBMklqNWdCQTtFQUNDLGV4SWdaNkI7RXdJL1k3QixnQnhJZ1o2QjtFd0kvWTdCLGdCeElnWjZCO0FIb2dnQjlCO0EySWo1Z0JBO0VBQ0Msa0J4SThZNkI7RXdJN1kzQixnQnhJOFkyQjtFd0k3WTdCLGdCeEkwWTZCO0V3SXpZN0Isa0JBQUE7QTNJbzVnQkQ7QTJJbDVnQkM7RUFDQyxnQkFBQTtBM0lvNWdCRjtBMkloNWdCQTtFQUNDLG1CeEkwVTZCO0FIeWtnQjlCO0E0SXI2Z0JBO0VBQ0MsdUJ6SXNYNkI7RXlJclg3QixrQnpJc1g2QjtFeUlyWDdCLHlCeklzWDZCO0V5SXJYN0IsZ0J6STZWNkI7QUgya2dCOUI7QTRJbDZnQkE7RUFDQyxvQkFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBO0E1SXE2Z0JEO0E0SWw2Z0JBO0VBQ0MsdUJ6SXlXbUM7RXlJeFduQyxtQnpJeVdtQztFeUl4V25DLGdCekk0VTZCO0V5STNVN0IseUJ6SXlXbUM7QUg0amdCcEM7QTRJbDZnQkE7RUFDQyx1QnpJdVdxQztFeUl0V3JDLG1Cekl1V3FDO0V5SXRXckMsZ0J6SXFVNkI7RXlJcFU3Qix5QnpJdVdxQztBSDhqZ0J0QztBNEluNmdCQztFQUNDLGNBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0E1SXE2Z0JGO0E0SWo2Z0JFO0VBQ0MsaUJBQUE7RUFDQSxrQkFBQTtBNUltNmdCSDtBNkkxOGdCQzs7OztFQUNDLGNBQUE7RUFDQSxnQjFJMlY0QjtBSHFuZ0I5QjtBOEl0OWdCQzs7RUFFQyxnQkFBQTtBOUl5OWdCRjtBOEl0OWdCQztFQUNDLHFCQUFBO0E5SXc5Z0JGO0E4SXI5Z0JDO0VBQ0MsY0FBQTtBOUl1OWdCRjtBOElwOWdCQztFQUNDLGFBQUE7QTlJczlnQkY7QStJcCtnQkE7RUFDSSx1QjVJNlQwQjtFNEl2VDFCLGNBQUE7QS9JaytnQko7QStJdCtnQkk7RUFDSSxZQUFBO0EvSXcrZ0JSO0ErSW4rZ0JJO0VBQ0ksY0FBQTtBL0lxK2dCUjtBK0lwK2dCUTtFQUNJLFVBQUE7QS9JcytnQlo7QStJcCtnQlE7RUFDSSxZQUFBO0EvSXMrZ0JaO0ErSWwrZ0JJO0VBQ0ksTUFBQTtFQUNBLE9BQUE7RUFDQSxrQjVJeTZCc0I7RVFsOEIxQixpSG9JMEJJO0EvSW8rZ0JSO0ErSWwrZ0JRO0VBQ0ksU0FBQTtBL0lvK2dCWjtBK0lsK2dCUTtFQUNJLFNBQUE7QS9JbytnQlo7QStJbCtnQlE7RUFDSSxVQUFBO0EvSW8rZ0JaO0ErSWwrZ0JRO0VBQ0ksVUFBQTtBL0lvK2dCWjtBK0lsK2dCUTtFQUNJLFNBQUE7QS9JbytnQlo7QStJbCtnQlE7RUFDSSxTQUFBO0EvSW8rZ0JaO0ErSWorZ0JRO0VBQ0ksWUFBQTtFQUNBLGdCQUFBO0VBQ0EsMkJBQUE7QS9JbStnQlo7QStJaCtnQlE7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSwwQkFBQTtBL0lrK2dCWjtBK0k5OWdCSTtFQUNJLFNBQUE7RUFDQSwyQkFBQTtFQUNBLHlCQUFBO0tBQUEsc0JBQUE7VUFBQSxpQkFBQTtBL0lnK2dCUjtBK0k3OWdCWTtFQUNJLGtCNUltNEJnQjtBSDRsZmhDO0ErSTU5Z0JZO0VBQ0ksdUI1STBQYztFNEl6UGQsZ0JBQUE7QS9JODlnQmhCO0ErSTM5Z0JZOztFQUVJLDBCNUl1UWM7RTRJdFFkLFc1SXkzQlE7RTRJeDNCUixZNUl5M0JTO0U0SXgzQlQsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsbUI1SStRYztBSDhzZ0I5QjtBK0lyOWdCUTs7RUFFSSw2QkFBQTtBL0l1OWdCWjtBK0lsOWdCUTtFQUVJLGM1SW5ERDtBSHNnaEJYO0ErSWg5Z0JRO0VBRUksaUI1STYxQnVCO0U0STUxQnZCLGVBQUE7QS9JaTlnQlo7QStJOThnQlE7RUFFSSxnQkFBQTtFQUNBLGM1SWpFRDtFNElrRUMsZUFBQTtBL0krOGdCWjtBK0k1OGdCUTtFQUNJLGdCQUFBO0EvSTg4Z0JaO0ErSTU4Z0JZO0VBQ0ksbUI1SXkxQmU7QUhxbmYvQjtBK0kzOGdCWTtFQUVJLG1CNUlvMUJlO0U0SW4xQmYsYzVJOUVMO0FIMGhoQlg7QStJeDhnQlE7RUFDSSxpQkFBQTtBL0kwOGdCWjtBK0l6OGdCWTtFQUNJLGlCQUFBO0EvSTI4Z0JoQjtBK0l4OGdCWTtFQUVJLGlCQUFBO0VBQ0EsYzVJekZMO0FIa2loQlg7QStJcDhnQlE7RUFDSSxtQjVJbTBCa0I7RTRJbDBCbEIsVzVJdEdEO0U0SXVHQyxnQkFBQTtBL0lzOGdCWjtBK0lwOGdCWTtFQUNJLG1CQUFBO0EvSXM4Z0JoQjtBK0luOGdCWTtFQUdJLG1CQUFBO0VBQ0EsY0FBQTtBL0ltOGdCaEI7QStJOTdnQlk7RUFDSSxtQkFBQTtBL0lnOGdCaEI7QStJNzdnQlk7RUFFSSxtQjVJMUhMO0U0STJISyxjNUkxSEw7QUh3amhCWDtBK0l6N2dCWTtFQUVJLG1CNUkzR047RTRJNEdNLFc1SXJJTDtBSCtqaEJYO0ErSXQ3Z0JRO0VBQ0ksMEJBQUE7RUFDQSw2QkFBQTtBL0l3N2dCWjtBK0lyN2dCUTtFQUNJLHlCQUFBO0VBQ0EsNEJBQUE7QS9JdTdnQlo7QStJcDdnQlE7RUFDSSxrQjVJdXdCb0I7QUgrcWZoQztBK0luN2dCUTtFQUtJLG1CNUl5d0JtQjtFNEl4d0JuQixXNUk3SkQ7QUg4a2hCWDtBK0k5NmdCUTtFQUlJLG1CNUlpd0JtQjtFNElod0JuQixXNUlyS0Q7RTRJc0tDLGdCNUlnd0J3QjtBSDZxZnBDO0ErSTE2Z0JRO0VBQ0ksY0FBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtBL0k0NmdC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O0FsSnlraUJKO0FrSnZraUJHO0VBQ0MsbUIvSXd2Qm9CO0UrSXZ2QnBCLGNBQUE7QWxKeWtpQko7QW1KdGxpQkE7RUFDRTtJQUNJLGNBQUE7RW5KeWxpQko7QUFDRjtBb0oxbGlCRTs7RUFDSSxhQUFBO0FwSjZsaUJOO0FvSjFsaUJNOztFQUNFLHlCQUFBO0VBQ0EsY0FBQTtFQUNBLHdCQUFBO0FwSjZsaUJSIiwiZmlsZSI6ImFyZ29uLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIEFyZ29uIERhc2hib2FyZCBBbmd1bGFyLSB2MS4wLjBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4qIFByb2R1Y3QgUGFnZTogaHR0cHM6Ly93d3cuY3JlYXRpdmUtdGltLmNvbS9wcm9kdWN0L2FyZ29uLWRhc2hib2FyZC1hbmd1bGFyXG4qIENvcHlyaWdodCAyMDE4IENyZWF0aXZlIFRpbSAoaHR0cHM6Ly93d3cuY3JlYXRpdmUtdGltLmNvbSlcbiogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vY3JlYXRpdmV0aW1vZmZpY2lhbC9hcmdvbi1kYXNoYm9hcmQtYW5ndWxhci9ibG9iL21hc3Rlci9MSUNFTlNFLm1kKVxuXG4qIENvZGVkIGJ5IENyZWF0aXZlIFRpbVxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuKi9cblxuLy8gQ29yZVxuXG5AaW1wb3J0IFwiY3VzdG9tL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcImN1c3RvbS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJjdXN0b20vbWl4aW5zXCI7XG5cbi8vIEJvb3RzdHJhcCAoNC4zLjApIGNvbXBvbmVudHNcblxuLy8gQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9ib290c3RyYXBcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3Mvcm9vdFwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9yZWJvb3RcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvdHlwZVwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9pbWFnZXNcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvY29kZVwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9ncmlkXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL3RhYmxlc1wiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9mb3Jtc1wiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9idXR0b25zXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL3RyYW5zaXRpb25zXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2Ryb3Bkb3duXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2J1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9pbnB1dC1ncm91cFwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9jdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvbmF2XCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL25hdmJhclwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9jYXJkXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2JyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9iYWRnZVwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9qdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvYWxlcnRcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvcHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvbWVkaWFcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9jbG9zZVwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9tb2RhbFwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy90b29sdGlwXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL3BvcG92ZXJcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL3ByaW50XCI7XG5cbi8vIEFyZ29uIHV0aWxpdGllcyBhbmQgY29tcG9uZW50c1xuXG5AaW1wb3J0IFwiY3VzdG9tL3JlYm9vdFwiO1xuQGltcG9ydCBcImN1c3RvbS91dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJjdXN0b20vY29tcG9uZW50c1wiO1xuXG4vLyBWZW5kb3IgKFBsdWdpbnMpXG5cbkBpbXBvcnQgXCJjdXN0b20vdmVuZG9yc1wiO1xuXG4vLyBBbmd1bGFyIERpZmZlcmVuY2VzXG5AaW1wb3J0IFwiYW5ndWxhci1kaWZmZXJlbmNlcy9hbmd1bGFyLWRpZmZlcmVuY2VzXCI7XG4iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBhdC1ydWxlLW5vLXZlbmRvci1wcmVmaXgsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIDEuIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG4vLyAyLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMy4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gNC4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4vLyA1LiBTZXR0aW5nIEB2aWV3cG9ydCBjYXVzZXMgc2Nyb2xsYmFycyB0byBvdmVybGFwIGNvbnRlbnQgaW4gSUUxMSBhbmQgRWRnZSwgc29cbi8vICAgIHdlIGZvcmNlIGEgbm9uLW92ZXJsYXBwaW5nLCBub24tYXV0by1oaWRpbmcgc2Nyb2xsYmFyIHRvIGNvdW50ZXJhY3QuXG4vLyA2LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyOyAvLyA1XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA2XG59XG5cbi8vIElFMTArIGRvZXNuJ3QgaG9ub3IgYDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiPmAgaW4gc29tZSBjYXNlcy5cbkBhdC1yb290IHtcbiAgQC1tcy12aWV3cG9ydCB7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbiAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbi8vIFNoaW0gZm9yIFwibmV3XCIgSFRNTDUgc3RydWN0dXJhbCBlbGVtZW50cyB0byBkaXNwbGF5IGNvcnJlY3RseSAoSUUxMCwgb2xkZXIgYnJvd3NlcnMpXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZSB0aGVcbi8vICAgIHRoZSBgaW5oZXJpdGAgdmFsdWUgb24gdGhpbmdzIGxpa2UgYDx0aD5gIGVsZW1lbnRzLlxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIDNcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8vIDJcbn1cblxuLy8gU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxuLy8gVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XG4vLyBtaWdodCBzdGlsbCByZXNwb25kIHRvIHBvaW50ZXIgZXZlbnRzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDMuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDQuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyAxXG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBmb250LXdlaWdodC1ub3RhdGlvblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgZm9udC13ZWlnaHQtbm90YXRpb25cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLy8gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKVxuLy8gd2hpY2ggaGF2ZSBub3QgYmVlbiBtYWRlIGV4cGxpY2l0bHkga2V5Ym9hcmQtZm9jdXNhYmxlICh3aXRob3V0IHRhYmluZGV4KS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb2RlXG4vL1xuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG5wcmUge1xuICAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbiAgbWFyZ2luLXRvcDogMDtcbiAgLy8gUmVzZXQgYnJvd3NlciBkZWZhdWx0IG9mIGAxZW1gIHRvIHVzZSBgcmVtYHNcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLy8gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG4gIG92ZXJmbG93OiBhdXRvO1xuICAvLyBXZSBoYXZlIEB2aWV3cG9ydCBzZXQgd2hpY2ggY2F1c2VzIHNjcm9sbGJhcnMgdG8gb3ZlcmxhcCBjb250ZW50IGluIElFMTEgYW5kIEVkZ2UsIHNvXG4gIC8vIHdlIGZvcmNlIGEgbm9uLW92ZXJsYXBwaW5nLCBub24tYXV0by1oaWRpbmcgc2Nyb2xsYmFyIHRvIGNvdW50ZXJhY3QuXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRVxufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG50aCB7XG4gIC8vIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgZnJvbSB0aGUgYDxib2R5PmAsIG9yIHRoZVxuICAvLyBjbG9zZXN0IHBhcmVudCB3aXRoIGEgc2V0IGB0ZXh0LWFsaWduYC5cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gV29yayBhcm91bmQgYSBGaXJlZm94L0lFIGJ1ZyB3aGVyZSB0aGUgdHJhbnNwYXJlbnQgYGJ1dHRvbmAgYmFja2dyb3VuZFxuLy8gcmVzdWx0cyBpbiBhIGxvc3Mgb2YgdGhlIGRlZmF1bHQgYGJ1dHRvbmAgZm9jdXMgc3R5bGVzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZS9cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGFwcGVhcmFuY2Ugb2YgdGVtcG9yYWwgaW5wdXRzIHRvIGF2b2lkIGEgTW9iaWxlIFNhZmFyaVxuICAvLyBidWcgd2hlcmUgc2V0dGluZyBhIGN1c3RvbSBsaW5lLWhlaWdodCBwcmV2ZW50cyB0ZXh0IGZyb20gYmVpbmcgdmVydGljYWxseVxuICAvLyBjZW50ZXJlZCB3aXRoaW4gdGhlIGlucHV0LlxuICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTg0OFxuICAvLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTI2NlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vL1xuLy8gVmFyaWFibGVzXG4vL1xuXG4vLyBHbG9iYWwgc2V0dGluZ3NcblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmNmY5ZmMgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM4ODk4YWEgIWRlZmF1bHQ7ICAgLy8gTGluZSBmb290ZXIgY29sb3JcbiRncmF5LTcwMDogIzUyNWY3ZiAhZGVmYXVsdDsgICAvLyBMaW5lIHAgY29sb3JcbiRncmF5LTgwMDogIzMyMzI1ZCAhZGVmYXVsdDsgICAvLyBMaW5lIGhlYWRpbmcgY29sb3JcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbiRncmF5czogbWFwLW1lcmdlKChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSwgJGdyYXlzKTtcblxuJGJsdWU6ICAgICM1ZTcyZTQgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzU2MDNhZCAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjODk2NWUwICFkZWZhdWx0O1xuJHBpbms6ICAgICNmM2E0YjUgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2Y1MzY1YyAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmI2MzQwICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmQ2MDAgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzJkY2U4OSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMTFjZGVmICFkZWZhdWx0O1xuJGN5YW46ICAgICMyYmZmYzYgIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuJGNvbG9yczogbWFwLW1lcmdlKChcbiAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gIFwibGlnaHRcIjogICAgICAkZ3JheS00MDAsXG4gIFwibGlnaHRlclwiOiAgICAkZ3JheS0yMDAsXG4gIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiksICRjb2xvcnMpO1xuXG4kZGVmYXVsdDogICAgICAgIzE3MmI0ZCAhZGVmYXVsdDtcbiRwcmltYXJ5OiAgICAgICAjNWU3MmU0ICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICNmN2ZhZmMgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICR0ZWFsICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICRvcmFuZ2UgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRhcmtlcjogICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDE1JSkgIWRlZmF1bHQ7XG5cbiRmYWNlYm9vazogICAgICAjM2I1OTk5ICFkZWZhdWx0O1xuJHR3aXR0ZXI6ICAgICAgICMxZGExZjIgIWRlZmF1bHQ7XG4kZ29vZ2xlLXBsdXM6ICAgI2RkNGIzOSAhZGVmYXVsdDtcbiRpbnN0YWdyYW06ICAgICAjZTQ0MDVmICFkZWZhdWx0O1xuJHBpbnRlcmVzdDogICAgICNiZDA4MWMgIWRlZmF1bHQ7XG4keW91dHViZTogICAgICAgI2NkMjAxZiAhZGVmYXVsdDtcbiRzbGFjazogICAgICAgICAjM2FhZjg1ICFkZWZhdWx0O1xuJGRyaWJiYmxlOiAgICAgICNlYTRjODkgIWRlZmF1bHQ7XG4kZ2l0aHViOiAgICAgICAgIzIyMjIyMiAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoKFxuICBcImRlZmF1bHRcIjogICAgICAkZGVmYXVsdCxcbiAgXCJwcmltYXJ5XCI6ICAgICAgJHByaW1hcnksXG4gIFwic2Vjb25kYXJ5XCI6ICAgICRzZWNvbmRhcnksXG4gIFwic3VjY2Vzc1wiOiAgICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgICAkaW5mbyxcbiAgXCJ3YXJuaW5nXCI6ICAgICAgJHdhcm5pbmcsXG4gIFwiZGFuZ2VyXCI6ICAgICAgICRkYW5nZXIsXG4gIFwid2hpdGVcIjogICAgICAgICR3aGl0ZSxcbiAgXCJuZXV0cmFsXCI6ICAgICAgJHdoaXRlLFxuICBcImRhcmtcIjogICAgICAgICAkZGFyayxcbiAgXCJkYXJrZXJcIjogICAgICAgJGRhcmtlclxuKSwgJHRoZW1lLWNvbG9ycyk7XG5cbiRicmFuZC1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJGJyYW5kLWNvbG9yczogbWFwLW1lcmdlKChcbiAgXCJmYWNlYm9va1wiOiAgICAgJGZhY2Vib29rLFxuICBcInR3aXR0ZXJcIjogICAgICAkdHdpdHRlcixcbiAgXCJnb29nbGUtcGx1c1wiOiAgJGdvb2dsZS1wbHVzLFxuICBcImluc3RhZ3JhbVwiOiAgICAkaW5zdGFncmFtLFxuICBcInBpbnRlcmVzdFwiOiAgICAkcGludGVyZXN0LFxuICBcInlvdXR1YmVcIjogICAgICAkeW91dHViZSxcbiAgXCJzbGFja1wiOiAgICAgICAgJHNsYWNrLFxuICBcImRyaWJiYmxlXCI6ICAgICAkZHJpYmJibGUsXG4gIFwiZ2l0aHViXCI6ICAgICAgICRnaXRodWJcbiksICRicmFuZC1jb2xvcnMpO1xuXG4kc2hhcGUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbiRzaGFwZS1jb2xvcnM6IG1hcC1tZXJnZSgoXG4gIFwiZGVmYXVsdFwiOiAgICAgICMzMjMyNWQsXG4gIFwicHJpbWFyeVwiOiAgICAgICM1NTMzZmYsXG4gIFwic2Vjb25kYXJ5XCI6ICAgICMyNGI0N2UsXG4gIFwibmV1dHJhbFwiOiAgICAgICNlOWVjZWYsXG4gIFwiYmx1ZS1ncmF5XCI6ICAgICNiMmNiZTEsXG5cbiksICRzaGFwZS1jb2xvcnMpO1xuXG4kc2hhcGVzLXByaW1hcnktY29sb3JzOiAoKSAhZGVmYXVsdDtcbiRzaGFwZXMtcHJpbWFyeS1jb2xvcnM6IG1hcC1tZXJnZSgoXG4gIFwic3RlcC0xLWdyYWRpZW50LWJnXCI6ICAgICAgICAgIzI4MTQ4MyxcbiAgXCJzdGVwLTItZ3JhZGllbnQtYmdcIjogICAgICAgICAjOGY2ZWQ1LFxuICBcInN0ZXAtMy1ncmFkaWVudC1iZ1wiOiAgICAgICAgICNkNzgyZDksXG4gIFwic3Bhbi0xLWJnXCI6ICAgICAgICAgICAgICAgICAgIzUzZixcbiAgXCJzcGFuLTItYmdcIjogICAgICAgICAgICAgICAgICAjNDU1M2ZmLFxuICBcInNwYW4tMy1iZ1wiOiAgICAgICAgICAgICAgICAgICM0ZjQwZmYsXG4gIFwic3Bhbi00LWJnXCI6ICAgICAgICAgICAgICAgICAgIzI1ZGRmNSxcbiAgXCJzcGFuLTUtYmdcIjogICAgICAgICAgICAgICAgICAjMWZhMmZmXG4pLCAkc2hhcGVzLXByaW1hcnktY29sb3JzKTtcblxuJHNoYXBlcy1kZWZhdWx0LWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kc2hhcGVzLWRlZmF1bHQtY29sb3JzOiBtYXAtbWVyZ2UoKFxuICBcInN0ZXAtMS1ncmFkaWVudC1iZ1wiOiAgICAgICAgICM3Nzk1ZjgsXG4gIFwic3RlcC0yLWdyYWRpZW50LWJnXCI6ICAgICAgICAgIzY3NzJlNSxcbiAgXCJzdGVwLTMtZ3JhZGllbnQtYmdcIjogICAgICAgICAjNTU1YWJmLFxuICBcInNwYW4tMS1iZ1wiOiAgICAgICAgICAgICAgICAgICM3Nzk1ZjgsXG4gIFwic3Bhbi0yLWJnXCI6ICAgICAgICAgICAgICAgICAgIzdiOWFmZixcbiAgXCJzcGFuLTMtYmdcIjogICAgICAgICAgICAgICAgICAjNmY4ZmY4LFxuICBcInNwYW4tNC1iZ1wiOiAgICAgICAgICAgICAgICAgICM3NmVlYTcsXG4gIFwic3Bhbi01LWJnXCI6ICAgICAgICAgICAgICAgICAgIzZhZGFmZlxuKSwgJHNoYXBlcy1kZWZhdWx0LWNvbG9ycyk7XG5cbiRzaGFwZXMtbGlnaHQtY29sb3JzOiAoKSAhZGVmYXVsdDtcbiRzaGFwZXMtbGlnaHQtY29sb3JzOiBtYXAtbWVyZ2UoKFxuICBcInN0ZXAtMS1ncmFkaWVudC1iZ1wiOiAgICAgICAgICNiMmNiZTEsXG4gIFwic3RlcC0yLWdyYWRpZW50LWJnXCI6ICAgICAgICAgI2Y2ZjlmYyxcbiAgXCJzdGVwLTMtZ3JhZGllbnQtYmdcIjogICAgICAgICAjZjZmOWZjLFxuICBcInNwYW4tMS1iZ1wiOiAgICAgICAgICAgICAgICAgICNiNGNjZTEsXG4gIFwic3Bhbi0yLWJnXCI6ICAgICAgICAgICAgICAgICAgI2M1ZGJlZixcbiAgXCJzcGFuLTMtYmdcIjogICAgICAgICAgICAgICAgICAjYjlkNWVkLFxuICBcInNwYW4tNC1iZ1wiOiAgICAgICAgICAgICAgICAgICM3NGU0YTIsXG4gIFwic3Bhbi01LWJnXCI6ICAgICAgICAgICAgICAgICAgIzAwODE2OVxuKSwgJHNoYXBlcy1saWdodC1jb2xvcnMpO1xuXG4kc2hhcGVzLWRhcmstY29sb3JzOiAoKSAhZGVmYXVsdDtcbiRzaGFwZXMtZGFyay1jb2xvcnM6IG1hcC1tZXJnZSgoXG4gIFwic3RlcC0xLWdyYWRpZW50LWJnXCI6ICAgICAgICAgIzMyMzI1ZCxcbiAgXCJzdGVwLTItZ3JhZGllbnQtYmdcIjogICAgICAgICAjMzIzMjVkLFxuICBcInN0ZXAtMy1ncmFkaWVudC1iZ1wiOiAgICAgICAgICMzMjMyNWQsXG4gIFwic3Bhbi0xLWJnXCI6ICAgICAgICAgICAgICAgICAgIzJlMmU1NyxcbiAgXCJzcGFuLTItYmdcIjogICAgICAgICAgICAgICAgICAjMmIyYjU4LFxuICBcInNwYW4tMy1iZ1wiOiAgICAgICAgICAgICAgICAgICMyNTI1NGQsXG4gIFwic3Bhbi00LWJnXCI6ICAgICAgICAgICAgICAgICAgI2Q3ODJkOSxcbiAgXCJzcGFuLTUtYmdcIjogICAgICAgICAgICAgICAgICAjMDA4MTY5XG4pLCAkc2hhcGVzLWRhcmstY29sb3JzKTtcblxuXG4vLyBUcmFuc2x1Y2VudCBjb2xvciB2YXJpYXRpb25zXG4kdHJhbnNsdWNlbnQtY29sb3Itb3BhY2l0eTogLjYgIWRlZmF1bHQ7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMjAwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBBY3Rpb24gY29sb3JzXG5cbiRzdGFyLXJhdGluZy1jb2xvcjogJGdyYXktNDAwICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nLWNvbG9yLWFjdGl2ZTogJHllbGxvdyAhZGVmYXVsdDtcblxuJGZhdm9yaXRlLWNvbG9yOiAkeWVsbG93ICFkZWZhdWx0O1xuJGxpa2UtY29sb3I6ICRibHVlICFkZWZhdWx0O1xuJGxvdmUtY29sb3I6ICRyZWQgIWRlZmF1bHQ7XG5cblxuLy8gQm9keVxuXG5cbiRib2R5LWJnOiAjZjhmOWZlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICRncmF5LTcwMCAhZGVmYXVsdDtcblxuXG5cbi8vIFNlY3Rpb25zXG5cbiRzZWN0aW9uLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kc2VjdGlvbi1jb2xvcnM6IG1hcC1tZXJnZSgoXG4gIFwicHJpbWFyeVwiOiAgICAgICRib2R5LWJnLFxuICBcInNlY29uZGFyeVwiOiAgICAkc2Vjb25kYXJ5LFxuICBcImxpZ2h0XCI6ICAgICAgICAkZ3JheS00MDAsXG4gIFwiZGFya1wiOiAgICAgICAgICRkYXJrLFxuICBcImRhcmtlclwiOiAgICAgICAkZGFya2VyXG4pLCAkc2VjdGlvbi1jb2xvcnMpO1xuXG4vLyBMaW5rc1xuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgbm9uZSAhZGVmYXVsdDtcblxuLy8gR3JpZCBicmVha3BvaW50c1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKTtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG5cblxuLy8gU3BhY2luZ1xuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuJHNwYWNlcnM6IG1hcC1tZXJnZSgoXG4gIC05OiAtKCRzcGFjZXIgKiAxMCksXG4gIC04OiAtKCRzcGFjZXIgKiA4KSxcbiAgLTc6IC0oJHNwYWNlciAqIDYpLFxuICAtNjogLSgkc3BhY2VyICogNC41KSxcbiAgLTU6IC0oJHNwYWNlciAqIDMpLFxuICAtNDogLSgkc3BhY2VyICogMS41KSxcbiAgLTM6IC0kc3BhY2VyLFxuICAtMjogLSgkc3BhY2VyICogLjUpLFxuICAtMTogLSgkc3BhY2VyICogLjI1KSxcbiAgMDogMCxcbiAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAyOiAoJHNwYWNlciAqIC41KSxcbiAgMzogJHNwYWNlcixcbiAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICA1OiAoJHNwYWNlciAqIDMpLFxuICA2OiAoJHNwYWNlciAqIDQuNSksXG4gIDc6ICgkc3BhY2VyICogNiksXG4gIDg6ICgkc3BhY2VyICogOCksXG4gIDk6ICgkc3BhY2VyICogMTApXG4pLCAkc3BhY2Vycyk7XG5cblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuJHNpemVzOiBtYXAtbWVyZ2UoKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbiksICRzaXplcyk7XG5cbi8vIENvbXBvbmVudHNcblxuJHNoYXBlLWhlaWdodC14bDogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRzaGFwZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kc2hhcGUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14bDogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC40Mzc1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIDAgLjVyZW0gcmdiYSgkZ3JheS02MDAsIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAwIDJyZW0gMCByZ2JhKCRncmF5LTYwMCwgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMCAzcmVtIHJnYmEoJGdyYXktNjAwLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWhvdmVyLWNvbG9yOiAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGNvbXBvbmVudC1ob3Zlci1iZzogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjb21wb25lbnQtaG92ZXItYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBGb250c1xuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogT3BlbiBTYW5zLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUteGw6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpO1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC44NzUpO1xuJGZvbnQtc2l6ZS14czogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC43NSk7XG5cbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDYwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1leHRyYS1ib2xkOiAgICAgIDcwMCAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRzaGFwZS1oZWlnaHQtYmFzZTogICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjYyNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjA2MjUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuOTM3NSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44MTI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjYyNSAhZGVmYXVsdDtcblxuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAoJHNwYWNlciAvIDIpO1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kaGVhZGluZy1sZXR0ZXItc3BhY2luZzogICAgICAuMDI1ZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1mb250LXNpemU6ICAgICAgICAgICAuOTVyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kaGVhZGluZy1mb250LXdlaWdodDogICAgICAgICAkaGVhZGluZ3MtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLXRpdGxlLWxldHRlci1zcGFjaW5nOiAgICAgIC4wMjVlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgIDEuMzc1cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctdGl0bGUtZm9udC13ZWlnaHQ6ICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kaGVhZGluZy10aXRsZS10ZXh0LXRyYW5zZm9ybTogICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLXNlY3Rpb24tbGV0dGVyLXNwYWNpbmc6ICAgICAgLjAyNWVtICFkZWZhdWx0O1xuJGhlYWRpbmctc2VjdGlvbi1mb250LXNpemU6ICAgICAgICAgICAxLjM3NXJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXNlY3Rpb24tZm9udC13ZWlnaHQ6ICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kaGVhZGluZy1zZWN0aW9uLXRleHQtdHJhbnNmb3JtOiAgICAgIHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgMy4zcmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgMi43NXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDIuMTg3NXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDEuNjI3NXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRwYXJhZ3JhcGgtZm9udC1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiAgICAgICAzMDAgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWxpbmUtaGVpZ2h0OiAgICAgICAxLjcgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICgkcGFyYWdyYXBoLWZvbnQtc2l6ZSAqIDEuMjUpICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpO1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogMiAhZGVmYXVsdDtcblxuXG4vLyBJY29uc1xuXG4kaWNvbi1zaXplOiAzcmVtICFkZWZhdWx0O1xuJGljb24tc2l6ZS14bDogNXJlbSAhZGVmYXVsdDtcbiRpY29uLXNpemUtbGc6IDRyZW0gIWRlZmF1bHQ7XG4kaWNvbi1zaXplLXNtOiAycmVtICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLXNwYWNlci15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtZm9udC1zaXplOiAgICAgICAgLjY1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC10ZXh0LXRyYW5zZm9ybTogICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1sZXR0ZXItc3BhY2luZzogICAxcHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib2R5LWZvbnQtc2l6ZTogICAgICAgIC44MTI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcImRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4odGhlbWUtY29sb3IoXCJkZWZhdWx0XCIpLCA3JSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstaGVhZC1iZzogICAgICAgICAgbGlnaHRlbih0aGVtZS1jb2xvcihcImRlZmF1bHRcIiksIDQlKSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhlYWQtY29sb3I6ICAgICAgIGxpZ2h0ZW4odGhlbWUtY29sb3IoXCJkZWZhdWx0XCIpLCAzNSUpICFkZWZhdWx0O1xuXG4vLyBCdXR0b25zICsgRm9ybXNcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRzaGFwZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgMCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDEpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgbm9uZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkc2hhcGUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuODc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRzaGFwZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgIDFweCAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG5cbi8vIEJ1dHRvbnNcblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCArIDAuNSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgIDYwMCAhZGVmYXVsdDtcblxuJGJ0bi10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgbm9uZSAhZGVmYXVsdDtcblxuXG4kYnRuLWxldHRlci1zcGFjaW5nOiAgICAgICAgICAuMDI1ZW0gIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDRweCA2cHggcmdiYSg1MCw1MCw5MywuMTEpLCAwIDFweCAzcHggcmdiYSgwLDAsMCwuMDgpICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3gtc2hhZG93OiAgICAgICAgMCA3cHggMTRweCByZ2JhKDUwLDUwLDkzLC4xKSwgMCAzcHggNnB4IHJnYmEoMCwwLDAsLjA4KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRidG4taG92ZXItYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBub25lICFkZWZhdWx0O1xuXG4kYnRuLWhvdmVyLXRyYW5zbGF0ZS15OiAgICAgICAtMXB4ICFkZWZhdWx0O1xuXG4vLyBGb3Jtc1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy14bDogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMteGwgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtbXV0ZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI0Y3RkFGRSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1tdXRlZC1iZzogICAgICAgICAgICAgICAgICBsaWdodGVuKCRpbnB1dC1tdXRlZC1iZywgMSUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYWx0ZXJuYXRpdmUtYm94LXNoYWRvdzogICAgICAgICAgMCAxcHggM3B4IHJnYmEoNTAsNTAsOTMsLjE1KSwgMCAxcHggMCByZ2JhKDAsMCwwLC4wMikgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYWx0ZXJuYXRpdmUtYm94LXNoYWRvdzogICAgMCA0cHggNnB4IHJnYmEoNTAsNTAsOTMsLjExKSwwIDFweCAzcHggcmdiYSgwLDAsMCwuMDgpICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICNjYWQxZDcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDsgLy8gMCAxcHggM3B4IDAgJGdyYXktNDAwICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoNTAsMTUxLDIxMSwuMjUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7IC8vMCAxcHggM3B4IDAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYWxsIC4ycyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KSAhZGVmYXVsdDtcblxuXG4vLyBJbnB1dCBncm91cHNcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1mb2N1cy1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtZm9jdXMtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIGdyb3VwXG5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ3VzdG9tIGZvcm1zXG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ob3Zlci1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ob3Zlci1iZzogICAgICAgICAgICAkY29tcG9uZW50LWhvdmVyLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ob3Zlci1ib3JkZXItY29sb3I6ICAkY29tcG9uZW50LWhvdmVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjb21wb25lbnQtYWN0aXZlLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4vLyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCAhZGVmYXVsdDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9tIHRvZ2dsZVxuXG4kY3VzdG9tLXRvZ2dsZS13aWR0aDogICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kY3VzdG9tLXRvZ2dsZS1zbGlkZXItYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tdG9nZ2xlLWNoZWNrZWQtYmc6ICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stdmFsaWQtYmc6ICAgICAgICAgbGlnaHRlbigkc3VjY2VzcywgMTUlKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtYmc6ICAgICAgIGxpZ2h0ZW4oJHdhcm5pbmcsIDE1JSkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICB0aGVtZS1jb2xvcihcIndhcm5pbmdcIikgIWRlZmF1bHQ7XG5cblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy14bDogICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzLXhsICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG5cbiRjaGFydC1oZWlnaHQ6IDM1MHB4ICFkZWZhdWx0O1xuJGNoYXJ0LWhlaWdodC1zbTogMjMwcHggIWRlZmF1bHQ7XG5cbiRjaGFydC1sZWdlbmQtbWFyZ2luLXRvcDogMi41cmVtICFkZWZhdWx0O1xuJGNoYXJ0LWxlZ2VuZC1mb250LXNpemU6ICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY2hhcnQtbGVnZW5kLWNvbG9yOiAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcbiRjaGFydC1sZWdlbmQtaGVpZ2h0OiAkY2hhcnQtbGVnZW5kLW1hcmdpbi10b3AgKyAkY2hhcnQtbGVnZW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG5cblxuXG4vLyBNYXBcbiRtYXAtaGVpZ2h0OiA1MDBweCAhZGVmYXVsdDtcblxuXG4vLyBObyBVSSBTbGlkZXJcblxuJG5vdWktdGFyZ2V0LWJnOiAgICAgICAgICAgICAgICAgICNlY2VlZWYgIWRlZmF1bHQ7XG4kbm91aS10YXJnZXQtdGhpY2tuZXNzOiAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5vdWktdGFyZ2V0LWJvcmRlci1yYWRpdXM6ICAgICAgIDVweCAhZGVmYXVsdDtcbiRub3VpLXRhcmdldC1ib3JkZXItY29sb3I6ICAgICAgICAwICFkZWZhdWx0O1xuJG5vdWktdGFyZ2V0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKDkwLDk3LDEwNSwuMSkgIWRlZmF1bHQ7XG5cbiRub3VpLXNsaWRlci1jb25uZWN0LWJnOiAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRub3VpLXNsaWRlci1jb25uZWN0LWRpc2FibGVkLWJnOiAjYjJiMmIyICFkZWZhdWx0O1xuXG4kbm91aS1oYW5kbGUtd2lkdGg6ICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRub3VpLWhhbmRsZS1iZzogICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbm91aS1oYW5kbGUtYm9yZGVyOiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRub3VpLWhhbmRsZS1ib3JkZXItcmFkaXVzOiAgICAgICAxMDAlICFkZWZhdWx0O1xuXG4kbm91aS1vcmlnaW4tYm9yZGVyLXJhZGl1czogICAgICAgMnB4ICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duXG5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgMCA1MHB4IDEwMHB4IHJnYmEoNTAsIDUwLCA5MywgLjEpLCAwIDE1cHggMzVweCByZ2JhKDUwLCA1MCwgOTMsIC4xNSksIDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtcGFkZGluZy15OiAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtcGFkZGluZy14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtc3BhY2UteDogICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYmc6ICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWxpbmstY29sb3I6ICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstaG92ZXItY29sb3I6ICAgICAgICBkYXJrZW4odGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCA1JSkgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICBjb2xvci15aXEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpKSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYm94LXNoYWRvdzogICAgICAgICAgICAgICRidG4tYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgIGFsbCAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1mb250LXNpemU6ICAgICAgICAgLjlyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICA0MDAgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1saW5rLXRleHQtdHJhbnNmb3JtOiAgICBub3JtYWwgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1saW5rLWxldHRlci1zcGFjaW5nOiAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtbGluay1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItc2VhcmNoLXdpZHRoOiAgICAgICAgICAgICAgIDI3MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1zZWFyY2gtYmc6ICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRuYXZiYXItc2VhcmNoLWJvcmRlci1yYWRpdXM6ICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXNlYXJjaC1ib3JkZXItd2lkdGg6ICAgICAgICAycHggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWJnOiAgICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuOTUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC42NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjY1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRuYXZiYXItc2VhcmNoLWRhcmstYm9yZGVyLWNvbG9yOiAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjYpICFkZWZhdWx0O1xuJG5hdmJhci1zZWFyY2gtZGFyay1jb2xvcjogICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuNikgIWRlZmF1bHQ7XG4kbmF2YmFyLXNlYXJjaC1kYXJrLWZvY3VzLWJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLXNlYXJjaC1kYXJrLWZvY3VzLWNvbG9yOiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIC45KSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1iZzogICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWJnOiAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWJnOiAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ib3JkZXItY29sb3I6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kbmF2YmFyLXNlYXJjaC1saWdodC1ib3JkZXItY29sb3I6ICByZ2JhKDAsIDAsIDAsIC42KSAhZGVmYXVsdDtcbiRuYXZiYXItc2VhcmNoLWxpZ2h0LWNvbG9yOiAgICAgICAgICByZ2JhKDAsIDAsIDAsIC42KSAhZGVmYXVsdDtcbiRuYXZiYXItc2VhcmNoLWxpZ2h0LWZvY3VzLWJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLXNlYXJjaC1saWdodC1mb2N1cy1jb2xvcjogICAgcmdiYSgwLCAwLCAwLCAuOSkgIWRlZmF1bHQ7XG5cblxuXG4vLyBWZXJ0aWNhbCBuYXZiYXJcbiRuYXZiYXItdmVydGljYWwtYm94LXNoYWRvdzogMCAwIDJyZW0gMCByZ2JhKDEzNiwgMTUyLCAxNzAsIC4xNSkgIWltcG9ydGFudDtcbiRuYXZiYXItdmVydGljYWwtd2lkdGg6IDI1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci12ZXJ0aWNhbC1wYWRkaW5nLXg6IDEuNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdmVydGljYWwtbmF2LWxpbmstcGFkZGluZy14OiAgMS41cmVtICFkZWZhdWx0O1xuJG5hdmJhci12ZXJ0aWNhbC1uYXYtbGluay1wYWRkaW5nLXk6ICAuNjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItaWNvbi1taW4td2lkdGg6IDIuMjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICRuYXYtbGluay1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyZWFkY3J1bWItcGFkZGluZy14OiAwICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuXG5cblxuLy8gTWFpbiBjb250ZW50XG5cbiRtYWluLWNvbnRlbnQtcGFkZGluZy15OiA0MHB4ICFkZWZhdWx0O1xuJG1haW4tY29udGVudC1wYWRkaW5nLXg6IDI0cHggIWRlZmF1bHQ7IC8vIGluIHB4IHRvIGNvbWJpbmUgd2l0aCAkZ3JpZC1ndXR0ZXItd2lkdGhcblxuXG4vLyBBbGVydHNcblxuJGFsZXJ0LXBhZGRpbmcteTogMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6IDEuNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAtMiAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6IC0yICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAwICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDsgLy9yZ2JhKCRibGFjaywgLjEyNSk7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRjbG9zZS1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuNikgIWRlZmF1bHQgIWRlZmF1bHQ7XG4kY2xvc2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC45KSAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDBweCAuNXJlbSAycmVtIDBweCByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjk1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDY2JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjM1cmVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJhZGdlLXRleHQtdHJhbnNmb206ICAgICAgICAgICAgICAgdXBwZXJjYXNlO1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuJGJhZGdlLWNpcmNsZS1zaXplOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuLy8gUGFnaW5hdGlvblxuXG4vLyAkcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbi8vICRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbi8vICRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbi8vICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuLy8gJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuLy8gJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuLy8gJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbi8vJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGJ0bi1ob3Zlci1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAkYnRuLWhvdmVyLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBjYWxjKCN7JGNhcmQtYm9yZGVyLXJhZGl1c30gLSAjeyRjYXJkLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLyRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbi8vJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4vLyBNb2RhbHNcblxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzgwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgIDEuMTtcblxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgIDAgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgMTVweCAzNXB4IHJnYmEoNTAsNTAsOTMsLjIpLCAwIDVweCAxNXB4IHJnYmEoMCwwLDAsLjE3KTtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgMTVweCAzNXB4IHJnYmEoNTAsNTAsOTMsLjIpLCAwIDVweCAxNXB4IHJnYmEoMCwwLDAsLjE3KTtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjE2ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vIERhdGVwaWNrZXJcblxuJGRhdGVwaWNrZXItYm9yZGVyLXJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkYXRlcGlja2VyLWRyb3Bkb3duLXBhZGRpbmc6IDIwcHggMjJweCAhZGVmYXVsdDtcblxuJGRhdGVwaWNrZXItY2VsbC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlICFkZWZhdWx0O1xuJGRhdGVwaWNrZXItY2VsbC1ob3Zlci1iYWNrZ3JvdW5kOiBsaWdodGVuKCRncmF5LTQwMCwgNTUlKTtcbiRkYXRlcGlja2VyLWNlbGwtYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJGRhdGVwaWNrZXItY2VsbC13aWR0aDogMzZweCAhZGVmYXVsdDtcbiRkYXRlcGlja2VyLWNlbGwtaGVpZ2h0OiAzNnB4ICFkZWZhdWx0O1xuXG4kZGF0ZXBpY2tlci1kaXNhYmxlZC1jZWxsLWNvbG9yOiAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlci1kaXNhYmxlZC1vbGQtbmV3LWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRkYXRlcGlja2VyLWhlYWRlci1jZWxsLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kZGF0ZXBpY2tlci1hY3RpdmUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRkYXRlcGlja2VyLWFjdGl2ZS1iYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlci1hY3RpdmUtYm94LXNoYWRvdzogICAgICBub25lICFkZWZhdWx0O1xuXG4kZGF0ZXBpY2tlci1yYW5nZS1iYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlci1yYW5nZS1jZWxsLWZvY3VzZWQtYmFja2dyb3VuZDogZGFya2VuKCRkYXRlcGlja2VyLXJhbmdlLWJhY2tncm91bmQsIDUlKTtcbiRkYXRlcGlja2VyLXJhbmdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlci1yYW5nZS1oaWdobGlnaHRlZC1iZzogJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kZGF0ZXBpY2tlci1kcm9wZG93bi1ib3JkZXI6IGxpZ2h0ZW4oJGdyYXktNDAwLCA0MCUpO1xuJGRhdGVwaWNrZXItZHJvcGRvd24tYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRkYXRlcGlja2VyLWhpZ2hsaWdodGVkLWJnOiAkZGF0ZXBpY2tlci1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vLyBGb290ZXJcblxuXG4kZm9vdGVyLXBhZGRpbmcteTogICAgICAgICAgICAgIDIuNXJlbTtcbiRmb290ZXItcGFkZGluZy14OiAgICAgICAgICAgICAgMDtcblxuXG4kZm9vdGVyLWxpbmstZm9udC1zaXplOiAuODVyZW0gIWRlZmF1bHQ7XG4kZm9vdGVyLWJnOiB0aGVtZS1jb2xvcihcInNlY29uZGFyeVwiKSAhZGVmYXVsdDtcbiRmb290ZXItY29sb3I6ICRncmF5LTYwMCAhZGVmYXVsdDtcbiRmb290ZXItbGluay1jb2xvcjogJGdyYXktNjAwICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rLWhvdmVyLWNvbG9yOiAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctY29sb3I6ICRncmF5LTYwMCAhZGVmYXVsdDtcbiRmb290ZXItaGVhZGluZy1mb250LXNpemU6ICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbi8vIEltcG9ydCBCb290c3RyYXAgdmFyaWFibGUgZGVmYXVsdHNcblxuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy92YXJpYWJsZXNcIjtcbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cblxuLy9cbi8vIENvbG9yIHN5c3RlbVxuLy9cblxuLy8gc3R5bGVsaW50LWRpc2FibGVcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbiRncmF5czogbWFwLW1lcmdlKChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSwgJGdyYXlzKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuJGNvbG9yczogbWFwLW1lcmdlKChcbiAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiksICRjb2xvcnMpO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoKFxuICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4pLCAkdGhlbWUtY29sb3JzKTtcbi8vIHN0eWxlbGludC1lbmFibGVcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuLy8gc3R5bGVsaW50LWRpc2FibGVcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4kc3BhY2VyczogbWFwLW1lcmdlKChcbiAgMDogMCxcbiAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAyOiAoJHNwYWNlciAqIC41KSxcbiAgMzogJHNwYWNlcixcbiAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICA1OiAoJHNwYWNlciAqIDMpXG4pLCAkc3BhY2Vycyk7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4kc2l6ZXM6IG1hcC1tZXJnZSgoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJSxcbiAgYXV0bzogYXV0b1xuKSwgJHNpemVzKTtcbi8vIHN0eWxlbGludC1lbmFibGVcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgIHVuZGVybGluZSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIEZvbnRzXG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuODc1KSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkZ3JheS05MDAsIDcuNSUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lci1zbTogICAgICAgICAgICAgICAgICgkZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6ICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1sZyAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNFJTNDY2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSwgMCAwIDVweCByZ2JhKCRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvciwgLjUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAxMjUlICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBjYWxjKCN7JGNhcmQtYm9yZGVyLXJhZGl1c30gLSAjeyRjYXJkLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuNzUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC42cyBlYXNlICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2FsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlciB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6ICRoMS1mb250LXNpemU7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6ICRoMi1mb250LXNpemU7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6ICRoMy1mb250LXNpemU7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6ICRoNC1mb250LXNpemU7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6ICRoNS1mb250LXNpemU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6ICRoNi1mb250LXNpemU7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuLmRpc3BsYXktMSB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXkxLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTItc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTMge1xuICBmb250LXNpemU6ICRkaXNwbGF5My1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkzLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktNCB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXk0LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJGhyLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkaHItbWFyZ2luLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1mb250LXNpemU7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDgwJTsgLy8gYmFjayB0byBkZWZhdWx0IGZvbnQtc2l6ZVxuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNCBcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICgkc3BhY2VyIC8gMik7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBmb250LXNpemU6ICRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBpbmRlbnRhdGlvbiwgbWVkaWEtcXVlcnktbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cbn1cbiIsIi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgZm9udC1zaXplOiAkY29kZS1mb250LXNpemU7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAka2JkLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cbn1cblxuLy8gRmx1aWQgY29udGFpbmVyXG4vL1xuLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aCAxMDAlIHdpZHRoIGZvclxuLy8gZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxufVxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2Utcm93KCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIC0yKTtcbiAgbWFyZ2luLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4OyAvLyBQcmV2ZW50IGNvbGxhcHNpbmdcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDJweCwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW5mcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4OyAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICAgIHBhZGRpbmctbGVmdDogKCRndXR0ZXIgLyAyKTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZzsgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCxcbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY2NlbnQtYmc7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHRyIHtcbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1hY2NlbnQtYmc7XG4gICAgfVxuICB9XG5cbiAgJi50YWJsZS1ob3ZlciB7XG4gICAgdGJvZHkgdHIge1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDA1N1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAvLyBNYW51YWxseSB1c2UgdGhlIGlmL2Vsc2UgaW5zdGVhZCBvZiB0aGUgbWl4aW4gdG8gYWNjb3VudCBmb3IgaU9TIG92ZXJyaWRlXG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIC8vIE90aGVyd2lzZSB1bmRvIHRoZSBpT1MgZGVmYXVsdFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzKCk7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCxcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICY6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZSwgYXMgaXQgbG9va3MgYmFkIGFuZCBjYW5ub3QgYmUgbWFkZSB0b1xuICAgIC8vIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICB9XG59XG5cbi8vIE1ha2UgZmlsZSBpbnB1dHMgYmV0dGVyIG1hdGNoIHRleHQgaW5wdXRzIGJ5IGZvcmNpbmcgdGhlbSB0byBuZXcgbGluZXMuXG4uZm9ybS1jb250cm9sLWZpbGUsXG4uZm9ybS1jb250cm9sLXJhbmdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXG4vLyB0ZXh0IHRvIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXl9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteX0gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+LzxsZWdlbmQ+YCBkZWZhdWx0XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktbGd9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1sZ30gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktc219ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1zbX0gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xufVxuXG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gVGhlIGAuZm9ybS1ncm91cC0qIGZvcm0tY29udHJvbGAgdmFyaWF0aW9ucyBhcmUgc2FkbHkgZHVwbGljYXRlZCB0byBhdm9pZCB0aGVcbi8vIGlzc3VlIGRvY3VtZW50ZWQgaW4gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNTA3NC5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbC1zbSB7XG4gICY6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbC1sZyB7XG4gICY6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcblxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKFwidmFsaWRcIiwgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IpO1xuQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKFwiaW52YWxpZFwiLCAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yKTtcblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cblxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUHJldmVudCBzaG9ydGVyIGVsZW1lbnRzIGZyb20gZ3Jvd2luZyB0byBzYW1lIGhlaWdodCBhcyBvdGhlcnMgKGUuZy4sIHNtYWxsIGJ1dHRvbnMgZ3Jvd2luZyB0byBub3JtYWwgc2l6ZWQgYnV0dG9uIGhlaWdodClcblxuICAvLyBCZWNhdXNlIHdlIHVzZSBmbGV4LCB0aGUgaW5pdGlhbCBzaXppbmcgb2YgY2hlY2tib3hlcyBpcyBjb2xsYXBzZWQgYW5kXG4gIC8vIGRvZXNuJ3Qgb2NjdXB5IHRoZSBmdWxsLXdpZHRoICh3aGljaCBpcyB3aGF0IHdlIHdhbnQgZm9yIHhzIGdyaWQgdGllciksXG4gIC8vIHNvIHdlIGZvcmNlIHRoYXQgaGVyZS5cbiAgLmZvcm0tY2hlY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAsXG4gICAgLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIC44KTtcbiAgICBib3JkZXItcmFkaXVzOiAuMnJlbTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wsXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAvL2JveC1zaGFkb3c6IDAgMXB4ICRpbnB1dC1mb2N1cy13aWR0aCAwIHJnYmEoJGNvbG9yLCAuNzUpO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAyNSUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDI1JSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDI1JSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYm9keS1iZywgMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRmb250LXNpemUtYmFzZSwgJGJ0bi1saW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gIC8vIFNoYXJlIGhvdmVyIGFuZCBmb2N1cyBzdHlsZXNcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIC5idG4gZWxlbWVudHNcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1mb2N1cy1ib3gtc2hhZG93LCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbmEuYnRuLmRpc2FibGVkLFxuZmllbGRzZXQ6ZGlzYWJsZWQgYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICB9XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLW91dGxpbmUtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkYnRuLWxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMCUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAwJSkpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICAgICAgfVxuICAgIH0gLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuXG4gICAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gICAgLnNob3c+Ji5kcm9wZG93bi10b2dnbGUge1xuICAgICAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgICAgICB9XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgICAuc2hvdz4mLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPW5vbmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7IC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxufSIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4uZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wcmlnaHQsXG4uZHJvcGRvd24sXG4uZHJvcGxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTsgLy8gUmVkZWNsYXJlIGJlY2F1c2UgbmVzdGluZyBjYW4gY2F1c2UgaW5oZXJpdGFuY2UgaXNzdWVzXG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcHJpZ2h0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChyaWdodCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wbGVmdCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiBlbmFibGVkIFBvcHBlci5qcywgcmVzZXQgYmFzaWMgZHJvcGRvd24gcG9zaXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5kcm9wZG93bi1tZW51IHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xufVxuIiwiQG1peGluIGNhcmV0LWRvd24ge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC13aWR0aCAqIC44NTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd247XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cDtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15KSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAwIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyLFxuICAuZHJvcHVwICY6OmFmdGVyLFxuICAuZHJvcHJpZ2h0ICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wbGVmdCAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5zaG93IC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIC5idG4sXG4gIC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuICsgLmJ0bixcbiAgPiAuYnRuICsgLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIC8vIEFkZCB3aWR0aCAxJSBhbmQgZmxleC1iYXNpcyBhdXRvIHRvIGVuc3VyZSB0aGF0IGJ1dHRvbiB3aWxsIG5vdCB3cmFwIG91dFxuICAgIC8vIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUgRWRnZSsgYW5kIEZpcmVmb3guIENocm9tZSBkb2VzIG5vdCByZXF1aXJlIHRoaXMuXG4gICAgd2lkdGg6IDElO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgLy8gQ3VzdG9tIGZpbGUgaW5wdXRzIGhhdmUgbW9yZSBjb21wbGV4IG1hcmt1cCwgdGh1cyByZXF1aXJpbmcgZGlmZmVyZW50XG4gIC8vIGJvcmRlci1yYWRpdXMgb3ZlcnJpZGVzLlxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7IEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7IH1cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAuYnRuICsgLmJ0bixcbiAgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgfVxufVxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7IG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cbi5pbnB1dC1ncm91cC1hcHBlbmQgeyBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBBbGxvdyB1c2Ugb2YgPGxhYmVsPiBlbGVtZW50cyBieSBvdmVycmlkaW5nIG91ciBkZWZhdWx0IG1hcmdpbi1ib3R0b21cbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgQGV4dGVuZCAuZm9ybS1jb250cm9sLWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgQGV4dGVuZCAuZm9ybS1jb250cm9sLXNtO1xufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZCByb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbiIsIi8vIEVtYmVkZGVkIGljb25zIGZyb20gT3BlbiBJY29uaWMuXG4vLyBSZWxlYXNlZCB1bmRlciBNSVQgYW5kIGNvcHlyaWdodCAyMDE0IFdheWJ1cnkuXG4vLyBodHRwczovL3VzZWljb25pYy5jb20vb3BlblxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEJhc2UgY2xhc3MgdGFrZXMgY2FyZSBvZiBhbGwgdGhlIGtleSBiZWhhdmlvcmFsIGFzcGVjdHMuXG5cbi5jdXN0b20tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICgxcmVtICogJGxpbmUtaGVpZ2h0LWJhc2UpO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tY29udHJvbC1ndXR0ZXI7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIC8vIEJhY2tncm91bmQtY29sb3IgYW5kICh3aGVuIGVuYWJsZWQpIGdyYWRpZW50XG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCgkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyKTtcbiAgICBsZWZ0OiAtJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBGb3JlZ3JvdW5kIChpY29uKVxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCgkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyKTtcbiAgICBsZWZ0OiAtJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uY3VzdG9tLWNoZWNrYm94IHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iZyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTtcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xuICBmb250LXNpemU6ICRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTtcbiAgZm9udC1zaXplOiAkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc7XG59XG5cblxuLy8gRmlsZVxuLy9cbi8vIEN1c3RvbSBmaWxlIGlucHV0LlxuXG4uY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdmFsdWUgaW4gJGN1c3RvbS1maWxlLXRleHQge1xuICAgICY6bGFuZygjeyRsYW5nfSkgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjtcbiAgICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBjb250ZW50OiBcIkJyb3dzZVwiO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tZmlsZS1idXR0b24tYmcpO1xuICAgIGJvcmRlci1sZWZ0OiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzIDApO1xuICB9XG59XG5cbi8vIFJhbmdlXG4vL1xuLy8gU3R5bGUgcmFuZ2UgaW5wdXRzIHRoZSBzYW1lIGFjcm9zcyBicm93c2Vycy4gVmVuZG9yLXNwZWNpZmljIHJ1bGVzIGZvciBwc2V1ZG9cbi8vIGVsZW1lbnRzIGNhbm5vdCBiZSBtaXhlZC4gQXMgc3VjaCwgdGhlcmUgYXJlIG5vIHNoYXJlZCBzdHlsZXMgZm9yIGZvY3VzIG9yXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cblxuLmN1c3RvbS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIEZpcmVmb3ggc3BlY2lmaWNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IC0oJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAqIC4yNSk7IC8vIFdlYmtpdCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgLy8gTm8gbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHlcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAvLyBXaHk/XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IC8vIE5vIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGaXJlZm94IHNwZWNpZmljP1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IC8vIE5vIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tcy10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0ICogLjUpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzIG9yIGA8dWw+YHMuXG5cbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nLXkgJG5hdi1saW5rLXBhZGRpbmcteDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVyaXRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICA+IC5jb250YWluZXIsXG4gID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJG5hdmJhci1icmFuZC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW5hdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBmb250LXNpemU6ICRuYXZiYXItdG9nZ2xlci1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLm5hdmJhci10b2dnbGVyIGVsZW1lbnRzXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgIC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2hpdGUgbGlua3MgYWdhaW5zdCBhIGRhcmsgYmFja2dyb3VuZFxuLm5hdmJhci1kYXJrIHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0oJGNhcmQtc3BhY2VyLXkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzIDAgMCk7XG4gIH1cblxuICArIC5saXN0LWdyb3VwIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLSgkY2FyZC1zcGFjZXIteCAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogLSgkY2FyZC1zcGFjZXIteCAvIDIpO1xuICBtYXJnaW4tbGVmdDogLSgkY2FyZC1zcGFjZXIteCAvIDIpO1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xufVxuXG4uY2FyZC1pbWcge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDYXJkIGltYWdlIGNhcHNcbi5jYXJkLWltZy10b3Age1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIENhcmQgZGVja1xuXG4uY2FyZC1kZWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogLSRjYXJkLWRlY2stbWFyZ2luO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZ3JvdXAtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm9ubHktY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtaGVhZGVyLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb2x1bW5zXG4vL1xuXG4uY2FyZC1jb2x1bW5zIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWNvbHVtbnMtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcbiAgICBjb2x1bW4tZ2FwOiAkY2FyZC1jb2x1bW5zLWdhcDtcbiAgICBvcnBoYW5zOiAxO1xuICAgIHdpZG93czogMTtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlaXIgd2lkdGggY2hhbmdlXG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEFjY29yZGlvblxuLy9cblxuLmFjY29yZGlvbiB7XG4gIC5jYXJkOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICAuY2FyZDpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAuY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAuY2FyZDpmaXJzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cblxuICAuY2FyZDpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIFN1cHByZXNzIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3IgaW4gbW9kZXJuIGJyb3dzZXJzXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6ICRicmVhZGNydW1iLWRpdmlkZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gSUU5LTExIGhhY2sgdG8gcHJvcGVybHkgaGFuZGxlIGh5cGVybGluayB1bmRlcmxpbmVzIGZvciBicmVhZGNydW1icyBidWlsdFxuICAvLyB3aXRob3V0IGA8dWw+YHMuIFRoZSBgOjpiZWZvcmVgIHBzZXVkby1lbGVtZW50IGdlbmVyYXRlcyBhbiBlbGVtZW50XG4gIC8vICp3aXRoaW4qIHRoZSAuYnJlYWRjcnVtYi1pdGVtIGFuZCB0aGVyZWJ5IGluaGVyaXRzIHRoZSBgdGV4dC1kZWNvcmF0aW9uYC5cbiAgLy9cbiAgLy8gVG8gdHJpY2sgSUUgaW50byBzdXBwcmVzc2luZyB0aGUgdW5kZXJsaW5lLCB3ZSBnaXZlIHRoZSBwc2V1ZG8tZWxlbWVudCBhblxuICAvLyB1bmRlcmxpbmUgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVtb3ZlIGl0LlxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24tcGFkZGluZy15ICRwYWdpbmF0aW9uLXBhZGRpbmcteDtcbiAgbWFyZ2luLWxlZnQ6IC0kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg7XG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDI7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIC5wYWdlLWxpbmsgZWxlbWVudHNcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJGJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy15ICRiYWRnZS1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG5cdGNvbG9yOiBzYXR1cmF0ZShkYXJrZW4oJGJnLCAxMCUpLCAxMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUobGlnaHRlbigkYmcsIDI1JSksIC41KTtcblxuICBcdCZbaHJlZl0ge1xuXHQgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuXHQgICAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcblx0ICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdCAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcblx0ICAgIH1cblx0fVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDIpO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5hbGVydC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQodGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1ib3JkZXItbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1jb2xvci1sZXZlbCkpO1xuICB9XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAgIGhyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgICB9XG5cbiAgICAuYWxlcnQtbGluayB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbn0iLCJAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSB7IGJhY2tncm91bmQtcG9zaXRpb246ICRwcm9ncmVzcy1oZWlnaHQgMDsgfVxuICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBmb250LXNpemU6ICRwcm9ncmVzcy1mb250LXNpemU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nO1xufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIC8vIFBsYWNlIHRoZSBib3JkZXIgb24gdGhlIGxpc3QgaXRlbXMgYW5kIG5lZ2F0aXZlIG1hcmdpbiB1cCBmb3IgYmV0dGVyIHN0eWxpbmdcbiAgbWFyZ2luLWJvdHRvbTogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9hY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogJGNsb3NlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiAuNzU7XG4gIH1cblxuICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLmNsb3NlIGVsZW1lbnRzXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXgsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuLy8gc3R5bGVsaW50LWVuYWJsZVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4ubW9kYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxuXG4gIC5tb2RhbC1vcGVuICYge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gKCN7JG1vZGFsLWRpYWxvZy1tYXJnaW59ICogMikpO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZykgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nKSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHNob3VsZCB0aGVyZSBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuXG4gIC8vIEVhc2lseSBwbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tbGVmdDogLjI1cmVtOyB9XG4gID4gOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tcmlnaHQ6IC4yNXJlbTsgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICgjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXB9ICogMikpO1xuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxuXG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnIHsgbWF4LXdpZHRoOiAkbW9kYWwtbGc7IH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICR0b29sdGlwLW1hcmdpbjtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXRvcCB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWJvdHRvbSB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgdG9wOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1sZWZ0O1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1ibG9jay1uby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgZm9udC1zaXplOiAkcG9wb3Zlci1mb250LXNpemU7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcG9wb3Zlci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcG9wb3Zlci1ib3gtc2hhZG93KTtcblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwICRib3JkZXItcmFkaXVzLWxnO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICBtYXJnaW4tYm90dG9tOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IGNhbGMoKCN7JHBvcG92ZXItYXJyb3ctaGVpZ2h0fSArICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgKiAtMSk7XG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSxcbiAgLmFycm93OjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlIHtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gIH1cblxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBsZWZ0OiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRib3JkZXItcmFkaXVzLWxnIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlLFxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUge1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgfVxuXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICB9XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlLFxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgfVxuXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIHRvcDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gLTIpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkYm9yZGVyLXJhZGl1cy1sZyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSxcbiAgLmFycm93OjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlIHtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gIH1cblxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICByaWdodDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1sZWZ0O1xuICB9XG59XG5cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBjb2xvcjogJHBvcG92ZXItaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItaGVhZGVyLWJnLCA1JSk7XG4gICRvZmZzZXQtYm9yZGVyLXdpZHRoOiBjYWxjKCN7JGJvcmRlci1yYWRpdXMtbGd9IC0gI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG9mZnNldC1ib3JkZXItd2lkdGgpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWJvZHktcGFkZGluZy15ICRwb3BvdmVyLWJvZHktcGFkZGluZy14O1xuICBjb2xvcjogJHBvcG92ZXItYm9keS1jb2xvcjtcbn1cbiIsIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAyLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDQuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cbiAgQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXG4gIEBzdXBwb3J0cyAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldixcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblxuICBAc3VwcG9ydHMgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjZzO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0tbmV4dCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldixcbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXByZXYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblxuICAgIEBzdXBwb3J0cyAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgLy8gV2UgY2FuJ3QgaGF2ZSBhIHRyYW5zaXRpb24gaGVyZSBiZWNhdXNlIFdlYktpdCBjYW5jZWxzIHRoZSBjYXJvdXNlbFxuICAvLyBhbmltYXRpb24gaWYgeW91IHRyaXAgdGhpcyB3aGlsZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgYW5pbWF0aW9uLlxuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogLjk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZztcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZztcbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiBvcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmcsIC41KTtcblxuICAgIC8vIFVzZSBwc2V1ZG8gY2xhc3NlcyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDIpO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDIpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICAgI3skcGFyZW50fSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBhI3skcGFyZW50fSxcbiAgICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgICAjeyRwYXJlbnR9IHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDg3ZGVnLCAkY29sb3IgMCwgYWRqdXN0LWh1ZSgkY29sb3IsIDI1JSkgMTAwJSkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtaXhpbiBiZy10cmFuc2x1Y2VudC12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAgICN7JHBhcmVudH0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4ocmdiYSgkY29sb3IsICR0cmFuc2x1Y2VudC1jb2xvci1vcGFjaXR5KSwgNyUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGEjeyRwYXJlbnR9LFxuICAgIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4ocmdiYSgkY29sb3IsICR0cmFuc2x1Y2VudC1jb2xvci1vcGFjaXR5KSwgMTIlKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBCb3JkZXJcbi8vXG5cbi5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wICAgICB7IGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0ICAgeyBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0ICAgIHsgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kI3skaW5maXh9LW5vbmUgICAgICAgICB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWlubGluZSAgICAgICB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS1ibG9jayAgICAgICAgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tdGFibGUgICAgICAgIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LXRhYmxlLXJvdyAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tdGFibGUtY2VsbCAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tZmxleCAgICAgICAgIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWZsZXggIHsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICAuZC1wcmludC1ub25lICAgICAgICAgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lICAgICAgIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtYmxvY2sgICAgICAgIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC10YWJsZSAgICAgICAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LXRhYmxlLXJvdyAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LXRhYmxlLWNlbGwgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC1mbGV4ICAgICAgICAgeyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lLWZsZXggIHsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgaWZyYW1lLFxuICBlbWJlZCxcbiAgb2JqZWN0LFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTIxYnk5IHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg5IC8gMjEpO1xuICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg5IC8gMTYpO1xuICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDMgLyA0KTtcbiAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xYnkxIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgxIC8gMSk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7IEBpbmNsdWRlIGZsb2F0LWxlZnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tcmlnaHQgeyBAaW5jbHVkZSBmbG9hdC1yaWdodDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1ub25lICB7IEBpbmNsdWRlIGZsb2F0LW5vbmU7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuQG1peGluIGZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbW1vbiB2YWx1ZXNcblxuLy8gU2FzcyBsaXN0IG5vdCBpbiB2YXJpYWJsZXMgc2luY2UgaXQncyBub3QgaW50ZW5kZWQgZm9yIGN1c3RvbWl6YXRpb24uXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3k7XG5cbkBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zIHtcbiAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7IHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDsgfVxufVxuXG4vLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLnN0aWNreS10b3Age1xuICBAc3VwcG9ydHMgKHBvc2l0aW9uOiBzdGlja3kpIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgfVxufVxuIiwiLy9cbi8vIFNjcmVlbnJlYWRlcnNcbi8vXG5cbi5zci1vbmx5IHtcbiAgQGluY2x1ZGUgc3Itb25seSgpO1xufVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpO1xufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5zaGFkb3ctc20geyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbSAhaW1wb3J0YW50OyB9XG4uc2hhZG93IHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3cgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1sZyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbm9uZSB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuXG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTsgfVxuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnRleHQjeyRpbmZpeH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtdXBwZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1saWdodCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuXG4udGV4dC13aGl0ZSB7IGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KFwiLnRleHQtI3skY29sb3J9XCIsICR2YWx1ZSk7XG59XG5cbi50ZXh0LWJvZHkgeyBjb2xvcjogJGJvZHktY29sb3IgIWltcG9ydGFudDsgfVxuLnRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ibGFjay01MCB7IGNvbG9yOiByZ2JhKCRibGFjaywgLjUpICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdoaXRlLTUwIHsgY29sb3I6IHJnYmEoJHdoaXRlLCAuNSkgIWltcG9ydGFudDsgfVxuXG4vLyBNaXNjXG5cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaWYgKCRpZ25vcmUtd2FybmluZyAhPSB0cnVlKSB7XG4gICAgQHdhcm4gXCJUaGUgYHRleHQtaGlkZSgpYCBtaXhpbiBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mIHY0LjEuMC4gSXQgd2lsbCBiZSByZW1vdmVkIGVudGlyZWx5IGluIHY1LlwiO1xuICB9XG59XG4iLCIvL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgQGluY2x1ZGUgaW52aXNpYmxlKHZpc2libGUpO1xufVxuXG4uaW52aXNpYmxlIHtcbiAgQGluY2x1ZGUgaW52aXNpYmxlKGhpZGRlbik7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVmlzaWJpbGl0eVxuXG5AbWl4aW4gaW52aXNpYmxlKCR2aXNpYmlsaXR5KSB7XG4gIHZpc2liaWxpdHk6ICR2aXNpYmlsaXR5ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3NcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OlxuLy8gaHR0cHM6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmICRlbmFibGUtcHJpbnQtc3R5bGVzIHtcbiAgQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgb3V0IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kYFxuICAgICAgLy9jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXJcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAmOm5vdCguYnRuKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vYVtocmVmXTo6YWZ0ZXIge1xuICAgIC8vICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICAvL31cblxuICAgIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgIC8vIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcbiAgICAvL1xuXG4gICAgLy9hW2hyZWZePVwiI1wiXTo6YWZ0ZXIsXG4gICAgLy9hW2hyZWZePVwiamF2YXNjcmlwdDpcIl06OmFmdGVyIHtcbiAgICAvLyBjb250ZW50OiBcIlwiO1xuICAgIC8vfVxuXG4gICAgcHJlIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGdyYXktNTAwOyAgIC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmludGluZyBUYWJsZXM6XG4gICAgLy8gaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAgLy9cblxuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiIsImlmcmFtZSB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbm1haW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4iLCIvL1xuLy8gQmFja2dyb3VuZHNcbi8vXG5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG5cdEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSk7XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuXHRAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcblx0QGluY2x1ZGUgYmctZ3JhZGllbnQtdmFyaWFudChcIi5iZy1ncmFkaWVudC0jeyRjb2xvcn1cIiwgJHZhbHVlKTtcbn1cblxuXG4vLyBCYWNrZ3JvdW5kIGNvbG9ycyB3aXRoIHRyYW5zcGFyZW5jeVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy10cmFuc2x1Y2VudC12YXJpYW50KFwiLmJnLXRyYW5zbHVjZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG5cbi8vIFNlY3Rpb25zIGJhY2tncm91bmRzXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICRzZWN0aW9uLWNvbG9ycyB7XG4gICAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5zZWN0aW9uLSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG5cbi8vIFNoYXBlIChzdmcpIGZpbGwgY29sb3JzXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC5maWxsLSN7JGNvbG9yfSAge1xuICAgICAgICBmaWxsOiAkdmFsdWU7XG4gICAgfVxuXG4gICAgLnN0cm9rZS0jeyRjb2xvcn0gIHtcbiAgICAgICAgc3Ryb2tlOiAkdmFsdWU7XG4gICAgfVxufVxuXG4uZmlsbC1vcGFjaXR5LTgge1xuXHRmaWxsLW9wYWNpdHk6IC44O1xufVxuIiwiLy9cbi8vIEZsb2F0aW5nXG4vLyBmbG9hdGluZyBhbmltYXRpb24gdXRpbGl0eSBjbGFzc1xuLy9cblxuXG4uZmxvYXRpbmcge1xuXHRhbmltYXRpb246IGZsb2F0aW5nIDNzIGVhc2UgaW5maW5pdGU7XG5cdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cblx0Jjpob3ZlciB7XG4gICAgICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgfVxufVxuXG5cbi8vIFNpemUgdmFyaWF0aW9uc1xuXG4uZmxvYXRpbmctbGcge1xuXHRhbmltYXRpb246IGZsb2F0aW5nLWxnIDNzIGVhc2UgaW5maW5pdGU7XG59XG5cbi5mbG9hdGluZy1zbSB7XG5cdGFuaW1hdGlvbjogZmxvYXRpbmctc20gM3MgZWFzZSBpbmZpbml0ZTtcbn1cblxuXG4vLyBLZXlmcmFtZXNcblxuQGtleWZyYW1lcyBmbG9hdGluZy1sZyB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KVxuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTVweClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpXG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsb2F0aW5nIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpXG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweClcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmxvYXRpbmctc20ge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweClcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweClcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpXG4gICAgfVxufVxuIiwiLy9cbi8vIEhlbHBlclxuLy8gaGVscGVyIGNsYXNzZXMgZm9yIGRpZmZlcmVudCBjYXNlc1xuLy9cblxuXG4vLyBDbGVhcmZpeCBmb3Igc2VjdGlvbnMgdGhhdCB1c2UgZmxvYXQgcHJvcGVydHlcblxuLmZsb2F0Zml4IHtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuIiwiLy9cbi8vIEltYWdlXG4vL1xuXG4uaW1nLWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiLy9cbi8vIE9wYWNpdHlcbi8vIG1vZGlmeSB0aGUgdHJhbnNwYXJlbmN5IG9mIGFuIGVsZW1lbnQgd2l0aCB0aGlzIHF1aWNrIG1vZGlmaWVyIGNsYXNzZXNcbi8vXG5cbi5vcGFjaXR5LTEge1xuICAgIG9wYWNpdHk6IC4xICFpbXBvcnRhbnQ7XG59XG4ub3BhY2l0eS0yIHtcbiAgICBvcGFjaXR5OiAuMiAhaW1wb3J0YW50O1xufVxuLm9wYWNpdHktMyB7XG4gICAgb3BhY2l0eTogLjMgIWltcG9ydGFudDtcbn1cbi5vcGFjaXR5LTQge1xuICAgIG9wYWNpdHk6IC40ICFpbXBvcnRhbnQ7XG59XG4ub3BhY2l0eS01IHtcbiAgICBvcGFjaXR5OiAuNSAhaW1wb3J0YW50O1xufVxuLm9wYWNpdHktNiB7XG4gICAgb3BhY2l0eTogLjYgIWltcG9ydGFudDtcbn1cbi5vcGFjaXR5LTcge1xuICAgIG9wYWNpdHk6IC43ICFpbXBvcnRhbnQ7XG59XG4ub3BhY2l0eS04IHtcbiAgICBvcGFjaXR5OiAuOCAhaW1wb3J0YW50O1xufVxuLm9wYWNpdHktOCB7XG4gICAgb3BhY2l0eTogLjkgIWltcG9ydGFudDtcbn1cbi5vcGFjaXR5LTEwIHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG4iLCIvL1xuLy8gT3ZlcmZsb3dcbi8vXG5cbi5vdmVyZmxvdy12aXNpYmxlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3ctaGlkZGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCIvL1xuLy8gUG9zaXRpb25cbi8vIG1vZGlmaWVyIGNsYXNzZXMgdG8gYmUgYXBwbGllZCBvbiBhbiBhYm9zb2x1dGUgcG9zaXRpb25lZCBlbGVtZW50XG4vLyB1c2UgaXQgbmV4dCB0byAucG9zaXRpb24tYWJzb2x1dGUgY2xhc3Ncbi8vXG5cbkBlYWNoICRzaXplLCAkdmFsdWUgaW4gJHNwYWNlcnMge1xuXHQudG9wLSN7JHNpemV9IHtcblx0XHR0b3A6ICR2YWx1ZTtcblx0fVxuXHQucmlnaHQtI3skc2l6ZX0ge1xuXHRcdHJpZ2h0OiAkdmFsdWU7XG5cdH1cblx0LmJvdHRvbS0jeyRzaXplfSB7XG5cdFx0Ym90dG9tOiAkdmFsdWU7XG5cdH1cblx0LmxlZnQtI3skc2l6ZX0ge1xuXHRcdGxlZnQ6ICR2YWx1ZTtcblx0fVxufVxuXG4uY2VudGVyIHtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG4iLCIvL1xuLy8gSGVpZ2h0XG4vL1xuXG4uaC0xMDB2aCB7XG5cdGhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbn1cbiIsIi8vXG4vLyBTcGFjaW5nXG4vL1xuXG4ucm93LnJvdy1ncmlkID4gW2NsYXNzKj1cImNvbC1cIl0gKyBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5yb3cucm93LWdyaWQgPiBbY2xhc3MqPVwiY29sLWxnLVwiXSArIFtjbGFzcyo9XCJjb2wtbGctXCJdIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLnJvdy5yb3ctZ3JpZCA+IFtjbGFzcyo9XCJjb2wtbWQtXCJdICsgW2NsYXNzKj1cImNvbC1tZC1cIl0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAucm93LnJvdy1ncmlkID4gW2NsYXNzKj1cImNvbC1zbS1cIl0gKyBbY2xhc3MqPVwiY29sLXNtLVwiXSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4ucm93LWdyaWQgKyAucm93LWdyaWQge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG59XG5cblxuLy8gTmVnYXRpdmUgbWFyZ2lucyBhbmQgcGFkZGluZ3NcblxuQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBbY2xhc3MqPVwibXQtLVwiXSxcbiAgICBbY2xhc3MqPVwibXItLVwiXSxcbiAgICBbY2xhc3MqPVwibWItLVwiXSxcbiAgICBbY2xhc3MqPVwibWwtLVwiXSB7XG4gICAgICAgIFxuICAgIH1cblxuXG4gICAgLy8gTGFyZ2UgbmVnYXRpdmUgbWFyZ2lucyBpbiBwaXhlbHNcblxuICAgIC5tdC0tMTAwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tci0tMTAwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTAwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iLS0xMDAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTAwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sLS0xMDAge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tdC0tMTUwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTE1MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYi0tMTUwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTE1MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tdC0tMjAwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYi0tMjAwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tdC0tMzAwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYi0tMzAwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG5cbiAgICAvLyBMYXJnZSBtYXJnaW5zIGluIHBpeGVsc1xuXG4gICAgLnB0LTEwMCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucGItMTAwIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5wdC0xNTAge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTUwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnBiLTE1MCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNTBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucHQtMjAwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5wYi0yMDAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjAwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnB0LTI1MCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNTBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucGItMjUwIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI1MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5wdC0zMDAge1xuICAgICAgICBwYWRkaW5nLXRvcDogMzAwcHghaW1wb3J0YW50O1xuICAgIH1cbiAgICAucGItMzAwIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwMHB4IWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIvL1xuLy8gU2hhZG93c1xuLy9cblxuLy8gR2VuZXJhbCBzdHlsZXNcbltjbGFzcyo9XCJzaGFkb3dcIl0ge1xuXHRAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gICAgfVxufVxuXG5cbi8vIFNpemUgdmFyaWF0aW9uc1xuLnNoYWRvdy1zbS0taG92ZXI6aG92ZXIge1xuXHRib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbSAhaW1wb3J0YW50O1xufVxuXG4uc2hhZG93LS1ob3Zlcjpob3ZlciB7XG5cdGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7XG59XG5cbi5zaGFkb3ctbGctLWhvdmVyOmhvdmVyIHtcblx0Ym94LXNoYWRvdzogJGJveC1zaGFkb3ctbGcgIWltcG9ydGFudDtcbn1cblxuLnNoYWRvdy1ub25lLS1ob3Zlcjpob3ZlciB7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtMzAwIHsgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtNDAwIHsgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtNTAwIHsgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtNjAwIHsgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtNzAwIHsgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtODAwIHsgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtOTAwIHsgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50OyB9XG5cblxuLy8gVGV4dCBkZWNvcmF0aW9uc1xuXG4udGV4dC11bmRlcmxpbmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuLnRleHQtdGhyb3VnaCB7IHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG5cblxuLy8gVGV4dCBzaXplXG5cbi50ZXh0LXhzIHsgZm9udC1zaXplOiAkZm9udC1zaXplLXhzICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXNtIHsgZm9udC1zaXplOiAkZm9udC1zaXplLXNtICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWxnIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWxnICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXhsIHsgZm9udC1zaXplOiAkZm9udC1zaXplLXhsICFpbXBvcnRhbnQ7IH1cblxuXG4vLyBMaW5lIGhlaWdodHNcblxuLmxoLTEwMCB7IGxpbmUtaGVpZ2h0OiAxOyB9XG4ubGgtMTEwIHsgbGluZS1oZWlnaHQ6IDEuMTsgfVxuLmxoLTEyMCB7IGxpbmUtaGVpZ2h0OiAxLjI7IH1cbi5saC0xMzAgeyBsaW5lLWhlaWdodDogMS4zOyB9XG4ubGgtMTQwIHsgbGluZS1oZWlnaHQ6IDEuNDsgfVxuLmxoLTE1MCB7IGxpbmUtaGVpZ2h0OiAxLjU7IH1cbi5saC0xNjAgeyBsaW5lLWhlaWdodDogMS42OyB9XG4ubGgtMTcwIHsgbGluZS1oZWlnaHQ6IDEuNzsgfVxuLmxoLTE4MCB7IGxpbmUtaGVpZ2h0OiAxLjg7IH1cblxuXG4vLyBMZXR0ZXIgc3BhY2luZ3NcblxuLmxzLTEgeyBsZXR0ZXItc3BhY2luZzogLjA2MjVyZW07IH1cbi5scy0xNSB7IGxldHRlci1zcGFjaW5nOiAuMDkzNzVyZW07IH1cbi5scy0yIHsgbGV0dGVyLXNwYWNpbmc6IDAuMTI1cmVtOyB9XG5cbi8vIENvbG9yIHZhcmlhdGlvbnNcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG5cdEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuIiwiLy9cbi8vIFRyYW5mb3JtXG4vL1xuXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0LnRyYW5zZm9ybS1wZXJzcGVjdGl2ZS1yaWdodCB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKSBwZXJzcGVjdGl2ZSgxMDQwcHgpIHJvdGF0ZVkoLTExZGVnKSByb3RhdGVYKDJkZWcpIHJvdGF0ZSgyZGVnKTtcblx0fVxuXHQudHJhbnNmb3JtLXBlcnNwZWN0aXZlLWxlZnR7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKSBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoMTFkZWcpIHJvdGF0ZVgoMmRlZykgcm90YXRlKC0yZGVnKVxuXHR9XG59XG4iLCIvL1xuLy8gQWxlcnRcbi8vXG5cbi5hbGVydCB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xufVxuXG4vLyBBbGVydCBoZWFkaW5nXG5cbi5hbGVydC1oZWFkaW5nIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgZm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xuICAgIG1hcmdpbi10b3A6IC4xNXJlbTtcbn1cblxuXG4vLyBBbGVydCBpY29uXG4uYWxlcnQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIGkubmkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgIH1cbn1cblxuXG4vLyBBbGVydCB0ZXh0IG5leHQgdG8gYW4gYWxlcnQgaWNvblxuLmFsZXJ0LXRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vIEFsZXJ0IGxpbmtzXG5cbltjbGFzcyo9XCJhbGVydC1cIl0ge1xuICAgIC5hbGVydC1saW5rIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCByZ2JhKCR3aGl0ZSwgLjUpO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBEaXNtaXNzaWJsZSBhbGVydFxuLy9cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgICAuY2xvc2Uge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6ICRhbGVydC1wYWRkaW5nLXg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAuNik7XG4gICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIC45KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICAgICAgcmlnaHQ6IC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJj5zcGFuOm5vdCguc3Itb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAmPnNwYW46bm90KC5zci1vbmx5KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAuOSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gQXZhdGFyXG4vL1xuXG4vLyBHZW5lcmFsIHN0eWxlc1xuXG4uYXZhdGFyIHtcblx0Y29sb3I6ICR3aGl0ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXktNTAwO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMXJlbTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRoZWlnaHQ6IDQ4cHg7XG5cdHdpZHRoOiA0OHB4O1xuXG4gICAgaW1nIHtcbiAgICBcdHdpZHRoOiAxMDAlO1xuICAgIFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgICsgLmF2YXRhci1jb250ZW50IHtcbiAgICBcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBcdG1hcmdpbi1sZWZ0OiAuNzVyZW07XG4gICAgfVxufVxuXG5cbi8vIEF2YXRhciBzaXplIHZhcmlhdGlvbnNcblxuLmF2YXRhci1sZyB7XG5cdHdpZHRoOiA1OHB4O1xuXHRoZWlnaHQ6IDU4cHg7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbn1cblxuLmF2YXRhci1zbSB7XG5cdHdpZHRoOiAzNnB4O1xuXHRoZWlnaHQ6IDM2cHg7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbn1cbiIsIi8vXG4vLyBBdmF0YXIgZ3JvdXBcbi8vXG5cbi8vIEdlbmVyYWwgc3R5bGVzXG5cbi5hdmF0YXItZ3JvdXAge1xuXHQuYXZhdGFyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMjtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAkY2FyZC1iZztcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0ei1pbmRleDogMztcblx0XHR9XG5cdH1cblxuXHQuYXZhdGFyICsgLmF2YXRhciB7XG5cdFx0bWFyZ2luLWxlZnQ6IC0xcmVtO1xuXG5cdH1cbn1cbiIsIi8vXG4vLyBCYWRnZVxuLy9cblxuXG4vLyBHZW5lcmFsIHN0eWxlc1xuXG4uYmFkZ2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYmFkZ2UtdGV4dC10cmFuc2ZvbTtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxuXG4vLyBTaXplIHZhcmlhdGlvbnNcblxuLmJhZGdlLW1kIHtcbiAgICBwYWRkaW5nOiAuNjVlbSAxZW07XG59XG5cbi5iYWRnZS1sZyB7XG4gICAgcGFkZGluZzogLjg1ZW0gMS4zNzVlbTtcbn1cblxuXG4vLyBNdWx0aXBsZSBpbmxpbmUgYmFkZ2VzXG5cbi5iYWRnZS1pbmxpbmUge1xuICAgIG1hcmdpbi1yaWdodDogLjYyNXJlbTtcblxuICAgICsgc3BhbiB7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIEJhZGdlIHNwYWNpbmcgaW5zaWRlIGEgYnRuIHdpdGggc29tZSB0ZXh0XG5cbi5idG4ge1xuICAgIC5iYWRnZSB7XG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgICAgICB9XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIENpcmNsZSBiYWRnZVxuLy9cblxuXG4vLyBHZW5lcmFsIHN0eWxlc1xuXG4uYmFkZ2UtY2lyY2xlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbn1cbiIsIi8vXG4vLyBEb3QgYmFkZ2Vcbi8vXG5cblxuLy8gR2VuZXJhbCBzdHlsZXNcblxuLmJhZGdlLWRvdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICRncmF5LTgwMDtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogLjM3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAuMzc1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjM3NXJlbTtcbiAgICB9XG5cbiAgICAmLmJhZGdlLW1kIHtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICB3aWR0aDogLjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IC41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5iYWRnZS1sZyB7XG4gICAgICAgIGkge1xuICAgICAgICAgICAgd2lkdGg6IC42MjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IC42MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gSWNvbiBidXR0b25zXG4vL1xuXG4vLyBHZW5lcmFsIHN0eWxlc1xuXG4uYnRuIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIHRleHQtdHJhbnNmb3JtOiAkYnRuLXRleHQtdHJhbnNmb3JtO1xuICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgIGxldHRlci1zcGFjaW5nOiAkYnRuLWxldHRlci1zcGFjaW5nO1xuICAgZm9udC1zaXplOiAkaW5wdXQtYnRuLWZvbnQtc2l6ZTtcbiAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWhvdmVyLWJveC1zaGFkb3cpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidG4taG92ZXItdHJhbnNsYXRlLXkpO1xuICAgfVxuXG4gICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgIH1cblxuXG4gICAvLyBJY29uc1xuXG4gICBpOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgc3ZnOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgIH1cblxuICAgaTpub3QoOmxhc3QtY2hpbGQpLFxuICAgc3ZnOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgIH1cbn1cblxuXG4vLyBSZW1vdmUgdHJhbnNsYXRlWSBhbmQgbWFyZ2luIGFuaW1hdGlvbiB3aGVuIGJ0biBpcyBpbmNsdWRlZCBpbiBhIGJ0bi1ncm91cCBvciBpbnB1dC1ncm91cFxuXG4uYnRuLWdyb3VwLFxuLmlucHV0LWdyb3VwIHtcbiAgIC5idG4ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgfVxufVxuXG5cbi8vIFNpemUgdmFyaWF0aW9uc1xuXG4uYnRuLXNtIHtcbiAgIGZvbnQtc2l6ZTogJGlucHV0LWJ0bi1mb250LXNpemUtc207XG59XG5cbi5idG4tbGcge1xuICAgZm9udC1zaXplOiAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZztcbn1cblxuXG4vLyBTb21lIHF1aWNrIGZpeGVzICh0byByZXZpc2UpXG5cbi8vIEZpeGVzXG5bY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdIHtcbiAgIGJvcmRlci13aWR0aDogMXB4O1xufVxuXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHtcbiAgIGNvbG9yOiBkYXJrZW4odGhlbWUtY29sb3IoXCJzZWNvbmRhcnlcIiksIDUwJSk7XG59XG5cbi5idG4taW5uZXItLWljb24ge1xuICAgaTpub3QoLmZhKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDJweDtcbiAgIH1cbn1cblxuLmJ0bi1saW5rIHtcbiAgIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgfVxufVxuXG4uYnRuLW5ldXRyYWwge1xuICAgY29sb3I6IHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKTtcbn1cbiIsIi8vXG4vLyBJY29uIGJ1dHRvbnNcbi8vXG5cbi5idG4taWNvbiB7XG4gICAgLmJ0bi1pbm5lci0taWNvbiB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgfVxuICAgfVxuXG4gICAuYnRuLWlubmVyLS10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICBtYXJnaW4tbGVmdDogMC43NWVtO1xuICAgfVxuXG4gICAuYnRuLWlubmVyLS10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgIG1hcmdpbi1yaWdodDogMC43NWVtO1xuICAgfVxufVxuXG5cbi8vIEJ1dHRvbiBvbmx5IHdpdGggaWNvbiBhbmQgTk8gdGV4dFxuXG4uYnRuLWljb24tb25seSB7XG4gICAgd2lkdGg6IDIuMzc1cmVtO1xuICAgIGhlaWdodDogMi4zNzVyZW07XG4gICAgcGFkZGluZzogMDtcbn1cblxuYS5idG4taWNvbi1vbmx5IHtcbiAgICBsaW5lLWhlaWdodDogMi41O1xufVxuXG4uYnRuLWljb24tb25seS5idG4tc20ge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbn1cblxuXG4vL1xuLy8gQ2xpcGJvYXJkIGJ1dHRvblxuLy8gZGVkaWNhdGVkIGVsZW1lbnQgZm9yIGNvcHlpbmcgaWNvbnNcbi8vXG5cbi5idG4taWNvbi1jbGlwYm9hcmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgY29sb3I6ICRncmF5LTgwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgYm9yZGVyOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAuNXJlbSAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAuMSkgMCAwIDAgMXB4LCByZ2JhKDAsIDAsIDAsIC4xKSAwIDRweCAxNnB4O1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGNvbG9yOiB0aGVtZS1jb2xvcihcInByaW1hcnlcIik7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG4iLCIvL1xuLy8gQnJhbmQgYnV0dG9uc1xuLy9cblxuXG4vLyBDb2xvciB2YXJpYXRpb25zXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICRicmFuZC1jb2xvcnMge1xuICAgIC5idG4tI3skY29sb3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBDYXJkXG4vL1xuXG5cbi5jYXJkLXRyYW5zbHVjZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4LCA5MSwgMTUyLCAwLjA4KTtcbn1cbiIsIi8vXG4vLyBQcm9maWxlIGNhcmRcbi8vXG5cbi5jYXJkLXByb2ZpbGUtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTgwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICBAZXh0ZW5kIC5zaGFkb3c7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTMwJSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTMzJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXJkLXByb2ZpbGUtc3RhdHMge1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcblxuICAgID4gZGl2IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IC44NzVyZW07XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgICAgICAgICAgY29sb3I6ICRncmF5LTUwMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmQtcHJvZmlsZS1hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAuODc1cmVtO1xufVxuIiwiLy9cbi8vIENhcmQgd2l0aCBibG9ja3F1b3RlXG4vL1xuXG4uY2FyZC1ibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5zdmctYmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogOTVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC05NHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBDYXJkIHdpdGggaG92ZXIgYW5pbWF0aW9uc1xuLy9cblxuLmNhcmQtbGlmdC0taG92ZXIge1xuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBDYXJkIHN0YXRzXG4vL1xuXG4uY2FyZC1zdGF0cyB7XG4gICAgLmNhcmQtYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICAgIH1cblxuICAgIC5jYXJkLXN0YXR1cy1idWxsZXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgfVxufVxuIiwiLy9cbi8vIENoYXJ0XG4vL1xuXG4uY2hhcnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6ICRjaGFydC1oZWlnaHQ7XG59XG5cblxuLy8gU2l6ZSB2YXJpYXRpb25zXG5cbi5jaGFydC1zbSB7XG4gICAgaGVpZ2h0OiAkY2hhcnQtaGVpZ2h0LXNtO1xufVxuXG5cbi8vIExlZ2VuZFxuXG4uY2hhcnQtbGVnZW5kIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6ICRjaGFydC1sZWdlbmQtbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRjaGFydC1sZWdlbmQtZm9udC1zaXplO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJGNoYXJ0LWxlZ2VuZC1jb2xvcjtcbn1cblxuLmNoYXJ0LWxlZ2VuZC1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgKyAuY2hhcnQtbGVnZW5kLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG59XG5cbi5jaGFydC1sZWdlbmQtaW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuXG4vLyBUb29sdGlwXG5cbiNjaGFydC10b29sdGlwIHtcbiAgICB6LWluZGV4OiAwO1xuXG4gICAgLmFycm93IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0uNXJlbSk7XG4gICAgfVxufVxuXG5cbi8vIENoYXJ0IGluZm8gb3ZlcmxheVxuXG4uY2hhcnQtaW5mby1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUlO1xuICBtYXgtd2lkdGg6IDM1MHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICB6LWluZGV4OiAxO1xufVxuIiwiLy9cbi8vIENsb3NlXG4vL1xuXG4uY2xvc2Uge1xuICAgIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICB9XG4gICAgXG4gICAgJj5zcGFuOm5vdCguc3Itb25seSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2xvc2UtYmc7XG4gICAgICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2xvc2UtaG92ZXItYmc7XG4gICAgICAgIGNvbG9yOiAkY2xvc2UtaG92ZXItY29sb3I7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgc3Bhbjpub3QoLnNyLW9ubHkpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjbG9zZS1ob3Zlci1iZztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5tYWluLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIE5hdmJhclxuICAgIC5uYXZiYXItdG9wIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBDb250YWluZXJcbiAgICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAoJG1haW4tY29udGVudC1wYWRkaW5nLXggKyAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogKCRtYWluLWNvbnRlbnQtcGFkZGluZy14ICsgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBPZmZzZXRzIHRoZSBtYWluIGNvbnRlbnQgZGVwZW5kaW5nIG9uIHRoZSBzaWRlYmFyIHBvc2l0aW9uaW5nXG5cbi5uYXZiYXItdmVydGljYWwubmF2YmFyLWV4cGFuZCB7XG5cbiAgICBAZWFjaCAkYnJlYWtwb2ludCxcbiAgICAkZGltZW5zaW9uIGluICRncmlkLWJyZWFrcG9pbnRzIHtcblxuICAgICAgICAmLSN7JGJyZWFrcG9pbnR9IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgjeyRicmVha3BvaW50fSkge1xuXG4gICAgICAgICAgICAgICAgLy8gTGVmdFxuICAgICAgICAgICAgICAgICYuZml4ZWQtbGVmdCArIC5tYWluLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJG5hdmJhci12ZXJ0aWNhbC13aWR0aDtcbiAgICAgICAgICAgICAgICB9IC8vIFJpZ2h0XG4gICAgICAgICAgICAgICAgJi5maXhlZC1yaWdodCArIC5tYWluLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItdmVydGljYWwtd2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIEN1c3RvbSBjaGVja2JveFxuLy9cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0IH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIEN1c3RvbSBjb250cm9sXG4vLyBhZGRpdGlvbmFsIHN0eWxlcyBmb3IgY3VzdG9tIGNoZWNrYm94ZXMsIHJhZGlvcyBhbmQgb3RoZXJcbi8vXG5cbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMnB4O1xuICAgIH1cbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5cbi8vIEFsdGVybmF0aXZlIHN0eWxlXG5cbi5jdXN0b20tY29udHJvbC1hbHRlcm5hdGl2ZSB7XG4gICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1hbHRlcm5hdGl2ZS1ib3gtc2hhZG93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYWx0ZXJuYXRpdmUtYm94LXNoYWRvdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAgICAgJjpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkaW5wdXQtYWx0ZXJuYXRpdmUtYm94LXNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBDdXN0b20gY2hlY2tib3hcbi8vXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBDdXN0b20gcmFkaW9cbi8vXG5cbi5jdXN0b20tcmFkaW8ge1xuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBDdXN0b20gdG9nZ2xlXG4vL1xuXG4uY3VzdG9tLXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICArIC5jdXN0b20tdG9nZ2xlLXNsaWRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXRvZ2dsZS1jaGVja2VkLWJnO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMS42MjVyZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgKyAuY3VzdG9tLXRvZ2dsZS1zbGlkZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICArIC5jdXN0b20tdG9nZ2xlLXNsaWRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZywgMTAlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmN1c3RvbS10b2dnbGUtc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXI6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMzRweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tdG9nZ2xlLXNsaWRlci1iZztcbiAgICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxufVxuIiwiLy9cbi8vIERyb3Bkb3duXG4vL1xuXG4vLyBHZW5lcmFsIHN0eWxlc1xuXG4uZHJvcGRvd24sXG4uZHJvcHVwLFxuLmRyb3ByaWdodCxcbi5kcm9wbGVmdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gICAgbWluLXdpZHRoOiAxMnJlbTtcblxuICAgIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgICAgICA+IGksXG4gICAgICAgID4gc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMTclO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBjb2xvcjogJGdyYXktMTAwO1xuICAgIGZvbnQtc2l6ZTogLjYyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cblxuLy8gTWVkaWEgY29tcG9uZW50cyBpbnNpZGUgZHJvcGRvd24gbGlua1xuXG4uZHJvcGRvd24tbWVudSB7XG4gICAgYS5tZWRpYSB7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheS02MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5oZWFkaW5nLFxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1lLWNvbG9yKFwiZGVmYXVsdFwiKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIFNpemUgdmFyaWF0aW9uc1xuXG4uZHJvcGRvd24tbWVudS1zbSB7XG4gICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICBib3JkZXI6ICRib3JkZXItcmFkaXVzLWxnO1xufVxuXG4uZHJvcGRvd24tbWVudS1sZyB7XG4gICAgbWluLXdpZHRoOiAyNjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbn1cblxuLmRyb3Bkb3duLW1lbnUteGwge1xuICAgIG1pbi13aWR0aDogNDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG59XG4iLCIvL1xuLy8gRm9vdGVyXG4vL1xuXG5cbi8vIEdlbmVyYWwgc3R5bGVzXG5cbi5mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICRmb290ZXItYmc7XG4gICAgcGFkZGluZzogJGZvb3Rlci1wYWRkaW5nLXkgJGZvb3Rlci1wYWRkaW5nLXg7XG5cbiAgICAuY29sLWZvb3RlciB7XG4gICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLWhlYWRpbmctY29sb3I7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvb3Rlci1oZWFkaW5nLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdiAubmF2LWl0ZW0gLm5hdi1saW5rLFxuICAgIC5mb290ZXItbGluayB7XG4gICAgICAgIGNvbG9yOiAkZm9vdGVyLWxpbmstY29sb3IgIWltcG9ydGFudDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLWxpbmstaG92ZXItY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0LXVuc3R5bGVkIGxpIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IC4xMjVyZW0gMDtcbiAgICAgICAgY29sb3I6ICRmb290ZXItbGluay1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkZm9vdGVyLWxpbmstZm9udC1zaXplO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRmb290ZXItbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgfVxufVxuXG5cbi8vIERhcmsgZm9vdGVyXG5cbi5mb290ZXItZGFyayB7XG4gICAgLmNvbC1mb290ZXIgLmhlYWRpbmcge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxuXG4vLyBGb290ZXIgbmF2IHVzZWQgZm9yIGNvcHlyaWdodCBhbmQgc29tZSBsaW5rcywgYnV0IG5vdCBsaW1pdGVkIHRvIHRoaXNcblxuLm5hdi1mb290ZXIge1xuICAgIC5uYXYtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICB9XG5cbiAgICAubmF2LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIEZvb3RlciB3aXRoIGNhcmRzIG92ZXJcblxuLmZvb3Rlci5oYXMtY2FyZHMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6IDUwMHB4O1xuICAgIG1hcmdpbi10b3A6IC00MjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogNjAwcHg7XG4gICAgICAgIGhlaWdodDogMjAwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihcInNlY29uZGFyeVwiKTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAsLThkZWcpO1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBGb3Jtc1xuLy9cblxuXG4vLyBMYWJlbHNcblxuLmZvcm0tY29udHJvbC1sYWJlbCB7XG4gICAgY29sb3I6ICRncmF5LTcwMDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuXG5cbi8vIFRleHQgaW5wdXRzXG5cbi5mb3JtLWNvbnRyb2wge1xuICAgIGZvbnQtc2l6ZTogJGlucHV0LWJ0bi1mb250LXNpemU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRpbnB1dC1mb2N1cy1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBUZXh0YXJlYVxuXG50ZXh0YXJlYVtyZXNpemU9XCJub25lXCJdIHtcbiAgICByZXNpemU6IG5vbmUhaW1wb3J0YW50O1xufVxuXG50ZXh0YXJlYVtyZXNpemU9XCJib3RoXCJdIHtcbiAgICByZXNpemU6IGJvdGghaW1wb3J0YW50O1xufVxuXG50ZXh0YXJlYVtyZXNpemU9XCJ2ZXJ0aWNhbFwiXSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbCFpbXBvcnRhbnQ7XG59XG5cbnRleHRhcmVhW3Jlc2l6ZT1cImhvcml6b250YWxcIl0ge1xuICAgIHJlc2l6ZTogaG9yaXpvbnRhbCFpbXBvcnRhbnQ7XG59XG5cblxuLy8gRm9ybSBpbnB1dCB2YXJpYXRpb25zXG5cbi8vIE11dGVkIGlucHV0XG5cbi5mb3JtLWNvbnRyb2wtbXV0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1tdXRlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1tdXRlZC1iZztcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1tdXRlZC1iZztcbiAgICB9XG59XG5cblxuLy8gQWx0ZXJuYXRpdmUgaW5wdXRcblxuLmZvcm0tY29udHJvbC1hbHRlcm5hdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LWFsdGVybmF0aXZlLWJveC1zaGFkb3c7XG4gICAgYm9yZGVyOiAwO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjE1cyBlYXNlO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1hbHRlcm5hdGl2ZS1ib3gtc2hhZG93O1xuICAgIH1cbn1cblxuLy8gU2l6ZSB2YXJpYXRpb25zOiBGaXhlcyB0byB0aGUgYm9vdHN0cmFwIGRlZmF1bHRzXG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xufVxuIiwiLy9cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cblxuLy8gVmFsaWRhdGlvblxuXG4uaGFzLXN1Y2Nlc3MsXG4uaGFzLWRhbmdlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciwge1xuICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJ051Y2xlb0ljb25zJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uaGFzLXN1Y2Nlc3Mge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZWEyNlwiO1xuICAgICAgICBjb2xvcjogZGFrZW4oJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsIDE4JSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWJnO1xuICAgIH1cbiAgICBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBQbGFjZWhvbGRlclxuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhhcy1kYW5nZXIge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZWE1M1wiO1xuICAgICAgICBjb2xvcjogZGFrZW4oJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciwgMTglKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1iZztcbiAgICB9XG5cbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGxhY2Vob2xkZXJcblxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBJbnB1dCBncm91cFxuLy9cblxuLmlucHV0LWdyb3VwIHtcblx0Ym94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3c7XG5cdGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuXHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuXG5cdC5mb3JtLWNvbnRyb2wge1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cblx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHQgICAgYm9yZGVyLWxlZnQ6IDA7XG5cdFx0ICAgIHBhZGRpbmctbGVmdDogMDtcblx0XHR9XG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdGJvcmRlci1yaWdodDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xufVxuXG5cbi8vIEFsdGVybmF0aXZlIGlucHV0IGdyb3VwcyByZWxhdGVkIHRvIC5mb3JtLWNvbnRyb2wtYWx0ZXJuYXRpdmVcblxuXG4uaW5wdXQtZ3JvdXAtYWx0ZXJuYXRpdmUge1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1hbHRlcm5hdGl2ZS1ib3gtc2hhZG93O1xuICAgIGJvcmRlcjogMDtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4xNXMgZWFzZTtcblxuICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4uZm9jdXNlZCB7XG5cdC5pbnB1dC1ncm91cC1hbHRlcm5hdGl2ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1hbHRlcm5hdGl2ZS1ib3gtc2hhZG93ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cbi8vIC5mb2N1cyBjbGFzcyBpcyBhcHBsaWVkIGRpbmFteWNhbGx5IGZyb20gdGhlbWUuanNcblxuLmZvY3VzZWQge1xuXHQuaW5wdXQtZ3JvdXAge1xuXHRcdGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuXHR9XG5cblx0LmlucHV0LWdyb3VwLXRleHQge1xuXHQgICAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1mb2N1cy1jb2xvcjtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1mb2N1cy1iZztcblx0ICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWZvY3VzLWJvcmRlci1jb2xvcjtcblx0fVxuXG5cdC5mb3JtLWNvbnRyb2wge1xuXHRcdGJvcmRlci1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWZvY3VzLWJvcmRlci1jb2xvcjtcblx0fVxufVxuIiwiLy9cbi8vIEhlYWRlclxuLy9cblxuLmhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwiLy9cbi8vIEljb25cbi8vXG5cbi5pY29uIHtcblx0d2lkdGg6ICRpY29uLXNpemU7XG5cdGhlaWdodDogJGljb24tc2l6ZTtcblxuXHRpLCBzdmcge1xuXHRcdGZvbnQtc2l6ZTogJGljb24tc2l6ZSAtIC43NTtcblx0fVxuXG4gICAgKyAuaWNvbi10ZXh0IHtcbiAgICBcdHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBcdHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRpY29uLXNpemV9IC0gMSk7XG4gICAgfVxufVxuXG5cbi8vIEV4dHJhIGxhcmdlIGljb25zXG5cbi5pY29uLXhsIHtcblx0d2lkdGg6ICRpY29uLXNpemUteGw7XG5cdGhlaWdodDogJGljb24tc2l6ZS14bDtcblxuXHRpLCBzdmcge1xuXHRcdGZvbnQtc2l6ZTogJGljb24tc2l6ZS14bCAtIC43NTtcblx0fVxuXG4gICAgKyAuaWNvbi10ZXh0IHtcbiAgICBcdHdpZHRoOiBjYWxjKDEwMCUgLSAkaWNvbi1zaXplLXhsIC0gMSk7XG4gICAgfVxufVxuXG5cbi8vIExhcmdlIGljb25zXG5cbi5pY29uLWxnIHtcblx0d2lkdGg6ICRpY29uLXNpemUtbGc7XG5cdGhlaWdodDogJGljb24tc2l6ZS1sZztcblxuXHRpLCBzdmcge1xuXHRcdGZvbnQtc2l6ZTogJGljb24tc2l6ZS1sZyAtIC43NTtcblx0fVxuXG4gICAgKyAuaWNvbi10ZXh0IHtcbiAgICBcdHdpZHRoOiBjYWxjKDEwMCUgLSAkaWNvbi1zaXplLWxnIC0gMSk7XG4gICAgfVxufVxuXG5cbi8vIFNtYWxsIGljb25cblxuLmljb24tc20ge1xuXHR3aWR0aDogJGljb24tc2l6ZS1zbTtcblx0aGVpZ2h0OiAkaWNvbi1zaXplLXNtO1xuXG5cdGksIHN2ZyB7XG5cdFx0Zm9udC1zaXplOiAkaWNvbi1zaXplLXNtIC0gLjc1O1xuXHR9XG5cbiAgICArIC5pY29uLXRleHQge1xuICAgIFx0d2lkdGg6IGNhbGMoMTAwJSAtICRpY29uLXNpemUtc20gLSAxKTtcbiAgICB9XG59XG4iLCIvL1xuLy8gSWNvbiBzaGFwZVxuLy9cblxuXG4uaWNvbi1zaGFwZSB7XG5cdHBhZGRpbmc6IDEycHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cblxuXHRpLCBzdmcge1xuXHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0fVxuXG5cdCYuaWNvbi1sZyB7XG5cdFx0aSwgc3ZnIHtcblx0XHRcdGZvbnQtc2l6ZTogMS42MjVyZW07XG5cdFx0fVxuXHR9XG5cblx0Ji5pY29uLXNtIHtcblx0XHRpLCBzdmcge1xuXHRcdFx0Zm9udC1zaXplOiAuODc1cmVtO1xuXHRcdH1cblx0fVxuXG5cdHN2ZyB7XG5cdFx0d2lkdGg6IDMwcHg7XG5cdFx0aGVpZ2h0OiAzMHB4O1xuXHR9XG5cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG5cdC5pY29uLXNoYXBlLSN7JGNvbG9yfSB7XG5cdFx0QGluY2x1ZGUgaWNvbi1zaGFwZS12YXJpYW50KHRoZW1lLWNvbG9yKCRjb2xvcikpO1xuXHR9XG59XG4iLCJAbWl4aW4gaWNvbi1zaGFwZS12YXJpYW50KCRjb2xvcikge1xuICAgIGNvbG9yOiBzYXR1cmF0ZShkYXJrZW4oJGNvbG9yLCAxMCUpLCAxMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUobGlnaHRlbigkY29sb3IsIDEwJSksIC41KTtcbn0iLCIvL1xuLy8gTGlzdCBncm91cFxuLy9cblxuXG4vLyBTcGFjZSBsaXN0IGl0ZW1zXG5cbi5saXN0LWdyb3VwLXNwYWNlIHtcbiAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbn1cblxuXG4vLyBFeHRlbmRlZCBsaXN0IGdyb3VwIGNvbXBvbmVudHNcblxuLmxpc3QtZ3JvdXAtaW1nIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luOiAtLjFyZW0gMS4ycmVtIDAgLS4ycmVtO1xufVxuXG4ubGlzdC1ncm91cC1jb250ZW50IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcblxuICAgID4gcCB7XG4gICAgICAgY29sb3I6ICRncmF5LTUwMDtcbiAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgIG1hcmdpbjogLjJyZW0gMCAwO1xuICAgfVxufVxuXG4ubGlzdC1ncm91cC1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICBjb2xvcjogJGdyYXktODAwO1xuXG4gICAgPiBzbWFsbCB7XG4gICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgIGNvbG9yOiAkZ3JheS01MDA7XG4gICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgIH1cbn1cbiIsIi8vXG4vLyBNYXBcbi8vXG5cbi5tYXAtY2FudmFzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkbWFwLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cbiIsIi8vXG4vLyBNYXNrXG4vL1xuXG4ubWFzayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWJhc2UpO1xufVxuIiwiLy9cbi8vIE1vZGFsXG4vL1xuXG5cbi8vIEZsdWlkIG1vZGFsXG5cbi5tb2RhbC1mbHVpZCB7XG4gICAgLm1vZGFsLWRpYWxvZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG59XG5cblxuLy8gQmFja2dyb3VuZCBjb2xvciB2YXJpYXRpb25zXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC5tb2RhbC0jeyRjb2xvcn0ge1xuICAgICAgICBAaW5jbHVkZSBtb2RhbC12YXJpYW50KCR2YWx1ZSk7XG4gICAgfVxufVxuIiwiQG1peGluIG1vZGFsLXZhcmlhbnQoJGJhY2tncm91bmQpIHtcblx0Lm1vZGFsLXRpdGxlIHtcblx0XHRjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcblx0fVxuXHQubW9kYWwtaGVhZGVyLFxuXHQubW9kYWwtZm9vdGVyIHtcblx0XHRib3JkZXItY29sb3I6IHJnYmEoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgLjA3NSk7XG5cdH1cblx0Lm1vZGFsLWNvbnRlbnQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXHRcdGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuXG5cdFx0LmhlYWRpbmcge1xuXHRcdFx0Y29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG5cdFx0fVxuXHR9XG5cblx0LmNsb3NlIHsgXG4gICAgXHQmPnNwYW46bm90KC5zci1vbmx5KSB7XG4gICAgXHRcdGNvbG9yOiAkd2hpdGU7XG4gICAgXHR9XG4gICAgfVxufSIsIi8vXG4vLyBOYXZcbi8vXG5cblxuLy8gTmF2IHdyYXBwZXIgKGNvbnRhaW5lcilcblxuLy8gTmF2IHdyYXBwZXJcbi5uYXYtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgKyAuY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG59XG5cblxuLy8gTmF2IGxpbmtzXG5cbi5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtbGluay1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJG5hdi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cblxuICAgIGkubmkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMnB4O1xuICAgIH1cbn1cbiIsIi8vXG4vLyBOYXYgcGlsbHNcbi8vXG5cblxuLy8gR2VuZXJhbCBzdHlsZXNcblxuLm5hdi1waWxscyB7XG4gICAgLm5hdi1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2LXBpbGxzLXNwYWNlLXg7XG4gICAgfVxuXG4gICAgLm5hdi1saW5rIHtcbiAgICBcdHBhZGRpbmc6ICRuYXYtcGlsbHMtcGFkZGluZy15ICRuYXYtcGlsbHMtcGFkZGluZy14O1xuICAgICAgICBjb2xvcjogJG5hdi1waWxscy1saW5rLWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgICAgIGJveC1zaGFkb3c6ICRuYXYtcGlsbHMtYm94LXNoYWRvdztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1iZztcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgXHRjb2xvcjogJG5hdi1waWxscy1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgICAubmF2LWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLm5hdi1waWxsczpub3QoLm5hdi1waWxscy1jaXJjbGUpIHtcbiAgICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gUm91bmRlZCBjaXJjbGUgbmF2IHBpbGxzXG5cbi5uYXYtcGlsbHMtY2lyY2xlIHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4gICAgLm5hdi1saW5rLWljb24ge1xuICAgICAgICBpLCBzdmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE5hdmJhclxuLy9cblxuXG4vLyBOYXZiYXIgbGlua3NcblxuLm5hdmJhci1ob3Jpem9udGFsIHtcbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRuYXZiYXItbmF2LWxpbmstZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRuYXZiYXItbmF2LWxpbmstZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG5hdmJhci1uYXYtbGluay10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbmF2YmFyLW5hdi1saW5rLWxldHRlci1zcGFjaW5nO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbmF2YmFyLXRyYW5zaXRpb24pO1xuXG4gICAgICAgICAgICAubmF2LWxpbmstaW5uZXItLXRleHQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIE5hdmJhciBicmFuZCAobG9nbylcblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wNXB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2YmFyLWRhcmsge1xuICAgICAgICAubmF2YmFyLWJyYW5kIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2YmFyLWxpZ2h0IHtcbiAgICAgICAgLm5hdmJhci1icmFuZCB7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXktODAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci1uYXYge1xuICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgLm1lZGlhOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgICAubmF2LWl0ZW0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG5cbiAgICAgICAgICAgICAgICBbZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuc2hvdyB7XG4gICAgICAgICAgICAgICAgICAgIFtkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJdOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRuYXZiYXItbmF2LWxpbmstYm9yZGVyLXJhZGl1cztcblxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC42MjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2LWxpbmstaWNvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRuYXZiYXItbmF2LWxpbmstYm9yZGVyLXJhZGl1cztcblxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUcmFuc3BhcmVudCBuYXZiYXJcblxuICAgIC5uYXZiYXItdHJhbnNwYXJlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAubmF2YmFyLWJyYW5kIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgLm5hdmJhci10cmFuc3BhcmVudCB7XG4gICAgICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgICAgICAgICAgICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAgICAgICAgICAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAgICAgICAgICAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2YmFyLWJyYW5kIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBWZXJ0aWNhbCBuYXZiYXJcbi8vXG5cblxuLy8gVmVydGljYWxcbi8vXG4vLyBDcmVhdGVzIGEgdmVydGljYWxseSBhbGlnbmVkIHZlcnNpb24gb2YgdGhlIG5hdmJhclxuLm5hdmJhci12ZXJ0aWNhbCB7XG4gICAgYm94LXNoYWRvdzogJG5hdmJhci12ZXJ0aWNhbC1ib3gtc2hhZG93O1xuICAgIFxuICAgIC5uYXZiYXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG5cblxuICAgIC8vIE5hdmJhciBsaWdodFxuXG4gICAgLm5hdmJhci1saWdodCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbGlnaHQtYmc7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC1ib3JkZXItY29sb3I7XG4gICAgfVxuXG5cbiAgICAvLyBOYXZiYXIgYnJhbmRcblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLm5hdmJhci1icmFuZC1pbWcsXG4gICAgLm5hdmJhci1icmFuZCA+IGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMnJlbTtcbiAgICB9XG5cblxuICAgIC8vIE5hdmJhciBjb2xsYXBzZVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLXg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbmF2YmFyLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJG5hdmJhci1wYWRkaW5nLXkgKC0kbmF2YmFyLXBhZGRpbmcteCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLy8gTmF2YmFyIG5hdmlnYXRvblxuXG4gICAgLm5hdmJhci1uYXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRuYXZiYXItcGFkZGluZy14O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbmF2YmFyLXBhZGRpbmcteDtcblxuXG4gICAgICAgIC8vIE5hdmJhciBsaW5rXG5cbiAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmcteDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG5hdmJhci1uYXYtbGluay1mb250LXNpemU7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRwcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAvLyBJY29uXG5cbiAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAkbmF2YmFyLWljb24tbWluLXdpZHRoO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSk7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLy8gRHJvcGRvd25cblxuICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAvIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBOYXZiYXIgbmF2aWdhdGlvblxuICAgIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5hdmJhci1uYXYgLm5hdi1saW5rW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl0ge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICAgICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICAgICAgfSAvLyBFeHBhbmRlZFxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2Vjb25kIGxldmVsXG4gICAgLm5hdmJhci1uYXYgLm5hdiAubmF2LWxpbmsge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItcGFkZGluZy14ICsgJG5hdmJhci1pY29uLW1pbi13aWR0aDtcbiAgICB9XG5cbiAgICAvLyBUaGlyZCBsZXZlbFxuICAgIC5uYXZiYXItbmF2IC5uYXYgLm5hdiAubmF2LWxpbmsge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItcGFkZGluZy14ICogMS41ICsgJG5hdmJhci1pY29uLW1pbi13aWR0aDtcbiAgICB9XG5cblxuICAgIC8vIE5hdmJhciBoZWFkaW5nXG4gICAgLm5hdmJhci1oZWFkaW5nIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHM7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDRlbTtcbiAgICB9XG5cblxuICAgIC8vIEV4cGFuZGVkIG5hdmJhciBzcGVjaWZpYyBzdHlsZXNcbiAgICAmLm5hdmJhci1leHBhbmQge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCxcbiAgICAgICAgJGRpbWVuc2lvbiBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG5cbiAgICAgICAgICAgICYtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoI3skYnJlYWtwb2ludH0pIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRuYXZiYXItdmVydGljYWwtd2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci12ZXJ0aWNhbC1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItdmVydGljYWwtcGFkZGluZy14O1xuXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgID5bY2xhc3MqPVwiY29udGFpbmVyXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvLyBUYXJnZXQgSUUgMTAgJiAxMVxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgICAgLy8gRml4ZXMgdGhlIHZlcnRpY2FsIG5hdmJhciB0byB0aGUgbGVmdFxuICAgICAgICAgICAgICAgICAgICAmLmZpeGVkLWxlZnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgICAgICAvLyBGaXhlZCB0aGUgdmVydGljYWwgbmF2YmFyIHRvIHRoZSByaWdodFxuICAgICAgICAgICAgICAgICAgICAmLmZpeGVkLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgICAgIC8vIE5hdmJhciBjb2xsYXBzZVxuICAgICAgICAgICAgICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbmF2YmFyLXZlcnRpY2FsLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRuYXZiYXItdmVydGljYWwtcGFkZGluZy14O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLXZlcnRpY2FsLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItdmVydGljYWwtcGFkZGluZy14O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgICAgLy8gTmF2YmFyIG5hdmlnYXRpb25cbiAgICAgICAgICAgICAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci12ZXJ0aWNhbC1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbmF2YmFyLXZlcnRpY2FsLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbmF2YmFyLXZlcnRpY2FsLW5hdi1saW5rLXBhZGRpbmcteSAkbmF2YmFyLXZlcnRpY2FsLW5hdi1saW5rLXBhZGRpbmcteDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRwcmltYXJ5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgICAgLy8gU2Vjb25kIGxldmVsXG4gICAgICAgICAgICAgICAgICAgIC5uYXZiYXItbmF2IC5uYXYgLm5hdi1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci12ZXJ0aWNhbC1wYWRkaW5nLXggKyAkbmF2YmFyLWljb24tbWluLXdpZHRoO1xuICAgICAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgICAgICAvLyBUaGlyZCBsZXZlbFxuICAgICAgICAgICAgICAgICAgICAubmF2YmFyLW5hdiAubmF2IC5uYXYgLm5hdi1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci12ZXJ0aWNhbC1wYWRkaW5nLXggKiAxLjUgKyAkbmF2YmFyLWljb24tbWluLXdpZHRoO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gTmF2YmFyIGJyYW5kXG4gICAgICAgICAgICAgICAgICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogKDJyZW0gLSAkbmF2YmFyLXBhZGRpbmcteSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogKDJyZW0gLSAkbmF2YmFyLXBhZGRpbmcteSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubmF2YmFyLWJyYW5kLWltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBOYXZiYXIgdXNlclxuICAgICAgICAgICAgICAgICAgICAubmF2YmFyLXVzZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbmF2YmFyLXZlcnRpY2FsLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRuYXZiYXItdmVydGljYWwtcGFkZGluZy14O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlciAtICRuYXZiYXItcGFkZGluZy15O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLXZlcnRpY2FsLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItdmVydGljYWwtcGFkZGluZy14O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERyb3B1cCBtZW51XG4gICAgICAgICAgICAgICAgICAgICAgICAuZHJvcHVwIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE5hdmJhciBzZWFyY2hcbi8vXG5cbi5uYXZiYXItc2VhcmNoIHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbmF2YmFyLXNlYXJjaC1ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3JkZXI6ICRuYXZiYXItc2VhcmNoLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgd2lkdGg6ICRuYXZiYXItc2VhcmNoLXdpZHRoO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi5uYXZiYXItc2VhcmNoLWRhcmsge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1zZWFyY2gtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1zZWFyY2gtZGFyay1jb2xvcjtcbiAgICB9XG5cbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItc2VhcmNoLWRhcmstZm9jdXMtY29sb3I7XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItc2VhcmNoLWRhcmstY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9jdXNlZCB7XG4gICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXZiYXItc2VhcmNoLWRhcmstZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2YmFyLXNlYXJjaC1saWdodCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLXNlYXJjaC1saWdodC1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1zZWFyY2gtbGlnaHQtY29sb3I7XG4gICAgfVxuXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLXNlYXJjaC1saWdodC1mb2N1cy1jb2xvcjtcblxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1zZWFyY2gtbGlnaHQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9jdXNlZCB7XG4gICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXZiYXItc2VhcmNoLWxpZ2h0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIERyb3Bkb3duIG1lbnVcblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIC5uYXZiYXIge1xuICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZHJvcGRvd24tbWVudS1hcnJvdyB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLWJnO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoMTJweCk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCgubmF2YmFyLW5hdi1ob3Zlcikge1xuICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgICYuc2hvdyB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IHNob3ctbmF2YmFyLWRyb3Bkb3duIC4yNXMgZWFzZSBmb3J3YXJkcztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmNsb3NlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogaGlkZS1uYXZiYXItZHJvcGRvd24gLjE1cyBlYXNlIGJhY2t3YXJkcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm5hdmJhci1uYXYtaG92ZXIge1xuICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTBweCkgcGVyc3BlY3RpdmUoMjAwcHgpIHJvdGF0ZVgoLTJkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMC4yNXMsIG9wYWNpdHkgMC4yNXMsIHRyYW5zZm9ybSAwLjI1cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hdi1pdGVtLmRyb3Bkb3duOmhvdmVyID4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZHJvcGRvd24tbWVudS1pbm5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBLZXlmcmFtZXNcblxuICAgICAgICBAa2V5ZnJhbWVzIHNob3ctbmF2YmFyLWRyb3Bkb3duIHtcbiAgICAgICAgICAgIDAlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpIHBlcnNwZWN0aXZlKDIwMHB4KSByb3RhdGVYKC0yZGVnKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuMjVzLCBvcGFjaXR5IDAuMjVzLCB0cmFuc2Zvcm0gMC4yNXM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAa2V5ZnJhbWVzIGhpZGUtbmF2YmFyLWRyb3Bkb3duIHtcbiAgICAgICAgICAgIGZyb20ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRvIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE5hdmFiYXIgY29sbGFwc2Vcbi8vXG5cbi8vIENvbGxhcHNlXG5cbi5uYXZiYXItY29sbGFwc2UtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNjI1cmVtIDA7XG4gICAgICAgICAgICBjb2xvcjogdGhlbWUtY29sb3IoXCJkZWZhdWx0XCIpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAubWVkaWEge1xuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS40cmVtKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDUwO1xuICAgICAgICBtYXJnaW46IC43cmVtO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzI4MzQ0ODtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2xsYXBzZS1icmFuZCB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2xsYXBzZS1jbG9zZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2luZyxcbiAgICAubmF2YmFyLWNvbGxhcHNlLnNob3cge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgICAgICBib3gtc2hhZG93OiAwIDUwcHggMTAwcHggcmdiYSg1MCw1MCw5MywuMSksMCAxNXB4IDM1cHggcmdiYSg1MCw1MCw5MywuMTUpLDAgNXB4IDE1cHggcmdiYSgwLDAsMCwuMSk7XG4gICAgICAgIGFuaW1hdGlvbjogc2hvdy1uYXZiYXItY29sbGFwc2UgLjJzIGVhc2UgZm9yd2FyZHM7XG4gICAgfVxuXG4gICAgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzaW5nLW91dCB7XG4gICAgICAgIGFuaW1hdGlvbjogaGlkZS1uYXZiYXItY29sbGFwc2UgLjJzIGVhc2UgZm9yd2FyZHM7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNob3ctbmF2YmFyLWNvbGxhcHNlIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjk1KTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBoaWRlLW5hdmJhci1jb2xsYXBzZSB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjk1KTtcbiAgICB9XG59XG4iLCIvL1xuLy8gUGFnaW5hdGlvblxuLy9cblxuXG4ucGFnZS1pdGVtIHtcbiAgICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICAgICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tYWN0aXZlLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgLnBhZ2UtbGluayxcbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMzZweDtcblx0XHRoZWlnaHQ6IDM2cHg7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgIH1cbn1cblxuXG4vLyBTaXplIHZhcmlhdGlvbnNcblxuLnBhZ2luYXRpb24tbGcge1xuICAgIC5wYWdlLWl0ZW0ge1xuICAgICAgICAucGFnZS1saW5rLFxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHdpZHRoOiA0NnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgICAucGFnZS1pdGVtIHtcbiAgICAgICAgLnBhZ2UtbGluayxcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIFBvcG92ZXJcbi8vXG5cblxuLnBvcG92ZXIge1xuICAgIGJvcmRlcjogMDtcbn1cblxuLnBvcG92ZXItaGVhZGVyIHtcblx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuXG5cbi8vIEFsdGVybmF0aXZlIGNvbG9yc1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAucG9wb3Zlci0jeyRjb2xvcn0ge1xuICAgICAgICBAaW5jbHVkZSBwb3BvdmVyLXZhcmlhbnQoJHZhbHVlKTtcbiAgICB9XG59XG4iLCJAbWl4aW4gcG9wb3Zlci12YXJpYW50KCRiYWNrZ3JvdW5kKSB7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cblx0LnBvcG92ZXItaGVhZGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblx0XHRjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcblx0fVxuXG5cdC5wb3BvdmVyLWJvZHkge1xuXHRcdGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuXHR9XG5cdC5wb3BvdmVyLWhlYWRlcntcblx0XHRib3JkZXItY29sb3I6IHJnYmEoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgLjIpO1xuXHR9XG5cdCYuYnMtcG9wb3Zlci10b3Age1xuXHRcdC5hcnJvdzo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJGJhY2tncm91bmQ7XG5cdFx0fVxuXHR9XG5cdCYuYnMtcG9wb3Zlci1yaWdodCB7XG5cdFx0LmFycm93OjphZnRlciB7XG5cdFx0XHRib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXHRcdH1cblx0fVxuXHQmLmJzLXBvcG92ZXItYm90dG9tIHtcblx0XHQuYXJyb3c6OmFmdGVyIHtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRiYWNrZ3JvdW5kO1xuXHRcdH1cblx0fVxuXHQmLmJzLXBvcG92ZXItbGVmdCB7XG5cdFx0LmFycm93OjphZnRlciB7XG5cdFx0XHRib3JkZXItbGVmdC1jb2xvcjogJGJhY2tncm91bmQ7XG5cdFx0fVxuXHR9XG59IiwiLy9cbi8vIFByb2dyZXNzXG4vL1xuXG5cbi8vIFByb2dyZXNzIGNvbnRhaW5lclxuXG4ucHJvZ3Jlc3Mtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG59XG5cblxuLy8gR2VuZXJhbCBzdHlsZXNcblxuLnByb2dyZXNzIHtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJnO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cbiAgICAuc3Itb25seSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMzBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY2xpcDogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG59XG5cblxuLy8gUHJvZ3Jlc3MgaW5uZXIgZWxlbWVudHNcblxuLnByb2dyZXNzLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbjogMCAwIDJweDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ucHJvZ3Jlc3MtaW5mb3tcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ucHJvZ3Jlc3MtbGFiZWwge1xuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgZm9udC1zaXplOiAuNjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LCAuMSk7XG4gICAgICAgIHBhZGRpbmc6IC4yNXJlbSAxcmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIH1cbn1cblxuLnByb2dyZXNzLXBlcmNlbnRhZ2Uge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkZ3JheS02MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG4iLCIvL1xuLy8gU2VwYXJhdG9yXG4vLyBhZGQgc3ZnIG9uIHRvcCBvciBib3R0b20gb2YgYSBzZWN0aW9uIGZvciBhIG1vcmUgc3R5bGlzaCB2aXN1YWxcbi8vXG5cblxuLnNlcGFyYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBzdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cblxuLnNlcGFyYXRvci10b3Age1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IGF1dG87XG5cbiAgICBzdmcge1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxufVxuXG4uc2VwYXJhdG9yLWJvdHRvbSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMDtcblxuICAgIHN2ZyB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5zZXBhcmF0b3ItaW52ZXJzZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLy8gU3R5bGVzXG5cbi5zZXBhcmF0b3Itc2tldyB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgfVxufVxuIiwiLy9cbi8vIFRhYmxlXG4vL1xuXG5cbi8vIEdlbmVyYWwgc3R5bGVzXG5cbi50YWJsZSB7XG4gICAgdGhlYWQgdGgge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRhYmxlLWhlYWQtc3BhY2VyLXk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGFibGUtaGVhZC1zcGFjZXIteTtcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGUtaGVhZC1mb250LXNpemU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdGFibGUtaGVhZC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICR0YWJsZS1oZWFkLWxldHRlci1zcGFjaW5nO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgdGgge1xuICAgICAgICBmb250LXdlaWdodDogJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ7XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgICAucHJvZ3Jlc3Mge1xuICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRhYmxlLWJvZHktZm9udC1zaXplO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuXG4gICAgLy8gVmV0aWNhbCBhbGlnbiB0YWJsZSBjb250ZW50XG5cbiAgICAmLmFsaWduLWl0ZW1zLWNlbnRlciB7XG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgIC8vIFN0eWxlcyBmb3IgZGFyayB0YWJsZVxuXG4gICAudGhlYWQtZGFyayB7XG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWhlYWQtYmc7XG4gICAgICAgICAgICBjb2xvcjogJHRhYmxlLWRhcmstaGVhZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU3R5bGVzIGZvciBsaWdodCB0YWJsZVxuXG4gICAgLnRoZWFkLWxpZ2h0IHtcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICAgICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gQWRkIHRyYW5zaXRpb24gZm9yIGhvdmVyIHN0YXRlXG5cbi50YWJsZS1ob3ZlciB7XG4gICAgdHIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cbn1cblxuXG4vLyBGbHVzaCB0YWJsZXNcblxuLnRhYmxlLWZsdXNoIHtcbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgdGJvZHkge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0ZCxcbiAgICAgICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRkLFxuICAgICAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gVGFibGVzIGluc2lkZSBjYXJkc1xuXG4uY2FyZCB7XG4gICAgLnRhYmxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICB0ZCxcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNwYWNlci14O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIFR5cGVcbi8vXG5cblxuLy8gUGFyYWdyYXBoc1xuXG5wIHtcblx0Zm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZTtcblx0Zm9udC13ZWlnaHQ6ICRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ7XG5cdGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xufVxuXG4ubGVhZCB7XG5cdGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICBcdGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcblx0bGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XG5cdG1hcmdpbi10b3A6IDEuNXJlbTtcblxuXHQrIC5idG4td3JhcHBlciB7XG5cdFx0bWFyZ2luLXRvcDogM3JlbTtcblx0fVxufVxuXG4uZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6ICRmb250LXNpemUtc207XG59XG4iLCIvL1xuLy8gSGVhZGluZ1xuLy9cblxuXG4vLyBHZW5lcmFsIHN0eWxlc1xuXG4uaGVhZGluZyB7XG5cdGxldHRlci1zcGFjaW5nOiAkaGVhZGluZy1sZXR0ZXItc3BhY2luZztcblx0Zm9udC1zaXplOiAkaGVhZGluZy1mb250LXNpemU7XG5cdHRleHQtdHJhbnNmb3JtOiAkaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcblx0Zm9udC13ZWlnaHQ6ICRoZWFkaW5nLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIEhlYWRpbmcgdmFyaWF0aW9uc1xuXG4uaGVhZGluZy1zbWFsbCB7XG5cdHBhZGRpbmctdG9wOiAuMjVyZW07XG5cdHBhZGRpbmctYm90dG9tOiAuMjVyZW07XG5cdGZvbnQtc2l6ZTogLjc1cmVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogLjA0ZW07XG59XG5cbi5oZWFkaW5nLXRpdGxlIHtcblx0bGV0dGVyLXNwYWNpbmc6ICRoZWFkaW5nLXRpdGxlLWxldHRlci1zcGFjaW5nO1xuXHRmb250LXNpemU6ICRoZWFkaW5nLXRpdGxlLWZvbnQtc2l6ZTtcblx0Zm9udC13ZWlnaHQ6ICRoZWFkaW5nLXRpdGxlLWZvbnQtd2VpZ2h0O1xuXHR0ZXh0LXRyYW5zZm9ybTogJGhlYWRpbmctdGl0bGUtdGV4dC10cmFuc2Zvcm07XG59XG5cbi5oZWFkaW5nLXNlY3Rpb24ge1xuXHRsZXR0ZXItc3BhY2luZzogJGhlYWRpbmctc2VjdGlvbi1sZXR0ZXItc3BhY2luZztcblx0Zm9udC1zaXplOiAkaGVhZGluZy1zZWN0aW9uLWZvbnQtc2l6ZTtcblx0Zm9udC13ZWlnaHQ6ICRoZWFkaW5nLXNlY3Rpb24tZm9udC13ZWlnaHQ7XG5cdHRleHQtdHJhbnNmb3JtOiAkaGVhZGluZy1zZWN0aW9uLXRleHQtdHJhbnNmb3JtO1xuXG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDcycHg7XG5cdFx0aGVpZ2h0OiA3MnB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0fVxuXG5cdCYudGV4dC1jZW50ZXIge1xuXHRcdGltZyB7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHR9XG5cdH1cbn1cbiIsIi8vXG4vLyBEaXNwbGF5XG4vL1xuXG5cbi5kaXNwbGF5LTEsXG4uZGlzcGxheS0yLFxuLmRpc3BsYXktMyxcbi5kaXNwbGF5LTQge1xuXHRzcGFuIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuXHR9XG59XG4iLCIvL1xuLy8gQXJ0aWNsZVxuLy8gXG5cbmFydGljbGUge1xuXHRoNDpub3QoOmZpcnN0LWNoaWxkKSxcblx0aDU6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdG1hcmdpbi10b3A6IDNyZW07XG5cdH1cblxuXHRoNCwgaDUge1xuXHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0fVxuXG5cdGZpZ3VyZSB7XG5cdFx0bWFyZ2luOiAzcmVtIDA7XG5cdH1cblxuXHRoNSArIGZpZ3VyZSB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxufVxuIiwiLy9cbi8vIEJvb3RzdHJhcCBkYXRlcGlja2VyXG4vL1xuXG5cbi5kYXRlcGlja2VyIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZGF0ZXBpY2tlci1ib3JkZXItcmFkaXVzO1xuXG4gICAgJi1pbmxpbmUge1xuICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgfVxuXG4gICAgZGlyZWN0aW9uOiBsdHI7XG5cbiAgICAmLXJ0bCB7XG4gICAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgICAmLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICB0YWJsZSB0ciB0ZCBzcGFuIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtZHJvcGRvd24ge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6ICRkYXRlcGlja2VyLWRyb3Bkb3duLXBhZGRpbmc7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xuXG4gICAgICAgICYuZGF0ZXBpY2tlci1vcmllbnQtbGVmdDpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogNnB4O1xuICAgICAgICB9XG4gICAgICAgICYuZGF0ZXBpY2tlci1vcmllbnQtbGVmdDphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiA3cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5kYXRlcGlja2VyLW9yaWVudC1yaWdodDpiZWZvcmUge1xuICAgICAgICAgICAgcmlnaHQ6IDZweDtcbiAgICAgICAgfVxuICAgICAgICAmLmRhdGVwaWNrZXItb3JpZW50LXJpZ2h0OmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiA3cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5kYXRlcGlja2VyLW9yaWVudC1ib3R0b206YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgfVxuICAgICAgICAmLmRhdGVwaWNrZXItb3JpZW50LWJvdHRvbTphZnRlciB7XG4gICAgICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmRhdGVwaWNrZXItb3JpZW50LXRvcDpiZWZvcmUge1xuICAgICAgICAgICAgYm90dG9tOiAtN3B4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCAkZGF0ZXBpY2tlci1kcm9wZG93bi1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmRhdGVwaWNrZXItb3JpZW50LXRvcDphZnRlciB7XG4gICAgICAgICAgICBib3R0b206IC02cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICRkYXRlcGlja2VyLWRyb3Bkb3duLWJnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRkYXRlcGlja2VyLWNlbGwtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRkYXRlcGlja2VyLWhlYWRlci1jZWxsLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQsXG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJGRhdGVwaWNrZXItY2VsbC10cmFuc2l0aW9uO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkZGF0ZXBpY2tlci1jZWxsLXdpZHRoO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGRhdGVwaWNrZXItY2VsbC1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbmxpbmUgZGlzcGxheSBpbnNpZGUgYSB0YWJsZSBwcmVzZW50cyBzb21lIHByb2JsZW1zIHdpdGhcbiAgICAvLyBib3JkZXIgYW5kIGJhY2tncm91bmQgY29sb3JzLlxuICAgIC50YWJsZS1zdHJpcGVkICYgdGFibGUgdHIge1xuICAgICAgICB0ZCxcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0YWJsZSB0ciB0ZCB7XG4gICAgICAgICYub2xkLFxuICAgICAgICAmLm5ldyB7XG4gICAgICAgICAgICBjb2xvcjogJGRhdGVwaWNrZXItZGlzYWJsZWQtb2xkLW5ldy1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGF5OmhvdmVyLFxuICAgICAgICAmLmZvY3VzZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhdGVwaWNrZXItY2VsbC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgJi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRkYXRlcGlja2VyLWRpc2FibGVkLWNlbGwtY29sb3I7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmhpZ2hsaWdodGVkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgICAgICYuZm9jdXNlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhdGVwaWNrZXItaGlnaGxpZ2h0ZWQtYmdcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICYuZGlzYWJsZWQ6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGF0ZXBpY2tlci1oaWdobGlnaHRlZC1iZztcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXktNDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50b2RheSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRkYXRlcGlja2VyLWFjdGl2ZS1iYWNrZ3JvdW5kLCA0NSUpO1xuICAgICAgICAgICAgJi5mb2N1c2VkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRncmF5LTQwMCwgNTglKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICYuZGlzYWJsZWQ6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRncmF5LTQwMCwgNTglKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmFuZ2Ugc2VsZWN0aW9uXG4gICAgICAgICYucmFuZ2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhdGVwaWNrZXItcmFuZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiAkZGF0ZXBpY2tlci1yYW5nZS1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgICAgICYuZm9jdXNlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRkYXRlcGlja2VyLXJhbmdlLWNlbGwtZm9jdXNlZC1iYWNrZ3JvdW5kLCAzJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAmLmRpc2FibGVkOmFjdGl2ZSxcbiAgICAgICAgICAgICYuZGF5LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGRhdGVwaWNrZXItYWN0aXZlLWJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGRhdGVwaWNrZXItYWN0aXZlLWJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnJhbmdlLmhpZ2hsaWdodGVkIHtcbiAgICAgICAgICAgICYuZm9jdXNlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRkYXRlcGlja2VyLXJhbmdlLWhpZ2hsaWdodGVkLWJnLCAxMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgJi5kaXNhYmxlZDphY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXRlcGlja2VyLXJhbmdlLWhpZ2hsaWdodGVkLWJnO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGF0ZXBpY2tlci1kaXNhYmxlZC1jZWxsLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5yYW5nZS50b2RheSB7XG4gICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgJi5kaXNhYmxlZDphY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRheS5yYW5nZS1zdGFydCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5kYXkucmFuZ2UtZW5kIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5kYXkucmFuZ2Utc3RhcnQucmFuZ2UtZW5kIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRkYXRlcGlja2VyLWNlbGwtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2VsZWN0ZWQsXG4gICAgICAgICYuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQsXG4gICAgICAgICYuc2VsZWN0ZWQ6aG92ZXIsXG4gICAgICAgICYuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQ6aG92ZXIsXG4gICAgICAgICYuZGF5LnJhbmdlOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXRlcGlja2VyLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6ICRkYXRlcGlja2VyLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlLFxuICAgICAgICAmLmFjdGl2ZS5oaWdobGlnaHRlZCxcbiAgICAgICAgJi5hY3RpdmU6aG92ZXIsXG4gICAgICAgICYuYWN0aXZlLmhpZ2hsaWdodGVkOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXRlcGlja2VyLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6ICRkYXRlcGlja2VyLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRkYXRlcGlja2VyLWFjdGl2ZS1ib3gtc2hhZG93O1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAyMyU7XG4gICAgICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNTRweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAxJTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuZm9jdXNlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXktMjAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgJi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhdGVwaWNrZXItZGlzYWJsZWQtY2VsbC1jb2xvcjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgJi5hY3RpdmU6aG92ZXIsXG4gICAgICAgICAgICAmLmFjdGl2ZS5kaXNhYmxlZCxcbiAgICAgICAgICAgICYuYWN0aXZlLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAuMjUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm9sZCxcbiAgICAgICAgICAgICYubmV3IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGVwaWNrZXItc3dpdGNoIHtcbiAgICAgICAgd2lkdGg6IDE0NXB4O1xuICAgIH1cblxuICAgIC5kYXRlcGlja2VyLXN3aXRjaCxcbiAgICAucHJldixcbiAgICAubmV4dCxcbiAgICB0Zm9vdCB0ciB0aCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS0yMDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJldixcbiAgICAubmV4dCB7XG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgc3R5bGluZyBmb3IgY2FsZW5kYXItd2VlayBjZWxsc1xuICAgIC5jdyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMnB4IDAgNXB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBOb1VpIFNsaWRlclxuLy9cblxuXG4vLyBPcmlnaW5hbCBzdHlsZXNcblxuLm5vVWktdGFyZ2V0LFxuLm5vVWktdGFyZ2V0ICoge1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm5vVWktdGFyZ2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG59XG5cbi5ub1VpLWJhc2UsXG4ubm9VaS1jb25uZWN0cyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG5cbi8vIFdyYXBwZXIgZm9yIGFsbCBjb25uZWN0IGVsZW1lbnRzXG5cbi5ub1VpLWNvbm5lY3RzIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDA7XG59XG5cbi5ub1VpLWNvbm5lY3QsXG4ubm9VaS1vcmlnaW4ge1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbn1cblxuXG5odG1sOm5vdChbZGlyPVwicnRsXCJdKSAubm9VaS1ob3Jpem9udGFsIC5ub1VpLW9yaWdpbiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbn1cblxuLm5vVWktdmVydGljYWwgLm5vVWktb3JpZ2luIHtcbiAgICB3aWR0aDogMDtcbn1cblxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1vcmlnaW4ge1xuICAgIGhlaWdodDogMDtcbn1cblxuLm5vVWktaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5ub1VpLXN0YXRlLXRhcCAubm9VaS1jb25uZWN0LFxuLm5vVWktc3RhdGUtdGFwIC5ub1VpLW9yaWdpbiB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcztcbn1cblxuLm5vVWktc3RhdGUtZHJhZyAqIHtcbiAgICBjdXJzb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLm5vVWktaG9yaXpvbnRhbCB7XG4gICAgaGVpZ2h0OiAkbm91aS10YXJnZXQtdGhpY2tuZXNzO1xufVxuXG4ubm9VaS1ob3Jpem9udGFsIC5ub1VpLWhhbmRsZSB7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGxlZnQ6IC0xN3B4O1xuICAgIHRvcDogLTZweDtcbn1cblxuLm5vVWktdmVydGljYWwge1xuICAgIHdpZHRoOiAkbm91aS10YXJnZXQtdGhpY2tuZXNzO1xufVxuXG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGUge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBsZWZ0OiAtNnB4O1xuICAgIHRvcDogLTE3cHg7XG59XG5cbmh0bWw6bm90KFtkaXI9XCJydGxcIl0pIC5ub1VpLWhvcml6b250YWwgLm5vVWktaGFuZGxlIHtcbiAgICByaWdodDogLTE3cHg7XG4gICAgbGVmdDogYXV0bztcbn1cblxuLm5vVWktY29ubmVjdHMge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLm5vVWktY29ubmVjdCB7XG4gICAgYmFja2dyb3VuZDogJG5vdWktc2xpZGVyLWNvbm5lY3QtYmc7XG59XG5cbi5ub1VpLWRyYWdnYWJsZSB7XG4gICAgY3Vyc29yOiBldy1yZXNpemU7XG59XG5cbi5ub1VpLXZlcnRpY2FsIC5ub1VpLWRyYWdnYWJsZSB7XG4gICAgY3Vyc29yOiBucy1yZXNpemU7XG59XG5cbi5ub1VpLWhhbmRsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0Q5RDlEOTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAjRkZGLCBpbnNldCAwIDFweCA3cHggI0VCRUJFQiwgMCAzcHggNnB4IC0zcHggI0JCQjtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4ubm9VaS1hY3RpdmUge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cblxuLyogRGlzYWJsZWQgc3RhdGU7XG4gKi9cblxuW2Rpc2FibGVkXSAubm9VaS1jb25uZWN0IHtcbiAgICBiYWNrZ3JvdW5kOiAjQjhCOEI4O1xufVxuXG5bZGlzYWJsZWRdLm5vVWktdGFyZ2V0LFxuW2Rpc2FibGVkXS5ub1VpLWhhbmRsZSxcbltkaXNhYmxlZF0gLm5vVWktaGFuZGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5cbi8qIEJhc2U7XG4gKlxuICovXG5cbi5ub1VpLXBpcHMsXG4ubm9VaS1waXBzICoge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubm9VaS1waXBzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6ICM5OTk7XG59XG5cblxuLyogVmFsdWVzO1xuICpcbiAqL1xuXG4ubm9VaS12YWx1ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubm9VaS12YWx1ZS1zdWIge1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuXG4vKiBNYXJraW5ncztcbiAqXG4gKi9cblxuLm5vVWktbWFya2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogI0NDQztcbn1cblxuLm5vVWktbWFya2VyLXN1YiB7XG4gICAgYmFja2dyb3VuZDogI0FBQTtcbn1cblxuLm5vVWktbWFya2VyLWxhcmdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjQUFBO1xufVxuXG5cbi8qIEhvcml6b250YWwgbGF5b3V0O1xuICpcbiAqL1xuXG4ubm9VaS1waXBzLWhvcml6b250YWwge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5ub1VpLXZhbHVlLWhvcml6b250YWwge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG59XG5cbi5ub1VpLXJ0bCAubm9VaS12YWx1ZS1ob3Jpem9udGFsIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDUwJSk7XG59XG5cbi5ub1VpLW1hcmtlci1ob3Jpem9udGFsLm5vVWktbWFya2VyIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogNXB4O1xufVxuXG4ubm9VaS1tYXJrZXItaG9yaXpvbnRhbC5ub1VpLW1hcmtlci1zdWIge1xuICAgIGhlaWdodDogMTBweDtcbn1cblxuLm5vVWktbWFya2VyLWhvcml6b250YWwubm9VaS1tYXJrZXItbGFyZ2Uge1xuICAgIGhlaWdodDogMTVweDtcbn1cblxuXG4vKiBWZXJ0aWNhbCBsYXlvdXQ7XG4gKlxuICovXG5cbi5ub1VpLXBpcHMtdmVydGljYWwge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDEwMCU7XG59XG5cbi5ub1VpLXZhbHVlLXZlcnRpY2FsIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUsIDApO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbn1cblxuLm5vVWktcnRsIC5ub1VpLXZhbHVlLXZlcnRpY2FsIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcbn1cblxuLm5vVWktbWFya2VyLXZlcnRpY2FsLm5vVWktbWFya2VyIHtcbiAgICB3aWR0aDogNXB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG59XG5cbi5ub1VpLW1hcmtlci12ZXJ0aWNhbC5ub1VpLW1hcmtlci1zdWIge1xuICAgIHdpZHRoOiAxMHB4O1xufVxuXG4ubm9VaS1tYXJrZXItdmVydGljYWwubm9VaS1tYXJrZXItbGFyZ2Uge1xuICAgIHdpZHRoOiAxNXB4O1xufVxuXG4ubm9VaS10b29sdGlwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0Q5RDlEOTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5ub1VpLWhvcml6b250YWwgLm5vVWktdG9vbHRpcCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAxMjAlO1xufVxuXG4ubm9VaS12ZXJ0aWNhbCAubm9VaS10b29sdGlwIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxMjAlO1xufVxuXG5cbi8vICBDdXN0b20gc3R5bGVzXG5cbi5ub1VpLXRhcmdldCB7XG4gICAgYmFja2dyb3VuZDogJG5vdWktdGFyZ2V0LWJnO1xuICAgIGJvcmRlci1yYWRpdXM6ICRub3VpLXRhcmdldC1ib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiAkbm91aS10YXJnZXQtYm94LXNoYWRvdztcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5ub1VpLWhvcml6b250YWwge1xuICAgIGhlaWdodDogJG5vdWktdGFyZ2V0LXRoaWNrbmVzcztcbn1cblxuaHRtbDpub3QoW2Rpcj1cInJ0bFwiXSkgLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGUge1xuICAgIHJpZ2h0OiAtMTBweDtcbn1cblxuLm5vVWktdmVydGljYWwge1xuICAgIHdpZHRoOiAkbm91aS10YXJnZXQtdGhpY2tuZXNzO1xufVxuXG4ubm9VaS1jb25uZWN0IHtcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihcInByaW1hcnlcIik7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm5vVWktaGFuZGxlIHtcblxufVxuXG4ubm9VaS1ob3Jpem9udGFsIC5ub1VpLWhhbmRsZSxcbi5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZSB7XG4gICAgdG9wOiAtJG5vdWktdGFyZ2V0LXRoaWNrbmVzcztcbiAgICB3aWR0aDogJG5vdWktaGFuZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJG5vdWktaGFuZGxlLXdpZHRoO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5vdWktaGFuZGxlLWJnO1xuICAgIGJvcmRlcjogJG5vdWktaGFuZGxlLWJvcmRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4xNXMsIHRyYW5zZm9ybSAuMTVzO1xufVxuXG4ubm9VaS1ob3Jpem9udGFsIC5ub1VpLWhhbmRsZS5ub1VpLWFjdGl2ZSxcbi5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZS5ub1VpLWFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoJG5vdWktaGFuZGxlLWJnLCAxKTtcbn1cblxuLmlucHV0LXNsaWRlci0tY3lhbiAubm9VaS1jb25uZWN0IHtcbiAgICBiYWNrZ3JvdW5kOiAkY3lhbjtcbn1cblxuXG4vKiBEaXNhYmxlZCBzdGF0ZSAqL1xuXG5bZGlzYWJsZWRdIC5ub1VpLWNvbm5lY3QsXG5bZGlzYWJsZWRdLm5vVWktY29ubmVjdCB7XG4gICAgYmFja2dyb3VuZDogJG5vdWktc2xpZGVyLWNvbm5lY3QtZGlzYWJsZWQtYmc7XG59XG5cbltkaXNhYmxlZF0gLm5vVWktaGFuZGxlLFxuW2Rpc2FibGVkXS5ub1VpLW9yaWdpbiB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLyogUmFuZ2Ugc2xpZGVyIHZhbHVlIGxhYmVscyAqL1xuXG4ucmFuZ2Utc2xpZGVyLXZhbHVlIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUteHM7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRkYXJrLCAuNyk7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkZGFyayk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiAuNGVtIC44ZW0gLjNlbSAuODVlbTtcbn1cblxuLnJhbmdlLXNsaWRlci13cmFwcGVyIC51cHBlci1pbmZvIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmlucHV0LXNsaWRlci12YWx1ZS1vdXRwdXQge1xuICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi5pbnB1dC1zbGlkZXItdmFsdWUtb3V0cHV0OmFmdGVyIHtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogMTBweDtcbiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNiwgMTgzLCAyMTMsIDApO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzMzM7XG4gICAgYm9yZGVyLXdpZHRoOiA0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC00cHg7XG59XG5cbi5pbnB1dC1zbGlkZXItdmFsdWUtb3V0cHV0LmxlZnQ6YWZ0ZXIge1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgcmlnaHQ6IGF1dG87XG59XG5cbi5pbnB1dC1zbGlkZXItdmFsdWUtb3V0cHV0LnJpZ2h0OmFmdGVyIHtcbiAgICByaWdodDogMTBweDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuIiwiLy9cbi8vIEN1c3RvbSBzY3JvbGxiYXJcbi8vXG5cbi5zY3JvbGxiYXItaW5uZXIge1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgICY6bm90KDpob3ZlcikgLnNjcm9sbC1lbGVtZW50IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuc2Nyb2xsLWVsZW1lbnQge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcblxuICAgICAgICAuc2Nyb2xsLWJhcixcbiAgICAgICAgLnNjcm9sbC1lbGVtZW50X3RyYWNrIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXM7XG4gICAgICAgIH1cblxuICAgICAgICAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkge1xuICAgICAgICB3aWR0aDogM3B4O1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXgge1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGh0bWw6bm90KC5hdXRoLWxheW91dCkgLm1haW4tY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogJG5hdmJhci12ZXJ0aWNhbC13aWR0aDtcbiAgfVxufVxuXG4uZml4ZWQtcmlnaHR7XG4gIC5uYXZiYXItdmVydGljYWwubmF2YmFyLWV4cGFuZC1tZHtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAwIDFweDtcbiAgfVxuICAgLm1haW4tY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXZlcnRpY2FsLXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG4iLCJAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NjhweCl7XG4gIGh0bWw6bm90KC5hdXRoLWxheW91dCkgLm1haW4tY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuIiwiLmRyb3Bkb3duLFxuLmRyb3B1cHtcbiAgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXJ7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuZHJvcGRvd24tbWVudXtcbiAgICAgIC5kcm9wZG93bi1pdGVtLmFjdGl2ZXtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG59XG4iXX0= */
@charset "UTF-8";/*!
 * =============================================================
 * dropify v0.2.1 - Override your input files with style.
 * https://github.com/JeremyFagis/dropify
 *
 * (c) 2016 - Jeremy FAGIS <jeremy@fagis.fr> (http://fagis.fr)
 * =============================================================
 */@font-face{font-family:dropify;src:url('dropify.eot');src:url('dropify.eot#iefix') format("embedded-opentype"),url('dropify.woff') format("woff"),url('dropify.ttf') format("truetype"),url('dropify.svg#dropify') format("svg");font-weight:400;font-style:normal}.dropify-font:before,.dropify-wrapper .dropify-message span.file-icon:before,.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-filename span.file-icon:before,[class*=" dropify-font-"]:before,[class^=dropify-font-]:before{font-family:dropify;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-left:.2em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em}.dropify-wrapper,.dropify-wrapper .dropify-clear{font-family:Roboto,"Helvetica Neue",Helvetica,Arial}.dropify-wrapper.has-error .dropify-message .dropify-error,.dropify-wrapper.has-preview .dropify-clear{display:block}.dropify-font-upload:before,.dropify-wrapper .dropify-message span.file-icon:before{content:'\e800'}.dropify-font-file:before{content:'\e801'}.dropify-wrapper{display:block;position:relative;cursor:pointer;overflow:hidden;width:100%;max-width:100%;height:200px;padding:5px 10px;font-size:14px;line-height:22px;color:#777;background-color:#FFF;background-image:none;text-align:center;border:2px solid #E5E5E5;transition:border-color .15s linear}.dropify-wrapper:hover{background-size:30px 30px;background-image:linear-gradient(-45deg,#F6F6F6 25%,transparent 25%,transparent 50%,#F6F6F6 50%,#F6F6F6 75%,transparent 75%,transparent);-webkit-animation:stripes 2s linear infinite;animation:stripes 2s linear infinite}.dropify-wrapper.has-error{border-color:#F34141}.dropify-wrapper.has-error:hover .dropify-errors-container{visibility:visible;opacity:1;transition-delay:0s}.dropify-wrapper.disabled input{cursor:not-allowed}.dropify-wrapper.disabled:hover{background-image:none;-webkit-animation:none;animation:none}.dropify-wrapper.disabled .dropify-message{opacity:.5;text-decoration:line-through}.dropify-wrapper.disabled .dropify-infos-message{display:none}.dropify-wrapper input{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;opacity:0;cursor:pointer;z-index:5}.dropify-wrapper .dropify-message{position:relative;top:50%;transform:translateY(-50%)}.dropify-wrapper .dropify-message span.file-icon{font-size:50px;color:#CCC}.dropify-wrapper .dropify-message p{margin:5px 0 0}.dropify-wrapper .dropify-message p.dropify-error{color:#F34141;font-weight:700;display:none}.dropify-wrapper .dropify-clear{display:none;position:absolute;opacity:0;z-index:7;top:10px;right:10px;background:0 0;border:2px solid #FFF;text-transform:uppercase;font-size:11px;padding:4px 8px;font-weight:700;color:#FFF;transition:all .15s linear}.dropify-wrapper .dropify-clear:hover{background:rgba(255,255,255,.2)}.dropify-wrapper .dropify-preview{display:none;position:absolute;z-index:1;background-color:#FFF;padding:5px;width:100%;height:100%;top:0;right:0;bottom:0;left:0;overflow:hidden;text-align:center}.dropify-wrapper .dropify-preview .dropify-render img{top:50%;transform:translate(0,-50%);position:relative;max-width:100%;max-height:100%;background-color:#FFF;transition:border-color .15s linear}.dropify-wrapper .dropify-preview .dropify-render i{font-size:70px;top:50%;left:50%;transform:translate(-50%,-50%);position:absolute;color:#777}.dropify-wrapper .dropify-preview .dropify-render .dropify-extension{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin-top:10px;text-transform:uppercase;font-weight:900;letter-spacing:-.03em;font-size:13px;width:42px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropify-wrapper .dropify-preview .dropify-infos{position:absolute;left:0;top:0;right:0;bottom:0;z-index:3;background:rgba(0,0,0,.7);opacity:0;transition:opacity .15s linear}.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner{position:absolute;top:50%;transform:translate(0,-40%);-webkit-backface-visibility:hidden;backface-visibility:hidden;width:100%;padding:0 20px;transition:all .2s ease}.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner p{padding:0;margin:0;position:relative;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#FFF;text-align:center;line-height:25px;font-weight:700}.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-filename span.file-icon{margin-right:2px}.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-infos-message{margin-top:15px;padding-top:15px;font-size:12px;position:relative;opacity:.5}.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-infos-message::before{content:'';position:absolute;top:0;left:50%;transform:translate(-50%,0);background:#FFF;width:30px;height:2px}.dropify-wrapper:hover .dropify-clear,.dropify-wrapper:hover .dropify-preview .dropify-infos{opacity:1}.dropify-wrapper:hover .dropify-preview .dropify-infos .dropify-infos-inner{margin-top:-5px}.dropify-wrapper.touch-fallback{height:auto!important}.dropify-wrapper.touch-fallback:hover{background-image:none;-webkit-animation:none;animation:none}.dropify-wrapper.touch-fallback .dropify-preview{position:relative;padding:0}.dropify-wrapper.touch-fallback .dropify-preview .dropify-render{display:block;position:relative}.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-infos-message::before,.dropify-wrapper.touch-fallback.has-preview .dropify-message{display:none}.dropify-wrapper.touch-fallback .dropify-preview .dropify-render .dropify-font-file{position:relative;transform:translate(0,0);top:0;left:0}.dropify-wrapper.touch-fallback .dropify-preview .dropify-render .dropify-font-file::before{margin-top:30px;margin-bottom:30px}.dropify-wrapper.touch-fallback .dropify-preview .dropify-render img{position:relative;transform:translate(0,0)}.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos{position:relative;opacity:1;background:0 0}.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner{position:relative;top:0;transform:translate(0,0);padding:5px 90px 5px 0}.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner p{padding:0;margin:0;position:relative;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#777;text-align:left;line-height:25px}.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-filename{font-weight:700}.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-infos-message{margin-top:0;padding-top:0;font-size:11px;position:relative;opacity:1}.dropify-wrapper.touch-fallback .dropify-message{transform:translate(0,0);padding:40px 0}.dropify-wrapper.touch-fallback .dropify-clear{top:auto;bottom:23px;opacity:1;border-color:rgba(119,119,119,.7);color:#777}.dropify-wrapper.touch-fallback:hover .dropify-preview .dropify-infos .dropify-infos-inner{margin-top:0}.dropify-wrapper .dropify-loader{position:absolute;top:15px;right:15px;display:none;z-index:9}.dropify-wrapper .dropify-loader::after{display:block;position:relative;width:20px;height:20px;-webkit-animation:rotate .6s linear infinite;animation:rotate .6s linear infinite;border-radius:100%;border-top:1px solid #CCC;border-bottom:1px solid #777;border-left:1px solid #CCC;border-right:1px solid #777;content:''}.dropify-wrapper .dropify-errors-container{position:absolute;left:0;top:0;right:0;bottom:0;z-index:3;background:rgba(243,65,65,.8);text-align:left;visibility:hidden;opacity:0;transition:visibility 0s linear .15s,opacity .15s linear}.dropify-wrapper .dropify-errors-container ul{padding:10px 20px;margin:0;position:absolute;left:0;top:50%;transform:translateY(-50%)}.dropify-wrapper .dropify-errors-container ul li{margin-left:20px;color:#FFF;font-weight:700}.dropify-wrapper .dropify-errors-container.visible{visibility:visible;opacity:1;transition-delay:0s}.dropify-wrapper~.dropify-errors-container ul{padding:0;margin:15px 0}.dropify-wrapper~.dropify-errors-container ul li{margin-left:20px;color:#F34141;font-weight:700}@-webkit-keyframes stripes{from{background-position:0 0}to{background-position:60px 30px}}@keyframes stripes{from{background-position:0 0}to{background-position:60px 30px}}@-webkit-keyframes rotate{0%{transform:rotateZ(-360deg)}100%{transform:rotateZ(0)}}@keyframes rotate{0%{transform:rotateZ(-360deg)}100%{transform:rotateZ(0)}}
/*# sourceMappingURL=data:application/json;base64,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OlsiQGNoYXJzZXQgXCJVVEYtOFwiOy8qIVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogZHJvcGlmeSB2MC4yLjEgLSBPdmVycmlkZSB5b3VyIGlucHV0IGZpbGVzIHdpdGggc3R5bGUuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vSmVyZW15RmFnaXMvZHJvcGlmeVxuICpcbiAqIChjKSAyMDE2IC0gSmVyZW15IEZBR0lTIDxqZXJlbXlAZmFnaXMuZnI+IChodHRwOi8vZmFnaXMuZnIpXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKi9AZm9udC1mYWNle2ZvbnQtZmFtaWx5OmRyb3BpZnk7c3JjOnVybCguLi9mb250cy9kcm9waWZ5LmVvdCk7c3JjOnVybCguLi9mb250cy9kcm9waWZ5LmVvdCNpZWZpeCkgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksdXJsKC4uL2ZvbnRzL2Ryb3BpZnkud29mZikgZm9ybWF0KFwid29mZlwiKSx1cmwoLi4vZm9udHMvZHJvcGlmeS50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLHVybCguLi9mb250cy9kcm9waWZ5LnN2ZyNkcm9waWZ5KSBmb3JtYXQoXCJzdmdcIik7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsfS5kcm9waWZ5LWZvbnQ6YmVmb3JlLC5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktbWVzc2FnZSBzcGFuLmZpbGUtaWNvbjpiZWZvcmUsLmRyb3BpZnktd3JhcHBlciAuZHJvcGlmeS1wcmV2aWV3IC5kcm9waWZ5LWluZm9zIC5kcm9waWZ5LWluZm9zLWlubmVyIHAuZHJvcGlmeS1maWxlbmFtZSBzcGFuLmZpbGUtaWNvbjpiZWZvcmUsW2NsYXNzKj1cIiBkcm9waWZ5LWZvbnQtXCJdOmJlZm9yZSxbY2xhc3NePWRyb3BpZnktZm9udC1dOmJlZm9yZXtmb250LWZhbWlseTpkcm9waWZ5O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtzcGVhazpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtZGVjb3JhdGlvbjppbmhlcml0O3dpZHRoOjFlbTttYXJnaW4tbGVmdDouMmVtO21hcmdpbi1yaWdodDouMmVtO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtsaW5lLWhlaWdodDoxZW19LmRyb3BpZnktd3JhcHBlciwuZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LWNsZWFye2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsfS5kcm9waWZ5LXdyYXBwZXIuaGFzLWVycm9yIC5kcm9waWZ5LW1lc3NhZ2UgLmRyb3BpZnktZXJyb3IsLmRyb3BpZnktd3JhcHBlci5oYXMtcHJldmlldyAuZHJvcGlmeS1jbGVhcntkaXNwbGF5OmJsb2NrfS5kcm9waWZ5LWZvbnQtdXBsb2FkOmJlZm9yZSwuZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LW1lc3NhZ2Ugc3Bhbi5maWxlLWljb246YmVmb3Jle2NvbnRlbnQ6J1xcZTgwMCd9LmRyb3BpZnktZm9udC1maWxlOmJlZm9yZXtjb250ZW50OidcXGU4MDEnfS5kcm9waWZ5LXdyYXBwZXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtjdXJzb3I6cG9pbnRlcjtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6MjAwcHg7cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMnB4O2NvbG9yOiM3Nzc7YmFja2dyb3VuZC1jb2xvcjojRkZGO2JhY2tncm91bmQtaW1hZ2U6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXI6MnB4IHNvbGlkICNFNUU1RTU7LXdlYmtpdC10cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTVzIGxpbmVhcjt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTVzIGxpbmVhcn0uZHJvcGlmeS13cmFwcGVyOmhvdmVye2JhY2tncm91bmQtc2l6ZTozMHB4IDMwcHg7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCgxMzVkZWcsI0Y2RjZGNiAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSwjRjZGNkY2IDUwJSwjRjZGNkY2IDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KC00NWRlZywjRjZGNkY2IDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLCNGNkY2RjYgNTAlLCNGNkY2RjYgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7LXdlYmtpdC1hbmltYXRpb246c3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlfS5kcm9waWZ5LXdyYXBwZXIuaGFzLWVycm9ye2JvcmRlci1jb2xvcjojRjM0MTQxfS5kcm9waWZ5LXdyYXBwZXIuaGFzLWVycm9yOmhvdmVyIC5kcm9waWZ5LWVycm9ycy1jb250YWluZXJ7dmlzaWJpbGl0eTp2aXNpYmxlO29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30uZHJvcGlmeS13cmFwcGVyLmRpc2FibGVkIGlucHV0e2N1cnNvcjpub3QtYWxsb3dlZH0uZHJvcGlmeS13cmFwcGVyLmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQtaW1hZ2U6bm9uZTstd2Via2l0LWFuaW1hdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5kcm9waWZ5LXdyYXBwZXIuZGlzYWJsZWQgLmRyb3BpZnktbWVzc2FnZXtvcGFjaXR5Oi41O3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2h9LmRyb3BpZnktd3JhcHBlci5kaXNhYmxlZCAuZHJvcGlmeS1pbmZvcy1tZXNzYWdle2Rpc3BsYXk6bm9uZX0uZHJvcGlmeS13cmFwcGVyIGlucHV0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7b3BhY2l0eTowO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6NX0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LW1lc3NhZ2V7cG9zaXRpb246cmVsYXRpdmU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktbWVzc2FnZSBzcGFuLmZpbGUtaWNvbntmb250LXNpemU6NTBweDtjb2xvcjojQ0NDfS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktbWVzc2FnZSBwe21hcmdpbjo1cHggMCAwfS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktbWVzc2FnZSBwLmRyb3BpZnktZXJyb3J7Y29sb3I6I0YzNDE0MTtmb250LXdlaWdodDo3MDA7ZGlzcGxheTpub25lfS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktY2xlYXJ7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO29wYWNpdHk6MDt6LWluZGV4Ojc7dG9wOjEwcHg7cmlnaHQ6MTBweDtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MnB4IHNvbGlkICNGRkY7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6NHB4IDhweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xNXMgbGluZWFyO3RyYW5zaXRpb246YWxsIC4xNXMgbGluZWFyfS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktY2xlYXI6aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yKX0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LXByZXZpZXd7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7cGFkZGluZzo1cHg7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpjZW50ZXJ9LmRyb3BpZnktd3JhcHBlciAuZHJvcGlmeS1wcmV2aWV3IC5kcm9waWZ5LXJlbmRlciBpbWd7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTUwJSk7cG9zaXRpb246cmVsYXRpdmU7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6I0ZGRjstd2Via2l0LXRyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNXMgbGluZWFyO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNXMgbGluZWFyfS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1yZW5kZXIgaXtmb250LXNpemU6NzBweDt0b3A6NTAlO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtwb3NpdGlvbjphYnNvbHV0ZTtjb2xvcjojNzc3fS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1yZW5kZXIgLmRyb3BpZnktZXh0ZW5zaW9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO21hcmdpbi10b3A6MTBweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6OTAwO2xldHRlci1zcGFjaW5nOi0uMDNlbTtmb250LXNpemU6MTNweDt3aWR0aDo0MnB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktaW5mb3N7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7ei1pbmRleDozO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyk7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcn0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktaW5mb3MgLmRyb3BpZnktaW5mb3MtaW5uZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtNDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTQwJSk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt3aWR0aDoxMDAlO3BhZGRpbmc6MCAyMHB4Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2V9LmRyb3BpZnktd3JhcHBlciAuZHJvcGlmeS1wcmV2aWV3IC5kcm9waWZ5LWluZm9zIC5kcm9waWZ5LWluZm9zLWlubmVyIHB7cGFkZGluZzowO21hcmdpbjowO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2NvbG9yOiNGRkY7dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MjVweDtmb250LXdlaWdodDo3MDB9LmRyb3BpZnktd3JhcHBlciAuZHJvcGlmeS1wcmV2aWV3IC5kcm9waWZ5LWluZm9zIC5kcm9waWZ5LWluZm9zLWlubmVyIHAuZHJvcGlmeS1maWxlbmFtZSBzcGFuLmZpbGUtaWNvbnttYXJnaW4tcmlnaHQ6MnB4fS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1pbmZvcyAuZHJvcGlmeS1pbmZvcy1pbm5lciBwLmRyb3BpZnktaW5mb3MtbWVzc2FnZXttYXJnaW4tdG9wOjE1cHg7cGFkZGluZy10b3A6MTVweDtmb250LXNpemU6MTJweDtwb3NpdGlvbjpyZWxhdGl2ZTtvcGFjaXR5Oi41fS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1pbmZvcyAuZHJvcGlmeS1pbmZvcy1pbm5lciBwLmRyb3BpZnktaW5mb3MtbWVzc2FnZTo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDApO2JhY2tncm91bmQ6I0ZGRjt3aWR0aDozMHB4O2hlaWdodDoycHh9LmRyb3BpZnktd3JhcHBlcjpob3ZlciAuZHJvcGlmeS1jbGVhciwuZHJvcGlmeS13cmFwcGVyOmhvdmVyIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktaW5mb3N7b3BhY2l0eToxfS5kcm9waWZ5LXdyYXBwZXI6aG92ZXIgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1pbmZvcyAuZHJvcGlmeS1pbmZvcy1pbm5lcnttYXJnaW4tdG9wOi01cHh9LmRyb3BpZnktd3JhcHBlci50b3VjaC1mYWxsYmFja3toZWlnaHQ6YXV0byFpbXBvcnRhbnR9LmRyb3BpZnktd3JhcHBlci50b3VjaC1mYWxsYmFjazpob3ZlcntiYWNrZ3JvdW5kLWltYWdlOm5vbmU7LXdlYmtpdC1hbmltYXRpb246bm9uZTthbmltYXRpb246bm9uZX0uZHJvcGlmeS13cmFwcGVyLnRvdWNoLWZhbGxiYWNrIC5kcm9waWZ5LXByZXZpZXd7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzowfS5kcm9waWZ5LXdyYXBwZXIudG91Y2gtZmFsbGJhY2sgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1yZW5kZXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uZHJvcGlmeS13cmFwcGVyLnRvdWNoLWZhbGxiYWNrIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktaW5mb3MgLmRyb3BpZnktaW5mb3MtaW5uZXIgcC5kcm9waWZ5LWluZm9zLW1lc3NhZ2U6OmJlZm9yZSwuZHJvcGlmeS13cmFwcGVyLnRvdWNoLWZhbGxiYWNrLmhhcy1wcmV2aWV3IC5kcm9waWZ5LW1lc3NhZ2V7ZGlzcGxheTpub25lfS5kcm9waWZ5LXdyYXBwZXIudG91Y2gtZmFsbGJhY2sgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1yZW5kZXIgLmRyb3BpZnktZm9udC1maWxle3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0b3A6MDtsZWZ0OjB9LmRyb3BpZnktd3JhcHBlci50b3VjaC1mYWxsYmFjayAuZHJvcGlmeS1wcmV2aWV3IC5kcm9waWZ5LXJlbmRlciAuZHJvcGlmeS1mb250LWZpbGU6OmJlZm9yZXttYXJnaW4tdG9wOjMwcHg7bWFyZ2luLWJvdHRvbTozMHB4fS5kcm9waWZ5LXdyYXBwZXIudG91Y2gtZmFsbGJhY2sgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1yZW5kZXIgaW1ne3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX0uZHJvcGlmeS13cmFwcGVyLnRvdWNoLWZhbGxiYWNrIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktaW5mb3N7cG9zaXRpb246cmVsYXRpdmU7b3BhY2l0eToxO2JhY2tncm91bmQ6MCAwfS5kcm9waWZ5LXdyYXBwZXIudG91Y2gtZmFsbGJhY2sgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1pbmZvcyAuZHJvcGlmeS1pbmZvcy1pbm5lcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7cGFkZGluZzo1cHggOTBweCA1cHggMH0uZHJvcGlmeS13cmFwcGVyLnRvdWNoLWZhbGxiYWNrIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktaW5mb3MgLmRyb3BpZnktaW5mb3MtaW5uZXIgcHtwYWRkaW5nOjA7bWFyZ2luOjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Y29sb3I6Izc3Nzt0ZXh0LWFsaWduOmxlZnQ7bGluZS1oZWlnaHQ6MjVweH0uZHJvcGlmeS13cmFwcGVyLnRvdWNoLWZhbGxiYWNrIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktaW5mb3MgLmRyb3BpZnktaW5mb3MtaW5uZXIgcC5kcm9waWZ5LWZpbGVuYW1le2ZvbnQtd2VpZ2h0OjcwMH0uZHJvcGlmeS13cmFwcGVyLnRvdWNoLWZhbGxiYWNrIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktaW5mb3MgLmRyb3BpZnktaW5mb3MtaW5uZXIgcC5kcm9waWZ5LWluZm9zLW1lc3NhZ2V7bWFyZ2luLXRvcDowO3BhZGRpbmctdG9wOjA7Zm9udC1zaXplOjExcHg7cG9zaXRpb246cmVsYXRpdmU7b3BhY2l0eToxfS5kcm9waWZ5LXdyYXBwZXIudG91Y2gtZmFsbGJhY2sgLmRyb3BpZnktbWVzc2FnZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7cGFkZGluZzo0MHB4IDB9LmRyb3BpZnktd3JhcHBlci50b3VjaC1mYWxsYmFjayAuZHJvcGlmeS1jbGVhcnt0b3A6YXV0bztib3R0b206MjNweDtvcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYmEoMTE5LDExOSwxMTksLjcpO2NvbG9yOiM3Nzd9LmRyb3BpZnktd3JhcHBlci50b3VjaC1mYWxsYmFjazpob3ZlciAuZHJvcGlmeS1wcmV2aWV3IC5kcm9waWZ5LWluZm9zIC5kcm9waWZ5LWluZm9zLWlubmVye21hcmdpbi10b3A6MH0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LWxvYWRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTVweDtyaWdodDoxNXB4O2Rpc3BsYXk6bm9uZTt6LWluZGV4Ojl9LmRyb3BpZnktd3JhcHBlciAuZHJvcGlmeS1sb2FkZXI6OmFmdGVye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDstd2Via2l0LWFuaW1hdGlvbjpyb3RhdGUgLjZzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246cm90YXRlIC42cyBsaW5lYXIgaW5maW5pdGU7Ym9yZGVyLXJhZGl1czoxMDAlO2JvcmRlci10b3A6MXB4IHNvbGlkICNDQ0M7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzc3Nztib3JkZXItbGVmdDoxcHggc29saWQgI0NDQztib3JkZXItcmlnaHQ6MXB4IHNvbGlkICM3Nzc7Y29udGVudDonJ30uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LWVycm9ycy1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7ei1pbmRleDozO2JhY2tncm91bmQ6cmdiYSgyNDMsNjUsNjUsLjgpO3RleHQtYWxpZ246bGVmdDt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIC4xNXMsb3BhY2l0eSAuMTVzIGxpbmVhcjt0cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIC4xNXMsb3BhY2l0eSAuMTVzIGxpbmVhcn0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LWVycm9ycy1jb250YWluZXIgdWx7cGFkZGluZzoxMHB4IDIwcHg7bWFyZ2luOjA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LWVycm9ycy1jb250YWluZXIgdWwgbGl7bWFyZ2luLWxlZnQ6MjBweDtjb2xvcjojRkZGO2ZvbnQtd2VpZ2h0OjcwMH0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LWVycm9ycy1jb250YWluZXIudmlzaWJsZXt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTowczt0cmFuc2l0aW9uLWRlbGF5OjBzfS5kcm9waWZ5LXdyYXBwZXJ+LmRyb3BpZnktZXJyb3JzLWNvbnRhaW5lciB1bHtwYWRkaW5nOjA7bWFyZ2luOjE1cHggMH0uZHJvcGlmeS13cmFwcGVyfi5kcm9waWZ5LWVycm9ycy1jb250YWluZXIgdWwgbGl7bWFyZ2luLWxlZnQ6MjBweDtjb2xvcjojRjM0MTQxO2ZvbnQtd2VpZ2h0OjcwMH1ALXdlYmtpdC1rZXlmcmFtZXMgc3RyaXBlc3tmcm9te2JhY2tncm91bmQtcG9zaXRpb246MCAwfXRve2JhY2tncm91bmQtcG9zaXRpb246NjBweCAzMHB4fX1Aa2V5ZnJhbWVzIHN0cmlwZXN7ZnJvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjYwcHggMzBweH19QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZXswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVaKC0zNjBkZWcpO3RyYW5zZm9ybTpyb3RhdGVaKC0zNjBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWigwKTt0cmFuc2Zvcm06cm90YXRlWigwKX19QGtleWZyYW1lcyByb3RhdGV7MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWigtMzYwZGVnKTt0cmFuc2Zvcm06cm90YXRlWigtMzYwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVooMCk7dHJhbnNmb3JtOnJvdGF0ZVooMCl9fSJdfQ== */
@charset "UTF-8";/*!
 * dropify-multiple - Override your input files with style. Supports mulitple file upload
 * @version v1.0.0
 * @link http://github.com/brewengage/dropify-multiple
 * @author Ravi Kannan <ravi@brewengage.com> (https://github.com/brewengage)
 * @contributors Jeremy FAGIS <jeremy@fagis.fr> (http://fagis.fr)
 * @contributors BrewEngage (added support for multi file upload)
 * @license MIT
 */@font-face{font-family:dropify;src:url('dropify.eot');src:url('dropify.eot#iefix') format("embedded-opentype"),url('dropify.woff') format("woff"),url('dropify.ttf') format("truetype"),url('dropify.svg#dropify') format("svg");font-weight:400;font-style:normal}.dropify-font:before,.dropify-wrapper .dropify-message span.file-icon:before,[class*=" dropify-font-"]:before,[class^=dropify-font-]:before{font-family:dropify;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-left:.2em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em}.dropify-font-upload:before,.dropify-wrapper .dropify-message span.file-icon:before{content:'\e800'}.dropify-font-file:before{content:'\e801'}.dropify-wrapper{display:block;position:relative;cursor:pointer;overflow:hidden;width:100%;max-width:100%;height:200px;padding:5px 10px;font-family:Roboto,"Helvetica Neue",Helvetica,Arial;font-size:14px;line-height:22px;color:#777;background-color:#fff;background-image:none;text-align:center;border:2px solid #e5e5e5;transition:border-color .15s linear}.dropify-wrapper:hover{background-size:30px 30px;background-image:linear-gradient(-45deg,#f6f6f6 25%,transparent 25%,transparent 50%,#f6f6f6 50%,#f6f6f6 75%,transparent 75%,transparent);-webkit-animation:stripes 2s linear infinite;animation:stripes 2s linear infinite}.dropify-wrapper.has-preview .dropify-clear{display:block}.dropify-wrapper.has-error{border-color:#f34141}.dropify-wrapper.has-error .dropify-message .dropify-error{display:block}.dropify-wrapper.has-error:hover .dropify-errors-container{visibility:visible;opacity:1;transition-delay:0s}.dropify-wrapper.disabled input{cursor:not-allowed}.dropify-wrapper.disabled:hover{background-image:none;-webkit-animation:none;animation:none}.dropify-wrapper.disabled .dropify-message{opacity:.5;text-decoration:line-through}.dropify-wrapper.disabled .dropify-infos-message{display:none}.dropify-wrapper input{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;opacity:0;cursor:pointer;z-index:5}.dropify-wrapper .dropify-message{position:relative;top:50%;transform:translateY(-50%)}.dropify-wrapper .dropify-message span.file-icon{font-size:50px;color:#ccc}.dropify-wrapper .dropify-message p{margin:5px 0 0 0}.dropify-wrapper .dropify-message p.dropify-error{color:#f34141;font-weight:700;display:none}.dropify-wrapper .dropify-clear{display:none;position:absolute;opacity:0;z-index:7;top:10px;right:10px;background:0 0;border:2px solid #fff;text-transform:uppercase;font-family:Roboto,"Helvetica Neue",Helvetica,Arial;font-size:11px;padding:4px 8px;font-weight:700;color:#fff;transition:all .15s linear}.dropify-wrapper .dropify-clear:hover{background:rgba(255,255,255,.2)}.dropify-wrapper .dropify-preview{display:none;position:absolute;z-index:1;background-color:#fff;padding:5px;width:100%;height:100%;top:0;right:0;bottom:0;left:0;overflow:hidden;text-align:center}.dropify-wrapper .dropify-preview .dropify-render img{top:50%;transform:translate(0,-50%);position:relative;max-width:100%;max-height:100%;background-color:#fff;transition:border-color .15s linear}.dropify-wrapper .dropify-preview .dropify-render i{font-size:70px;top:50%;left:50%;transform:translate(-50%,-50%);position:absolute;color:#777}.dropify-wrapper .dropify-preview .dropify-render .dropify-extension{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin-top:10px;text-transform:uppercase;font-weight:900;letter-spacing:-.03em;font-size:13px;width:42px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropify-wrapper .dropify-preview .dropify-infos{position:absolute;left:0;top:0;right:0;bottom:0;z-index:3;background:rgba(0,0,0,.7);opacity:0;transition:opacity .15s linear}.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner{position:absolute;top:50%;transform:translate(0,-40%);-webkit-backface-visibility:hidden;backface-visibility:hidden;width:100%;padding:0 20px;transition:all .2s ease}.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner p{padding:0;margin:0;position:relative;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;text-align:center;line-height:25px;font-weight:700}.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-infos-message{margin-top:15px;padding-top:15px;font-size:12px;position:relative;opacity:.5}.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-infos-message::before{content:'';position:absolute;top:0;left:50%;transform:translate(-50%,0);background:#fff;width:30px;height:2px}.dropify-wrapper:hover .dropify-clear{opacity:1}.dropify-wrapper:hover .dropify-preview .dropify-infos{opacity:1}.dropify-wrapper:hover .dropify-preview .dropify-infos .dropify-infos-inner{margin-top:-5px}.dropify-wrapper.touch-fallback{height:auto!important}.dropify-wrapper.touch-fallback:hover{background-image:none;-webkit-animation:none;animation:none}.dropify-wrapper.touch-fallback .dropify-preview{position:relative;padding:0}.dropify-wrapper.touch-fallback .dropify-preview .dropify-render{display:block;position:relative}.dropify-wrapper.touch-fallback .dropify-preview .dropify-render .dropify-font-file{position:relative;transform:translate(0,0);top:0;left:0}.dropify-wrapper.touch-fallback .dropify-preview .dropify-render .dropify-font-file::before{margin-top:30px;margin-bottom:30px}.dropify-wrapper.touch-fallback .dropify-preview .dropify-render img{position:relative;transform:translate(0,0)}.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos{position:relative;opacity:1;background:0 0}.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner{position:relative;top:0;transform:translate(0,0);padding:5px 90px 5px 0}.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner p{padding:0;margin:0;position:relative;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#777;text-align:left;line-height:25px}.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-filename{font-weight:700}.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-infos-message{margin-top:0;padding-top:0;font-size:11px;position:relative;opacity:1}.dropify-wrapper.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner p.dropify-infos-message::before{display:none}.dropify-wrapper.touch-fallback .dropify-message{transform:translate(0,0);padding:40px 0}.dropify-wrapper.touch-fallback .dropify-clear{top:auto;bottom:23px;opacity:1;border-color:rgba(119,119,119,.7);color:#777}.dropify-wrapper.touch-fallback.has-preview .dropify-message{display:none}.dropify-wrapper.touch-fallback:hover .dropify-preview .dropify-infos .dropify-infos-inner{margin-top:0}.dropify-wrapper .dropify-loader{position:absolute;top:15px;right:15px;display:none;z-index:9}.dropify-wrapper .dropify-loader::after{display:block;position:relative;width:20px;height:20px;-webkit-animation:rotate .6s linear infinite;animation:rotate .6s linear infinite;border-radius:100%;border-top:1px solid #ccc;border-bottom:1px solid #777;border-left:1px solid #ccc;border-right:1px solid #777;content:''}.dropify-wrapper .dropify-errors-container{position:absolute;left:0;top:0;right:0;bottom:0;z-index:3;background:rgba(243,65,65,.8);text-align:left;visibility:hidden;opacity:0;transition:visibility 0s linear .15s,opacity .15s linear}.dropify-wrapper .dropify-errors-container ul{padding:10px 20px;margin:0;position:absolute;left:0;top:50%;transform:translateY(-50%)}.dropify-wrapper .dropify-errors-container ul li{margin-left:20px;color:#fff;font-weight:700}.dropify-wrapper .dropify-errors-container.visible{visibility:visible;opacity:1;transition-delay:0s}.dropify-wrapper~.dropify-errors-container ul{padding:0;margin:15px 0}.dropify-wrapper~.dropify-errors-container ul li{margin-left:20px;color:#f34141;font-weight:700}@-webkit-keyframes stripes{from{background-position:0 0}to{background-position:60px 30px}}@keyframes stripes{from{background-position:0 0}to{background-position:60px 30px}}@-webkit-keyframes rotate{0%{transform:rotateZ(-360deg)}100%{transform:rotateZ(0)}}@keyframes rotate{0%{transform:rotateZ(-360deg)}100%{transform:rotateZ(0)}}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRyb3BpZnktbXVsdGlwbGUubWluLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7RUFRZixDQUFDLFdBQVcsbUJBQW1CLENBQUMsc0JBQTZCLENBQUMsMEtBQXNNLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLDRJQUE0SSxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsb0ZBQW9GLGVBQWUsQ0FBQywwQkFBMEIsZUFBZSxDQUFDLGlCQUFpQixhQUFhLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxtREFBbUQsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLHdCQUF3QixDQUFDLG1DQUFtQyxDQUFDLHVCQUF1Qix5QkFBeUIsQ0FBQyx3SUFBd0ksQ0FBQyw0Q0FBNEMsQ0FBQyxvQ0FBb0MsQ0FBQyw0Q0FBNEMsYUFBYSxDQUFDLDJCQUEyQixvQkFBb0IsQ0FBQywyREFBMkQsYUFBYSxDQUFDLDJEQUEyRCxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsZ0NBQWdDLGtCQUFrQixDQUFDLGdDQUFnQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsMkNBQTJDLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxpREFBaUQsWUFBWSxDQUFDLHVCQUF1QixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMs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ZmlsZSI6ImRyb3BpZnktbXVsdGlwbGUubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjsvKiFcbiAqIGRyb3BpZnktbXVsdGlwbGUgLSBPdmVycmlkZSB5b3VyIGlucHV0IGZpbGVzIHdpdGggc3R5bGUuIFN1cHBvcnRzIG11bGl0cGxlIGZpbGUgdXBsb2FkXG4gKiBAdmVyc2lvbiB2MS4wLjBcbiAqIEBsaW5rIGh0dHA6Ly9naXRodWIuY29tL2JyZXdlbmdhZ2UvZHJvcGlmeS1tdWx0aXBsZVxuICogQGF1dGhvciBSYXZpIEthbm5hbiA8cmF2aUBicmV3ZW5nYWdlLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9icmV3ZW5nYWdlKVxuICogQGNvbnRyaWJ1dG9ycyBKZXJlbXkgRkFHSVMgPGplcmVteUBmYWdpcy5mcj4gKGh0dHA6Ly9mYWdpcy5mcilcbiAqIEBjb250cmlidXRvcnMgQnJld0VuZ2FnZSAoYWRkZWQgc3VwcG9ydCBmb3IgbXVsdGkgZmlsZSB1cGxvYWQpXG4gKiBAbGljZW5zZSBNSVRcbiAqL0Bmb250LWZhY2V7Zm9udC1mYW1pbHk6ZHJvcGlmeTtzcmM6dXJsKC4uL2ZvbnRzL2Ryb3BpZnkuZW90KTtzcmM6dXJsKC4uL2ZvbnRzL2Ryb3BpZnkuZW90I2llZml4KSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSx1cmwoLi4vZm9udHMvZHJvcGlmeS53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpLHVybCguLi9mb250cy9kcm9waWZ5LnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksdXJsKC4uL2ZvbnRzL2Ryb3BpZnkuc3ZnI2Ryb3BpZnkpIGZvcm1hdChcInN2Z1wiKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWx9LmRyb3BpZnktZm9udDpiZWZvcmUsLmRyb3BpZnktd3JhcHBlciAuZHJvcGlmeS1tZXNzYWdlIHNwYW4uZmlsZS1pY29uOmJlZm9yZSxbY2xhc3MqPVwiIGRyb3BpZnktZm9udC1cIl06YmVmb3JlLFtjbGFzc149ZHJvcGlmeS1mb250LV06YmVmb3Jle2ZvbnQtZmFtaWx5OmRyb3BpZnk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NwZWFrOm5vbmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7d2lkdGg6MWVtO21hcmdpbi1sZWZ0Oi4yZW07bWFyZ2luLXJpZ2h0Oi4yZW07dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2xpbmUtaGVpZ2h0OjFlbX0uZHJvcGlmeS1mb250LXVwbG9hZDpiZWZvcmUsLmRyb3BpZnktd3JhcHBlciAuZHJvcGlmeS1tZXNzYWdlIHNwYW4uZmlsZS1pY29uOmJlZm9yZXtjb250ZW50OidcXGU4MDAnfS5kcm9waWZ5LWZvbnQtZmlsZTpiZWZvcmV7Y29udGVudDonXFxlODAxJ30uZHJvcGlmeS13cmFwcGVye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OjIwMHB4O3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWw7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjJweDtjb2xvcjojNzc3O2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOjJweCBzb2xpZCAjZTVlNWU1O3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNXMgbGluZWFyfS5kcm9waWZ5LXdyYXBwZXI6aG92ZXJ7YmFja2dyb3VuZC1zaXplOjMwcHggMzBweDtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgtNDVkZWcsI2Y2ZjZmNiAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSwjZjZmNmY2IDUwJSwjZjZmNmY2IDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpOy13ZWJraXQtYW5pbWF0aW9uOnN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpzdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZX0uZHJvcGlmeS13cmFwcGVyLmhhcy1wcmV2aWV3IC5kcm9waWZ5LWNsZWFye2Rpc3BsYXk6YmxvY2t9LmRyb3BpZnktd3JhcHBlci5oYXMtZXJyb3J7Ym9yZGVyLWNvbG9yOiNmMzQxNDF9LmRyb3BpZnktd3JhcHBlci5oYXMtZXJyb3IgLmRyb3BpZnktbWVzc2FnZSAuZHJvcGlmeS1lcnJvcntkaXNwbGF5OmJsb2NrfS5kcm9waWZ5LXdyYXBwZXIuaGFzLWVycm9yOmhvdmVyIC5kcm9waWZ5LWVycm9ycy1jb250YWluZXJ7dmlzaWJpbGl0eTp2aXNpYmxlO29wYWNpdHk6MTt0cmFuc2l0aW9uLWRlbGF5OjBzfS5kcm9waWZ5LXdyYXBwZXIuZGlzYWJsZWQgaW5wdXR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5kcm9waWZ5LXdyYXBwZXIuZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1pbWFnZTpub25lOy13ZWJraXQtYW5pbWF0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9LmRyb3BpZnktd3JhcHBlci5kaXNhYmxlZCAuZHJvcGlmeS1tZXNzYWdle29wYWNpdHk6LjU7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaH0uZHJvcGlmeS13cmFwcGVyLmRpc2FibGVkIC5kcm9waWZ5LWluZm9zLW1lc3NhZ2V7ZGlzcGxheTpub25lfS5kcm9waWZ5LXdyYXBwZXIgaW5wdXR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtvcGFjaXR5OjA7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDo1fS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktbWVzc2FnZXtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LmRyb3BpZnktd3JhcHBlciAuZHJvcGlmeS1tZXNzYWdlIHNwYW4uZmlsZS1pY29ue2ZvbnQtc2l6ZTo1MHB4O2NvbG9yOiNjY2N9LmRyb3BpZnktd3JhcHBlciAuZHJvcGlmeS1tZXNzYWdlIHB7bWFyZ2luOjVweCAwIDAgMH0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LW1lc3NhZ2UgcC5kcm9waWZ5LWVycm9ye2NvbG9yOiNmMzQxNDE7Zm9udC13ZWlnaHQ6NzAwO2Rpc3BsYXk6bm9uZX0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LWNsZWFye2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7ei1pbmRleDo3O3RvcDoxMHB4O3JpZ2h0OjEwcHg7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbDtmb250LXNpemU6MTFweDtwYWRkaW5nOjRweCA4cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dHJhbnNpdGlvbjphbGwgLjE1cyBsaW5lYXJ9LmRyb3BpZnktd3JhcHBlciAuZHJvcGlmeS1jbGVhcjpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktcHJldmlld3tkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxO2JhY2tncm91bmQtY29sb3I6I2ZmZjtwYWRkaW5nOjVweDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LWFsaWduOmNlbnRlcn0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktcmVuZGVyIGltZ3t0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwtNTAlKTtwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNXMgbGluZWFyfS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1yZW5kZXIgaXtmb250LXNpemU6NzBweDt0b3A6NTAlO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtwb3NpdGlvbjphYnNvbHV0ZTtjb2xvcjojNzc3fS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1yZW5kZXIgLmRyb3BpZnktZXh0ZW5zaW9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO21hcmdpbi10b3A6MTBweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6OTAwO2xldHRlci1zcGFjaW5nOi0uMDNlbTtmb250LXNpemU6MTNweDt3aWR0aDo0MnB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktaW5mb3N7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7ei1pbmRleDozO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyk7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcn0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktaW5mb3MgLmRyb3BpZnktaW5mb3MtaW5uZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtNDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTQwJSk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt3aWR0aDoxMDAlO3BhZGRpbmc6MCAyMHB4O3RyYW5zaXRpb246YWxsIC4ycyBlYXNlfS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1pbmZvcyAuZHJvcGlmeS1pbmZvcy1pbm5lciBwe3BhZGRpbmc6MDttYXJnaW46MDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjI1cHg7Zm9udC13ZWlnaHQ6NzAwfS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1pbmZvcyAuZHJvcGlmeS1pbmZvcy1pbm5lciBwLmRyb3BpZnktaW5mb3MtbWVzc2FnZXttYXJnaW4tdG9wOjE1cHg7cGFkZGluZy10b3A6MTVweDtmb250LXNpemU6MTJweDtwb3NpdGlvbjpyZWxhdGl2ZTtvcGFjaXR5Oi41fS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1pbmZvcyAuZHJvcGlmeS1pbmZvcy1pbm5lciBwLmRyb3BpZnktaW5mb3MtbWVzc2FnZTo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDApO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDozMHB4O2hlaWdodDoycHh9LmRyb3BpZnktd3JhcHBlcjpob3ZlciAuZHJvcGlmeS1jbGVhcntvcGFjaXR5OjF9LmRyb3BpZnktd3JhcHBlcjpob3ZlciAuZHJvcGlmeS1wcmV2aWV3IC5kcm9waWZ5LWluZm9ze29wYWNpdHk6MX0uZHJvcGlmeS13cmFwcGVyOmhvdmVyIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktaW5mb3MgLmRyb3BpZnktaW5mb3MtaW5uZXJ7bWFyZ2luLXRvcDotNXB4fS5kcm9waWZ5LXdyYXBwZXIudG91Y2gtZmFsbGJhY2t7aGVpZ2h0OmF1dG8haW1wb3J0YW50fS5kcm9waWZ5LXdyYXBwZXIudG91Y2gtZmFsbGJhY2s6aG92ZXJ7YmFja2dyb3VuZC1pbWFnZTpub25lOy13ZWJraXQtYW5pbWF0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9LmRyb3BpZnktd3JhcHBlci50b3VjaC1mYWxsYmFjayAuZHJvcGlmeS1wcmV2aWV3e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MH0uZHJvcGlmeS13cmFwcGVyLnRvdWNoLWZhbGxiYWNrIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktcmVuZGVye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LmRyb3BpZnktd3JhcHBlci50b3VjaC1mYWxsYmFjayAuZHJvcGlmeS1wcmV2aWV3IC5kcm9waWZ5LXJlbmRlciAuZHJvcGlmeS1mb250LWZpbGV7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RvcDowO2xlZnQ6MH0uZHJvcGlmeS13cmFwcGVyLnRvdWNoLWZhbGxiYWNrIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktcmVuZGVyIC5kcm9waWZ5LWZvbnQtZmlsZTo6YmVmb3Jle21hcmdpbi10b3A6MzBweDttYXJnaW4tYm90dG9tOjMwcHh9LmRyb3BpZnktd3JhcHBlci50b3VjaC1mYWxsYmFjayAuZHJvcGlmeS1wcmV2aWV3IC5kcm9waWZ5LXJlbmRlciBpbWd7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApfS5kcm9waWZ5LXdyYXBwZXIudG91Y2gtZmFsbGJhY2sgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1pbmZvc3twb3NpdGlvbjpyZWxhdGl2ZTtvcGFjaXR5OjE7YmFja2dyb3VuZDowIDB9LmRyb3BpZnktd3JhcHBlci50b3VjaC1mYWxsYmFjayAuZHJvcGlmeS1wcmV2aWV3IC5kcm9waWZ5LWluZm9zIC5kcm9waWZ5LWluZm9zLWlubmVye3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTtwYWRkaW5nOjVweCA5MHB4IDVweCAwfS5kcm9waWZ5LXdyYXBwZXIudG91Y2gtZmFsbGJhY2sgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1pbmZvcyAuZHJvcGlmeS1pbmZvcy1pbm5lciBwe3BhZGRpbmc6MDttYXJnaW46MDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztjb2xvcjojNzc3O3RleHQtYWxpZ246bGVmdDtsaW5lLWhlaWdodDoyNXB4fS5kcm9waWZ5LXdyYXBwZXIudG91Y2gtZmFsbGJhY2sgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1pbmZvcyAuZHJvcGlmeS1pbmZvcy1pbm5lciBwLmRyb3BpZnktZmlsZW5hbWV7Zm9udC13ZWlnaHQ6NzAwfS5kcm9waWZ5LXdyYXBwZXIudG91Y2gtZmFsbGJhY2sgLmRyb3BpZnktcHJldmlldyAuZHJvcGlmeS1pbmZvcyAuZHJvcGlmeS1pbmZvcy1pbm5lciBwLmRyb3BpZnktaW5mb3MtbWVzc2FnZXttYXJnaW4tdG9wOjA7cGFkZGluZy10b3A6MDtmb250LXNpemU6MTFweDtwb3NpdGlvbjpyZWxhdGl2ZTtvcGFjaXR5OjF9LmRyb3BpZnktd3JhcHBlci50b3VjaC1mYWxsYmFjayAuZHJvcGlmeS1wcmV2aWV3IC5kcm9waWZ5LWluZm9zIC5kcm9waWZ5LWluZm9zLWlubmVyIHAuZHJvcGlmeS1pbmZvcy1tZXNzYWdlOjpiZWZvcmV7ZGlzcGxheTpub25lfS5kcm9waWZ5LXdyYXBwZXIudG91Y2gtZmFsbGJhY2sgLmRyb3BpZnktbWVzc2FnZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7cGFkZGluZzo0MHB4IDB9LmRyb3BpZnktd3JhcHBlci50b3VjaC1mYWxsYmFjayAuZHJvcGlmeS1jbGVhcnt0b3A6YXV0bztib3R0b206MjNweDtvcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYmEoMTE5LDExOSwxMTksLjcpO2NvbG9yOiM3Nzd9LmRyb3BpZnktd3JhcHBlci50b3VjaC1mYWxsYmFjay5oYXMtcHJldmlldyAuZHJvcGlmeS1tZXNzYWdle2Rpc3BsYXk6bm9uZX0uZHJvcGlmeS13cmFwcGVyLnRvdWNoLWZhbGxiYWNrOmhvdmVyIC5kcm9waWZ5LXByZXZpZXcgLmRyb3BpZnktaW5mb3MgLmRyb3BpZnktaW5mb3MtaW5uZXJ7bWFyZ2luLXRvcDowfS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktbG9hZGVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3JpZ2h0OjE1cHg7ZGlzcGxheTpub25lO3otaW5kZXg6OX0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LWxvYWRlcjo6YWZ0ZXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoyMHB4O2hlaWdodDoyMHB4Oy13ZWJraXQtYW5pbWF0aW9uOnJvdGF0ZSAuNnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpyb3RhdGUgLjZzIGxpbmVhciBpbmZpbml0ZTtib3JkZXItcmFkaXVzOjEwMCU7Ym9yZGVyLXRvcDoxcHggc29saWQgI2NjYztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNzc3O2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjY2NjO2JvcmRlci1yaWdodDoxcHggc29saWQgIzc3Nztjb250ZW50OicnfS5kcm9waWZ5LXdyYXBwZXIgLmRyb3BpZnktZXJyb3JzLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjM7YmFja2dyb3VuZDpyZ2JhKDI0Myw2NSw2NSwuOCk7dGV4dC1hbGlnbjpsZWZ0O3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MDt0cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIC4xNXMsb3BhY2l0eSAuMTVzIGxpbmVhcn0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LWVycm9ycy1jb250YWluZXIgdWx7cGFkZGluZzoxMHB4IDIwcHg7bWFyZ2luOjA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LWVycm9ycy1jb250YWluZXIgdWwgbGl7bWFyZ2luLWxlZnQ6MjBweDtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjcwMH0uZHJvcGlmeS13cmFwcGVyIC5kcm9waWZ5LWVycm9ycy1jb250YWluZXIudmlzaWJsZXt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxO3RyYW5zaXRpb24tZGVsYXk6MHN9LmRyb3BpZnktd3JhcHBlcn4uZHJvcGlmeS1lcnJvcnMtY29udGFpbmVyIHVse3BhZGRpbmc6MDttYXJnaW46MTVweCAwfS5kcm9waWZ5LXdyYXBwZXJ+LmRyb3BpZnktZXJyb3JzLWNvbnRhaW5lciB1bCBsaXttYXJnaW4tbGVmdDoyMHB4O2NvbG9yOiNmMzQxNDE7Zm9udC13ZWlnaHQ6NzAwfUAtd2Via2l0LWtleWZyYW1lcyBzdHJpcGVze2Zyb217YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjo2MHB4IDMwcHh9fUBrZXlmcmFtZXMgc3RyaXBlc3tmcm9te2JhY2tncm91bmQtcG9zaXRpb246MCAwfXRve2JhY2tncm91bmQtcG9zaXRpb246NjBweCAzMHB4fX1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVooLTM2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZVooLTM2MGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVaKDApO3RyYW5zZm9ybTpyb3RhdGVaKDApfX1Aa2V5ZnJhbWVzIHJvdGF0ZXswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVaKC0zNjBkZWcpO3RyYW5zZm9ybTpyb3RhdGVaKC0zNjBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWigwKTt0cmFuc2Zvcm06cm90YXRlWigwKX19Il19 */

/*# sourceMappingURL=styles.css.map*/