@hestia-earth/ui-components 0.27.2 → 0.27.3
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/esm2022/bibliographies/bibliographies-search-confirm/bibliographies-search-confirm.component.mjs +2 -2
- package/esm2022/engine/engine-requirements-form/engine-requirements-form.component.mjs +2 -2
- package/esm2022/files/files-form-editable/files-form-editable.component.mjs +4 -4
- package/esm2022/search/search.service.mjs +19 -13
- package/fesm2022/hestia-earth-ui-components.mjs +23 -17
- package/fesm2022/hestia-earth-ui-components.mjs.map +1 -1
- package/package.json +1 -1
- package/search/search.service.d.ts +5 -2
|
@@ -44,7 +44,7 @@ export class BibliographiesSearchConfirmComponent {
|
|
|
44
44
|
const fields = [`bibliography.${this.searchBy}`];
|
|
45
45
|
const includes = ['bibliography.title', 'bibliography.documentDOI', 'bibliography.scopus'];
|
|
46
46
|
return this.searchSources
|
|
47
|
-
? this.searchService.suggestSource(term, this.searchLimit(), fields, includes)
|
|
47
|
+
? this.searchService.suggestSource$(term, this.searchLimit(), fields, includes)
|
|
48
48
|
: of([]);
|
|
49
49
|
}
|
|
50
50
|
runSearchBibliographies(term) {
|
|
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
84
84
|
type: Component,
|
|
85
85
|
args: [{ selector: 'he-bibliographies-search-confirm', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [FormsModule, ReactiveFormsModule, FaIconComponent, NgbHighlight, NgTemplateOutlet], template: "<div class=\"modal is-large is-active\">\n <div class=\"modal-background\"></div>\n <div class=\"modal-card\">\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\">Search Bibliographies</p>\n <button class=\"delete\" aria-label=\"close\" (click)=\"cancel()\"></button>\n </header>\n <section class=\"modal-card-body\">\n <form [formGroup]=\"formGroup\" novalidate>\n <div class=\"field has-addons\">\n <div class=\"control is-expanded has-icons-right\">\n <input\n class=\"input search-input\"\n [attr.placeholder]=\"'Search bibliography by ' + searchBy()\"\n formControlName=\"search\"\n name=\"bibliography\"\n autocomplete=\"off\"\n (focus)=\"searchFocus($event)\" />\n <a class=\"icon is-small is-right\" [class.is-hidden]=\"loading()\" (click)=\"resetSearch()\">\n <fa-icon [icon]=\"faTimes\"></fa-icon>\n </a>\n\n <span class=\"icon is-right has-text-grey-dark\" [class.is-hidden]=\"!loading()\">\n <fa-icon [icon]=\"faSpinner\" [pulse]=\"true\" size=\"sm\"></fa-icon>\n </span>\n </div>\n </div>\n </form>\n\n <div class=\"is-mt-2\">\n <span [class.is-hidden]=\"loading() || !searchControl?.value || hasResults()\">\n No bibliographies found matching query.\n </span>\n\n <ul>\n @for (result of results(); track result) {\n <li>\n <a\n class=\"is-block p-1 search-result\"\n (click)=\"selectedResult.set(result)\"\n [class.is-active]=\"selectedResult() === result\">\n <ngb-highlight\n [result]=\"result.bibliography?.title ?? result.title\"\n [term]=\"searchControl?.value\"></ngb-highlight>\n <span class=\"px-1\">-</span>\n <span class=\"px-1\">\n <i>{{ result.name }}</i>\n </span>\n @if (result.bibliography?.documentDOI || result.documentDOI) {\n <span class=\"px-1\">\n -\n <b>documentDOI:</b>\n </span>\n }\n <ngb-highlight\n [result]=\"result.bibliography?.documentDOI ?? result.documentDOI\"\n [term]=\"searchControl?.value\"></ngb-highlight>\n @if (result.bibliography?.scopus || result.scopus) {\n <span class=\"px-1\">\n -\n <b>scopus:</b>\n </span>\n }\n <ngb-highlight\n [result]=\"result.bibliography?.scopus ?? result.scopus\"\n [term]=\"searchControl?.value\"></ngb-highlight>\n <span>\n <ng-container\n *ngTemplateOutlet=\"\n mendeleyLink;\n context: { $implicit: result.bibliography?.mendeleyID ?? result.mendeleyID }\n \"></ng-container>\n </span>\n </a>\n </li>\n }\n </ul>\n </div>\n </section>\n <footer class=\"modal-card-foot\">\n <button class=\"button is-primary\" (click)=\"confirm()\" [disabled]=\"!selectedResult()\">\n <span>Confirm</span>\n </button>\n <button class=\"button is-ghost\" (click)=\"cancel()\">\n <span>Close</span>\n </button>\n </footer>\n </div>\n</div>\n\n<ng-template #mendeleyLink let-id>\n @if (id) {\n <a [href]=\"'https://www.mendeley.com/catalogue/' + id\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\n <fa-icon class=\"ml-2\" [icon]=\"faExternalLinkAlt\" size=\"sm\"></fa-icon>\n </a>\n }\n</ng-template>\n", styles: ["ngb-highlight,span{vertical-align:middle;white-space:normal;width:auto}\n"] }]
|
|
86
86
|
}], ctorParameters: () => [] });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlibGlvZ3JhcGhpZXMtc2VhcmNoLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpYmxpb2dyYXBoaWVzL2JpYmxpb2dyYXBoaWVzLXNlYXJjaC1jb25maXJtL2JpYmxpb2dyYXBoaWVzLXNlYXJjaC1jb25maXJtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9iaWJsaW9ncmFwaGllcy9iaWJsaW9ncmFwaGllcy1zZWFyY2gtY29uZmlybS9iaWJsaW9ncmFwaGllcy1zZWFyY2gtY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxD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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgaW5qZWN0LCBpbnB1dCwgZWZmZWN0LCBzaWduYWwsIGNvbXB1dGVkLCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdiSGlnaGxpZ2h0IH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgRmFJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFFeHRlcm5hbExpbmtBbHQsIGZhU3Bpbm5lciwgZmFUaW1lcyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb2YsIHppcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmlibGlvZ3JhcGh5LCBTb3VyY2UgfSBmcm9tICdAaGVzdGlhLWVhcnRoL3NjaGVtYSc7XG5cbmltcG9ydCB7IEhlTWVuZGVsZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWVuZGVsZXkvbWVuZGVsZXkuc2VydmljZSc7XG5pbXBvcnQgeyBIZVNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZWFyY2gvc2VhcmNoLnNlcnZpY2UnO1xuXG50eXBlIHNlYXJjaEJ5RmllbGRzID0gJ3RpdGxlJyB8ICdkb2N1bWVudERPSScgfCAnc2NvcHVzJztcbnR5cGUgUmVzdWx0ID0gUGFydGlhbDxTb3VyY2U+IHwgUGFydGlhbDxCaWJsaW9ncmFwaHk+O1xuY29uc3QgbGltaXQgPSAxMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtYmlibGlvZ3JhcGhpZXMtc2VhcmNoLWNvbmZpcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYmlibGlvZ3JhcGhpZXMtc2VhcmNoLWNvbmZpcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iaWJsaW9ncmFwaGllcy1zZWFyY2gtY29uZmlybS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGYUljb25Db21wb25lbnQsIE5nYkhpZ2hsaWdodCwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgQmlibGlvZ3JhcGhpZXNTZWFyY2hDb25maXJtQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBmb3JtQnVpbGRlciA9IGluamVjdChVbnR5cGVkRm9ybUJ1aWxkZXIpO1xuICBwcml2YXRlIG1lbmRlbGV5U2VydmljZSA9IGluamVjdChIZU1lbmRlbGV5U2VydmljZSk7XG4gIHByaXZhdGUgc2VhcmNoU2VydmljZSA9IGluamVjdChIZVNlYXJjaFNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBmYVRpbWVzID0gZmFUaW1lcztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZhU3Bpbm5lciA9IGZhU3Bpbm5lcjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZhRXh0ZXJuYWxMaW5rQWx0ID0gZmFFeHRlcm5hbExpbmtBbHQ7XG5cbiAgcHJvdGVjdGVkIHNlYXJjaCA9IGlucHV0KCcnKTtcblxuICBwcm90ZWN0ZWQgc2VhcmNoU291cmNlcyA9IGlucHV0KHRydWUpO1xuICBwcm90ZWN0ZWQgc2VhcmNoQmlibGlvZ3JhcGhpZXMgPSBpbnB1dCh0cnVlKTtcbiAgcHJvdGVjdGVkIHNlYXJjaEJ5ID0gaW5wdXQ8c2VhcmNoQnlGaWVsZHM+KCd0aXRsZScpO1xuXG4gIHByaXZhdGUgc2VhcmNoTGltaXQgPSBjb21wdXRlZChcbiAgICAoKSA9PiBsaW1pdCAvIChbdGhpcy5zZWFyY2hTb3VyY2VzKCksIHRoaXMuc2VhcmNoQmlibGlvZ3JhcGhpZXMoKV0uZmlsdGVyKEJvb2xlYW4pLmxlbmd0aCB8fCAxKVxuICApO1xuXG4gIHByb3RlY3RlZCBjbG9zZWQgPSBvdXRwdXQ8UmVzdWx0PigpO1xuXG4gIHByb3RlY3RlZCBsb2FkaW5nID0gc2lnbmFsKHRydWUpO1xuICBwcm90ZWN0ZWQgZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgc2VhcmNoOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gIH0pO1xuICBwcm90ZWN0ZWQgc2VhcmNoQ29udHJvbCA9IHRoaXMuZm9ybUdyb3VwLmdldCgnc2VhcmNoJyk7XG5cbiAgcHJpdmF0ZSBfcmVzdWx0cyA9IHRoaXMuc2VhcmNoQ29udHJvbCEudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICB0YXAoKCkgPT4gdGhpcy5sb2FkaW5nLnNldCh0cnVlKSksXG4gICAgdGFwKCgpID0+IHRoaXMuc2VsZWN0ZWRSZXN1bHQuc2V0KHVuZGVmaW5lZCkpLFxuICAgIHN3aXRjaE1hcCh0ZXJtID0+ICh0ZXJtLmxlbmd0aCA+IDEgPyB0aGlzLnJ1blNlYXJjaCh0ZXJtKSA6IG9mKFtdIGFzIGFueSkpKSxcbiAgICB0YXAoKCkgPT4gdGhpcy5sb2FkaW5nLnNldChmYWxzZSkpXG4gICk7XG4gIHByb3RlY3RlZCByZXN1bHRzID0gdG9TaWduYWwodGhpcy5fcmVzdWx0cyk7XG4gIHByb3RlY3RlZCBzZWxlY3RlZFJlc3VsdCA9IHNpZ25hbCh1bmRlZmluZWQgYXMgUmVzdWx0KTtcbiAgcHJvdGVjdGVkIGhhc1Jlc3VsdHMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlc3VsdHMoKT8ubGVuZ3RoID4gMCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNlYXJjaCA9IHRoaXMuc2VhcmNoKCk7XG4gICAgICB0aGlzLnNlYXJjaENvbnRyb2whLnNldFZhbHVlKHNlYXJjaCB8fCAnJyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJ1blNlYXJjaFNvdXJjZXModGVybTogc3RyaW5nKSB7XG4gICAgY29uc3QgZmllbGRzID0gW2BiaWJsaW9ncmFwaHkuJHt0aGlzLnNlYXJjaEJ5fWBdO1xuICAgIGNvbnN0IGluY2x1ZGVzID0gWydiaWJsaW9ncmFwaHkudGl0bGUnLCAnYmlibGlvZ3JhcGh5LmRvY3VtZW50RE9JJywgJ2JpYmxpb2dyYXBoeS5zY29wdXMnXTtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hTb3VyY2VzXG4gICAgICA/IHRoaXMuc2VhcmNoU2VydmljZS5zdWdnZXN0U291cmNlKHRlcm0sIHRoaXMuc2VhcmNoTGltaXQoKSwgZmllbGRzLCBpbmNsdWRlcylcbiAgICAgIDogb2YoW10gYXMgUGFydGlhbDxTb3VyY2U+W10pO1xuICB9XG5cbiAgcHJpdmF0ZSBydW5TZWFyY2hCaWJsaW9ncmFwaGllcyh0ZXJtOiBzdHJpbmcpIHtcbiAgICAvLyBzY29wdXNcbiAgICBjb25zdCBwYXJhbXMgPVxuICAgICAgdGhpcy5zZWFyY2hCeSgpID09PSAndGl0bGUnXG4gICAgICAgID8geyB0aXRsZTogdGVybSB9XG4gICAgICAgIDogdGhpcy5zZWFyY2hCeSgpID09PSAnZG9jdW1lbnRET0knXG4gICAgICAgICAgPyB7IGRvaTogdGVybSB9XG4gICAgICAgICAgOiB7IHNjb3B1czogdGVybSB9O1xuICAgIHJldHVybiB0aGlzLnNlYXJjaEJpYmxpb2dyYXBoaWVzXG4gICAgICA/IHRoaXMubWVuZGVsZXlTZXJ2aWNlLmZpbmQoeyAuLi5wYXJhbXMsIGxpbWl0OiB0aGlzLnNlYXJjaExpbWl0KCkgfSkucGlwZShtYXAoKHsgcmVzdWx0cyB9KSA9PiByZXN1bHRzKSlcbiAgICAgIDogb2YoW10gYXMgUGFydGlhbDxCaWJsaW9ncmFwaHk+W10pO1xuICB9XG5cbiAgcHJpdmF0ZSBydW5TZWFyY2godGVybTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHppcCh0aGlzLnJ1blNlYXJjaFNvdXJjZXModGVybSksIHRoaXMucnVuU2VhcmNoQmlibGlvZ3JhcGhpZXModGVybSkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKFtdKSksXG4gICAgICBtYXAocmVzID0+IHJlcy5mbGF0KCkpXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZWFyY2hGb2N1cyhlOiBFdmVudCkge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBpbnB1dEV2ZW50ID0gbmV3IEV2ZW50KCdpbnB1dCcpO1xuICAgICAgZS50YXJnZXQ/LmRpc3BhdGNoRXZlbnQoaW5wdXRFdmVudCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzZXRTZWFyY2goKSB7XG4gICAgdGhpcy5zZWFyY2hDb250cm9sIS5zZXRWYWx1ZSgnJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uZmlybSgpIHtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KHRoaXMuc2VsZWN0ZWRSZXN1bHQoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2FuY2VsKCkge1xuICAgIHRoaXMuY2xvc2VkLmVtaXQobnVsbCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2RhbCBpcy1sYXJnZSBpcy1hY3RpdmVcIj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJhY2tncm91bmRcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWNhcmRcIj5cbiAgICA8aGVhZGVyIGNsYXNzPVwibW9kYWwtY2FyZC1oZWFkXCI+XG4gICAgICA8cCBjbGFzcz1cIm1vZGFsLWNhcmQtdGl0bGVcIj5TZWFyY2ggQmlibGlvZ3JhcGhpZXM8L3A+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiZGVsZXRlXCIgYXJpYS1sYWJlbD1cImNsb3NlXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+PC9idXR0b24+XG4gICAgPC9oZWFkZXI+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJtb2RhbC1jYXJkLWJvZHlcIj5cbiAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgbm92YWxpZGF0ZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGhhcy1hZGRvbnNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbCBpcy1leHBhbmRlZCBoYXMtaWNvbnMtcmlnaHRcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cImlucHV0IHNlYXJjaC1pbnB1dFwiXG4gICAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cIidTZWFyY2ggYmlibGlvZ3JhcGh5IGJ5ICcgKyBzZWFyY2hCeSgpXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VhcmNoXCJcbiAgICAgICAgICAgICAgbmFtZT1cImJpYmxpb2dyYXBoeVwiXG4gICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgIChmb2N1cyk9XCJzZWFyY2hGb2N1cygkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgIDxhIGNsYXNzPVwiaWNvbiBpcy1zbWFsbCBpcy1yaWdodFwiIFtjbGFzcy5pcy1oaWRkZW5dPVwibG9hZGluZygpXCIgKGNsaWNrKT1cInJlc2V0U2VhcmNoKClcIj5cbiAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZmFUaW1lc1wiPjwvZmEtaWNvbj5cbiAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIGlzLXJpZ2h0IGhhcy10ZXh0LWdyZXktZGFya1wiIFtjbGFzcy5pcy1oaWRkZW5dPVwiIWxvYWRpbmcoKVwiPlxuICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJmYVNwaW5uZXJcIiBbcHVsc2VdPVwidHJ1ZVwiIHNpemU9XCJzbVwiPjwvZmEtaWNvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJpcy1tdC0yXCI+XG4gICAgICAgIDxzcGFuIFtjbGFzcy5pcy1oaWRkZW5dPVwibG9hZGluZygpIHx8ICFzZWFyY2hDb250cm9sPy52YWx1ZSB8fCBoYXNSZXN1bHRzKClcIj5cbiAgICAgICAgICBObyBiaWJsaW9ncmFwaGllcyBmb3VuZCBtYXRjaGluZyBxdWVyeS5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDx1bD5cbiAgICAgICAgICBAZm9yIChyZXN1bHQgb2YgcmVzdWx0cygpOyB0cmFjayByZXN1bHQpIHtcbiAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlzLWJsb2NrIHAtMSBzZWFyY2gtcmVzdWx0XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWRSZXN1bHQuc2V0KHJlc3VsdClcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pcy1hY3RpdmVdPVwic2VsZWN0ZWRSZXN1bHQoKSA9PT0gcmVzdWx0XCI+XG4gICAgICAgICAgICAgICAgPG5nYi1oaWdobGlnaHRcbiAgICAgICAgICAgICAgICAgIFtyZXN1bHRdPVwicmVzdWx0LmJpYmxpb2dyYXBoeT8udGl0bGUgPz8gcmVzdWx0LnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgIFt0ZXJtXT1cInNlYXJjaENvbnRyb2w/LnZhbHVlXCI+PC9uZ2ItaGlnaGxpZ2h0PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHgtMVwiPi08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJweC0xXCI+XG4gICAgICAgICAgICAgICAgICA8aT57eyByZXN1bHQubmFtZSB9fTwvaT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgQGlmIChyZXN1bHQuYmlibGlvZ3JhcGh5Py5kb2N1bWVudERPSSB8fCByZXN1bHQuZG9jdW1lbnRET0kpIHtcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHgtMVwiPlxuICAgICAgICAgICAgICAgICAgICAtXG4gICAgICAgICAgICAgICAgICAgIDxiPmRvY3VtZW50RE9JOjwvYj5cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPG5nYi1oaWdobGlnaHRcbiAgICAgICAgICAgICAgICAgIFtyZXN1bHRdPVwicmVzdWx0LmJpYmxpb2dyYXBoeT8uZG9jdW1lbnRET0kgPz8gcmVzdWx0LmRvY3VtZW50RE9JXCJcbiAgICAgICAgICAgICAgICAgIFt0ZXJtXT1cInNlYXJjaENvbnRyb2w/LnZhbHVlXCI+PC9uZ2ItaGlnaGxpZ2h0PlxuICAgICAgICAgICAgICAgIEBpZiAocmVzdWx0LmJpYmxpb2dyYXBoeT8uc2NvcHVzIHx8IHJlc3VsdC5zY29wdXMpIHtcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHgtMVwiPlxuICAgICAgICAgICAgICAgICAgICAtXG4gICAgICAgICAgICAgICAgICAgIDxiPnNjb3B1czo8L2I+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxuZ2ItaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICBbcmVzdWx0XT1cInJlc3VsdC5iaWJsaW9ncmFwaHk/LnNjb3B1cyA/PyByZXN1bHQuc2NvcHVzXCJcbiAgICAgICAgICAgICAgICAgIFt0ZXJtXT1cInNlYXJjaENvbnRyb2w/LnZhbHVlXCI+PC9uZ2ItaGlnaGxpZ2h0PlxuICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgIG1lbmRlbGV5TGluaztcbiAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogcmVzdWx0LmJpYmxpb2dyYXBoeT8ubWVuZGVsZXlJRCA/PyByZXN1bHQubWVuZGVsZXlJRCB9XG4gICAgICAgICAgICAgICAgICAgIFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gICAgPGZvb3RlciBjbGFzcz1cIm1vZGFsLWNhcmQtZm9vdFwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBpcy1wcmltYXJ5XCIgKGNsaWNrKT1cImNvbmZpcm0oKVwiIFtkaXNhYmxlZF09XCIhc2VsZWN0ZWRSZXN1bHQoKVwiPlxuICAgICAgICA8c3Bhbj5Db25maXJtPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGlzLWdob3N0XCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XG4gICAgICAgIDxzcGFuPkNsb3NlPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9mb290ZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbWVuZGVsZXlMaW5rIGxldC1pZD5cbiAgQGlmIChpZCkge1xuICAgIDxhIFtocmVmXT1cIidodHRwczovL3d3dy5tZW5kZWxleS5jb20vY2F0YWxvZ3VlLycgKyBpZFwiIHRhcmdldD1cIl9ibGFua1wiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgIDxmYS1pY29uIGNsYXNzPVwibWwtMlwiIFtpY29uXT1cImZhRXh0ZXJuYWxMaW5rQWx0XCIgc2l6ZT1cInNtXCI+PC9mYS1pY29uPlxuICAgIDwvYT5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlibGlvZ3JhcGhpZXMtc2VhcmNoLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpYmxpb2dyYXBoaWVzL2JpYmxpb2dyYXBoaWVzLXNlYXJjaC1jb25maXJtL2JpYmxpb2dyYXBoaWVzLXNlYXJjaC1jb25maXJtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9iaWJsaW9ncmFwaGllcy9iaWJsaW9ncmFwaGllcy1zZWFyY2gtY29uZmlybS9iaWJsaW9ncmFwaGllcy1zZWFyY2gtY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxD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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgaW5qZWN0LCBpbnB1dCwgZWZmZWN0LCBzaWduYWwsIGNvbXB1dGVkLCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdiSGlnaGxpZ2h0IH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgRmFJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFFeHRlcm5hbExpbmtBbHQsIGZhU3Bpbm5lciwgZmFUaW1lcyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb2YsIHppcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmlibGlvZ3JhcGh5LCBTb3VyY2UgfSBmcm9tICdAaGVzdGlhLWVhcnRoL3NjaGVtYSc7XG5cbmltcG9ydCB7IEhlTWVuZGVsZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWVuZGVsZXkvbWVuZGVsZXkuc2VydmljZSc7XG5pbXBvcnQgeyBIZVNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZWFyY2gvc2VhcmNoLnNlcnZpY2UnO1xuXG50eXBlIHNlYXJjaEJ5RmllbGRzID0gJ3RpdGxlJyB8ICdkb2N1bWVudERPSScgfCAnc2NvcHVzJztcbnR5cGUgUmVzdWx0ID0gUGFydGlhbDxTb3VyY2U+IHwgUGFydGlhbDxCaWJsaW9ncmFwaHk+O1xuY29uc3QgbGltaXQgPSAxMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtYmlibGlvZ3JhcGhpZXMtc2VhcmNoLWNvbmZpcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYmlibGlvZ3JhcGhpZXMtc2VhcmNoLWNvbmZpcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iaWJsaW9ncmFwaGllcy1zZWFyY2gtY29uZmlybS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGYUljb25Db21wb25lbnQsIE5nYkhpZ2hsaWdodCwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgQmlibGlvZ3JhcGhpZXNTZWFyY2hDb25maXJtQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBmb3JtQnVpbGRlciA9IGluamVjdChVbnR5cGVkRm9ybUJ1aWxkZXIpO1xuICBwcml2YXRlIG1lbmRlbGV5U2VydmljZSA9IGluamVjdChIZU1lbmRlbGV5U2VydmljZSk7XG4gIHByaXZhdGUgc2VhcmNoU2VydmljZSA9IGluamVjdChIZVNlYXJjaFNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBmYVRpbWVzID0gZmFUaW1lcztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZhU3Bpbm5lciA9IGZhU3Bpbm5lcjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZhRXh0ZXJuYWxMaW5rQWx0ID0gZmFFeHRlcm5hbExpbmtBbHQ7XG5cbiAgcHJvdGVjdGVkIHNlYXJjaCA9IGlucHV0KCcnKTtcblxuICBwcm90ZWN0ZWQgc2VhcmNoU291cmNlcyA9IGlucHV0KHRydWUpO1xuICBwcm90ZWN0ZWQgc2VhcmNoQmlibGlvZ3JhcGhpZXMgPSBpbnB1dCh0cnVlKTtcbiAgcHJvdGVjdGVkIHNlYXJjaEJ5ID0gaW5wdXQ8c2VhcmNoQnlGaWVsZHM+KCd0aXRsZScpO1xuXG4gIHByaXZhdGUgc2VhcmNoTGltaXQgPSBjb21wdXRlZChcbiAgICAoKSA9PiBsaW1pdCAvIChbdGhpcy5zZWFyY2hTb3VyY2VzKCksIHRoaXMuc2VhcmNoQmlibGlvZ3JhcGhpZXMoKV0uZmlsdGVyKEJvb2xlYW4pLmxlbmd0aCB8fCAxKVxuICApO1xuXG4gIHByb3RlY3RlZCBjbG9zZWQgPSBvdXRwdXQ8UmVzdWx0PigpO1xuXG4gIHByb3RlY3RlZCBsb2FkaW5nID0gc2lnbmFsKHRydWUpO1xuICBwcm90ZWN0ZWQgZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgc2VhcmNoOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gIH0pO1xuICBwcm90ZWN0ZWQgc2VhcmNoQ29udHJvbCA9IHRoaXMuZm9ybUdyb3VwLmdldCgnc2VhcmNoJyk7XG5cbiAgcHJpdmF0ZSBfcmVzdWx0cyA9IHRoaXMuc2VhcmNoQ29udHJvbCEudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICB0YXAoKCkgPT4gdGhpcy5sb2FkaW5nLnNldCh0cnVlKSksXG4gICAgdGFwKCgpID0+IHRoaXMuc2VsZWN0ZWRSZXN1bHQuc2V0KHVuZGVmaW5lZCkpLFxuICAgIHN3aXRjaE1hcCh0ZXJtID0+ICh0ZXJtLmxlbmd0aCA+IDEgPyB0aGlzLnJ1blNlYXJjaCh0ZXJtKSA6IG9mKFtdIGFzIGFueSkpKSxcbiAgICB0YXAoKCkgPT4gdGhpcy5sb2FkaW5nLnNldChmYWxzZSkpXG4gICk7XG4gIHByb3RlY3RlZCByZXN1bHRzID0gdG9TaWduYWwodGhpcy5fcmVzdWx0cyk7XG4gIHByb3RlY3RlZCBzZWxlY3RlZFJlc3VsdCA9IHNpZ25hbCh1bmRlZmluZWQgYXMgUmVzdWx0KTtcbiAgcHJvdGVjdGVkIGhhc1Jlc3VsdHMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlc3VsdHMoKT8ubGVuZ3RoID4gMCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNlYXJjaCA9IHRoaXMuc2VhcmNoKCk7XG4gICAgICB0aGlzLnNlYXJjaENvbnRyb2whLnNldFZhbHVlKHNlYXJjaCB8fCAnJyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJ1blNlYXJjaFNvdXJjZXModGVybTogc3RyaW5nKSB7XG4gICAgY29uc3QgZmllbGRzID0gW2BiaWJsaW9ncmFwaHkuJHt0aGlzLnNlYXJjaEJ5fWBdO1xuICAgIGNvbnN0IGluY2x1ZGVzID0gWydiaWJsaW9ncmFwaHkudGl0bGUnLCAnYmlibGlvZ3JhcGh5LmRvY3VtZW50RE9JJywgJ2JpYmxpb2dyYXBoeS5zY29wdXMnXTtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hTb3VyY2VzXG4gICAgICA/IHRoaXMuc2VhcmNoU2VydmljZS5zdWdnZXN0U291cmNlJCh0ZXJtLCB0aGlzLnNlYXJjaExpbWl0KCksIGZpZWxkcywgaW5jbHVkZXMpXG4gICAgICA6IG9mKFtdIGFzIFBhcnRpYWw8U291cmNlPltdKTtcbiAgfVxuXG4gIHByaXZhdGUgcnVuU2VhcmNoQmlibGlvZ3JhcGhpZXModGVybTogc3RyaW5nKSB7XG4gICAgLy8gc2NvcHVzXG4gICAgY29uc3QgcGFyYW1zID1cbiAgICAgIHRoaXMuc2VhcmNoQnkoKSA9PT0gJ3RpdGxlJ1xuICAgICAgICA/IHsgdGl0bGU6IHRlcm0gfVxuICAgICAgICA6IHRoaXMuc2VhcmNoQnkoKSA9PT0gJ2RvY3VtZW50RE9JJ1xuICAgICAgICAgID8geyBkb2k6IHRlcm0gfVxuICAgICAgICAgIDogeyBzY29wdXM6IHRlcm0gfTtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hCaWJsaW9ncmFwaGllc1xuICAgICAgPyB0aGlzLm1lbmRlbGV5U2VydmljZS5maW5kKHsgLi4ucGFyYW1zLCBsaW1pdDogdGhpcy5zZWFyY2hMaW1pdCgpIH0pLnBpcGUobWFwKCh7IHJlc3VsdHMgfSkgPT4gcmVzdWx0cykpXG4gICAgICA6IG9mKFtdIGFzIFBhcnRpYWw8QmlibGlvZ3JhcGh5PltdKTtcbiAgfVxuXG4gIHByaXZhdGUgcnVuU2VhcmNoKHRlcm06IHN0cmluZykge1xuICAgIHJldHVybiB6aXAodGhpcy5ydW5TZWFyY2hTb3VyY2VzKHRlcm0pLCB0aGlzLnJ1blNlYXJjaEJpYmxpb2dyYXBoaWVzKHRlcm0pKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpLFxuICAgICAgbWFwKHJlcyA9PiByZXMuZmxhdCgpKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VhcmNoRm9jdXMoZTogRXZlbnQpIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgaW5wdXRFdmVudCA9IG5ldyBFdmVudCgnaW5wdXQnKTtcbiAgICAgIGUudGFyZ2V0Py5kaXNwYXRjaEV2ZW50KGlucHV0RXZlbnQpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc2V0U2VhcmNoKCkge1xuICAgIHRoaXMuc2VhcmNoQ29udHJvbCEuc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbmZpcm0oKSB7XG4gICAgdGhpcy5jbG9zZWQuZW1pdCh0aGlzLnNlbGVjdGVkUmVzdWx0KCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhbmNlbCgpIHtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KG51bGwpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwgaXMtbGFyZ2UgaXMtYWN0aXZlXCI+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1iYWNrZ3JvdW5kXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1jYXJkXCI+XG4gICAgPGhlYWRlciBjbGFzcz1cIm1vZGFsLWNhcmQtaGVhZFwiPlxuICAgICAgPHAgY2xhc3M9XCJtb2RhbC1jYXJkLXRpdGxlXCI+U2VhcmNoIEJpYmxpb2dyYXBoaWVzPC9wPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImRlbGV0ZVwiIGFyaWEtbGFiZWw9XCJjbG9zZVwiIChjbGljayk9XCJjYW5jZWwoKVwiPjwvYnV0dG9uPlxuICAgIDwvaGVhZGVyPlxuICAgIDxzZWN0aW9uIGNsYXNzPVwibW9kYWwtY2FyZC1ib2R5XCI+XG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIG5vdmFsaWRhdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBoYXMtYWRkb25zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRyb2wgaXMtZXhwYW5kZWQgaGFzLWljb25zLXJpZ2h0XCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dCBzZWFyY2gtaW5wdXRcIlxuICAgICAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCInU2VhcmNoIGJpYmxpb2dyYXBoeSBieSAnICsgc2VhcmNoQnkoKVwiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgIG5hbWU9XCJiaWJsaW9ncmFwaHlcIlxuICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAoZm9jdXMpPVwic2VhcmNoRm9jdXMoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICA8YSBjbGFzcz1cImljb24gaXMtc21hbGwgaXMtcmlnaHRcIiBbY2xhc3MuaXMtaGlkZGVuXT1cImxvYWRpbmcoKVwiIChjbGljayk9XCJyZXNldFNlYXJjaCgpXCI+XG4gICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImZhVGltZXNcIj48L2ZhLWljb24+XG4gICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbiBpcy1yaWdodCBoYXMtdGV4dC1ncmV5LWRhcmtcIiBbY2xhc3MuaXMtaGlkZGVuXT1cIiFsb2FkaW5nKClcIj5cbiAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZmFTcGlubmVyXCIgW3B1bHNlXT1cInRydWVcIiBzaXplPVwic21cIj48L2ZhLWljb24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9mb3JtPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiaXMtbXQtMlwiPlxuICAgICAgICA8c3BhbiBbY2xhc3MuaXMtaGlkZGVuXT1cImxvYWRpbmcoKSB8fCAhc2VhcmNoQ29udHJvbD8udmFsdWUgfHwgaGFzUmVzdWx0cygpXCI+XG4gICAgICAgICAgTm8gYmlibGlvZ3JhcGhpZXMgZm91bmQgbWF0Y2hpbmcgcXVlcnkuXG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8dWw+XG4gICAgICAgICAgQGZvciAocmVzdWx0IG9mIHJlc3VsdHMoKTsgdHJhY2sgcmVzdWx0KSB7XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJpcy1ibG9jayBwLTEgc2VhcmNoLXJlc3VsdFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkUmVzdWx0LnNldChyZXN1bHQpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuaXMtYWN0aXZlXT1cInNlbGVjdGVkUmVzdWx0KCkgPT09IHJlc3VsdFwiPlxuICAgICAgICAgICAgICAgIDxuZ2ItaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICBbcmVzdWx0XT1cInJlc3VsdC5iaWJsaW9ncmFwaHk/LnRpdGxlID8/IHJlc3VsdC50aXRsZVwiXG4gICAgICAgICAgICAgICAgICBbdGVybV09XCJzZWFyY2hDb250cm9sPy52YWx1ZVwiPjwvbmdiLWhpZ2hsaWdodD5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInB4LTFcIj4tPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHgtMVwiPlxuICAgICAgICAgICAgICAgICAgPGk+e3sgcmVzdWx0Lm5hbWUgfX08L2k+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIEBpZiAocmVzdWx0LmJpYmxpb2dyYXBoeT8uZG9jdW1lbnRET0kgfHwgcmVzdWx0LmRvY3VtZW50RE9JKSB7XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInB4LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgLVxuICAgICAgICAgICAgICAgICAgICA8Yj5kb2N1bWVudERPSTo8L2I+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxuZ2ItaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICBbcmVzdWx0XT1cInJlc3VsdC5iaWJsaW9ncmFwaHk/LmRvY3VtZW50RE9JID8/IHJlc3VsdC5kb2N1bWVudERPSVwiXG4gICAgICAgICAgICAgICAgICBbdGVybV09XCJzZWFyY2hDb250cm9sPy52YWx1ZVwiPjwvbmdiLWhpZ2hsaWdodD5cbiAgICAgICAgICAgICAgICBAaWYgKHJlc3VsdC5iaWJsaW9ncmFwaHk/LnNjb3B1cyB8fCByZXN1bHQuc2NvcHVzKSB7XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInB4LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgLVxuICAgICAgICAgICAgICAgICAgICA8Yj5zY29wdXM6PC9iPlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8bmdiLWhpZ2hsaWdodFxuICAgICAgICAgICAgICAgICAgW3Jlc3VsdF09XCJyZXN1bHQuYmlibGlvZ3JhcGh5Py5zY29wdXMgPz8gcmVzdWx0LnNjb3B1c1wiXG4gICAgICAgICAgICAgICAgICBbdGVybV09XCJzZWFyY2hDb250cm9sPy52YWx1ZVwiPjwvbmdiLWhpZ2hsaWdodD5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICBtZW5kZWxleUxpbms7XG4gICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IHJlc3VsdC5iaWJsaW9ncmFwaHk/Lm1lbmRlbGV5SUQgPz8gcmVzdWx0Lm1lbmRlbGV5SUQgfVxuICAgICAgICAgICAgICAgICAgICBcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICAgIDxmb290ZXIgY2xhc3M9XCJtb2RhbC1jYXJkLWZvb3RcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gaXMtcHJpbWFyeVwiIChjbGljayk9XCJjb25maXJtKClcIiBbZGlzYWJsZWRdPVwiIXNlbGVjdGVkUmVzdWx0KClcIj5cbiAgICAgICAgPHNwYW4+Q29uZmlybTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBpcy1naG9zdFwiIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAgICA8c3Bhbj5DbG9zZTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZm9vdGVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI21lbmRlbGV5TGluayBsZXQtaWQ+XG4gIEBpZiAoaWQpIHtcbiAgICA8YSBbaHJlZl09XCInaHR0cHM6Ly93d3cubWVuZGVsZXkuY29tL2NhdGFsb2d1ZS8nICsgaWRcIiB0YXJnZXQ9XCJfYmxhbmtcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICA8ZmEtaWNvbiBjbGFzcz1cIm1sLTJcIiBbaWNvbl09XCJmYUV4dGVybmFsTGlua0FsdFwiIHNpemU9XCJzbVwiPjwvZmEtaWNvbj5cbiAgICA8L2E+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -30,7 +30,7 @@ export class EngineRequirementsFormComponent {
|
|
|
30
30
|
this.inputFormatterProductTermId = ({ name }) => name;
|
|
31
31
|
}
|
|
32
32
|
suggestTerm(term) {
|
|
33
|
-
return this.searchService.suggest(term, NodeType.Term, null, {
|
|
33
|
+
return this.searchService.suggest$(term, NodeType.Term, null, {
|
|
34
34
|
bool: {
|
|
35
35
|
must: [
|
|
36
36
|
matchType(NodeType.Term),
|
|
@@ -70,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
70
70
|
type: Component,
|
|
71
71
|
args: [{ selector: 'he-engine-requirements-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [FormsModule, ReactiveFormsModule, NgbTypeahead, FaIconComponent, NgbHighlight, KeysPipe, KeyToLabelPipe], template: "<form class=\"needs-validation mt-3\" novalidate [formGroup]=\"form\">\n <div class=\"field is-horizontal\">\n <div class=\"field-label is-normal\">\n <label class=\"label\" for=\"productTermId\">\n <span>Product Term ID</span>\n </label>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <div class=\"control is-expanded\" [class.has-icons-right]=\"suggestingProductTermId\">\n <input\n class=\"input\"\n formControlName=\"productTermId\"\n name=\"productTermId\"\n placeholder=\"Search product by ID or name\"\n [editable]=\"false\"\n [ngbTypeahead]=\"suggestProductTermId\"\n [resultTemplate]=\"suggestionProductTermId\"\n [inputFormatter]=\"inputFormatterProductTermId\" />\n <span class=\"icon is-right has-text-grey-dark\" [class.is-hidden]=\"!suggestingProductTermId\">\n <fa-icon [icon]=\"faSpinner\" [pulse]=\"true\"></fa-icon>\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"field is-horizontal mt-3\">\n <div class=\"field-label is-normal\">\n <label class=\"label\" for=\"productTermType\">\n <span>Product Term Type</span>\n </label>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <div class=\"control is-expanded\">\n <div class=\"select is-fullwidth\">\n <select formControlName=\"productTermType\" name=\"productTermType\">\n <option [ngValue]=\"undefined\">Select a Type</option>\n @for (termType of productTermTermType; track termType) {\n <option [value]=\"termType\">\n {{ termType | keyToLabel }}\n </option>\n }\n </select>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"field is-horizontal mt-3\">\n <div class=\"field-label is-normal\">\n <label class=\"label\" for=\"tier\">\n <span>Emissions Method Tier</span>\n </label>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <div class=\"control is-expanded\">\n <div class=\"select is-fullwidth\">\n <select formControlName=\"tier\" name=\"tier\">\n <option [ngValue]=\"undefined\">Select a Tier</option>\n @for (tier of EmissionMethodTier | keys; track tier) {\n <option [value]=\"tier.value\">{{ tier.value }}</option>\n }\n </select>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"field is-horizontal mt-3\">\n <div class=\"field-label is-normal\">\n <label class=\"label\" for=\"siteType\">\n <span>Site Type</span>\n </label>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <div class=\"control is-expanded\">\n <div class=\"select is-fullwidth\">\n <select formControlName=\"siteType\" name=\"siteType\">\n <option [ngValue]=\"undefined\">Select a Type</option>\n @for (siteType of SiteSiteType | keys; track siteType) {\n <option [value]=\"siteType.value\">\n {{ siteType.value }}\n </option>\n }\n </select>\n </div>\n </div>\n </div>\n </div>\n </div>\n</form>\n\n<ng-template #suggestionProductTermId let-r=\"result\" let-t=\"term\">\n <ngb-highlight [result]=\"r.name\" [term]=\"t\"></ngb-highlight>\n</ng-template>\n" }]
|
|
72
72
|
}] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLXJlcXVpcmVtZW50cy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbmdpbmUvZW5naW5lLXJlcXVpcmVtZW50cy1mb3JtL2VuZ2luZS1yZXF1aXJlbWVudHMtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvZW5naW5lL2VuZ2luZS1yZXF1aXJlbWVudHMtZm9ybS9lbmdpbmUtcmVxdWlyZW1lbnRzLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDcEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENB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L0RVLCtCQUErQjtrR0FBL0IsK0JBQStCLHVGQ3ZCNUMsbWhIQXFHQSx5RERoRlksV0FBVyxzakNBQUUsbUJBQW1CLGdWQUFFLFlBQVksc1VBQUUsZUFBZSxrUEFBRSxZQUFZLHNIQUFFLFFBQVEsd0NBQUUsY0FBYzs7MkZBRXRHLCtCQUErQjtrQkFSM0MsU0FBUzsrQkFDRSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHByb2R1Y3RUZXJtVGVybVR5cGUsIFNpdGVTaXRlVHlwZSwgRW1pc3Npb25NZXRob2RUaWVyLCBOb2RlVHlwZSwgSVRlcm1KU09OTEQgfSBmcm9tICdAaGVzdGlhLWVhcnRoL3NjaGVtYSc7XG5pbXBvcnQgeyBGYUljb25Db21wb25lbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBOZ2JUeXBlYWhlYWQsIE5nYkhpZ2hsaWdodCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IGZhU3Bpbm5lciB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5cbmltcG9ydCB7IElDYWxjdWxhdGlvbnNNb2RlbHNQYXJhbXMgfSBmcm9tICcuLi9lbmdpbmUuc2VydmljZSc7XG5pbXBvcnQgeyBtYXRjaFR5cGUsIG1hdGNoVGVybVR5cGUgfSBmcm9tICcuLi8uLi9zZWFyY2gvc2VhcmNoLm1vZGVsJztcbmltcG9ydCB7IEhlU2VhcmNoU2VydmljZSwgc3VnZ2VzdE1hdGNoUXVlcnkgfSBmcm9tICcuLi8uLi9zZWFyY2gvc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5VG9MYWJlbFBpcGUgfSBmcm9tICcuLi8uLi9jb21tb24va2V5LXRvLWxhYmVsLnBpcGUnO1xuaW1wb3J0IHsgS2V5c1BpcGUgfSBmcm9tICcuLi8uLi9jb21tb24va2V5cy5waXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtZW5naW5lLXJlcXVpcmVtZW50cy1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VuZ2luZS1yZXF1aXJlbWVudHMtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VuZ2luZS1yZXF1aXJlbWVudHMtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBOZ2JUeXBlYWhlYWQsIEZhSWNvbkNvbXBvbmVudCwgTmdiSGlnaGxpZ2h0LCBLZXlzUGlwZSwgS2V5VG9MYWJlbFBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIEVuZ2luZVJlcXVpcmVtZW50c0Zvcm1Db21wb25lbnQge1xuICBwcml2YXRlIGZvcm1CdWlsZGVyID0gaW5qZWN0KFVudHlwZWRGb3JtQnVpbGRlcik7XG4gIHByaXZhdGUgc2VhcmNoU2VydmljZSA9IGluamVjdChIZVNlYXJjaFNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBmYVNwaW5uZXIgPSBmYVNwaW5uZXI7XG5cbiAgcHVibGljIGZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICBwcm9kdWN0VGVybUlkOiBbdW5kZWZpbmVkXSxcbiAgICBwcm9kdWN0VGVybVR5cGU6IFt1bmRlZmluZWRdLFxuICAgIHRpZXI6IFt1bmRlZmluZWRdLFxuICAgIHNpdGVUeXBlOiBbdW5kZWZpbmVkXVxuICB9KTtcblxuICBwdWJsaWMgcHJvZHVjdFRlcm1UZXJtVHlwZSA9IHByb2R1Y3RUZXJtVGVybVR5cGUudGVybTtcbiAgcHVibGljIEVtaXNzaW9uTWV0aG9kVGllciA9IEVtaXNzaW9uTWV0aG9kVGllcjtcbiAgcHVibGljIFNpdGVTaXRlVHlwZSA9IFNpdGVTaXRlVHlwZTtcblxuICBwdWJsaWMgc3VnZ2VzdGluZ1Byb2R1Y3RUZXJtSWQgPSBmYWxzZTtcbiAgcHVibGljIHN1Z2dlc3RQcm9kdWN0VGVybUlkID0gKHRleHQkOiBPYnNlcnZhYmxlPHN0cmluZz4pID0+XG4gICAgdGV4dCQucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHRhcCgoKSA9PiAodGhpcy5zdWdnZXN0aW5nUHJvZHVjdFRlcm1JZCA9IHRydWUpKSxcbiAgICAgIHN3aXRjaE1hcCh0ZXJtID0+ICh0ZXJtLmxlbmd0aCA8IDEgPyBbXSA6IHRoaXMuc3VnZ2VzdFRlcm0odGVybSkpKSxcbiAgICAgIHRhcCgoKSA9PiAodGhpcy5zdWdnZXN0aW5nUHJvZHVjdFRlcm1JZCA9IGZhbHNlKSlcbiAgICApO1xuICBwdWJsaWMgaW5wdXRGb3JtYXR0ZXJQcm9kdWN0VGVybUlkID0gKHsgbmFtZSB9OiBJVGVybUpTT05MRCkgPT4gbmFtZTtcblxuICBwcml2YXRlIHN1Z2dlc3RUZXJtKHRlcm06IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaFNlcnZpY2Uuc3VnZ2VzdCh0ZXJtLCBOb2RlVHlwZS5UZXJtLCBudWxsLCB7XG4gICAgICBib29sOiB7XG4gICAgICAgIG11c3Q6IFtcbiAgICAgICAgICBtYXRjaFR5cGUoTm9kZVR5cGUuVGVybSksXG4gICAgICAgICAge1xuICAgICAgICAgICAgYm9vbDoge1xuICAgICAgICAgICAgICBzaG91bGQ6IHN1Z2dlc3RNYXRjaFF1ZXJ5KHRlcm0pLFxuICAgICAgICAgICAgICBtaW5pbXVtX3Nob3VsZF9tYXRjaDogMVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgYm9vbDoge1xuICAgICAgICAgICAgICBzaG91bGQ6IHByb2R1Y3RUZXJtVGVybVR5cGUudGVybS5tYXAobWF0Y2hUZXJtVHlwZSksXG4gICAgICAgICAgICAgIG1pbmltdW1fc2hvdWxkX21hdGNoOiAxXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGlmIGZvcm0gaXMgdmFsaWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbGlkKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0gPyAhdGhpcy5mb3JtLmludmFsaWQgOiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGZvcm1WYWx1ZSgpOiBJQ2FsY3VsYXRpb25zTW9kZWxzUGFyYW1zIHtcbiAgICBjb25zdCB7IHByb2R1Y3RUZXJtSWQsIC4uLnZhbHVlIH0gPSB0aGlzLmZvcm0gPyB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSA6IHsgcHJvZHVjdFRlcm1JZDogdW5kZWZpbmVkIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnZhbHVlLFxuICAgICAgLi4uKHByb2R1Y3RUZXJtSWQgPyB7IHByb2R1Y3RUZXJtSWQ6IHByb2R1Y3RUZXJtSWRbJ0BpZCddIH0gOiB7fSkgLy8gc2VsZWN0ZWQgYXMgYSBKU09OLUxEIE9iamVjdFxuICAgIH07XG4gIH1cbn1cbiIsIjxmb3JtIGNsYXNzPVwibmVlZHMtdmFsaWRhdGlvbiBtdC0zXCIgbm92YWxpZGF0ZSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgPGRpdiBjbGFzcz1cImZpZWxkIGlzLWhvcml6b250YWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGQtbGFiZWwgaXMtbm9ybWFsXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiIGZvcj1cInByb2R1Y3RUZXJtSWRcIj5cbiAgICAgICAgPHNwYW4+UHJvZHVjdCBUZXJtIElEPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGQtYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGlzLWV4cGFuZGVkXCIgW2NsYXNzLmhhcy1pY29ucy1yaWdodF09XCJzdWdnZXN0aW5nUHJvZHVjdFRlcm1JZFwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcm9kdWN0VGVybUlkXCJcbiAgICAgICAgICAgIG5hbWU9XCJwcm9kdWN0VGVybUlkXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIHByb2R1Y3QgYnkgSUQgb3IgbmFtZVwiXG4gICAgICAgICAgICBbZWRpdGFibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW25nYlR5cGVhaGVhZF09XCJzdWdnZXN0UHJvZHVjdFRlcm1JZFwiXG4gICAgICAgICAgICBbcmVzdWx0VGVtcGxhdGVdPVwic3VnZ2VzdGlvblByb2R1Y3RUZXJtSWRcIlxuICAgICAgICAgICAgW2lucHV0Rm9ybWF0dGVyXT1cImlucHV0Rm9ybWF0dGVyUHJvZHVjdFRlcm1JZFwiIC8+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIGlzLXJpZ2h0IGhhcy10ZXh0LWdyZXktZGFya1wiIFtjbGFzcy5pcy1oaWRkZW5dPVwiIXN1Z2dlc3RpbmdQcm9kdWN0VGVybUlkXCI+XG4gICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJmYVNwaW5uZXJcIiBbcHVsc2VdPVwidHJ1ZVwiPjwvZmEtaWNvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmaWVsZCBpcy1ob3Jpem9udGFsIG10LTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGQtbGFiZWwgaXMtbm9ybWFsXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiIGZvcj1cInByb2R1Y3RUZXJtVHlwZVwiPlxuICAgICAgICA8c3Bhbj5Qcm9kdWN0IFRlcm0gVHlwZTwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkLWJvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbCBpcy1leHBhbmRlZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QgaXMtZnVsbHdpZHRoXCI+XG4gICAgICAgICAgICA8c2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInByb2R1Y3RUZXJtVHlwZVwiIG5hbWU9XCJwcm9kdWN0VGVybVR5cGVcIj5cbiAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ1bmRlZmluZWRcIj5TZWxlY3QgYSBUeXBlPC9vcHRpb24+XG4gICAgICAgICAgICAgIEBmb3IgKHRlcm1UeXBlIG9mIHByb2R1Y3RUZXJtVGVybVR5cGU7IHRyYWNrIHRlcm1UeXBlKSB7XG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwidGVybVR5cGVcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHRlcm1UeXBlIHwga2V5VG9MYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZpZWxkIGlzLWhvcml6b250YWwgbXQtM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1sYWJlbCBpcy1ub3JtYWxcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCIgZm9yPVwidGllclwiPlxuICAgICAgICA8c3Bhbj5FbWlzc2lvbnMgTWV0aG9kIFRpZXI8L3NwYW4+XG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1ib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRyb2wgaXMtZXhwYW5kZWRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0IGlzLWZ1bGx3aWR0aFwiPlxuICAgICAgICAgICAgPHNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ0aWVyXCIgbmFtZT1cInRpZXJcIj5cbiAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ1bmRlZmluZWRcIj5TZWxlY3QgYSBUaWVyPC9vcHRpb24+XG4gICAgICAgICAgICAgIEBmb3IgKHRpZXIgb2YgRW1pc3Npb25NZXRob2RUaWVyIHwga2V5czsgdHJhY2sgdGllcikge1xuICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cInRpZXIudmFsdWVcIj57eyB0aWVyLnZhbHVlIH19PC9vcHRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZmllbGQgaXMtaG9yaXpvbnRhbCBtdC0zXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkLWxhYmVsIGlzLW5vcm1hbFwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWxcIiBmb3I9XCJzaXRlVHlwZVwiPlxuICAgICAgICA8c3Bhbj5TaXRlIFR5cGU8L3NwYW4+XG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1ib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRyb2wgaXMtZXhwYW5kZWRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0IGlzLWZ1bGx3aWR0aFwiPlxuICAgICAgICAgICAgPHNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzaXRlVHlwZVwiIG5hbWU9XCJzaXRlVHlwZVwiPlxuICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cInVuZGVmaW5lZFwiPlNlbGVjdCBhIFR5cGU8L29wdGlvbj5cbiAgICAgICAgICAgICAgQGZvciAoc2l0ZVR5cGUgb2YgU2l0ZVNpdGVUeXBlIHwga2V5czsgdHJhY2sgc2l0ZVR5cGUpIHtcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJzaXRlVHlwZS52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAge3sgc2l0ZVR5cGUudmFsdWUgfX1cbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9mb3JtPlxuXG48bmctdGVtcGxhdGUgI3N1Z2dlc3Rpb25Qcm9kdWN0VGVybUlkIGxldC1yPVwicmVzdWx0XCIgbGV0LXQ9XCJ0ZXJtXCI+XG4gIDxuZ2ItaGlnaGxpZ2h0IFtyZXN1bHRdPVwici5uYW1lXCIgW3Rlcm1dPVwidFwiPjwvbmdiLWhpZ2hsaWdodD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLXJlcXVpcmVtZW50cy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbmdpbmUvZW5naW5lLXJlcXVpcmVtZW50cy1mb3JtL2VuZ2luZS1yZXF1aXJlbWVudHMtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvZW5naW5lL2VuZ2luZS1yZXF1aXJlbWVudHMtZm9ybS9lbmdpbmUtcmVxdWlyZW1lbnRzLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDcEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENB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L0RVLCtCQUErQjtrR0FBL0IsK0JBQStCLHVGQ3ZCNUMsbWhIQXFHQSx5RERoRlksV0FBVyxzakNBQUUsbUJBQW1CLGdWQUFFLFlBQVksc1VBQUUsZUFBZSxrUEFBRSxZQUFZLHNIQUFFLFFBQVEsd0NBQUUsY0FBYzs7MkZBRXRHLCtCQUErQjtrQkFSM0MsU0FBUzsrQkFDRSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHByb2R1Y3RUZXJtVGVybVR5cGUsIFNpdGVTaXRlVHlwZSwgRW1pc3Npb25NZXRob2RUaWVyLCBOb2RlVHlwZSwgSVRlcm1KU09OTEQgfSBmcm9tICdAaGVzdGlhLWVhcnRoL3NjaGVtYSc7XG5pbXBvcnQgeyBGYUljb25Db21wb25lbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBOZ2JUeXBlYWhlYWQsIE5nYkhpZ2hsaWdodCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IGZhU3Bpbm5lciB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5cbmltcG9ydCB7IElDYWxjdWxhdGlvbnNNb2RlbHNQYXJhbXMgfSBmcm9tICcuLi9lbmdpbmUuc2VydmljZSc7XG5pbXBvcnQgeyBtYXRjaFR5cGUsIG1hdGNoVGVybVR5cGUgfSBmcm9tICcuLi8uLi9zZWFyY2gvc2VhcmNoLm1vZGVsJztcbmltcG9ydCB7IEhlU2VhcmNoU2VydmljZSwgc3VnZ2VzdE1hdGNoUXVlcnkgfSBmcm9tICcuLi8uLi9zZWFyY2gvc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5VG9MYWJlbFBpcGUgfSBmcm9tICcuLi8uLi9jb21tb24va2V5LXRvLWxhYmVsLnBpcGUnO1xuaW1wb3J0IHsgS2V5c1BpcGUgfSBmcm9tICcuLi8uLi9jb21tb24va2V5cy5waXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtZW5naW5lLXJlcXVpcmVtZW50cy1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VuZ2luZS1yZXF1aXJlbWVudHMtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VuZ2luZS1yZXF1aXJlbWVudHMtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBOZ2JUeXBlYWhlYWQsIEZhSWNvbkNvbXBvbmVudCwgTmdiSGlnaGxpZ2h0LCBLZXlzUGlwZSwgS2V5VG9MYWJlbFBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIEVuZ2luZVJlcXVpcmVtZW50c0Zvcm1Db21wb25lbnQge1xuICBwcml2YXRlIGZvcm1CdWlsZGVyID0gaW5qZWN0KFVudHlwZWRGb3JtQnVpbGRlcik7XG4gIHByaXZhdGUgc2VhcmNoU2VydmljZSA9IGluamVjdChIZVNlYXJjaFNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBmYVNwaW5uZXIgPSBmYVNwaW5uZXI7XG5cbiAgcHVibGljIGZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICBwcm9kdWN0VGVybUlkOiBbdW5kZWZpbmVkXSxcbiAgICBwcm9kdWN0VGVybVR5cGU6IFt1bmRlZmluZWRdLFxuICAgIHRpZXI6IFt1bmRlZmluZWRdLFxuICAgIHNpdGVUeXBlOiBbdW5kZWZpbmVkXVxuICB9KTtcblxuICBwdWJsaWMgcHJvZHVjdFRlcm1UZXJtVHlwZSA9IHByb2R1Y3RUZXJtVGVybVR5cGUudGVybTtcbiAgcHVibGljIEVtaXNzaW9uTWV0aG9kVGllciA9IEVtaXNzaW9uTWV0aG9kVGllcjtcbiAgcHVibGljIFNpdGVTaXRlVHlwZSA9IFNpdGVTaXRlVHlwZTtcblxuICBwdWJsaWMgc3VnZ2VzdGluZ1Byb2R1Y3RUZXJtSWQgPSBmYWxzZTtcbiAgcHVibGljIHN1Z2dlc3RQcm9kdWN0VGVybUlkID0gKHRleHQkOiBPYnNlcnZhYmxlPHN0cmluZz4pID0+XG4gICAgdGV4dCQucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHRhcCgoKSA9PiAodGhpcy5zdWdnZXN0aW5nUHJvZHVjdFRlcm1JZCA9IHRydWUpKSxcbiAgICAgIHN3aXRjaE1hcCh0ZXJtID0+ICh0ZXJtLmxlbmd0aCA8IDEgPyBbXSA6IHRoaXMuc3VnZ2VzdFRlcm0odGVybSkpKSxcbiAgICAgIHRhcCgoKSA9PiAodGhpcy5zdWdnZXN0aW5nUHJvZHVjdFRlcm1JZCA9IGZhbHNlKSlcbiAgICApO1xuICBwdWJsaWMgaW5wdXRGb3JtYXR0ZXJQcm9kdWN0VGVybUlkID0gKHsgbmFtZSB9OiBJVGVybUpTT05MRCkgPT4gbmFtZTtcblxuICBwcml2YXRlIHN1Z2dlc3RUZXJtKHRlcm06IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaFNlcnZpY2Uuc3VnZ2VzdCQodGVybSwgTm9kZVR5cGUuVGVybSwgbnVsbCwge1xuICAgICAgYm9vbDoge1xuICAgICAgICBtdXN0OiBbXG4gICAgICAgICAgbWF0Y2hUeXBlKE5vZGVUeXBlLlRlcm0pLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGJvb2w6IHtcbiAgICAgICAgICAgICAgc2hvdWxkOiBzdWdnZXN0TWF0Y2hRdWVyeSh0ZXJtKSxcbiAgICAgICAgICAgICAgbWluaW11bV9zaG91bGRfbWF0Y2g6IDFcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGJvb2w6IHtcbiAgICAgICAgICAgICAgc2hvdWxkOiBwcm9kdWN0VGVybVRlcm1UeXBlLnRlcm0ubWFwKG1hdGNoVGVybVR5cGUpLFxuICAgICAgICAgICAgICBtaW5pbXVtX3Nob3VsZF9tYXRjaDogMVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBpZiBmb3JtIGlzIHZhbGlkLlxuICAgKi9cbiAgcHVibGljIGdldCB2YWxpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtID8gIXRoaXMuZm9ybS5pbnZhbGlkIDogdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtVmFsdWUoKTogSUNhbGN1bGF0aW9uc01vZGVsc1BhcmFtcyB7XG4gICAgY29uc3QgeyBwcm9kdWN0VGVybUlkLCAuLi52YWx1ZSB9ID0gdGhpcy5mb3JtID8gdGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkgOiB7IHByb2R1Y3RUZXJtSWQ6IHVuZGVmaW5lZCB9O1xuICAgIHJldHVybiB7XG4gICAgICAuLi52YWx1ZSxcbiAgICAgIC4uLihwcm9kdWN0VGVybUlkID8geyBwcm9kdWN0VGVybUlkOiBwcm9kdWN0VGVybUlkWydAaWQnXSB9IDoge30pIC8vIHNlbGVjdGVkIGFzIGEgSlNPTi1MRCBPYmplY3RcbiAgICB9O1xuICB9XG59XG4iLCI8Zm9ybSBjbGFzcz1cIm5lZWRzLXZhbGlkYXRpb24gbXQtM1wiIG5vdmFsaWRhdGUgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gIDxkaXYgY2xhc3M9XCJmaWVsZCBpcy1ob3Jpem9udGFsXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkLWxhYmVsIGlzLW5vcm1hbFwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWxcIiBmb3I9XCJwcm9kdWN0VGVybUlkXCI+XG4gICAgICAgIDxzcGFuPlByb2R1Y3QgVGVybSBJRDwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkLWJvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbCBpcy1leHBhbmRlZFwiIFtjbGFzcy5oYXMtaWNvbnMtcmlnaHRdPVwic3VnZ2VzdGluZ1Byb2R1Y3RUZXJtSWRcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXRcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicHJvZHVjdFRlcm1JZFwiXG4gICAgICAgICAgICBuYW1lPVwicHJvZHVjdFRlcm1JZFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBwcm9kdWN0IGJ5IElEIG9yIG5hbWVcIlxuICAgICAgICAgICAgW2VkaXRhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtuZ2JUeXBlYWhlYWRdPVwic3VnZ2VzdFByb2R1Y3RUZXJtSWRcIlxuICAgICAgICAgICAgW3Jlc3VsdFRlbXBsYXRlXT1cInN1Z2dlc3Rpb25Qcm9kdWN0VGVybUlkXCJcbiAgICAgICAgICAgIFtpbnB1dEZvcm1hdHRlcl09XCJpbnB1dEZvcm1hdHRlclByb2R1Y3RUZXJtSWRcIiAvPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbiBpcy1yaWdodCBoYXMtdGV4dC1ncmV5LWRhcmtcIiBbY2xhc3MuaXMtaGlkZGVuXT1cIiFzdWdnZXN0aW5nUHJvZHVjdFRlcm1JZFwiPlxuICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZmFTcGlubmVyXCIgW3B1bHNlXT1cInRydWVcIj48L2ZhLWljb24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZmllbGQgaXMtaG9yaXpvbnRhbCBtdC0zXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkLWxhYmVsIGlzLW5vcm1hbFwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWxcIiBmb3I9XCJwcm9kdWN0VGVybVR5cGVcIj5cbiAgICAgICAgPHNwYW4+UHJvZHVjdCBUZXJtIFR5cGU8L3NwYW4+XG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1ib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRyb2wgaXMtZXhwYW5kZWRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0IGlzLWZ1bGx3aWR0aFwiPlxuICAgICAgICAgICAgPHNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJwcm9kdWN0VGVybVR5cGVcIiBuYW1lPVwicHJvZHVjdFRlcm1UeXBlXCI+XG4gICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwidW5kZWZpbmVkXCI+U2VsZWN0IGEgVHlwZTwvb3B0aW9uPlxuICAgICAgICAgICAgICBAZm9yICh0ZXJtVHlwZSBvZiBwcm9kdWN0VGVybVRlcm1UeXBlOyB0cmFjayB0ZXJtVHlwZSkge1xuICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cInRlcm1UeXBlXCI+XG4gICAgICAgICAgICAgICAgICB7eyB0ZXJtVHlwZSB8IGtleVRvTGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmaWVsZCBpcy1ob3Jpem9udGFsIG10LTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGQtbGFiZWwgaXMtbm9ybWFsXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiIGZvcj1cInRpZXJcIj5cbiAgICAgICAgPHNwYW4+RW1pc3Npb25zIE1ldGhvZCBUaWVyPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGQtYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGlzLWV4cGFuZGVkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdCBpcy1mdWxsd2lkdGhcIj5cbiAgICAgICAgICAgIDxzZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwidGllclwiIG5hbWU9XCJ0aWVyXCI+XG4gICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwidW5kZWZpbmVkXCI+U2VsZWN0IGEgVGllcjwvb3B0aW9uPlxuICAgICAgICAgICAgICBAZm9yICh0aWVyIG9mIEVtaXNzaW9uTWV0aG9kVGllciB8IGtleXM7IHRyYWNrIHRpZXIpIHtcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJ0aWVyLnZhbHVlXCI+e3sgdGllci52YWx1ZSB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZpZWxkIGlzLWhvcml6b250YWwgbXQtM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1sYWJlbCBpcy1ub3JtYWxcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCIgZm9yPVwic2l0ZVR5cGVcIj5cbiAgICAgICAgPHNwYW4+U2l0ZSBUeXBlPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGQtYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGlzLWV4cGFuZGVkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdCBpcy1mdWxsd2lkdGhcIj5cbiAgICAgICAgICAgIDxzZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2l0ZVR5cGVcIiBuYW1lPVwic2l0ZVR5cGVcIj5cbiAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ1bmRlZmluZWRcIj5TZWxlY3QgYSBUeXBlPC9vcHRpb24+XG4gICAgICAgICAgICAgIEBmb3IgKHNpdGVUeXBlIG9mIFNpdGVTaXRlVHlwZSB8IGtleXM7IHRyYWNrIHNpdGVUeXBlKSB7XG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwic2l0ZVR5cGUudmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHNpdGVUeXBlLnZhbHVlIH19XG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZm9ybT5cblxuPG5nLXRlbXBsYXRlICNzdWdnZXN0aW9uUHJvZHVjdFRlcm1JZCBsZXQtcj1cInJlc3VsdFwiIGxldC10PVwidGVybVwiPlxuICA8bmdiLWhpZ2hsaWdodCBbcmVzdWx0XT1cInIubmFtZVwiIFt0ZXJtXT1cInRcIj48L25nYi1oaWdobGlnaHQ+XG48L25nLXRlbXBsYXRlPlxuIl19
|