mapa-library-ui 0.14.1 → 0.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.mjs +3 -3
- package/esm2020/src/lib/components/chart/lib/components/dropdown/src/dropdown.component.mjs +3 -3
- package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.mjs +3 -3
- package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +2 -2
- package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs +2 -2
- package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs +2 -2
- package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +2 -2
- package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs +2 -2
- package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs +2 -2
- package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
- package/mapa-library-ui-0.14.2.tgz +0 -0
- package/package.json +1 -1
- package/mapa-library-ui-0.14.1.tgz +0 -0
package/esm2020/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.mjs
CHANGED
|
@@ -126,10 +126,10 @@ export class MapaDropdownComponent {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
MapaDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
-
MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], ngImport: i0, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n
|
|
129
|
+
MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], ngImport: i0, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </ng-template>\n </mat-select>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:SF-Pro!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#f6f7f7;height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-clear{top:-3px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #a7aaad;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i6.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
130
130
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, decorators: [{
|
|
131
131
|
type: Component,
|
|
132
|
-
args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n
|
|
132
|
+
args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </ng-template>\n </mat-select>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:SF-Pro!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#f6f7f7;height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-clear{top:-3px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #a7aaad;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"] }]
|
|
133
133
|
}], ctorParameters: function () { return []; }, propDecorators: { formControl: [{
|
|
134
134
|
type: Input
|
|
135
135
|
}], formControlSearch: [{
|
|
@@ -142,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
142
142
|
type: ViewChild,
|
|
143
143
|
args: ["dropdown", { static: true }]
|
|
144
144
|
}] } });
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQWFoRCxNQUFNLE9BQU8scUJBQXFCO0lBc0JoQztRQWRPLG9CQUFlLEdBQW1DLElBQUksYUFBYSxDQUV4RSxDQUFDLENBQUMsQ0FBQztRQUNFLG1CQUFjLEdBQWtDLElBQUksYUFBYSxDQUV0RSxDQUFDLENBQUMsQ0FBQztRQUNLLHlCQUFvQixHQUFvQixFQUFFLENBQUM7UUFDM0MsdUJBQWtCLEdBQW1CLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUzQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBRVIsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFD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QUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRW1DLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuaW1wb3J0IHsgRWxlbWVudEdyb3VwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWFwYS1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbFNlYXJjaCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBlbGVtZW50ITogRHJvcGRvd247XG4gIEBJbnB1dCgpIGJvcmRlcjogXCJzb2Z0XCIgfCBcInRhZ1wiIHwgXCJoaWdobGlnaHRcIiB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duITogTWF0U2VsZWN0O1xuXG4gIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IFJlcGxheVN1YmplY3Q8RWxlbWVudE9wdGlvbltdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRPcHRpb25bXVxuICA+KDEpO1xuICBwdWJsaWMgZmlsdGVyZWRHcm91cHM6IFJlcGxheVN1YmplY3Q8RWxlbWVudEdyb3VwW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgRWxlbWVudEdyb3VwW11cbiAgPigxKTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkT3B0aW9uc0NhY2hlOiBFbGVtZW50T3B0aW9uW10gPSBbXTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkR3JvdXBDYWNoZTogRWxlbWVudEdyb3VwW10gPSBbXTtcbiAgcHJvdGVjdGVkIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBpc0NoZWNrZWQgPSBmYWxzZTtcbiAgaXNPcHRpb25zR3JvdXAgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc09wdGlvbnNHcm91cCA9IHRoaXMuaXNFbGVtZW50R3JvdXAodGhpcy5lbGVtZW50Lm9wdGlvbnNbMF0pO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZWxlbWVudC5zZWFyY2gpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgICAvLy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmZpbHRlck9wdGlvbnMoKTtcbiAgICAgICAgICB0aGlzLnNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zRnJvbUdyb3VwKFxuICAgIGdyb3VwOiBFbGVtZW50R3JvdXAsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBFbGVtZW50T3B0aW9uW10ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBncm91cC5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgIGl0ZW0udmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW107XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9IGdyb3Vwc1xuICAgICAgICAubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBncm91cC5sYWJlbCxcbiAgICAgICAgICBvcHRpb25zOiB0aGlzLmZpbHRlck9wdGlvbnNGcm9tR3JvdXAoZ3JvdXAsIHNlYXJjaCksXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucy5sZW5ndGggPiAwKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW107XG4gICAgICBpZiAoIXNlYXJjaCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5zbGljZSgpO1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBmaWx0ZXIgdGhlIG9wdGlvbnNcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgKG9wdGlvbjogRWxlbWVudE9wdGlvbikgPT5cbiAgICAgICAgICBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgPiAtMVxuICAgICAgKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKSB7XG4gICAgbGV0IGZpbHRlcmVkTGVuZ3RoID0gMDtcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5lbGVtZW50LnNlYXJjaD8uZm9ybUNvbnRyb2w/LnZhbHVlO1xuXG4gICAgaWYgKHNlYXJjaCAmJiBzZWFyY2gudmFsdWUpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgaWYgKHNlYXJjaC52YWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZWwpID4gLTEpIHtcbiAgICAgICAgICBmaWx0ZXJlZExlbmd0aCsrO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaXNJbmRldGVybWluYXRlID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmIGZpbHRlcmVkTGVuZ3RoIDwgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5sZW5ndGg7XG4gICAgICB0aGlzLmlzQ2hlY2tlZCA9XG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID4gMCAmJlxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA9PT0gdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2VsZWN0QWxsKHNlbGVjdEFsbFZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMuc3Vic2NyaWJlKChvcHRpb25zOiBFbGVtZW50T3B0aW9uW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKG9wdGlvbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5zdWJzY3JpYmUoKGdyb3VwczogRWxlbWVudEdyb3VwW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFxuICAgICAgICAgIGdyb3Vwcy5tYXAoKGdyb3VwOiBFbGVtZW50R3JvdXApID0+IGdyb3VwLm9wdGlvbnMpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFtdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlzRWxlbWVudEdyb3VwKG9iamVjdDogRWxlbWVudEdyb3VwIHwgRWxlbWVudE9wdGlvbik6IG9iamVjdCBpcyBFbGVtZW50R3JvdXAge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAob2JqZWN0IGFzIEVsZW1lbnRHcm91cCkubGFiZWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAob2JqZWN0IGFzIEVsZW1lbnRHcm91cCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjb21wYXJlRm4oYzE6IGFueSwgYzI6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjMSAmJiBjMiA/IGMxLmtleSA9PT0gYzIua2V5IDogYzEgPT09IGMyO1xuICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICB7eyBlbGVtZW50LmxhYmVsIH19XG48L2xhYmVsPlxuPG1hdC1mb3JtLWZpZWxkXG4gIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXNvZnQtYm9yZGVyXT1cImJvcmRlciA9PT0gJ3NvZnQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCI+XG4gIDxtYXQtc2VsZWN0XG4gICAgI2Ryb3Bkb3duXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImVsZW1lbnQucGxhY2Vob2xkZXIgfHwgJydcIlxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxuICA+XG4gICAgPG1hdC1vcHRpb24gKm5nSWY9XCJlbGVtZW50LnNlYXJjaFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fc2VhcmNoXCI+XG4gICAgICA8bmd4LW1hdC1zZWxlY3Qtc2VhcmNoXG4gICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbc2hvd1RvZ2dsZUFsbENoZWNrYm94XT1cInRydWVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICBbbm9FbnRyaWVzRm91bmRMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5ub0VudHJpZXNGb3VuZExhYmVsIHx8ICcnXCJcbiAgICAgICAgW3RvZ2dsZUFsbENoZWNrYm94SW5kZXRlcm1pbmF0ZV09XCJpc0luZGV0ZXJtaW5hdGVcIlxuICAgICAgICBbdG9nZ2xlQWxsQ2hlY2tib3hDaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICh0b2dnbGVBbGwpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc09wdGlvbnNHcm91cDsgZWxzZSBpc0VsZW1lbnRPcHRpb25zXCI+XG4gICAgICA8bWF0LW9wdGdyb3VwICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCIgW2xhYmVsXT1cImdyb3VwLmxhYmVsXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZ3JvdXAub3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtb3B0Z3JvdXA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAge3sgb3B0aW9uLnZhbHVlIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtc2VsZWN0PlxuICA8bWF0LWVycm9yXG4gICAgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgPC9tYXQtZXJyb3I+XG4gIDxtYXQtZXJyb3JcbiAgICAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8ubWlubGVuZ3RoIH19XG4gIDwvbWF0LWVycm9yPlxuICA8bWF0LWVycm9yXG4gICAgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NwZicpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LmNwZiB9fVxuICA8L21hdC1lcnJvcj5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjbnBqJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICA8L21hdC1lcnJvcj5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LmVtYWlsIH19XG4gIDwvbWF0LWVycm9yPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQWFoRCxNQUFNLE9BQU8scUJBQXFCO0lBc0JoQztRQWRPLG9CQUFlLEdBQW1DLElBQUksYUFBYSxDQUV4RSxDQUFDLENBQUMsQ0FBQztRQUNFLG1CQUFjLEdBQWtDLElBQUksYUFBYSxDQUV0RSxDQUFDLENBQUMsQ0FBQztRQUNLLHlCQUFvQixHQUFvQixFQUFFLENBQUM7UUFDM0MsdUJBQWtCLEdBQW1CLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUzQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBRVIsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFD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QUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRW1DLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuaW1wb3J0IHsgRWxlbWVudEdyb3VwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWFwYS1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbFNlYXJjaCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBlbGVtZW50ITogRHJvcGRvd247XG4gIEBJbnB1dCgpIGJvcmRlcjogXCJzb2Z0XCIgfCBcInRhZ1wiIHwgXCJoaWdobGlnaHRcIiB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duITogTWF0U2VsZWN0O1xuXG4gIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IFJlcGxheVN1YmplY3Q8RWxlbWVudE9wdGlvbltdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRPcHRpb25bXVxuICA+KDEpO1xuICBwdWJsaWMgZmlsdGVyZWRHcm91cHM6IFJlcGxheVN1YmplY3Q8RWxlbWVudEdyb3VwW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgRWxlbWVudEdyb3VwW11cbiAgPigxKTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkT3B0aW9uc0NhY2hlOiBFbGVtZW50T3B0aW9uW10gPSBbXTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkR3JvdXBDYWNoZTogRWxlbWVudEdyb3VwW10gPSBbXTtcbiAgcHJvdGVjdGVkIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBpc0NoZWNrZWQgPSBmYWxzZTtcbiAgaXNPcHRpb25zR3JvdXAgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc09wdGlvbnNHcm91cCA9IHRoaXMuaXNFbGVtZW50R3JvdXAodGhpcy5lbGVtZW50Lm9wdGlvbnNbMF0pO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZWxlbWVudC5zZWFyY2gpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgICAvLy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmZpbHRlck9wdGlvbnMoKTtcbiAgICAgICAgICB0aGlzLnNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zRnJvbUdyb3VwKFxuICAgIGdyb3VwOiBFbGVtZW50R3JvdXAsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBFbGVtZW50T3B0aW9uW10ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBncm91cC5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgIGl0ZW0udmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW107XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9IGdyb3Vwc1xuICAgICAgICAubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBncm91cC5sYWJlbCxcbiAgICAgICAgICBvcHRpb25zOiB0aGlzLmZpbHRlck9wdGlvbnNGcm9tR3JvdXAoZ3JvdXAsIHNlYXJjaCksXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucy5sZW5ndGggPiAwKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW107XG4gICAgICBpZiAoIXNlYXJjaCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5zbGljZSgpO1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBmaWx0ZXIgdGhlIG9wdGlvbnNcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgKG9wdGlvbjogRWxlbWVudE9wdGlvbikgPT5cbiAgICAgICAgICBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgPiAtMVxuICAgICAgKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKSB7XG4gICAgbGV0IGZpbHRlcmVkTGVuZ3RoID0gMDtcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5lbGVtZW50LnNlYXJjaD8uZm9ybUNvbnRyb2w/LnZhbHVlO1xuXG4gICAgaWYgKHNlYXJjaCAmJiBzZWFyY2gudmFsdWUpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgaWYgKHNlYXJjaC52YWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZWwpID4gLTEpIHtcbiAgICAgICAgICBmaWx0ZXJlZExlbmd0aCsrO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaXNJbmRldGVybWluYXRlID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmIGZpbHRlcmVkTGVuZ3RoIDwgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5sZW5ndGg7XG4gICAgICB0aGlzLmlzQ2hlY2tlZCA9XG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID4gMCAmJlxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA9PT0gdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2VsZWN0QWxsKHNlbGVjdEFsbFZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMuc3Vic2NyaWJlKChvcHRpb25zOiBFbGVtZW50T3B0aW9uW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKG9wdGlvbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5zdWJzY3JpYmUoKGdyb3VwczogRWxlbWVudEdyb3VwW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFxuICAgICAgICAgIGdyb3Vwcy5tYXAoKGdyb3VwOiBFbGVtZW50R3JvdXApID0+IGdyb3VwLm9wdGlvbnMpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFtdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlzRWxlbWVudEdyb3VwKG9iamVjdDogRWxlbWVudEdyb3VwIHwgRWxlbWVudE9wdGlvbik6IG9iamVjdCBpcyBFbGVtZW50R3JvdXAge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAob2JqZWN0IGFzIEVsZW1lbnRHcm91cCkubGFiZWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAob2JqZWN0IGFzIEVsZW1lbnRHcm91cCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjb21wYXJlRm4oYzE6IGFueSwgYzI6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjMSAmJiBjMiA/IGMxLmtleSA9PT0gYzIua2V5IDogYzEgPT09IGMyO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZWxlbWVudFwiPlxuICA8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICAgIHt7IGVsZW1lbnQubGFiZWwgfX1cbiAgPC9sYWJlbD5cbiAgPG1hdC1mb3JtLWZpZWxkXG4gICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgIGNsYXNzPVwibWFwYS1kcm9wZG93blwiXG4gICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tc29mdC1ib3JkZXJdPVwiYm9yZGVyID09PSAnc29mdCdcIlxuICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS10YWddPVwiYm9yZGVyID09PSAndGFnJ1wiXG4gICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCJcbiAgPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICAjZHJvcGRvd25cbiAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiZWxlbWVudC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUZuXCJcbiAgICA+XG4gICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImVsZW1lbnQuc2VhcmNoXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19zZWFyY2hcIj5cbiAgICAgICAgPG5neC1tYXQtc2VsZWN0LXNlYXJjaFxuICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgIFtzaG93VG9nZ2xlQWxsQ2hlY2tib3hdPVwidHJ1ZVwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgICAgaTE4bi1wbGFjZWhvbGRlckxhYmVsXG4gICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgW3RvZ2dsZUFsbENoZWNrYm94SW5kZXRlcm1pbmF0ZV09XCJpc0luZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgIFt0b2dnbGVBbGxDaGVja2JveENoZWNrZWRdPVwiaXNDaGVja2VkXCJcbiAgICAgICAgICAodG9nZ2xlQWxsKT1cInRvZ2dsZVNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICA8bWF0LW9wdGdyb3VwXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGZpbHRlcmVkR3JvdXBzIHwgYXN5bmNcIlxuICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGdyb3VwLm9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2lzRWxlbWVudE9wdGlvbnM+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiXG4gICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L21hdC1zZWxlY3Q+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnJlcXVpcmVkIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5sZW5ndGggfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAge3sgZWxlbWVudC5lcnJvcnM/LmNwZiB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAge3sgZWxlbWVudC5lcnJvcnM/LmNucGogfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICB7eyBlbGVtZW50LmVycm9ycz8uZW1haWwgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuIl19
|
|
@@ -126,10 +126,10 @@ export class MapaDropdownComponent {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
MapaDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
-
MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], ngImport: i0, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n
|
|
129
|
+
MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], ngImport: i0, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </ng-template>\n </mat-select>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:SF-Pro!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#f6f7f7;height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-clear{top:-3px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #a7aaad;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i6.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
130
130
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, decorators: [{
|
|
131
131
|
type: Component,
|
|
132
|
-
args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n
|
|
132
|
+
args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </ng-template>\n </mat-select>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:SF-Pro!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#f6f7f7;height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-clear{top:-3px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #a7aaad;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"] }]
|
|
133
133
|
}], ctorParameters: function () { return []; }, propDecorators: { formControl: [{
|
|
134
134
|
type: Input
|
|
135
135
|
}], formControlSearch: [{
|
|
@@ -142,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
142
142
|
type: ViewChild,
|
|
143
143
|
args: ["dropdown", { static: true }]
|
|
144
144
|
}] } });
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQWFoRCxNQUFNLE9BQU8scUJBQXFCO0lBc0JoQztRQWRPLG9CQUFlLEdBQW1DLElBQUksYUFBYSxDQUV4RSxDQUFDLENBQUMsQ0FBQztRQUNFLG1CQUFjLEdBQWtDLElBQUksYUFBYSxDQUV0RSxDQUFDLENBQUMsQ0FBQztRQUNLLHlCQUFvQixHQUFvQixFQUFFLENBQUM7UUFDM0MsdUJBQWtCLEdBQW1CLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUzQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBRVIsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFD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QUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRW1DLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuaW1wb3J0IHsgRWxlbWVudEdyb3VwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWFwYS1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbFNlYXJjaCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBlbGVtZW50ITogRHJvcGRvd247XG4gIEBJbnB1dCgpIGJvcmRlcjogXCJzb2Z0XCIgfCBcInRhZ1wiIHwgXCJoaWdobGlnaHRcIiB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duITogTWF0U2VsZWN0O1xuXG4gIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IFJlcGxheVN1YmplY3Q8RWxlbWVudE9wdGlvbltdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRPcHRpb25bXVxuICA+KDEpO1xuICBwdWJsaWMgZmlsdGVyZWRHcm91cHM6IFJlcGxheVN1YmplY3Q8RWxlbWVudEdyb3VwW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgRWxlbWVudEdyb3VwW11cbiAgPigxKTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkT3B0aW9uc0NhY2hlOiBFbGVtZW50T3B0aW9uW10gPSBbXTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkR3JvdXBDYWNoZTogRWxlbWVudEdyb3VwW10gPSBbXTtcbiAgcHJvdGVjdGVkIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBpc0NoZWNrZWQgPSBmYWxzZTtcbiAgaXNPcHRpb25zR3JvdXAgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc09wdGlvbnNHcm91cCA9IHRoaXMuaXNFbGVtZW50R3JvdXAodGhpcy5lbGVtZW50Lm9wdGlvbnNbMF0pO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZWxlbWVudC5zZWFyY2gpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgICAvLy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmZpbHRlck9wdGlvbnMoKTtcbiAgICAgICAgICB0aGlzLnNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zRnJvbUdyb3VwKFxuICAgIGdyb3VwOiBFbGVtZW50R3JvdXAsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBFbGVtZW50T3B0aW9uW10ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBncm91cC5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgIGl0ZW0udmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW107XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9IGdyb3Vwc1xuICAgICAgICAubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBncm91cC5sYWJlbCxcbiAgICAgICAgICBvcHRpb25zOiB0aGlzLmZpbHRlck9wdGlvbnNGcm9tR3JvdXAoZ3JvdXAsIHNlYXJjaCksXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucy5sZW5ndGggPiAwKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW107XG4gICAgICBpZiAoIXNlYXJjaCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5zbGljZSgpO1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBmaWx0ZXIgdGhlIG9wdGlvbnNcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgKG9wdGlvbjogRWxlbWVudE9wdGlvbikgPT5cbiAgICAgICAgICBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgPiAtMVxuICAgICAgKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKSB7XG4gICAgbGV0IGZpbHRlcmVkTGVuZ3RoID0gMDtcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5lbGVtZW50LnNlYXJjaD8uZm9ybUNvbnRyb2w/LnZhbHVlO1xuXG4gICAgaWYgKHNlYXJjaCAmJiBzZWFyY2gudmFsdWUpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgaWYgKHNlYXJjaC52YWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZWwpID4gLTEpIHtcbiAgICAgICAgICBmaWx0ZXJlZExlbmd0aCsrO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaXNJbmRldGVybWluYXRlID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmIGZpbHRlcmVkTGVuZ3RoIDwgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5sZW5ndGg7XG4gICAgICB0aGlzLmlzQ2hlY2tlZCA9XG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID4gMCAmJlxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA9PT0gdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2VsZWN0QWxsKHNlbGVjdEFsbFZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMuc3Vic2NyaWJlKChvcHRpb25zOiBFbGVtZW50T3B0aW9uW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKG9wdGlvbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5zdWJzY3JpYmUoKGdyb3VwczogRWxlbWVudEdyb3VwW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFxuICAgICAgICAgIGdyb3Vwcy5tYXAoKGdyb3VwOiBFbGVtZW50R3JvdXApID0+IGdyb3VwLm9wdGlvbnMpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFtdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlzRWxlbWVudEdyb3VwKG9iamVjdDogRWxlbWVudEdyb3VwIHwgRWxlbWVudE9wdGlvbik6IG9iamVjdCBpcyBFbGVtZW50R3JvdXAge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAob2JqZWN0IGFzIEVsZW1lbnRHcm91cCkubGFiZWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAob2JqZWN0IGFzIEVsZW1lbnRHcm91cCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjb21wYXJlRm4oYzE6IGFueSwgYzI6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjMSAmJiBjMiA/IGMxLmtleSA9PT0gYzIua2V5IDogYzEgPT09IGMyO1xuICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICB7eyBlbGVtZW50LmxhYmVsIH19XG48L2xhYmVsPlxuPG1hdC1mb3JtLWZpZWxkXG4gIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXNvZnQtYm9yZGVyXT1cImJvcmRlciA9PT0gJ3NvZnQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCI+XG4gIDxtYXQtc2VsZWN0XG4gICAgI2Ryb3Bkb3duXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImVsZW1lbnQucGxhY2Vob2xkZXIgfHwgJydcIlxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxuICA+XG4gICAgPG1hdC1vcHRpb24gKm5nSWY9XCJlbGVtZW50LnNlYXJjaFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fc2VhcmNoXCI+XG4gICAgICA8bmd4LW1hdC1zZWxlY3Qtc2VhcmNoXG4gICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbc2hvd1RvZ2dsZUFsbENoZWNrYm94XT1cInRydWVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICBbbm9FbnRyaWVzRm91bmRMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5ub0VudHJpZXNGb3VuZExhYmVsIHx8ICcnXCJcbiAgICAgICAgW3RvZ2dsZUFsbENoZWNrYm94SW5kZXRlcm1pbmF0ZV09XCJpc0luZGV0ZXJtaW5hdGVcIlxuICAgICAgICBbdG9nZ2xlQWxsQ2hlY2tib3hDaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICh0b2dnbGVBbGwpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc09wdGlvbnNHcm91cDsgZWxzZSBpc0VsZW1lbnRPcHRpb25zXCI+XG4gICAgICA8bWF0LW9wdGdyb3VwICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCIgW2xhYmVsXT1cImdyb3VwLmxhYmVsXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZ3JvdXAub3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtb3B0Z3JvdXA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAge3sgb3B0aW9uLnZhbHVlIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtc2VsZWN0PlxuICA8bWF0LWVycm9yXG4gICAgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgPC9tYXQtZXJyb3I+XG4gIDxtYXQtZXJyb3JcbiAgICAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8ubWlubGVuZ3RoIH19XG4gIDwvbWF0LWVycm9yPlxuICA8bWF0LWVycm9yXG4gICAgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NwZicpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LmNwZiB9fVxuICA8L21hdC1lcnJvcj5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjbnBqJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICA8L21hdC1lcnJvcj5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LmVtYWlsIH19XG4gIDwvbWF0LWVycm9yPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQWFoRCxNQUFNLE9BQU8scUJBQXFCO0lBc0JoQztRQWRPLG9CQUFlLEdBQW1DLElBQUksYUFBYSxDQUV4RSxDQUFDLENBQUMsQ0FBQztRQUNFLG1CQUFjLEdBQWtDLElBQUksYUFBYSxDQUV0RSxDQUFDLENBQUMsQ0FBQztRQUNLLHlCQUFvQixHQUFvQixFQUFFLENBQUM7UUFDM0MsdUJBQWtCLEdBQW1CLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUzQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBRVIsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbkUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsR0FBSSxJQUFJLENBQUMsT0FBTztpQkFDcEMsT0FBMEIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0wsSUFBSSxDQUFDLG9CQUFvQixHQUFJLElBQUksQ0FBQyxPQUFPO2lCQUN0QyxPQUEyQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsWUFBWTtnQkFDM0MsbUNBQW1DO2lCQUNsQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFUyxzQkFBc0IsQ0FDOUIsS0FBbUIsRUFDbkIsS0FBYTtRQUViLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRTlDLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7WUFDMUQsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPO1lBQ2YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FDckQsQ0FBQztJQUNSLENBQUM7SUFFUyxhQUFhO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUN6QixPQUFPO1NBQ1I7UUFDRCx5QkFBeUI7UUFDekIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQztRQUVyRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUF5QixDQUFDO1lBQ3RELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNO2lCQUM3QixHQUFHLENBQUMsQ0FBQyxLQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM3QixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQzthQUNwRCxDQUFDLENBQUM7aUJBQ0YsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0wsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUEwQixDQUFDO1lBQ3hELElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ3JELE9BQU87YUFDUjtZQUNELHFCQUFxQjtZQUNyQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDeEMsQ0FBQyxNQUFxQixFQUFFLEVBQUUsQ0FDeEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2xELENBQUM7WUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUN0RDtJQUNILENBQUM7SUFFUyx5QkFBeUI7UUFDakMsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUM7UUFFckQsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUMxQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQy9DLGNBQWMsRUFBRSxDQUFDO2lCQUNsQjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGVBQWU7Z0JBQ2xCLGNBQWMsR0FBRyxDQUFDLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7WUFDMUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ1osY0FBYyxHQUFHLENBQUM7b0JBQ2xCLGNBQWMsS0FBSyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxjQUF1QjtRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtZQUMxRCxJQUFJLGNBQWMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDbEM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBc0IsRUFBRSxFQUFFO1lBQ3ZELElBQUksY0FBYyxFQUFFO2dCQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FDMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDbkQsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQW9DO1FBQ2pELElBQUk7WUFDRixPQUFPLENBQ0osTUFBdUIsQ0FBQyxLQUFLLEtBQUssU0FBUztnQkFDM0MsTUFBdUIsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUMvQyxDQUFDO1NBQ0g7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQU8sRUFBRSxFQUFPO1FBQ3hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2xELENBQUM7O21IQW5KVSxxQkFBcUI7dUdBQXJCLHFCQUFxQiwrUkMzQmxDLDYrRUFxRUE7NEZEMUNhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUk7MEVBRzVCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRW1DLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuaW1wb3J0IHsgRWxlbWVudEdyb3VwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWFwYS1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbFNlYXJjaCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBlbGVtZW50ITogRHJvcGRvd247XG4gIEBJbnB1dCgpIGJvcmRlcjogXCJzb2Z0XCIgfCBcInRhZ1wiIHwgXCJoaWdobGlnaHRcIiB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duITogTWF0U2VsZWN0O1xuXG4gIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IFJlcGxheVN1YmplY3Q8RWxlbWVudE9wdGlvbltdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRPcHRpb25bXVxuICA+KDEpO1xuICBwdWJsaWMgZmlsdGVyZWRHcm91cHM6IFJlcGxheVN1YmplY3Q8RWxlbWVudEdyb3VwW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgRWxlbWVudEdyb3VwW11cbiAgPigxKTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkT3B0aW9uc0NhY2hlOiBFbGVtZW50T3B0aW9uW10gPSBbXTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkR3JvdXBDYWNoZTogRWxlbWVudEdyb3VwW10gPSBbXTtcbiAgcHJvdGVjdGVkIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBpc0NoZWNrZWQgPSBmYWxzZTtcbiAgaXNPcHRpb25zR3JvdXAgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc09wdGlvbnNHcm91cCA9IHRoaXMuaXNFbGVtZW50R3JvdXAodGhpcy5lbGVtZW50Lm9wdGlvbnNbMF0pO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZWxlbWVudC5zZWFyY2gpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgICAvLy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmZpbHRlck9wdGlvbnMoKTtcbiAgICAgICAgICB0aGlzLnNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zRnJvbUdyb3VwKFxuICAgIGdyb3VwOiBFbGVtZW50R3JvdXAsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBFbGVtZW50T3B0aW9uW10ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBncm91cC5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgIGl0ZW0udmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW107XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9IGdyb3Vwc1xuICAgICAgICAubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBncm91cC5sYWJlbCxcbiAgICAgICAgICBvcHRpb25zOiB0aGlzLmZpbHRlck9wdGlvbnNGcm9tR3JvdXAoZ3JvdXAsIHNlYXJjaCksXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucy5sZW5ndGggPiAwKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW107XG4gICAgICBpZiAoIXNlYXJjaCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5zbGljZSgpO1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBmaWx0ZXIgdGhlIG9wdGlvbnNcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgKG9wdGlvbjogRWxlbWVudE9wdGlvbikgPT5cbiAgICAgICAgICBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgPiAtMVxuICAgICAgKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKSB7XG4gICAgbGV0IGZpbHRlcmVkTGVuZ3RoID0gMDtcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5lbGVtZW50LnNlYXJjaD8uZm9ybUNvbnRyb2w/LnZhbHVlO1xuXG4gICAgaWYgKHNlYXJjaCAmJiBzZWFyY2gudmFsdWUpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgaWYgKHNlYXJjaC52YWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZWwpID4gLTEpIHtcbiAgICAgICAgICBmaWx0ZXJlZExlbmd0aCsrO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaXNJbmRldGVybWluYXRlID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmIGZpbHRlcmVkTGVuZ3RoIDwgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5sZW5ndGg7XG4gICAgICB0aGlzLmlzQ2hlY2tlZCA9XG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID4gMCAmJlxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA9PT0gdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2VsZWN0QWxsKHNlbGVjdEFsbFZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMuc3Vic2NyaWJlKChvcHRpb25zOiBFbGVtZW50T3B0aW9uW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKG9wdGlvbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5zdWJzY3JpYmUoKGdyb3VwczogRWxlbWVudEdyb3VwW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFxuICAgICAgICAgIGdyb3Vwcy5tYXAoKGdyb3VwOiBFbGVtZW50R3JvdXApID0+IGdyb3VwLm9wdGlvbnMpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFtdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlzRWxlbWVudEdyb3VwKG9iamVjdDogRWxlbWVudEdyb3VwIHwgRWxlbWVudE9wdGlvbik6IG9iamVjdCBpcyBFbGVtZW50R3JvdXAge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAob2JqZWN0IGFzIEVsZW1lbnRHcm91cCkubGFiZWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAob2JqZWN0IGFzIEVsZW1lbnRHcm91cCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjb21wYXJlRm4oYzE6IGFueSwgYzI6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjMSAmJiBjMiA/IGMxLmtleSA9PT0gYzIua2V5IDogYzEgPT09IGMyO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZWxlbWVudFwiPlxuICA8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICAgIHt7IGVsZW1lbnQubGFiZWwgfX1cbiAgPC9sYWJlbD5cbiAgPG1hdC1mb3JtLWZpZWxkXG4gICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgIGNsYXNzPVwibWFwYS1kcm9wZG93blwiXG4gICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tc29mdC1ib3JkZXJdPVwiYm9yZGVyID09PSAnc29mdCdcIlxuICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS10YWddPVwiYm9yZGVyID09PSAndGFnJ1wiXG4gICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCJcbiAgPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICAjZHJvcGRvd25cbiAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiZWxlbWVudC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUZuXCJcbiAgICA+XG4gICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImVsZW1lbnQuc2VhcmNoXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19zZWFyY2hcIj5cbiAgICAgICAgPG5neC1tYXQtc2VsZWN0LXNlYXJjaFxuICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgIFtzaG93VG9nZ2xlQWxsQ2hlY2tib3hdPVwidHJ1ZVwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgICAgaTE4bi1wbGFjZWhvbGRlckxhYmVsXG4gICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgW3RvZ2dsZUFsbENoZWNrYm94SW5kZXRlcm1pbmF0ZV09XCJpc0luZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgIFt0b2dnbGVBbGxDaGVja2JveENoZWNrZWRdPVwiaXNDaGVja2VkXCJcbiAgICAgICAgICAodG9nZ2xlQWxsKT1cInRvZ2dsZVNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICA8bWF0LW9wdGdyb3VwXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGZpbHRlcmVkR3JvdXBzIHwgYXN5bmNcIlxuICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGdyb3VwLm9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2lzRWxlbWVudE9wdGlvbnM+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiXG4gICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L21hdC1zZWxlY3Q+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnJlcXVpcmVkIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5sZW5ndGggfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAge3sgZWxlbWVudC5lcnJvcnM/LmNwZiB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAge3sgZWxlbWVudC5lcnJvcnM/LmNucGogfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICB7eyBlbGVtZW50LmVycm9ycz8uZW1haWwgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuIl19
|
package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.mjs
CHANGED
|
@@ -126,10 +126,10 @@ export class MapaDropdownComponent {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
MapaDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
-
MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], ngImport: i0, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n
|
|
129
|
+
MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], ngImport: i0, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </ng-template>\n </mat-select>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:SF-Pro!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#f6f7f7;height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-clear{top:-3px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #a7aaad;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i6.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
130
130
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, decorators: [{
|
|
131
131
|
type: Component,
|
|
132
|
-
args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n
|
|
132
|
+
args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </ng-template>\n </mat-select>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:SF-Pro!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#f6f7f7;height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-clear{top:-3px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #a7aaad;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"] }]
|
|
133
133
|
}], ctorParameters: function () { return []; }, propDecorators: { formControl: [{
|
|
134
134
|
type: Input
|
|
135
135
|
}], formControlSearch: [{
|
|
@@ -142,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
142
142
|
type: ViewChild,
|
|
143
143
|
args: ["dropdown", { static: true }]
|
|
144
144
|
}] } });
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQWFoRCxNQUFNLE9BQU8scUJBQXFCO0lBc0JoQztRQWRPLG9CQUFlLEdBQW1DLElBQUksYUFBYSxDQUV4RSxDQUFDLENBQUMsQ0FBQztRQUNFLG1CQUFjLEdBQWtDLElBQUksYUFBYSxDQUV0RSxDQUFDLENBQUMsQ0FBQztRQUNLLHlCQUFvQixHQUFvQixFQUFFLENBQUM7UUFDM0MsdUJBQWtCLEdBQW1CLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUzQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBRVIsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFD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QUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRW1DLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuaW1wb3J0IHsgRWxlbWVudEdyb3VwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWFwYS1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbFNlYXJjaCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBlbGVtZW50ITogRHJvcGRvd247XG4gIEBJbnB1dCgpIGJvcmRlcjogXCJzb2Z0XCIgfCBcInRhZ1wiIHwgXCJoaWdobGlnaHRcIiB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duITogTWF0U2VsZWN0O1xuXG4gIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IFJlcGxheVN1YmplY3Q8RWxlbWVudE9wdGlvbltdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRPcHRpb25bXVxuICA+KDEpO1xuICBwdWJsaWMgZmlsdGVyZWRHcm91cHM6IFJlcGxheVN1YmplY3Q8RWxlbWVudEdyb3VwW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgRWxlbWVudEdyb3VwW11cbiAgPigxKTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkT3B0aW9uc0NhY2hlOiBFbGVtZW50T3B0aW9uW10gPSBbXTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkR3JvdXBDYWNoZTogRWxlbWVudEdyb3VwW10gPSBbXTtcbiAgcHJvdGVjdGVkIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBpc0NoZWNrZWQgPSBmYWxzZTtcbiAgaXNPcHRpb25zR3JvdXAgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc09wdGlvbnNHcm91cCA9IHRoaXMuaXNFbGVtZW50R3JvdXAodGhpcy5lbGVtZW50Lm9wdGlvbnNbMF0pO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZWxlbWVudC5zZWFyY2gpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgICAvLy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmZpbHRlck9wdGlvbnMoKTtcbiAgICAgICAgICB0aGlzLnNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zRnJvbUdyb3VwKFxuICAgIGdyb3VwOiBFbGVtZW50R3JvdXAsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBFbGVtZW50T3B0aW9uW10ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBncm91cC5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgIGl0ZW0udmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW107XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9IGdyb3Vwc1xuICAgICAgICAubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBncm91cC5sYWJlbCxcbiAgICAgICAgICBvcHRpb25zOiB0aGlzLmZpbHRlck9wdGlvbnNGcm9tR3JvdXAoZ3JvdXAsIHNlYXJjaCksXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucy5sZW5ndGggPiAwKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW107XG4gICAgICBpZiAoIXNlYXJjaCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5zbGljZSgpO1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBmaWx0ZXIgdGhlIG9wdGlvbnNcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgKG9wdGlvbjogRWxlbWVudE9wdGlvbikgPT5cbiAgICAgICAgICBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgPiAtMVxuICAgICAgKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKSB7XG4gICAgbGV0IGZpbHRlcmVkTGVuZ3RoID0gMDtcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5lbGVtZW50LnNlYXJjaD8uZm9ybUNvbnRyb2w/LnZhbHVlO1xuXG4gICAgaWYgKHNlYXJjaCAmJiBzZWFyY2gudmFsdWUpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgaWYgKHNlYXJjaC52YWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZWwpID4gLTEpIHtcbiAgICAgICAgICBmaWx0ZXJlZExlbmd0aCsrO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaXNJbmRldGVybWluYXRlID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmIGZpbHRlcmVkTGVuZ3RoIDwgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5sZW5ndGg7XG4gICAgICB0aGlzLmlzQ2hlY2tlZCA9XG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID4gMCAmJlxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA9PT0gdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2VsZWN0QWxsKHNlbGVjdEFsbFZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMuc3Vic2NyaWJlKChvcHRpb25zOiBFbGVtZW50T3B0aW9uW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKG9wdGlvbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5zdWJzY3JpYmUoKGdyb3VwczogRWxlbWVudEdyb3VwW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFxuICAgICAgICAgIGdyb3Vwcy5tYXAoKGdyb3VwOiBFbGVtZW50R3JvdXApID0+IGdyb3VwLm9wdGlvbnMpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFtdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlzRWxlbWVudEdyb3VwKG9iamVjdDogRWxlbWVudEdyb3VwIHwgRWxlbWVudE9wdGlvbik6IG9iamVjdCBpcyBFbGVtZW50R3JvdXAge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAob2JqZWN0IGFzIEVsZW1lbnRHcm91cCkubGFiZWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAob2JqZWN0IGFzIEVsZW1lbnRHcm91cCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjb21wYXJlRm4oYzE6IGFueSwgYzI6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjMSAmJiBjMiA/IGMxLmtleSA9PT0gYzIua2V5IDogYzEgPT09IGMyO1xuICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICB7eyBlbGVtZW50LmxhYmVsIH19XG48L2xhYmVsPlxuPG1hdC1mb3JtLWZpZWxkXG4gIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXNvZnQtYm9yZGVyXT1cImJvcmRlciA9PT0gJ3NvZnQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCI+XG4gIDxtYXQtc2VsZWN0XG4gICAgI2Ryb3Bkb3duXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImVsZW1lbnQucGxhY2Vob2xkZXIgfHwgJydcIlxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxuICA+XG4gICAgPG1hdC1vcHRpb24gKm5nSWY9XCJlbGVtZW50LnNlYXJjaFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fc2VhcmNoXCI+XG4gICAgICA8bmd4LW1hdC1zZWxlY3Qtc2VhcmNoXG4gICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbc2hvd1RvZ2dsZUFsbENoZWNrYm94XT1cInRydWVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICBbbm9FbnRyaWVzRm91bmRMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5ub0VudHJpZXNGb3VuZExhYmVsIHx8ICcnXCJcbiAgICAgICAgW3RvZ2dsZUFsbENoZWNrYm94SW5kZXRlcm1pbmF0ZV09XCJpc0luZGV0ZXJtaW5hdGVcIlxuICAgICAgICBbdG9nZ2xlQWxsQ2hlY2tib3hDaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICh0b2dnbGVBbGwpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc09wdGlvbnNHcm91cDsgZWxzZSBpc0VsZW1lbnRPcHRpb25zXCI+XG4gICAgICA8bWF0LW9wdGdyb3VwICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCIgW2xhYmVsXT1cImdyb3VwLmxhYmVsXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZ3JvdXAub3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtb3B0Z3JvdXA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAge3sgb3B0aW9uLnZhbHVlIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtc2VsZWN0PlxuICA8bWF0LWVycm9yXG4gICAgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgPC9tYXQtZXJyb3I+XG4gIDxtYXQtZXJyb3JcbiAgICAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8ubWlubGVuZ3RoIH19XG4gIDwvbWF0LWVycm9yPlxuICA8bWF0LWVycm9yXG4gICAgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NwZicpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LmNwZiB9fVxuICA8L21hdC1lcnJvcj5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjbnBqJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICA8L21hdC1lcnJvcj5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LmVtYWlsIH19XG4gIDwvbWF0LWVycm9yPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQWFoRCxNQUFNLE9BQU8scUJBQXFCO0lBc0JoQztRQWRPLG9CQUFlLEdBQW1DLElBQUksYUFBYSxDQUV4RSxDQUFDLENBQUMsQ0FBQztRQUNFLG1CQUFjLEdBQWtDLElBQUksYUFBYSxDQUV0RSxDQUFDLENBQUMsQ0FBQztRQUNLLHlCQUFvQixHQUFvQixFQUFFLENBQUM7UUFDM0MsdUJBQWtCLEdBQW1CLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUzQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBRVIsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbkUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsR0FBSSxJQUFJLENBQUMsT0FBTztpQkFDcEMsT0FBMEIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0wsSUFBSSxDQUFDLG9CQUFvQixHQUFJLElBQUksQ0FBQyxPQUFPO2lCQUN0QyxPQUEyQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsWUFBWTtnQkFDM0MsbUNBQW1DO2lCQUNsQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFUyxzQkFBc0IsQ0FDOUIsS0FBbUIsRUFDbkIsS0FBYTtRQUViLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRTlDLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7WUFDMUQsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPO1lBQ2YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FDckQsQ0FBQztJQUNSLENBQUM7SUFFUyxhQUFhO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUN6QixPQUFPO1NBQ1I7UUFDRCx5QkFBeUI7UUFDekIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQztRQUVyRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUF5QixDQUFDO1lBQ3RELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNO2lCQUM3QixHQUFHLENBQUMsQ0FBQyxLQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM3QixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQzthQUNwRCxDQUFDLENBQUM7aUJBQ0YsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0wsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUEwQixDQUFDO1lBQ3hELElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ3JELE9BQU87YUFDUjtZQUNELHFCQUFxQjtZQUNyQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDeEMsQ0FBQyxNQUFxQixFQUFFLEVBQUUsQ0FDeEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2xELENBQUM7WUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUN0RDtJQUNILENBQUM7SUFFUyx5QkFBeUI7UUFDakMsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUM7UUFFckQsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUMxQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQy9DLGNBQWMsRUFBRSxDQUFDO2lCQUNsQjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGVBQWU7Z0JBQ2xCLGNBQWMsR0FBRyxDQUFDLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7WUFDMUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ1osY0FBYyxHQUFHLENBQUM7b0JBQ2xCLGNBQWMsS0FBSyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxjQUF1QjtRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtZQUMxRCxJQUFJLGNBQWMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDbEM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBc0IsRUFBRSxFQUFFO1lBQ3ZELElBQUksY0FBYyxFQUFFO2dCQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FDMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDbkQsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQW9DO1FBQ2pELElBQUk7WUFDRixPQUFPLENBQ0osTUFBdUIsQ0FBQyxLQUFLLEtBQUssU0FBUztnQkFDM0MsTUFBdUIsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUMvQyxDQUFDO1NBQ0g7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQU8sRUFBRSxFQUFPO1FBQ3hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2xELENBQUM7O21IQW5KVSxxQkFBcUI7dUdBQXJCLHFCQUFxQiwrUkMzQmxDLDYrRUFxRUE7NEZEMUNhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUk7MEVBRzVCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRW1DLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuaW1wb3J0IHsgRWxlbWVudEdyb3VwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWFwYS1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbFNlYXJjaCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBlbGVtZW50ITogRHJvcGRvd247XG4gIEBJbnB1dCgpIGJvcmRlcjogXCJzb2Z0XCIgfCBcInRhZ1wiIHwgXCJoaWdobGlnaHRcIiB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duITogTWF0U2VsZWN0O1xuXG4gIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IFJlcGxheVN1YmplY3Q8RWxlbWVudE9wdGlvbltdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRPcHRpb25bXVxuICA+KDEpO1xuICBwdWJsaWMgZmlsdGVyZWRHcm91cHM6IFJlcGxheVN1YmplY3Q8RWxlbWVudEdyb3VwW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgRWxlbWVudEdyb3VwW11cbiAgPigxKTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkT3B0aW9uc0NhY2hlOiBFbGVtZW50T3B0aW9uW10gPSBbXTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkR3JvdXBDYWNoZTogRWxlbWVudEdyb3VwW10gPSBbXTtcbiAgcHJvdGVjdGVkIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBpc0NoZWNrZWQgPSBmYWxzZTtcbiAgaXNPcHRpb25zR3JvdXAgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc09wdGlvbnNHcm91cCA9IHRoaXMuaXNFbGVtZW50R3JvdXAodGhpcy5lbGVtZW50Lm9wdGlvbnNbMF0pO1xuXG4gICAgaWYgKHRoaXMuaXNPcHRpb25zR3JvdXApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cENhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50R3JvdXBbXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSAodGhpcy5lbGVtZW50XG4gICAgICAgIC5vcHRpb25zIGFzIEVsZW1lbnRPcHRpb25bXSkuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZWxlbWVudC5zZWFyY2gpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgICAvLy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmZpbHRlck9wdGlvbnMoKTtcbiAgICAgICAgICB0aGlzLnNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zRnJvbUdyb3VwKFxuICAgIGdyb3VwOiBFbGVtZW50R3JvdXAsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBFbGVtZW50T3B0aW9uW10ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBncm91cC5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgIGl0ZW0udmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW107XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9IGdyb3Vwc1xuICAgICAgICAubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBncm91cC5sYWJlbCxcbiAgICAgICAgICBvcHRpb25zOiB0aGlzLmZpbHRlck9wdGlvbnNGcm9tR3JvdXAoZ3JvdXAsIHNlYXJjaCksXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucy5sZW5ndGggPiAwKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW107XG4gICAgICBpZiAoIXNlYXJjaCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5zbGljZSgpO1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBmaWx0ZXIgdGhlIG9wdGlvbnNcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgKG9wdGlvbjogRWxlbWVudE9wdGlvbikgPT5cbiAgICAgICAgICBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgPiAtMVxuICAgICAgKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKSB7XG4gICAgbGV0IGZpbHRlcmVkTGVuZ3RoID0gMDtcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5lbGVtZW50LnNlYXJjaD8uZm9ybUNvbnRyb2w/LnZhbHVlO1xuXG4gICAgaWYgKHNlYXJjaCAmJiBzZWFyY2gudmFsdWUpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgaWYgKHNlYXJjaC52YWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZWwpID4gLTEpIHtcbiAgICAgICAgICBmaWx0ZXJlZExlbmd0aCsrO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaXNJbmRldGVybWluYXRlID1cbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPiAwICYmIGZpbHRlcmVkTGVuZ3RoIDwgdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5sZW5ndGg7XG4gICAgICB0aGlzLmlzQ2hlY2tlZCA9XG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID4gMCAmJlxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA9PT0gdGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZS5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2VsZWN0QWxsKHNlbGVjdEFsbFZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMuc3Vic2NyaWJlKChvcHRpb25zOiBFbGVtZW50T3B0aW9uW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKG9wdGlvbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5maWx0ZXJlZEdyb3Vwcy5zdWJzY3JpYmUoKGdyb3VwczogRWxlbWVudEdyb3VwW10pID0+IHtcbiAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFxuICAgICAgICAgIGdyb3Vwcy5tYXAoKGdyb3VwOiBFbGVtZW50R3JvdXApID0+IGdyb3VwLm9wdGlvbnMpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKFtdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlzRWxlbWVudEdyb3VwKG9iamVjdDogRWxlbWVudEdyb3VwIHwgRWxlbWVudE9wdGlvbik6IG9iamVjdCBpcyBFbGVtZW50R3JvdXAge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAob2JqZWN0IGFzIEVsZW1lbnRHcm91cCkubGFiZWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAob2JqZWN0IGFzIEVsZW1lbnRHcm91cCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjb21wYXJlRm4oYzE6IGFueSwgYzI6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjMSAmJiBjMiA/IGMxLmtleSA9PT0gYzIua2V5IDogYzEgPT09IGMyO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZWxlbWVudFwiPlxuICA8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICAgIHt7IGVsZW1lbnQubGFiZWwgfX1cbiAgPC9sYWJlbD5cbiAgPG1hdC1mb3JtLWZpZWxkXG4gICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgIGNsYXNzPVwibWFwYS1kcm9wZG93blwiXG4gICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgICBbY2xhc3MubWFwYS1kcm9wZG93bi0tc29mdC1ib3JkZXJdPVwiYm9yZGVyID09PSAnc29mdCdcIlxuICAgIFtjbGFzcy5tYXBhLWRyb3Bkb3duLS10YWddPVwiYm9yZGVyID09PSAndGFnJ1wiXG4gICAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCJcbiAgPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICAjZHJvcGRvd25cbiAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiZWxlbWVudC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUZuXCJcbiAgICA+XG4gICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImVsZW1lbnQuc2VhcmNoXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19zZWFyY2hcIj5cbiAgICAgICAgPG5neC1tYXQtc2VsZWN0LXNlYXJjaFxuICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICAgIFtzaG93VG9nZ2xlQWxsQ2hlY2tib3hdPVwidHJ1ZVwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgICAgaTE4bi1wbGFjZWhvbGRlckxhYmVsXG4gICAgICAgICAgW25vRW50cmllc0ZvdW5kTGFiZWxdPVwiZWxlbWVudC5zZWFyY2gubm9FbnRyaWVzRm91bmRMYWJlbCB8fCAnJ1wiXG4gICAgICAgICAgW3RvZ2dsZUFsbENoZWNrYm94SW5kZXRlcm1pbmF0ZV09XCJpc0luZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgIFt0b2dnbGVBbGxDaGVja2JveENoZWNrZWRdPVwiaXNDaGVja2VkXCJcbiAgICAgICAgICAodG9nZ2xlQWxsKT1cInRvZ2dsZVNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPcHRpb25zR3JvdXA7IGVsc2UgaXNFbGVtZW50T3B0aW9uc1wiPlxuICAgICAgICA8bWF0LW9wdGdyb3VwXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGZpbHRlcmVkR3JvdXBzIHwgYXN5bmNcIlxuICAgICAgICAgIFtsYWJlbF09XCJncm91cC5sYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGdyb3VwLm9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2lzRWxlbWVudE9wdGlvbnM+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiXG4gICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L21hdC1zZWxlY3Q+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAge3sgZWxlbWVudC5lcnJvcnM/LnJlcXVpcmVkIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5taW5sZW5ndGggfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgICAge3sgZWxlbWVudC5lcnJvcnM/LmNwZiB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NucGonKVwiPlxuICAgICAge3sgZWxlbWVudC5lcnJvcnM/LmNucGogfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAgICB7eyBlbGVtZW50LmVycm9ycz8uZW1haWwgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuIl19
|