@microsoft/windows-admin-center-sdk 2.186.0 → 2.294.0
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/angular/assets/strings/cs-CZ/strings.json +1 -1
- package/angular/assets/strings/de-DE/strings.json +1 -1
- package/angular/assets/strings/es-ES/strings.json +1 -1
- package/angular/assets/strings/fr-FR/strings.json +1 -1
- package/angular/assets/strings/hu-HU/strings.json +1 -1
- package/angular/assets/strings/it-IT/strings.json +1 -1
- package/angular/assets/strings/ja-JP/strings.json +1 -1
- package/angular/assets/strings/ko-KR/strings.json +1 -1
- package/angular/assets/strings/nl-NL/strings.json +1 -1
- package/angular/assets/strings/pl-PL/strings.json +1 -1
- package/angular/assets/strings/pt-BR/strings.json +1 -1
- package/angular/assets/strings/pt-PT/strings.json +1 -1
- package/angular/assets/strings/ru-RU/strings.json +1 -1
- package/angular/assets/strings/strings.json +1 -1
- package/angular/assets/strings/sv-SE/strings.json +1 -1
- package/angular/assets/strings/tr-TR/strings.json +1 -1
- package/angular/assets/strings/zh-CN/strings.json +1 -1
- package/angular/assets/strings/zh-TW/strings.json +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js +1103 -1209
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js.map +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js +2 -2
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js.map +1 -1
- package/angular/esm2015/src/controls/actions/actions.module.js +2 -2
- package/angular/esm2015/src/controls/actions/containers/action-bar/action-bar.component.js +2 -2
- package/angular/esm2015/src/controls/actions/items/action-button/action-button-renderer.component.js +5 -5
- package/angular/esm2015/src/controls/actions/items/action-dropdown/action-dropdown.component.js +31 -13
- package/angular/esm2015/src/controls/actions/items/action-item.component.js +7 -3
- package/angular/esm2015/src/controls/badge/badge-base.component.js +2 -13
- package/angular/esm2015/src/controls/badge/bugfixes-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/coming-soon-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/credssp-enabled-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/critical-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/custom-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/feedback-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/improvement-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/new-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/new-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/preview-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/warning-badge.component.js +42 -70
- package/angular/esm2015/src/controls/breadcrumb/breadcrumb.component.js +6 -6
- package/angular/esm2015/src/controls/breadcrumb-header/breadcrumb-header.component.js +2 -2
- package/angular/esm2015/src/controls/data-table/data-table-column.component.js +5 -3
- package/angular/esm2015/src/controls/data-table/data-table.component.js +20 -26
- package/angular/esm2015/src/controls/data-table/extensions/data-table-column-picker-extension.js +2 -1
- package/angular/esm2015/src/controls/details/details.component.js +2 -2
- package/angular/esm2015/src/controls/dialog/base-dialog.component.js +1 -1
- package/angular/esm2015/src/controls/dialog/confirmation-dialog/confirmation-dialog.component.js +20 -30
- package/angular/esm2015/src/controls/dialog/dialog.service.js +7 -3
- package/angular/esm2015/src/controls/dropdown/dropdown.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/array/array-form-field.component.js +50 -40
- package/angular/esm2015/src/controls/form/form-field/checklist/checklist-form-field.component.js +3 -3
- package/angular/esm2015/src/controls/form/form-field/combobox/combobox-form-field.component.js +14 -13
- package/angular/esm2015/src/controls/form/form-field/datetime/datetime-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/form-field.component.js +16 -4
- package/angular/esm2015/src/controls/form/form-field/options-form-field/form-field-option.component.js +5 -3
- package/angular/esm2015/src/controls/form/form-field/ordered-list/ordered-list-form-field.component.js +25 -21
- package/angular/esm2015/src/controls/form/form-field/radio-group/classic/radio-group-form-field.component.js +5 -5
- package/angular/esm2015/src/controls/form/form-field/search/search-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/tags/tags-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/validation-alert/validation-alert.component.js +4 -10
- package/angular/esm2015/src/controls/form/validation-alert/validation-alert.js +1 -1
- package/angular/esm2015/src/controls/horizontal-bar-chart/stacked-horizontal-bar-chart.component.js +17 -1
- package/angular/esm2015/src/controls/icon/layered-icon/layered-icon.component.js +12 -1
- package/angular/esm2015/src/controls/icon/layered-icon/status/status-icon.component.js +53 -9
- package/angular/esm2015/src/controls/loading-wheel/loading-wheel.component.js +17 -1
- package/angular/esm2015/src/controls/master-view/master-view.component.js +34 -30
- package/angular/esm2015/src/controls/pivot/pivot-tab.component.js +1 -1
- package/angular/esm2015/src/controls/pivot/pivot.component.js +21 -9
- package/angular/esm2015/src/controls/property-grid/property-grid.component.js +13 -29
- package/angular/esm2015/src/controls/schema-form/schema-form-content.component.js +7 -4
- package/angular/esm2015/src/controls/settings/common-settings/common-settings.component.js +23 -35
- package/angular/esm2015/src/controls/settings/settings.component.js +28 -1
- package/angular/esm2015/src/controls/settings/settings.module.js +8 -3
- package/angular/esm2015/src/controls/tooltip/tooltip-host.component.js +16 -5
- package/angular/esm2015/src/controls/wizard/wizard.component.js +38 -6
- package/angular/esm2015/src/directives/clamp/clamp.directive.js +26 -7
- package/angular/esm2015/src/directives/discard/discard.directive.js +2 -2
- package/angular/esm2015/src/directives/markdown/markdown.directive.js +5 -18
- package/angular/esm2015/src/generated/strings.js +1 -1
- package/angular/esm2015/src/guards/experiment.guard.service.js +14 -1
- package/angular/esm2015/src/pipes/boolean-converter-pipe.js +11 -1
- package/angular/esm2015/src/pipes/byte-unit-converter-pipe.js +11 -1
- package/angular/esm2015/src/pipes/enum-converter-pipe.js +16 -1
- package/angular/esm2015/src/pipes/format-pipe.js +11 -1
- package/angular/esm2015/src/pipes/highlight-pipe.js +11 -1
- package/angular/esm2015/src/pipes/yesno-converter-pipe.js +11 -1
- package/angular/esm2015/src/service/gateway.service.js +8 -5
- package/angular/esm2015/src/service/notification.service.js +23 -1
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js +1042 -1069
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js.map +1 -1
- package/angular/package.json +0 -1
- package/angular/src/controls/actions/items/action-dropdown/action-dropdown.component.d.ts +2 -0
- package/angular/src/controls/actions/items/action-item.component.d.ts +11 -1
- package/angular/src/controls/badge/badge-base.component.d.ts +0 -4
- package/angular/src/controls/data-table/data-table-column.component.d.ts +2 -1
- package/angular/src/controls/data-table/data-table.component.d.ts +4 -0
- package/angular/src/controls/dialog/base-dialog.component.d.ts +1 -1
- package/angular/src/controls/form/form-field/form-field.component.d.ts +10 -1
- package/angular/src/controls/form/form-field/options-form-field/form-field-option.component.d.ts +5 -1
- package/angular/src/controls/form/validation-alert/validation-alert.component.d.ts +0 -4
- package/angular/src/controls/form/validation-alert/validation-alert.d.ts +0 -1
- package/angular/src/controls/horizontal-bar-chart/stacked-horizontal-bar-chart.component.d.ts +16 -0
- package/angular/src/controls/icon/layered-icon/layered-icon.component.d.ts +11 -0
- package/angular/src/controls/icon/layered-icon/status/status-icon.component.d.ts +13 -2
- package/angular/src/controls/loading-wheel/loading-wheel.component.d.ts +16 -0
- package/angular/src/controls/master-view/master-view.component.d.ts +1 -0
- package/angular/src/controls/pivot/pivot-tab.component.d.ts +0 -1
- package/angular/src/controls/pivot/pivot.component.d.ts +4 -0
- package/angular/src/controls/settings/common-settings/common-settings.component.d.ts +6 -5
- package/angular/src/controls/settings/settings.component.d.ts +27 -0
- package/angular/src/controls/settings/settings.module.d.ts +7 -6
- package/angular/src/controls/tooltip/tooltip-host.component.d.ts +1 -1
- package/angular/src/controls/wizard/wizard.component.d.ts +23 -0
- package/angular/src/directives/clamp/clamp.directive.d.ts +5 -0
- package/angular/src/directives/markdown/markdown.directive.d.ts +2 -3
- package/angular/src/generated/strings.d.ts +9 -0
- package/angular/src/guards/experiment.guard.service.d.ts +13 -0
- package/angular/src/pipes/boolean-converter-pipe.d.ts +10 -0
- package/angular/src/pipes/byte-unit-converter-pipe.d.ts +10 -0
- package/angular/src/pipes/enum-converter-pipe.d.ts +15 -0
- package/angular/src/pipes/format-pipe.d.ts +10 -0
- package/angular/src/pipes/highlight-pipe.d.ts +10 -0
- package/angular/src/pipes/yesno-converter-pipe.d.ts +10 -0
- package/angular/src/service/gateway.service.d.ts +3 -1
- package/angular/src/service/notification.service.d.ts +22 -0
- package/core/base/environment.d.ts +7 -0
- package/core/base/environment.js.map +1 -1
- package/core/base/versioned-object.js +2 -2
- package/core/base/versioned-object.js.map +1 -1
- package/core/data/cim-stream.js +8 -1
- package/core/data/cim-stream.js.map +1 -1
- package/core/data/core-environment.d.ts +4 -0
- package/core/data/core-environment.js +1 -0
- package/core/data/core-environment.js.map +1 -1
- package/core/data/crypto.js +10 -9
- package/core/data/crypto.js.map +1 -1
- package/core/data/file-transfer.js +5 -1
- package/core/data/file-transfer.js.map +1 -1
- package/core/data/gateway-connection.d.ts +11 -1
- package/core/data/gateway-connection.js +51 -9
- package/core/data/gateway-connection.js.map +1 -1
- package/core/data/http-constants.d.ts +5 -1
- package/core/data/http-constants.js +5 -1
- package/core/data/http-constants.js.map +1 -1
- package/core/data/net.d.ts +15 -11
- package/core/data/net.js +44 -41
- package/core/data/net.js.map +1 -1
- package/core/data/node-connection.d.ts +2 -2
- package/core/data/node-connection.js.map +1 -1
- package/core/data/powershell-stream.js +11 -3
- package/core/data/powershell-stream.js.map +1 -1
- package/core/data/powershell.d.ts +17 -1
- package/core/data/powershell.js +35 -9
- package/core/data/powershell.js.map +1 -1
- package/core/data/settings-manager.d.ts +9 -0
- package/core/data/settings-manager.js +18 -1
- package/core/data/settings-manager.js.map +1 -1
- package/core/generated/powershell-scripts.d.ts +5 -4
- package/core/generated/powershell-scripts.js +5 -4
- package/core/generated/powershell-scripts.js.map +1 -1
- package/core/host/host-core-manager.d.ts +36 -0
- package/core/host/host-core-manager.js +134 -0
- package/core/host/host-core-manager.js.map +1 -0
- package/core/host/host-core-message-type.d.ts +12 -0
- package/core/host/host-core-message-type.js +17 -0
- package/core/host/host-core-message-type.js.map +1 -0
- package/core/host/host-core-messages.d.ts +14 -0
- package/core/host/host-core-messages.js +3 -0
- package/core/host/host-core-messages.js.map +1 -0
- package/core/manifest/manifest-loader.d.ts +2 -1
- package/core/manifest/manifest-loader.js +27 -18
- package/core/manifest/manifest-loader.js.map +1 -1
- package/core/notification/notification.js +4 -0
- package/core/notification/notification.js.map +1 -1
- package/core/security/authorization-manager.d.ts +44 -0
- package/core/security/authorization-manager.js +111 -5
- package/core/security/authorization-manager.js.map +1 -1
- package/core/security/sign-on-manager.d.ts +109 -0
- package/core/security/sign-on-manager.js +119 -0
- package/core/security/sign-on-manager.js.map +1 -0
- package/core/security/tag-manager.js.map +1 -1
- package/core/shared/cluster-inventory/cluster-inventory-cache.js +3 -2
- package/core/shared/cluster-inventory/cluster-inventory-cache.js.map +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.d.ts +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.js +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.js.map +1 -1
- package/core/shared/server-inventory/server-inventory-cache.js +2 -1
- package/core/shared/server-inventory/server-inventory-cache.js.map +1 -1
- package/core/shared/tool-inventory/tool-inventory-cache.js +1 -1
- package/core/shared/tool-inventory/tool-inventory-cache.js.map +1 -1
- package/e2e/assets/strings/cs-CZ/strings.json +1 -1
- package/e2e/assets/strings/de-DE/strings.json +1 -1
- package/e2e/assets/strings/es-ES/strings.json +1 -1
- package/e2e/assets/strings/fr-FR/strings.json +1 -1
- package/e2e/assets/strings/hu-HU/strings.json +1 -1
- package/e2e/assets/strings/it-IT/strings.json +1 -1
- package/e2e/assets/strings/ja-JP/strings.json +1 -1
- package/e2e/assets/strings/ko-KR/strings.json +1 -1
- package/e2e/assets/strings/nl-NL/strings.json +1 -1
- package/e2e/assets/strings/pl-PL/strings.json +1 -1
- package/e2e/assets/strings/pt-BR/strings.json +1 -1
- package/e2e/assets/strings/pt-PT/strings.json +1 -1
- package/e2e/assets/strings/ru-RU/strings.json +1 -1
- package/e2e/assets/strings/strings.json +1 -1
- package/e2e/assets/strings/sv-SE/strings.json +1 -1
- package/e2e/assets/strings/tr-TR/strings.json +1 -1
- package/e2e/assets/strings/zh-CN/strings.json +1 -1
- package/e2e/assets/strings/zh-TW/strings.json +1 -1
- package/package.json +5 -5
- package/styles/css/fonts.css +2 -2
- package/styles/css/main.css +1 -1
- package/styles/fonts/ServMDL2/ServMDL2-4.62.woff +0 -0
- package/styles/fonts/ServMDL2/ServMDL2.json +238 -2039
- package/styles/fonts/ServMDL2/ServMDL2.scss +238 -2039
- package/tools/gulp-manifest-resource/index.js +3 -1
- package/tools/gulp-manifest-resource/index.js.map +1 -1
- package/tools/gulp-ps-cim/index.js +1 -1
- package/tools/gulp-ps-cim/index.js.map +1 -1
- package/tools/gulp-ps-cim/powershell-cim-config-schema.json +1 -1
- package/tools/gulp-ps-code/index.js +36 -2
- package/tools/gulp-ps-code/index.js.map +1 -1
- package/tools/gulp-ps-code/ps-code-convert.js +4 -8
- package/tools/gulp-ps-code/ps-code-convert.js.map +1 -1
- package/tools/gulp-ps-resjson/index.js +79 -74
- package/tools/gulp-ps-resjson/index.js.map +1 -1
- package/tools/module-template/build/pipelines/codeinspector.yml +27 -0
- package/tools/module-template/gulpfile.ts/common/lint.ts +3 -3
- package/tools/module-template/gulpfile.ts/common/pack.ts +14 -14
- package/tools/module-template/gulpfile.ts/common/ui-test-automation.ts +40 -0
- package/tools/module-template/gulpfile.ts/common/utilities.ts +10 -10
- package/tools/module-template/gulpfile.ts/common/validate.ts +14 -4
- package/tools/module-template/gulpfile.ts/index.ts +20 -8
- package/tools/wac-cli/src/upgrade/file-updater.d.ts +1 -0
- package/tools/wac-cli/src/upgrade/file-updater.js +7 -1
- package/tools/wac-cli/src/upgrade/file-updater.js.map +1 -1
- package/styles/fonts/ServMDL2/ServMDL2-4.33.woff +0 -0
package/angular/esm2015/src/controls/data-table/extensions/data-table-column-picker-extension.js
CHANGED
|
@@ -58,6 +58,7 @@ export class DataTableColumnPickerExtension {
|
|
|
58
58
|
const allColumns = this.dataTable.columns ? this.dataTable.columns.toArray() : [];
|
|
59
59
|
const dataTableAllColumns = allColumns.map((item) => {
|
|
60
60
|
return {
|
|
61
|
+
'utaId': item.utaId,
|
|
61
62
|
'field': item.field,
|
|
62
63
|
'header': item.header,
|
|
63
64
|
'hidden': item.hidden,
|
|
@@ -76,4 +77,4 @@ __decorate([
|
|
|
76
77
|
__metadata("design:paramtypes", []),
|
|
77
78
|
__metadata("design:returntype", void 0)
|
|
78
79
|
], DataTableColumnPickerExtension.prototype, "refreshDataTable", null);
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb2x1bW4tcGlja2VyLWV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2RhdGEtdGFibGUvZXh0ZW5zaW9ucy9kYXRhLXRhYmxlLWNvbHVtbi1waWNrZXItZXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFJeEcsTUFBTSxPQUFPLDhCQUE4QjtJQUN2QyxZQUFvQixTQUE2QjtRQUE3QixjQUFTLEdBQVQsU0FBUyxDQUFvQjtJQUFJLENBQUM7SUFFL0MsdUJBQXVCLENBQUMsTUFBNEM7UUFDdkUsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGlCQUFpQixFQUFFO1lBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1lBQ2pELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1lBQ25ELElBQUksZ0JBQWdCLElBQUksZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakQsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO2dCQUN0QixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDL0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN6RSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxD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Q0o7QUF0Qkc7SUFEQyxRQUFRLEVBQUU7Ozs7c0VBS1YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvYmFzZS9kZWNvcmF0b3JzL2RlYm91bmNlLmRlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBDb2x1bW5QaWNrZXJEaWFsb2dSZXNwb25zZVBhcmFtZXRlcnMsIERhdGFUYWJsZUNvbHVtbiB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvZGF0YS9jb2x1bW4tcGlja2VyJztcclxuaW1wb3J0IHsgRGF0YVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YS10YWJsZS5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUNvbHVtblBpY2tlckV4dGVuc2lvbiB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFUYWJsZTogRGF0YVRhYmxlQ29tcG9uZW50KSB7IH1cclxuXHJcbiAgICBwdWJsaWMgYXBwbHlDb2x1bW5QaWNrZXJDaGFuZ2UocmVzdWx0OiBDb2x1bW5QaWNrZXJEaWFsb2dSZXNwb25zZVBhcmFtZXRlcnMpIHtcclxuICAgICAgICBpZiAocmVzdWx0LmNob29zZUNvbHVtbkRhdGEgfHwgcmVzdWx0Lmdyb3VwQnlDb2x1bW5EYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNob29zZUNvbHVtbkRhdGEgPSByZXN1bHQuY2hvb3NlQ29sdW1uRGF0YTtcclxuICAgICAgICAgICAgY29uc3QgZ3JvdXBCeUNvbHVtbkRhdGEgPSByZXN1bHQuZ3JvdXBCeUNvbHVtbkRhdGE7XHJcbiAgICAgICAgICAgIGlmIChjaG9vc2VDb2x1bW5EYXRhICYmIGNob29zZUNvbHVtbkRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdW5zZWxlY3RlZCA9IFtdO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVRhYmxlICYmIHRoaXMuZGF0YVRhYmxlLmNvbHVtbnMgJiYgdGhpcy5kYXRhVGFibGUuY29sdW1ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuZGF0YVRhYmxlLmNvbHVtbnMudG9BcnJheSgpLm1hcChpdGVtID0+IGl0ZW0uZmllbGQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNob29zZUNvbHVtbkRhdGEuaW5jbHVkZXMoY29sdW1uc1tpXSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2VsZWN0ZWQucHVzaChjb2x1bW5zW2ldKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFUYWJsZS5jb2x1bW5zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmhpZGRlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodW5zZWxlY3RlZC5pbmNsdWRlcyhpdGVtLmZpZWxkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5oaWRkZW4gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5vbkdyb3VwQ29sdW1uQ2hhbmdlZChncm91cEJ5Q29sdW1uRGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVRhYmxlLnByb2Nlc3NDb2x1bW5zQnlPcmRlcihjaG9vc2VDb2x1bW5EYXRhKTtcclxuICAgICAgICAgICAgdGhpcy5yZWZyZXNoRGF0YVRhYmxlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkdyb3VwQ29sdW1uQ2hhbmdlZChpbnB1dDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0YVRhYmxlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuZGF0YVRhYmxlLmNvbHVtbnMuZmlsdGVyKGN1cnJlbnRDb2x1bW4gPT4gY3VycmVudENvbHVtbi5maWVsZCA9PT0gaW5wdXQpWzBdO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFUYWJsZS5ncm91cENvbHVtbiA9IGNvbHVtbjtcclxuICAgICAgICAgICAgdGhpcy5kYXRhVGFibGUuaXNDb2x1bW5XaWR0aENhbGN1bGF0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKGNvbHVtbikge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmRhdGFUYWJsZS51c2VHcm91cFRvZ2dsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVRhYmxlLnVzZUdyb3VwVG9nZ2xlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5kYXRhVGFibGUuZGVmYXVsdEdyb3VwVG9nZ2xlRXhwYW5kZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFUYWJsZS5kZWZhdWx0R3JvdXBUb2dnbGVFeHBhbmRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFUYWJsZS51c2VHcm91cFRvZ2dsZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVRhYmxlLmRlZmF1bHRHcm91cFRvZ2dsZUV4cGFuZGVkID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBEZWJvdW5jZSgpXHJcbiAgICBwdWJsaWMgcmVmcmVzaERhdGFUYWJsZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhVGFibGUpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhVGFibGUucmVmcmVzaERhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG1hcENvbHVtbigpOiBBcnJheTxEYXRhVGFibGVDb2x1bW4+IHtcclxuICAgICAgICBjb25zdCBhbGxDb2x1bW5zID0gdGhpcy5kYXRhVGFibGUuY29sdW1ucyA/IHRoaXMuZGF0YVRhYmxlLmNvbHVtbnMudG9BcnJheSgpIDogW107XHJcbiAgICAgICAgY29uc3QgZGF0YVRhYmxlQWxsQ29sdW1uczogQXJyYXk8RGF0YVRhYmxlQ29sdW1uPiA9IGFsbENvbHVtbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAndXRhSWQnOiBpdGVtLnV0YUlkLFxyXG4gICAgICAgICAgICAgICAgJ2ZpZWxkJzogaXRlbS5maWVsZCxcclxuICAgICAgICAgICAgICAgICdoZWFkZXInOiBpdGVtLmhlYWRlcixcclxuICAgICAgICAgICAgICAgICdoaWRkZW4nOiBpdGVtLmhpZGRlbixcclxuICAgICAgICAgICAgICAgICdxdWVyeUVkaXRvclR5cGUnOiBpdGVtLnF1ZXJ5RWRpdG9yVHlwZSxcclxuICAgICAgICAgICAgICAgICdzZWFyY2hhYmxlJzogaXRlbS5zZWFyY2hhYmxlLFxyXG4gICAgICAgICAgICAgICAgJ3NvcnRNb2RlJzogaXRlbS5zb3J0TW9kZSxcclxuICAgICAgICAgICAgICAgICdzb3J0YWJsZSc6IGl0ZW0uc29ydGFibGVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gZGF0YVRhYmxlQWxsQ29sdW1ucztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -113,7 +113,7 @@ export class DetailsComponent extends CoreBaseComponent {
|
|
|
113
113
|
} if (rf & 2) {
|
|
114
114
|
let _t;
|
|
115
115
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.expander = _t.first);
|
|
116
|
-
} }, inputs: { initialHeightPercentage: "initialHeightPercentage", header: "header", chevronInverted: "chevronInverted", title: "title", isExpanded: "isExpanded", ignoreChangeInExpandedSize: "ignoreChangeInExpandedSize" }, outputs: { isExpandedChange: "isExpandedChange" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c2, decls: 11, vars: 12, consts: [["role", "button", "tabindex", "0", 1, "sme-button", "sme-button-trigger", "sme-button-auto-width", "sme-position-flex-none", "sme-padding-squish-v-md", "sme-padding-horizontal-lg", "sme-position-stretch-h", "sme-position-left-inline", "sme-arrange-stack-h", "sme-focus-zone", 3, "title", "click"], ["expander", ""], [1, "sme-position-flex-auto", "sme-arrange-ellipsis"], ["class", "sme-icon sme-position-flex-none", 3, "ngClass", 4, "ngIf"], [1, "sme-screen-reader", 3, "id"], [1, "sme-position-flex-auto", "sme-layout-relative"], [1, "sme-layout-absolute", "sme-position-inset-none", "sme-padding-bottom-sm", "sme-arrange-overflow-auto"], [1, "sme-icon", "sme-position-flex-none", 3, "ngClass"]], template: function DetailsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
116
|
+
} }, inputs: { initialHeightPercentage: "initialHeightPercentage", header: "header", chevronInverted: "chevronInverted", title: "title", isExpanded: "isExpanded", ignoreChangeInExpandedSize: "ignoreChangeInExpandedSize" }, outputs: { isExpandedChange: "isExpandedChange" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c2, decls: 11, vars: 12, consts: [["role", "button", "tabindex", "0", 1, "sme-button", "sme-button-trigger", "sme-button-auto-width", "sme-position-flex-none", "sme-padding-squish-v-md", "sme-padding-horizontal-lg", "sme-position-stretch-h", "sme-position-left-inline", "sme-arrange-stack-h", "sme-focus-zone", 3, "title", "click"], ["expander", ""], [1, "sme-position-flex-auto", "sme-arrange-ellipsis"], ["class", "sme-icon sme-position-flex-none", "aria-hidden", "true", 3, "ngClass", 4, "ngIf"], [1, "sme-screen-reader", 3, "id"], [1, "sme-position-flex-auto", "sme-layout-relative"], [1, "sme-layout-absolute", "sme-position-inset-none", "sme-padding-bottom-sm", "sme-arrange-overflow-auto"], ["aria-hidden", "true", 1, "sme-icon", "sme-position-flex-none", 3, "ngClass"]], template: function DetailsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
117
117
|
i0.ɵɵprojectionDef();
|
|
118
118
|
i0.ɵɵelementStart(0, "div", 0, 1);
|
|
119
119
|
i0.ɵɵlistener("click", function DetailsComponent_Template_div_click_0_listener() { return ctx.toggleExpansion(); });
|
|
@@ -177,4 +177,4 @@ export class DetailsComponent extends CoreBaseComponent {
|
|
|
177
177
|
}], isExpandedChange: [{
|
|
178
178
|
type: Output
|
|
179
179
|
}] }); })();
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9kZXRhaWxzL2RldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvZGV0YWlscy9kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQVUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztJQ1Y3RCwwQkFDbUc7OztJQUFqRywyRkFBeUY7OztJQUMzRiwwQkFDbUc7OztJQUFqRywyRkFBeUY7OztBRFM3Rjs7Ozs7Ozs7Ozs7R0FXRztBQUtILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxpQkFBaUI7SUErQ25ELFlBQVksUUFBa0IsRUFBbUQsTUFBYztRQUMzRixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFENkQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXRDeEYsc0JBQWlCLEdBQUcsTUFBTSxDQUFDO1FBQzNCLG9CQUFlLEdBQUcsT0FBTyxDQUFDLFVBQVUsRUFBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBaUM3RSxxQkFBZ0IsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVyRSw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFJdEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztRQUNsQyxJQUFJLE1BQU0sRUFBRTtZQUNSLElB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IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbmplY3QsXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT3B0aW9uYWwsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERlcHJlY2F0ZWQgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL2Jhc2UvZGVjb3JhdG9ycy9kZXByZWNhdGlvbi5kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgU3RyaW5ncyB9IGZyb20gJy4uLy4uL2dlbmVyYXRlZC9zdHJpbmdzJztcclxuaW1wb3J0IHsgQ29yZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXlvdXQsIFNNRV9MQVlPVVRfUFJPVklERVIgfSBmcm9tICcuLi9jb21tb24vbGF5b3V0JztcclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAc21lRG9jIHtAbGFiZWwgRGV0YWlscyBAaWQgc21lLWRldGFpbHN9XHJcbiAqXHJcbiAqIEBvdmVydmlld1xyXG4gKiBAZmlsZSB7QGZpbGVwYXRoIC4vZXhhbXBsZXMvZGV0YWlscy1vdmVydmlldy5tZH1cclxuICpcclxuICogQGV4YW1wbGUge0BsYWJlbCBCYXNpYyBVc2FnZSBAaWQgYmFzaWMtdXNhZ2V9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2RldGFpbHMtZXhhbXBsZS5jb21wb25lbnQudHN9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvZGV0YWlscy1leGFtcGxlLmNvbXBvbmVudC5odG1sfVxyXG4gKlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS1kZXRhaWxzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kZXRhaWxzLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGV0YWlsc0NvbXBvbmVudCBleHRlbmRzIENvcmVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzb3VyY2UgbmFtZSB0byB1c2UgZm9yIGxvZ2dpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldCBsb2dTb3VyY2VOYW1lKCkge1xyXG4gICAgICAgIHJldHVybiAnRGV0YWlsc0NvbXBvbmVudCc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG1pbkV4cGFuZGVySGVpZ2h0ID0gJzUwcHgnO1xyXG4gICAgcHVibGljIHJlc291cmNlU3RyaW5ncyA9IE1zZnRTbWUuZ2V0U3RyaW5nczxTdHJpbmdzPigpLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkRldGFpbHM7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnZXhwYW5kZXInKVxyXG4gICAgcHVibGljIGV4cGFuZGVyOiBFbGVtZW50UmVmO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW5pdGlhbEhlaWdodFBlcmNlbnRhZ2U6IG51bWJlcjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGhlYWRlcjogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY2hldnJvbkludmVydGVkOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgc2luY2UgMDIvMjUvMjAxOS4gUGxlYXNlIHVzZSAnaGVhZGVyJyBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmhlYWRlciA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgcHVibGljIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhlYWRlcjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpc0V4cGFuZGVkOiBib29sZWFuO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaWdub3JlQ2hhbmdlSW5FeHBhbmRlZFNpemU6IGJvb2xlYW47XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgaXNFeHBhbmRlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIHByaXZhdGUgaGFzRXhwYW5kZWRMYXlvdXRPY2N1cnJlZCA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgQE9wdGlvbmFsKCkgQEluamVjdChTTUVfTEFZT1VUX1BST1ZJREVSKSBwcml2YXRlIGxheW91dDogTGF5b3V0KSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbEhlaWdodFBlcmNlbnRhZ2UgPSAzMDtcclxuICAgICAgICBpZiAobGF5b3V0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMubGF5b3V0LmxheW91dENoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMub25MYXlvdXRDaGFuZ2VkKCkpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBpZiAoY2hhbmdlcy5pc0V4cGFuZGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25MYXlvdXRDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0b2dnbGVFeHBhbnNpb24oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNFeHBhbmRlZDtcclxuICAgICAgICB0aGlzLmlzRXhwYW5kZWRDaGFuZ2UuZW1pdCh0aGlzLmlzRXhwYW5kZWQpO1xyXG4gICAgICAgIHRoaXMub25MYXlvdXRDaGFuZ2VkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvbkxheW91dENoYW5nZWQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZXhwYW5kZXJDbGllbnRIZWlnaHQgPSBNc2Z0U21lLmdldFZhbHVlPG51bWJlcj4odGhpcy5leHBhbmRlciwgJ25hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0JykgfHwgMDtcclxuICAgICAgICBjb25zdCBleHBhbmRlckhlaWdodCA9IGV4cGFuZGVyQ2xpZW50SGVpZ2h0ID4gMCA/IGB7MH1weGAuZm9ybWF0KGV4cGFuZGVyQ2xpZW50SGVpZ2h0KSA6IHRoaXMubWluRXhwYW5kZXJIZWlnaHQ7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGV4cGFuZGVySGVpZ2h0O1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5ob3N0RWxlbWVudCkge1xyXG4gICAgICAgICAgICBsZXQgcG90ZW50aWFsSGVpZ2h0ID0gTXNmdFNtZS5nZXRWYWx1ZTxudW1iZXI+KHRoaXMuaG9zdEVsZW1lbnQsICduYXRpdmVFbGVtZW50Lm9mZnNldFBhcmVudC5vZmZzZXRIZWlnaHQnKSB8fCAwO1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuaGFzRXhwYW5kZWRMYXlvdXRPY2N1cnJlZCB8fCB0aGlzLmlnbm9yZUNoYW5nZUluRXhwYW5kZWRTaXplKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0V4cGFuZGVkTGF5b3V0T2NjdXJyZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgLy8gd2Ugb25seSBlbmZvcmNlIGEgbWF4IGhlaWdodCB3aGVuIHNldHRpbmcgdGhlIGRlZmF1bHQgaGVpZ2h0LlxyXG4gICAgICAgICAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gNjAwO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWluSGVpZ2h0ID0gMjAwO1xyXG4gICAgICAgICAgICAgICAgLy8gU2V0IGluaXRpYWwgZXhwYW5kZWQgaGVpZ2h0IHRvIDMwdmguXHJcbiAgICAgICAgICAgICAgICBjb25zdCB0b3RhbEhlaWdodCA9IE1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQsIHdpbmRvdy5pbm5lckhlaWdodCB8fCAwKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9uZVZoID0gdG90YWxIZWlnaHQgLyAxMDA7XHJcbiAgICAgICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBvbmVWaCAqIHRoaXMuaW5pdGlhbEhlaWdodFBlcmNlbnRhZ2U7XHJcbiAgICAgICAgICAgICAgICAvLyBkb250IGxldCB0aGUgaW5pdGlhbCBzaXplIGV4Y2VlZCBtYXggaGVpZ2h0XHJcbiAgICAgICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBNYXRoLm1pbihwb3RlbnRpYWxIZWlnaHQsIG1heEhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBNYXRoLm1heChwb3RlbnRpYWxIZWlnaHQsIG1pbkhlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGB7MH1weGAuZm9ybWF0KHBvdGVudGlhbEhlaWdodCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldEluaXRpYWxIb3N0Q2xhc3NlcygpIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFtcclxuICAgICAgICAgICAgJ3NtZS1hcnJhbmdlLXN0YWNrLXYnXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUlkQmFnKCk6IE1zZnRTbWUuU3RyaW5nTWFwPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGRldGFpbHNTcGFuOiAnJ1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiAjZXhwYW5kZXJcclxuICBjbGFzcz1cInNtZS1idXR0b24gc21lLWJ1dHRvbi10cmlnZ2VyIHNtZS1idXR0b24tYXV0by13aWR0aCBzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1wYWRkaW5nLXNxdWlzaC12LW1kIHNtZS1wYWRkaW5nLWhvcml6b250YWwtbGcgc21lLXBvc2l0aW9uLXN0cmV0Y2gtaCBzbWUtcG9zaXRpb24tbGVmdC1pbmxpbmUgc21lLWFycmFuZ2Utc3RhY2staCBzbWUtZm9jdXMtem9uZVwiXHJcbiAgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIChjbGljayk9XCJ0b2dnbGVFeHBhbnNpb24oKVwiIFtzdHlsZS5taW4taGVpZ2h0XT1cIm1pbkV4cGFuZGVySGVpZ2h0XCJcclxuICBbdGl0bGVdPVwiaXNFeHBhbmRlZCA/IHN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuQ29tbW9uLmNvbGxhcHNlIDogc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Db21tb24uZXhwYW5kXCJcclxuICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiEhaXNFeHBhbmRlZFwiIFthdHRyLmFyaWEtZGVzY3JpYmVkQnldPVwiaWRCYWcuZGV0YWlsc1NwYW5cIj5cclxuICA8aDMgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1hdXRvIHNtZS1hcnJhbmdlLWVsbGlwc2lzXCI+e3toZWFkZXJ9fTwvaDM+XHJcbiAgPHNwYW4gKm5nSWY9XCIhY2hldnJvbkludmVydGVkXCIgY2xhc3M9XCJzbWUtaWNvbiBzbWUtcG9zaXRpb24tZmxleC1ub25lXCJcclxuICAgIFtuZ0NsYXNzXT1cInsnc21lLWljb24tY2hldnJvblVwTWVkJzogIWlzRXhwYW5kZWQsICdzbWUtaWNvbi1jaGV2cm9uRG93bk1lZCc6IGlzRXhwYW5kZWR9XCI+PC9zcGFuPlxyXG4gIDxzcGFuICpuZ0lmPVwiY2hldnJvbkludmVydGVkXCIgY2xhc3M9XCJzbWUtaWNvbiBzbWUtcG9zaXRpb24tZmxleC1ub25lXCJcclxuICAgIFtuZ0NsYXNzXT1cInsnc21lLWljb24tY2hldnJvblVwTWVkJzogaXNFeHBhbmRlZCwgJ3NtZS1pY29uLWNoZXZyb25Eb3duTWVkJzogIWlzRXhwYW5kZWR9XCI+PC9zcGFuPlxyXG4gIDxkaXYgY2xhc3M9XCJzbWUtc2NyZWVuLXJlYWRlclwiIFtpZF09XCJpZEJhZy5kZXRhaWxzU3BhblwiPiB7eyByZXNvdXJjZVN0cmluZ3MuQXJpYURlc2NyaXB0aW9uIH19PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LWF1dG8gc21lLWxheW91dC1yZWxhdGl2ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzbWUtbGF5b3V0LWFic29sdXRlIHNtZS1wb3NpdGlvbi1pbnNldC1ub25lIHNtZS1wYWRkaW5nLWJvdHRvbS1zbSBzbWUtYXJyYW5nZS1vdmVyZmxvdy1hdXRvXCJcclxuICAgIFtjbGFzcy5zbWUtbGF5b3V0LW5vbmVdPVwiIWlzRXhwYW5kZWRcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9kZXRhaWxzL2RldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvZGV0YWlscy9kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQVUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztJQ1Y3RCwwQkFDc0g7OztJQUFwSCwyRkFBeUY7OztJQUMzRiwwQkFDc0g7OztJQUFwSCwyRkFBeUY7OztBRFM3Rjs7Ozs7Ozs7Ozs7R0FXRztBQUtILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxpQkFBaUI7SUErQ25ELFlBQVksUUFBa0IsRUFBbUQsTUFBYztRQUMzRixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFENkQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXRDeEYsc0JBQWlCLEdBQUcsTUFBTSxDQUFDO1FBQzNCLG9CQUFlLEdBQUcsT0FBTyxDQUFDLFVBQVUsRUFBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBaUM3RSxxQkFBZ0IsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVyRSw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFJdEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztRQUNsQyxJQUFJLE1BQU0sRUFBRTtZQUNSLElB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IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbmplY3QsXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT3B0aW9uYWwsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERlcHJlY2F0ZWQgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL2Jhc2UvZGVjb3JhdG9ycy9kZXByZWNhdGlvbi5kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgU3RyaW5ncyB9IGZyb20gJy4uLy4uL2dlbmVyYXRlZC9zdHJpbmdzJztcclxuaW1wb3J0IHsgQ29yZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXlvdXQsIFNNRV9MQVlPVVRfUFJPVklERVIgfSBmcm9tICcuLi9jb21tb24vbGF5b3V0JztcclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAc21lRG9jIHtAbGFiZWwgRGV0YWlscyBAaWQgc21lLWRldGFpbHN9XHJcbiAqXHJcbiAqIEBvdmVydmlld1xyXG4gKiBAZmlsZSB7QGZpbGVwYXRoIC4vZXhhbXBsZXMvZGV0YWlscy1vdmVydmlldy5tZH1cclxuICpcclxuICogQGV4YW1wbGUge0BsYWJlbCBCYXNpYyBVc2FnZSBAaWQgYmFzaWMtdXNhZ2V9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2RldGFpbHMtZXhhbXBsZS5jb21wb25lbnQudHN9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvZGV0YWlscy1leGFtcGxlLmNvbXBvbmVudC5odG1sfVxyXG4gKlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS1kZXRhaWxzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kZXRhaWxzLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGV0YWlsc0NvbXBvbmVudCBleHRlbmRzIENvcmVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzb3VyY2UgbmFtZSB0byB1c2UgZm9yIGxvZ2dpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldCBsb2dTb3VyY2VOYW1lKCkge1xyXG4gICAgICAgIHJldHVybiAnRGV0YWlsc0NvbXBvbmVudCc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG1pbkV4cGFuZGVySGVpZ2h0ID0gJzUwcHgnO1xyXG4gICAgcHVibGljIHJlc291cmNlU3RyaW5ncyA9IE1zZnRTbWUuZ2V0U3RyaW5nczxTdHJpbmdzPigpLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkRldGFpbHM7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnZXhwYW5kZXInKVxyXG4gICAgcHVibGljIGV4cGFuZGVyOiBFbGVtZW50UmVmO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW5pdGlhbEhlaWdodFBlcmNlbnRhZ2U6IG51bWJlcjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGhlYWRlcjogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY2hldnJvbkludmVydGVkOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgc2luY2UgMDIvMjUvMjAxOS4gUGxlYXNlIHVzZSAnaGVhZGVyJyBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmhlYWRlciA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgcHVibGljIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhlYWRlcjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpc0V4cGFuZGVkOiBib29sZWFuO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaWdub3JlQ2hhbmdlSW5FeHBhbmRlZFNpemU6IGJvb2xlYW47XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgaXNFeHBhbmRlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIHByaXZhdGUgaGFzRXhwYW5kZWRMYXlvdXRPY2N1cnJlZCA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgQE9wdGlvbmFsKCkgQEluamVjdChTTUVfTEFZT1VUX1BST1ZJREVSKSBwcml2YXRlIGxheW91dDogTGF5b3V0KSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbEhlaWdodFBlcmNlbnRhZ2UgPSAzMDtcclxuICAgICAgICBpZiAobGF5b3V0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMubGF5b3V0LmxheW91dENoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMub25MYXlvdXRDaGFuZ2VkKCkpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBpZiAoY2hhbmdlcy5pc0V4cGFuZGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25MYXlvdXRDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0b2dnbGVFeHBhbnNpb24oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNFeHBhbmRlZDtcclxuICAgICAgICB0aGlzLmlzRXhwYW5kZWRDaGFuZ2UuZW1pdCh0aGlzLmlzRXhwYW5kZWQpO1xyXG4gICAgICAgIHRoaXMub25MYXlvdXRDaGFuZ2VkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvbkxheW91dENoYW5nZWQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZXhwYW5kZXJDbGllbnRIZWlnaHQgPSBNc2Z0U21lLmdldFZhbHVlPG51bWJlcj4odGhpcy5leHBhbmRlciwgJ25hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0JykgfHwgMDtcclxuICAgICAgICBjb25zdCBleHBhbmRlckhlaWdodCA9IGV4cGFuZGVyQ2xpZW50SGVpZ2h0ID4gMCA/IGB7MH1weGAuZm9ybWF0KGV4cGFuZGVyQ2xpZW50SGVpZ2h0KSA6IHRoaXMubWluRXhwYW5kZXJIZWlnaHQ7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGV4cGFuZGVySGVpZ2h0O1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5ob3N0RWxlbWVudCkge1xyXG4gICAgICAgICAgICBsZXQgcG90ZW50aWFsSGVpZ2h0ID0gTXNmdFNtZS5nZXRWYWx1ZTxudW1iZXI+KHRoaXMuaG9zdEVsZW1lbnQsICduYXRpdmVFbGVtZW50Lm9mZnNldFBhcmVudC5vZmZzZXRIZWlnaHQnKSB8fCAwO1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuaGFzRXhwYW5kZWRMYXlvdXRPY2N1cnJlZCB8fCB0aGlzLmlnbm9yZUNoYW5nZUluRXhwYW5kZWRTaXplKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0V4cGFuZGVkTGF5b3V0T2NjdXJyZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgLy8gd2Ugb25seSBlbmZvcmNlIGEgbWF4IGhlaWdodCB3aGVuIHNldHRpbmcgdGhlIGRlZmF1bHQgaGVpZ2h0LlxyXG4gICAgICAgICAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gNjAwO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWluSGVpZ2h0ID0gMjAwO1xyXG4gICAgICAgICAgICAgICAgLy8gU2V0IGluaXRpYWwgZXhwYW5kZWQgaGVpZ2h0IHRvIDMwdmguXHJcbiAgICAgICAgICAgICAgICBjb25zdCB0b3RhbEhlaWdodCA9IE1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQsIHdpbmRvdy5pbm5lckhlaWdodCB8fCAwKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9uZVZoID0gdG90YWxIZWlnaHQgLyAxMDA7XHJcbiAgICAgICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBvbmVWaCAqIHRoaXMuaW5pdGlhbEhlaWdodFBlcmNlbnRhZ2U7XHJcbiAgICAgICAgICAgICAgICAvLyBkb250IGxldCB0aGUgaW5pdGlhbCBzaXplIGV4Y2VlZCBtYXggaGVpZ2h0XHJcbiAgICAgICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBNYXRoLm1pbihwb3RlbnRpYWxIZWlnaHQsIG1heEhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBNYXRoLm1heChwb3RlbnRpYWxIZWlnaHQsIG1pbkhlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGB7MH1weGAuZm9ybWF0KHBvdGVudGlhbEhlaWdodCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldEluaXRpYWxIb3N0Q2xhc3NlcygpIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFtcclxuICAgICAgICAgICAgJ3NtZS1hcnJhbmdlLXN0YWNrLXYnXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUlkQmFnKCk6IE1zZnRTbWUuU3RyaW5nTWFwPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGRldGFpbHNTcGFuOiAnJ1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiAjZXhwYW5kZXJcclxuICBjbGFzcz1cInNtZS1idXR0b24gc21lLWJ1dHRvbi10cmlnZ2VyIHNtZS1idXR0b24tYXV0by13aWR0aCBzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1wYWRkaW5nLXNxdWlzaC12LW1kIHNtZS1wYWRkaW5nLWhvcml6b250YWwtbGcgc21lLXBvc2l0aW9uLXN0cmV0Y2gtaCBzbWUtcG9zaXRpb24tbGVmdC1pbmxpbmUgc21lLWFycmFuZ2Utc3RhY2staCBzbWUtZm9jdXMtem9uZVwiXHJcbiAgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIChjbGljayk9XCJ0b2dnbGVFeHBhbnNpb24oKVwiIFtzdHlsZS5taW4taGVpZ2h0XT1cIm1pbkV4cGFuZGVySGVpZ2h0XCJcclxuICBbdGl0bGVdPVwiaXNFeHBhbmRlZCA/IHN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuQ29tbW9uLmNvbGxhcHNlIDogc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Db21tb24uZXhwYW5kXCJcclxuICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiEhaXNFeHBhbmRlZFwiIFthdHRyLmFyaWEtZGVzY3JpYmVkQnldPVwiaWRCYWcuZGV0YWlsc1NwYW5cIj5cclxuICA8aDMgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1hdXRvIHNtZS1hcnJhbmdlLWVsbGlwc2lzXCI+e3toZWFkZXJ9fTwvaDM+XHJcbiAgPHNwYW4gKm5nSWY9XCIhY2hldnJvbkludmVydGVkXCIgY2xhc3M9XCJzbWUtaWNvbiBzbWUtcG9zaXRpb24tZmxleC1ub25lXCJcclxuICAgIFtuZ0NsYXNzXT1cInsnc21lLWljb24tY2hldnJvblVwTWVkJzogIWlzRXhwYW5kZWQsICdzbWUtaWNvbi1jaGV2cm9uRG93bk1lZCc6IGlzRXhwYW5kZWR9XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxyXG4gIDxzcGFuICpuZ0lmPVwiY2hldnJvbkludmVydGVkXCIgY2xhc3M9XCJzbWUtaWNvbiBzbWUtcG9zaXRpb24tZmxleC1ub25lXCJcclxuICAgIFtuZ0NsYXNzXT1cInsnc21lLWljb24tY2hldnJvblVwTWVkJzogaXNFeHBhbmRlZCwgJ3NtZS1pY29uLWNoZXZyb25Eb3duTWVkJzogIWlzRXhwYW5kZWR9XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxyXG4gIDxkaXYgY2xhc3M9XCJzbWUtc2NyZWVuLXJlYWRlclwiIFtpZF09XCJpZEJhZy5kZXRhaWxzU3BhblwiPiB7eyByZXNvdXJjZVN0cmluZ3MuQXJpYURlc2NyaXB0aW9uIH19PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LWF1dG8gc21lLWxheW91dC1yZWxhdGl2ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzbWUtbGF5b3V0LWFic29sdXRlIHNtZS1wb3NpdGlvbi1pbnNldC1ub25lIHNtZS1wYWRkaW5nLWJvdHRvbS1zbSBzbWUtYXJyYW5nZS1vdmVyZmxvdy1hdXRvXCJcclxuICAgIFtjbGFzcy5zbWUtbGF5b3V0LW5vbmVdPVwiIWlzRXhwYW5kZWRcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -128,4 +128,4 @@ export class BaseDialogComponent {
|
|
|
128
128
|
type: ViewChild,
|
|
129
129
|
args: ['dialog']
|
|
130
130
|
}] }); })();
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvZGlhbG9nL2Jhc2UtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQXFCLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQWdCcEU7O0dBRUc7QUFFSCxtREFBbUQ7QUFDbkQsTUFBTSxPQUFPLG1CQUFtQjtJQTBCNUI7O09BRUc7SUFDSCxZQUFzQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXBCbEQ7OztXQUdHO1FBQ0ksYUFBUSxHQUFHLEtBQUssQ0FBQztRQVdoQixrQkFBYSxHQUFHLENBQUMsQ0FBQztJQU0xQixDQUFDO0lBYkQsSUFBWSxLQUFLLENBQUMsS0FBYTtRQUMzQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBVUQ7O09BRUc7SUFDSSxRQUFRO1FBQ1gsV0FBVztJQUNmLENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWU7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7U0FDMUU7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztTQUN0RTtRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUVoQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbkUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNJLFdBQVc7UUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGNBQWMsQ0FBQyxNQUF5QjtRQUMzQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksSUFBSSxDQUFDLE9BQWlCO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLElBQUksQ0FBQyxNQUFnQjtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBbUI7UUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDckM7SUFDTCxDQUFDOzt5R0E5SFEsbUJBQW1COzJFQUFuQixtQkFBbUI7Ozs7Ozt1RkFBbkIsbUJBQW1CO2NBRi9CLFNBQVM7Z0VBSUMsRUFBRTtrQkFEUixLQUFLO1lBSUMsTUFBTTtrQkFEWixTQUFTO21CQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEaWFsb2dDbG9zZVJlYXNvbiwgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlhbG9nQ2hhbmdlRXZlbnQsIERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2RpYWxvZy5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgZGVmYXVsdCBkaWFsb2cgb3B0aW9ucy5cclxuICovXHJcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1lbXB0eS1pbnRlcmZhY2VcclxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dPcHRpb25zIHtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRoZSBkZWZhdWx0IGRpYWxvZyByZXN1bHQuXHJcbiAqL1xyXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tZW1wdHktaW50ZXJmYWNlXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nUmVzdWx0IHtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRoZSBiYXNlIGRpYWxvZyBjb21wb25lbnQgZm9yIGV4dGVuZGluZy5cclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcclxuZXhwb3J0IGNsYXNzIEJhc2VEaWFsb2dDb21wb25lbnQ8VE9wdGlvbnMgZXh0ZW5kcyBEaWFsb2dPcHRpb25zLCBUUmVzdWx0IGV4dGVuZHMgRGlhbG9nUmVzdWx0PiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaWQ6IHN0cmluZztcclxuXHJcbiAgICBAVmlld0NoaWxkKCdkaWFsb2cnKVxyXG4gICAgcHVibGljIGRpYWxvZzogRGlhbG9nQ29tcG9uZW50O1xyXG5cclxuICAgIHB1YmxpYyBkaWFsb2dSZXN1bHQ6IFN1YmplY3Q8VFJlc3VsdD47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBLZWVwcyB0aGUgZGlhbG9nIG9wZW4gd2hlbiBhbm90aGVyIGRpYWxvZyBwb3BzIHVwXHJcbiAgICAgKiBieSBkZWZhdWx0IHRoZSBkaWFsb2cgd2lsbCBiZSBjbG9zZWQgaWYgYW5vdGhlciBkaWFsb2cgb3BlbnMgd2hpbGUgdGhpcyBkaWFsb2cgaXMgdmlzaWJsZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMga2VlcE9wZW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIGNsb3NlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgcHJpdmF0ZSBzZXQgbGV2ZWwodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh0aGlzLmRpYWxvZykge1xyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZy5kaWFsb2dMZXZlbCA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmludGVybmFsTGV2ZWwgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGludGVybmFsTGV2ZWwgPSAxO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIEJhc2VEaWFsb2dDb21wb25lbnQgY2xhc3MuXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWV0aG9kIHRvIHJ1biB3aGVuIHRoZSBjb21wb25lbnQgaW5pdGlhbGl6ZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICAvKiBlbXB0eSAqL1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1ldGhvZCB0byBydW4gYWZ0ZXIgdGhlIGNvbXBvbmVudCB2aWV3IGluaXRpYWxpemVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpYWxvZykge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Jhc2VEaWFsb2dDb21wb25lbnQubmdPbkluaXQ6IERpYWxvZyBpcyBub3QgZGVmaW5lZCcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmlkKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQmFzZURpYWxvZ0NvbXBvbmVudC5uZ09uSW5pdDogSUQgaXMgbm90IGRlZmluZWQnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubGV2ZWwgPSB0aGlzLmludGVybmFsTGV2ZWw7XHJcblxyXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5yZWdpc3Rlcih0aGlzLmlkLCB0aGlzKTtcclxuICAgICAgICB0aGlzLmNsb3NlU3Vic2NyaXB0aW9uID0gdGhpcy5kaWFsb2cuY2xvc2VSZXF1ZXN0ZWQuc3Vic2NyaWJlKHJlYXNvbiA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2VSZXF1ZXN0ZWQocmVhc29uKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtZXRob2QgdG8gcnVuIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UudW5yZWdpc3Rlcih0aGlzLmlkKTtcclxuICAgICAgICB0aGlzLmNsb3NlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBoYW5kbGVyIGZvciB3aGVuIGEgY2xvc2UgaXMgcmVxdWVzdGVkXHJcbiAgICAgKiBieSBkZWZhdWx0IHRoaXMgY2xvc2VzIHRoZSBkaWFsb2cgd2l0aCBubyByZXN1bHQuXHJcbiAgICAgKiBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIHRvIHByZXZlbnQgdGhpcyBiZWhhdmlvclxyXG4gICAgICogQHBhcmFtIHJlYXNvbiAtIHJlYXNvbiBmb3IgdGhlIGNsb3NlIGZvbGxvd2luZyBEaWFsb2dDbG9zZVJlYXNvblxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xvc2VSZXF1ZXN0ZWQocmVhc29uOiBEaWFsb2dDbG9zZVJlYXNvbikge1xyXG4gICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvd3MgdGhlIGRpYWxvZy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIGRpYWxvZy5cclxuICAgICAqIEByZXR1cm4gVGhlIGRpYWxvZyByZXN1bHQgc3ViamVjdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHNob3cob3B0aW9uczogVE9wdGlvbnMpOiBTdWJqZWN0PFRSZXN1bHQ+IHtcclxuICAgICAgICB0aGlzLmRpYWxvZy5zaG93KCk7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZXN1bHQgPSBuZXcgU3ViamVjdDxUUmVzdWx0PigpO1xyXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5lbWl0RGlhbG9nQ2hhbmdlRXZlbnQodGhpcy5pZCwgRGlhbG9nQ2hhbmdlRXZlbnQuU2hvdyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlhbG9nUmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgbGV2ZWwgb2YgdGhlIGRpYWxvZ3NvIGl0IG92ZXJsYXlzIG9uIHRvcCBvZiBhbnl0aGluZyBlbHNlXHJcbiAgICAgKiBUaGlzIGlzIHNldCBieSB0aGUgZGlhbG9nIHNlcnZpY2Ugd2hlbiBhIGRpYWxvZyBvcGVucyBhbm90aGVyIGRpYWxvZ1xyXG4gICAgICogQHBhcmFtIGxldmVsIFRoZSBsZXZlbCBvZiB0aGUgZGlhbG9nIHNvIGl0IHNob3dzIHVwIG9uIHRvcCBvZiBvdGhlciBpdGVtcy4gdGhpcyBzaG91bGQgYmUgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldExldmVsKGxldmVsOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLmxldmVsID0gbGV2ZWw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiByZWZvY3VzZXMgdGhlIGtleWJvYXJkIG9uIHRoZSBkaWFsb2dcclxuICAgICAqL1xyXG4gICAgcHVibGljIGF1dG9Gb2N1cygpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZy5hdXRvRm9jdXMoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhpZGVzIHRoZSBkaWFsb2cuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHJlc3VsdCBUaGUgcmVzdWx0IG9mIHRoZSBkaWFsb2cgYWN0aW9uLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaGlkZShyZXN1bHQ/OiBUUmVzdWx0KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaWFsb2cuaGlkZSgpO1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVzdWx0Lm5leHQocmVzdWx0KTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1Jlc3VsdC5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5yZXN1bWVGb2N1cyh0aGlzLmlkKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuZW1pdERpYWxvZ0NoYW5nZUV2ZW50KHRoaXMuaWQsIERpYWxvZ0NoYW5nZUV2ZW50LkhpZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGFuZGxlcyBjbGlja2luZyBvbiBiYWNrZ3JvdW5kXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkJhY2tncm91bmRDbGlja2VkKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmRpYWxvZy5jbGlja0JhY2tkcm9wKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nLm9uQmFja2dyb3VuZENsaWNrZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
package/angular/esm2015/src/controls/dialog/confirmation-dialog/confirmation-dialog.component.js
CHANGED
|
@@ -8,47 +8,36 @@ import * as i1 from "../dialog.service";
|
|
|
8
8
|
import * as i2 from "../dialog.component";
|
|
9
9
|
import * as i3 from "@angular/forms";
|
|
10
10
|
import * as i4 from "@angular/common";
|
|
11
|
-
import * as i5 from "../../form/
|
|
11
|
+
import * as i5 from "../../form/form-field/form-field-accessor.directive";
|
|
12
|
+
import * as i6 from "../../form/form-field/form-field-validator.directive";
|
|
13
|
+
import * as i7 from "../../form/form-field/checkbox/checkbox-form-field.component";
|
|
14
|
+
import * as i8 from "../../form/validation-alert/validation-alert.component";
|
|
12
15
|
function ConfirmationDialogComponent_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
13
16
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
14
17
|
i0.ɵɵelementStart(0, "div", 10);
|
|
15
|
-
i0.ɵɵelementStart(1, "
|
|
16
|
-
i0.ɵɵ
|
|
17
|
-
i0.ɵɵlistener("ngModelChange", function ConfirmationDialogComponent_div_9_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return ctx_r4.checked = $event; });
|
|
18
|
-
i0.ɵɵelementEnd();
|
|
19
|
-
i0.ɵɵelementStart(3, "span");
|
|
20
|
-
i0.ɵɵtext(4);
|
|
21
|
-
i0.ɵɵelementEnd();
|
|
18
|
+
i0.ɵɵelementStart(1, "sme-form-field", 11);
|
|
19
|
+
i0.ɵɵlistener("ngModelChange", function ConfirmationDialogComponent_div_9_Template_sme_form_field_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return ctx_r4.checked = $event; });
|
|
22
20
|
i0.ɵɵelementEnd();
|
|
23
21
|
i0.ɵɵelementEnd();
|
|
24
22
|
} if (rf & 2) {
|
|
25
23
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
26
|
-
i0.ɵɵadvance(
|
|
27
|
-
i0.ɵɵproperty("ngModel", ctx_r1.checked);
|
|
28
|
-
i0.ɵɵadvance(2);
|
|
29
|
-
i0.ɵɵtextInterpolate(ctx_r1.checkboxText);
|
|
24
|
+
i0.ɵɵadvance(1);
|
|
25
|
+
i0.ɵɵproperty("ngModel", ctx_r1.checked)("label", ctx_r1.checkboxText);
|
|
30
26
|
} }
|
|
31
27
|
function ConfirmationDialogComponent_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
32
28
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
33
|
-
i0.ɵɵelementStart(0, "div",
|
|
34
|
-
i0.ɵɵelementStart(1, "
|
|
35
|
-
i0.ɵɵ
|
|
36
|
-
i0.ɵɵlistener("ngModelChange", function ConfirmationDialogComponent_div_10_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return ctx_r6.doubleChecked = $event; });
|
|
37
|
-
i0.ɵɵelementEnd();
|
|
38
|
-
i0.ɵɵelementStart(3, "span");
|
|
39
|
-
i0.ɵɵtext(4);
|
|
40
|
-
i0.ɵɵelementEnd();
|
|
29
|
+
i0.ɵɵelementStart(0, "div", 12);
|
|
30
|
+
i0.ɵɵelementStart(1, "sme-form-field", 13);
|
|
31
|
+
i0.ɵɵlistener("ngModelChange", function ConfirmationDialogComponent_div_10_Template_sme_form_field_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return ctx_r6.doubleChecked = $event; });
|
|
41
32
|
i0.ɵɵelementEnd();
|
|
42
33
|
i0.ɵɵelementEnd();
|
|
43
34
|
} if (rf & 2) {
|
|
44
35
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
45
|
-
i0.ɵɵadvance(
|
|
46
|
-
i0.ɵɵproperty("ngModel", ctx_r2.doubleChecked);
|
|
47
|
-
i0.ɵɵadvance(2);
|
|
48
|
-
i0.ɵɵtextInterpolate(ctx_r2.doubleCheckText);
|
|
36
|
+
i0.ɵɵadvance(1);
|
|
37
|
+
i0.ɵɵproperty("ngModel", ctx_r2.doubleChecked)("label", ctx_r2.doubleCheckText);
|
|
49
38
|
} }
|
|
50
39
|
function ConfirmationDialogComponent_sme_alert_11_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
-
i0.ɵɵelement(0, "sme-alert",
|
|
40
|
+
i0.ɵɵelement(0, "sme-alert", 14);
|
|
52
41
|
} if (rf & 2) {
|
|
53
42
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
54
43
|
i0.ɵɵproperty("alert", ctx_r3.alert);
|
|
@@ -63,6 +52,7 @@ export class ConfirmationDialogComponent extends BaseDialogComponent {
|
|
|
63
52
|
*/
|
|
64
53
|
constructor(dialogService) {
|
|
65
54
|
super(dialogService);
|
|
55
|
+
this.keepOpen = true;
|
|
66
56
|
}
|
|
67
57
|
/**
|
|
68
58
|
* handler for when a close is requested
|
|
@@ -123,7 +113,7 @@ export class ConfirmationDialogComponent extends BaseDialogComponent {
|
|
|
123
113
|
}
|
|
124
114
|
}
|
|
125
115
|
/** @nocollapse */ ConfirmationDialogComponent.ɵfac = function ConfirmationDialogComponent_Factory(t) { return new (t || ConfirmationDialogComponent)(i0.ɵɵdirectiveInject(i1.DialogService)); };
|
|
126
|
-
/** @nocollapse */ ConfirmationDialogComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ConfirmationDialogComponent, selectors: [["sme-confirmation-dialog"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 17, vars: 13, consts: [["dialogMode", "centered", 3, "clickBackdrop"], ["dialog", ""], ["id", "sme-dialog-title"], ["id", "sme-confirmation-dialog-form"], ["id", "sme-dialog-desc"], ["class", "sme-
|
|
116
|
+
/** @nocollapse */ ConfirmationDialogComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ConfirmationDialogComponent, selectors: [["sme-confirmation-dialog"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 17, vars: 13, consts: [["dialogMode", "centered", 3, "clickBackdrop"], ["dialog", ""], ["id", "sme-dialog-title"], ["id", "sme-confirmation-dialog-form"], ["id", "sme-dialog-desc"], ["class", "sme-margin-top-sm", 4, "ngIf"], ["class", "sme-margin-top-xs", 4, "ngIf"], ["class", "sme-margin-vertical-sm", 3, "alert", 4, "ngIf"], ["type", "submit", "form", "sme-confirmation-dialog-form", "data-uta-id", "dialog-confirm-button", 1, "sme-button-primary", "sme-focus-zone", 3, "disabled", "click"], ["type", "button", "data-uta-id", "dialog-cancel-button", 1, "sme-focus-zone", 3, "click"], [1, "sme-margin-top-sm"], ["type", "checkbox", "name", "checked", 3, "ngModel", "label", "ngModelChange"], [1, "sme-margin-top-xs"], ["type", "checkbox", "name", "doubleChecked", 3, "ngModel", "label", "ngModelChange"], [1, "sme-margin-vertical-sm", 3, "alert"]], template: function ConfirmationDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
127
117
|
i0.ɵɵelementStart(0, "sme-dialog", 0, 1);
|
|
128
118
|
i0.ɵɵelementStart(2, "sme-dialog-header");
|
|
129
119
|
i0.ɵɵelementStart(3, "h2", 2);
|
|
@@ -135,8 +125,8 @@ export class ConfirmationDialogComponent extends BaseDialogComponent {
|
|
|
135
125
|
i0.ɵɵelementStart(7, "p", 4);
|
|
136
126
|
i0.ɵɵtext(8);
|
|
137
127
|
i0.ɵɵelementEnd();
|
|
138
|
-
i0.ɵɵtemplate(9, ConfirmationDialogComponent_div_9_Template,
|
|
139
|
-
i0.ɵɵtemplate(10, ConfirmationDialogComponent_div_10_Template,
|
|
128
|
+
i0.ɵɵtemplate(9, ConfirmationDialogComponent_div_9_Template, 2, 2, "div", 5);
|
|
129
|
+
i0.ɵɵtemplate(10, ConfirmationDialogComponent_div_10_Template, 2, 2, "div", 6);
|
|
140
130
|
i0.ɵɵtemplate(11, ConfirmationDialogComponent_sme_alert_11_Template, 1, 1, "sme-alert", 7);
|
|
141
131
|
i0.ɵɵelementEnd();
|
|
142
132
|
i0.ɵɵelementEnd();
|
|
@@ -170,7 +160,7 @@ export class ConfirmationDialogComponent extends BaseDialogComponent {
|
|
|
170
160
|
i0.ɵɵtextInterpolate(ctx.confirmButtonText);
|
|
171
161
|
i0.ɵɵadvance(2);
|
|
172
162
|
i0.ɵɵtextInterpolate(ctx.cancelButtonText);
|
|
173
|
-
} }, directives: [i2.DialogComponent, i2.DialogHeaderComponent, i2.DialogContentComponent, i3.ɵangular_packages_forms_forms_ba, i3.NgControlStatusGroup, i3.NgForm, i4.NgIf, i2.DialogFooterComponent,
|
|
163
|
+
} }, directives: [i2.DialogComponent, i2.DialogHeaderComponent, i2.DialogContentComponent, i3.ɵangular_packages_forms_forms_ba, i3.NgControlStatusGroup, i3.NgForm, i4.NgIf, i2.DialogFooterComponent, i5.FormFieldAccessorDirective, i6.FormFieldValidatorDirective, i7.CheckboxFormFieldComponent, i3.NgControlStatus, i3.NgModel, i8.ValidationAlertComponent], encapsulation: 2 });
|
|
174
164
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfirmationDialogComponent, [{
|
|
175
165
|
type: Component,
|
|
176
166
|
args: [{
|
|
@@ -178,4 +168,4 @@ export class ConfirmationDialogComponent extends BaseDialogComponent {
|
|
|
178
168
|
templateUrl: './confirmation-dialog.component.html'
|
|
179
169
|
}]
|
|
180
170
|
}], function () { return [{ type: i1.DialogService }]; }, null); })();
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2RpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQVksZ0JBQWdCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUVsSCxPQUFPLEVBQW1CLHVCQUF1QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBK0IsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7OztJQ0M1QywrQkFBaUU7SUFDL0QsaUNBQTZCO0lBQzNCLGlDQUE4RDtJQUF4Qix3TkFBcUI7SUFBM0QsaUJBQThEO0lBQzlELDRCQUFNO0lBQUEsWUFBZ0I7SUFBQSxpQkFBTztJQUMvQixpQkFBUTtJQUNWLGlCQUFNOzs7SUFIb0MsZUFBcUI7SUFBckIsd0NBQXFCO0lBQ3JELGVBQWdCO0lBQWhCLHlDQUFnQjs7OztJQUcxQiwrQkFBb0U7SUFDbEUsaUNBQTZCO0lBQzNCLGlDQUEwRTtJQUE5QiwrTkFBMkI7SUFBdkUsaUJBQTBFO0lBQzFFLDRCQUFNO0lBQUEsWUFBbUI7SUFBQSxpQkFBTztJQUNsQyxpQkFBUTtJQUNWLGlCQUFNOzs7SUFIMEMsZUFBMkI7SUFBM0IsOENBQTJCO0lBQ2pFLGVBQW1CO0lBQW5CLDRD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YUFBc0I7UUFBQSxpQkFBUztRQUM1RSxpQkFBb0I7UUFDdEIsaUJBQWE7O1FBM0I2QixxQ0FBdUI7UUFFbkMsZUFBVztRQUFYLCtCQUFXO1FBSVgsZUFBYTtRQUFiLGlDQUFhO1FBQ1EsZUFBa0I7UUFBbEIsdUNBQWtCO1FBTWxCLGVBQXFCO1FBQXJCLDBDQUFxQjtRQU10RCxlQUFXO1FBQVgsZ0NBQVc7UUFJaUMsZUFBd0M7UUFBeEMscURBQXdDLHFDQUFBO1FBQ2hHLG9FQUE4QztRQUF1QixlQUF1QjtRQUF2QiwyQ0FBdUI7UUFDbkQsZUFBc0I7UUFBdEIsMENBQXNCOzt1RkR1RHhELDJCQUEyQjtjQUp2QyxTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsV0FBVyxFQUFFLHNDQUFzQzthQUN0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBScGNBbGVydCwgUnBjQWxlcnRTZXZlcml0eSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvcnBjL2RpYWxvZy9ycGMtZGlhbG9nLW1vZGVsJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uQWxlcnQsIFZhbGlkYXRpb25BbGVydFNldmVyaXR5IH0gZnJvbSAnLi4vLi4vZm9ybSc7XHJcbmltcG9ydCB7IEJhc2VEaWFsb2dDb21wb25lbnQsIERpYWxvZ09wdGlvbnMsIERpYWxvZ1Jlc3VsdCB9IGZyb20gJy4uL2Jhc2UtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERpYWxvZ0Nsb3NlUmVhc29uIH0gZnJvbSAnLi4vZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9kaWFsb2cuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogVGhlIGNvbmZpcm1hdGlvbiBkaWFsb2cgb3B0aW9ucy5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybWF0aW9uRGlhbG9nT3B0aW9ucyBleHRlbmRzIERpYWxvZ09wdGlvbnMge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGV4dCBmb3IgdGhlIGRpYWxvZyBjYW5jZWwgYnV0dG9uLlxyXG4gICAgICovXHJcbiAgICBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGV4dCBmb3IgdGhlIGRpYWxvZyBjaGVja2JveC5cclxuICAgICAqL1xyXG4gICAgY2hlY2tib3hUZXh0Pzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHRleHQgZm9yIHRoZSBkb3VibGVDaGVjayBjaGVja2JveFxyXG4gICAgICovXHJcbiAgICBkb3VibGVDaGVja1RleHQ/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGV4dCBmb3IgdGhlIGRpYWxvZyBjb25maXJtIGJ1dHRvbi5cclxuICAgICAqL1xyXG4gICAgY29uZmlybUJ1dHRvblRleHQ6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtZXNzYWdlIG9mIHRoZSBkaWFsb2cgYm9keS5cclxuICAgICAqL1xyXG4gICAgbWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHRpdGxlIG9mIHRoZSBkaWFsb2cuXHJcbiAgICAgKi9cclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIElmIHRoZSBkaWFsb2cgaXMgb3BlbmVkIGZyb20gUnBjXHJcbiAgICAgKi9cclxuICAgIGlzRnJvbVJwYz86IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgYWxlcnQgb2YgdGhlIGRpYWxvZy5cclxuICAgICAqL1xyXG4gICAgYWxlcnQ/OiBScGNBbGVydDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldCBhbiBScGNBbGVydFNldmVyaXR5IHZhbHVlIHRvIHNob3cgYSBjcml0aWNhbCBvciB3YXJuaW5nIGJ1dHRvbiBjb2xvci5cclxuICAgICAqL1xyXG4gICAgYWxlcnRCdXR0b25TdHlsZT86IFJwY0FsZXJ0U2V2ZXJpdHk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGUgY29uZmlybWF0aW9uIGRpYWxvZyByZXN1bHQuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1hdGlvbkRpYWxvZ1Jlc3VsdCBleHRlbmRzIERpYWxvZ1Jlc3VsdCB7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSByZXN1bHQgb2YgdGhlIGRpYWxvZyBjb25maXJtYXRpb24uXHJcbiAgICAgKi9cclxuICAgIGNvbmZpcm1lZDogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSByZXN1bHQgb2YgdGhlIGRpYWxvZyBjaGVja2JveC5cclxuICAgICAqL1xyXG4gICAgY2hlY2tib3hSZXN1bHQ/OiBib29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuICogVGhlIENvbmZpcm1hdGlvbiBEaWFsb2cgQ29tcG9uZW50XHJcbiAqIEBkZXByZWNhdGVkIHNpbmNlIDAyLzIwLzE4LiBQbGVhc2UgdXNlIEFwcENvbnRleHRTZXJ2aWNlLmZyYW1lLnNob3dEaWFsb2dDb25maXJtYXRpb24gaW5zdGVhZFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS1jb25maXJtYXRpb24tZGlhbG9nJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgQmFzZURpYWxvZ0NvbXBvbmVudDxDb25maXJtYXRpb25EaWFsb2dPcHRpb25zLCBDb25maXJtYXRpb25EaWFsb2dSZXN1bHQ+IHtcclxuXHJcbiAgICBwdWJsaWMgYWxlcnRCdXR0b25TdHlsZTogUnBjQWxlcnRTZXZlcml0eTtcclxuICAgIHB1YmxpYyBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgY2hlY2tib3hUZXh0OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZG91YmxlQ2hlY2tUZXh0OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgY2hlY2tlZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nO1xyXG4gICAgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcclxuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xyXG4gICAgcHVibGljIGFsZXJ0OiBWYWxpZGF0aW9uQWxlcnQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAgZmFsc2UgdmFsdWUgZGlzYWJsZXMgY29uZmlybSBidXR0b25cclxuICAgICAqL1xyXG4gICAgcHVibGljIGRvdWJsZUNoZWNrZWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbml0aWFsaXplcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IGNsYXNzLlxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoZGlhbG9nU2VydmljZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBoYW5kbGVyIGZvciB3aGVuIGEgY2xvc2UgaXMgcmVxdWVzdGVkXHJcbiAgICAgKiB0aGlzIG92ZXJyaWRlIGNhbmNlbHMgdGhlIGNvbmZpcm1hdGlvbiB3aGVuIHJlcXVlc3RlZCB0byBjbG9zZVxyXG4gICAgICogQHBhcmFtIHJlYXNvbiAtIHJlYXNvbiBmb3IgdGhlIGNsb3NlIGZvbGxvd2luZyBEaWFsb2dDbG9zZVJlYXNvblxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xvc2VSZXF1ZXN0ZWQocmVhc29uOiBEaWFsb2dDbG9zZVJlYXNvbikge1xyXG4gICAgICAgIHRoaXMub25DYW5jZWwoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3dzIHRoZSBkaWFsb2cuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSBkaWFsb2cuXHJcbiAgICAgKiBAcmV0dXJuIFRoZSBkaWFsb2cgcmVzdWx0IHN1YmplY3QuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzaG93KG9wdGlvbnM6IENvbmZpcm1hdGlvbkRpYWxvZ09wdGlvbnMpOiBTdWJqZWN0PENvbmZpcm1hdGlvbkRpYWxvZ1Jlc3VsdD4ge1xyXG4gICAgICAgIGlmICghb3B0aW9ucykge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudC5zaG93OiBPcHRpb25zIGFyZSByZXF1aXJlZCB0byBzaG93IHRoZSBkaWFsb2cuJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCByZXN1bHQgPSBzdXBlci5zaG93KG9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMuY2FuY2VsQnV0dG9uVGV4dCA9IG9wdGlvbnMuY2FuY2VsQnV0dG9uVGV4dDtcclxuICAgICAgICB0aGlzLmNoZWNrYm94VGV4dCA9IG9wdGlvbnMuY2hlY2tib3hUZXh0O1xyXG4gICAgICAgIHRoaXMuZG91YmxlQ2hlY2tUZXh0ID0gb3B0aW9ucy5kb3VibGVDaGVja1RleHQ7XHJcbiAgICAgICAgdGhpcy5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kb3VibGVDaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jb25maXJtQnV0dG9uVGV4dCA9IG9wdGlvbnMuY29uZmlybUJ1dHRvblRleHQ7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gb3B0aW9ucy5tZXNzYWdlO1xyXG4gICAgICAgIHRoaXMudGl0bGUgPSBvcHRpb25zLnRpdGxlO1xyXG4gICAgICAgIHRoaXMuYWxlcnQgPSBvcHRpb25zLmFsZXJ0ID8ge1xyXG4gICAgICAgICAgICBtZXNzYWdlOiBvcHRpb25zLmFsZXJ0Lm1lc3NhZ2UsXHJcbiAgICAgICAgICAgIHNldmVyaXR5OiBWYWxpZGF0aW9uQWxlcnRTZXZlcml0eVtvcHRpb25zLmFsZXJ0LnNldmVyaXR5LnRvU3RyaW5nKCldXHJcbiAgICAgICAgfSA6IG51bGw7XHJcbiAgICAgICAgdGhpcy5hbGVydEJ1dHRvblN0eWxlID0gb3B0aW9ucy5hbGVydEJ1dHRvblN0eWxlO1xyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNDcml0aWNhbCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGVydEJ1dHRvblN0eWxlID09PSBScGNBbGVydFNldmVyaXR5LkVycm9yO1xyXG4gICAgfVxyXG4gICAgcHVibGljIGdldCBpc1dhcm5pbmcoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxlcnRCdXR0b25TdHlsZSA9PT0gUnBjQWxlcnRTZXZlcml0eS5XYXJuaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1ldGhvZCB0byBjYWxsIHdoZW4gdGhlIGNvbmZpcm0gYnV0dG9uIGlzIGNsaWNrZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkNvbmZpcm0oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5oaWRlKHtcclxuICAgICAgICAgICAgY29uZmlybWVkOiB0cnVlLFxyXG4gICAgICAgICAgICBjaGVja2JveFJlc3VsdDogKHRoaXMuY2hlY2tib3hUZXh0KSA/IHRoaXMuY2hlY2tlZCA6IG51bGxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtZXRob2QgdG8gY2FsbCB3aGVuIHRoZSBjYW5jZWwgYnV0dG9uIGlzIGNsaWNrZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkNhbmNlbCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhpZGUoe1xyXG4gICAgICAgICAgICBjb25maXJtZWQ6IGZhbHNlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHNtZS1kaWFsb2cgI2RpYWxvZyBkaWFsb2dNb2RlPVwiY2VudGVyZWRcIiBbY2xpY2tCYWNrZHJvcF09J2ZhbHNlJz5cclxuICA8c21lLWRpYWxvZy1oZWFkZXI+XHJcbiAgICA8aDIgaWQ9XCJzbWUtZGlhbG9nLXRpdGxlXCI+e3sgdGl0bGUgfX08L2gyPlxyXG4gIDwvc21lLWRpYWxvZy1oZWFkZXI+XHJcbiAgPHNtZS1kaWFsb2ctY29udGVudD5cclxuICAgIDxmb3JtIGlkPVwic21lLWNvbmZpcm1hdGlvbi1kaWFsb2ctZm9ybVwiPlxyXG4gICAgICA8cCBpZD1cInNtZS1kaWFsb2ctZGVzY1wiPnt7IG1lc3NhZ2UgfX08L3A+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzbWUtY2hlY2tib3ggc21lLW1hcmdpbi10b3Atc21cIiAqbmdJZj1cImNoZWNrYm94VGV4dFwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cInNtZS1mb250LWJvZHlcIj5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBuYW1lPVwiY2hlY2tlZFwiIFsobmdNb2RlbCldPVwiY2hlY2tlZFwiIC8+XHJcbiAgICAgICAgICA8c3Bhbj57e2NoZWNrYm94VGV4dH19PC9zcGFuPlxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic21lLWNoZWNrYm94IHNtZS1tYXJnaW4tdG9wLXhzXCIgKm5nSWY9XCJkb3VibGVDaGVja1RleHRcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJzbWUtZm9udC1ib2R5XCI+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgbmFtZT1cImRvdWJsZUNoZWNrZWRcIiBbKG5nTW9kZWwpXT1cImRvdWJsZUNoZWNrZWRcIiAvPlxyXG4gICAgICAgICAgPHNwYW4+e3tkb3VibGVDaGVja1RleHR9fTwvc3Bhbj5cclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPHNtZS1hbGVydCAqbmdJZj1cImFsZXJ0XCIgY2xhc3M9XCJzbWUtbWFyZ2luLXZlcnRpY2FsLXNtXCIgW2FsZXJ0XT1cImFsZXJ0XCI+PC9zbWUtYWxlcnQ+XHJcbiAgICA8L2Zvcm0+XHJcbiAgPC9zbWUtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPHNtZS1kaWFsb2ctZm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgZm9ybT1cInNtZS1jb25maXJtYXRpb24tZGlhbG9nLWZvcm1cIiBbY2xhc3Muc21lLWJ1dHRvbi1jcml0aWNhbF09XCJpc0NyaXRpY2FsXCIgW2NsYXNzLnNtZS1idXR0b24td2FybmluZ109XCJpc1dhcm5pbmdcIiBjbGFzcz1cInNtZS1idXR0b24tcHJpbWFyeVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkb3VibGVDaGVja1RleHQgJiYgIWRvdWJsZUNoZWNrZWRcIiAoY2xpY2spPVwib25Db25maXJtKClcIj57eyBjb25maXJtQnV0dG9uVGV4dCB9fTwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj57eyBjYW5jZWxCdXR0b25UZXh0IH19PC9idXR0b24+XHJcbiAgPC9zbWUtZGlhbG9nLWZvb3Rlcj5cclxuPC9zbWUtZGlhbG9nPlxyXG4iXX0=
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2RpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQVksZ0JBQWdCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUVsSCxPQUFPLEVBQW1CLHVCQUF1QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBK0IsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7OztJQ0M1QywrQkFBb0Q7SUFDbEQsMENBQTRGO0lBQTVELGlPQUFxQjtJQUNyRCxpQkFBaUI7SUFDbkIsaUJBQU07OztJQUY0QixlQUFxQjtJQUFyQix3Q0FBcUIsOEJBQUE7Ozs7SUFHdkQsK0JBQXVEO0lBQ3JELDBDQUEyRztJQUEzRSx3T0FBMkI7SUFDM0QsaUJBQWlCO0lBQ25CLGlCQUFNOzs7SUFGNEIsZUFBMkI7SUFBM0IsOENBQTJCLGlDQUFBOzs7SUFHN0QsZ0NBQW9GOzs7SUFBNUIsb0NBQWU7O0FEeUQ3RTs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUJBQXdFO0lBaUJySDs7T0FFRztJQUNILFlBQVksYUFBNEI7UUFDcEMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JCLElB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QWxCLHVDQUFrQjtRQUlsQixlQUFxQjtRQUFyQiwwQ0FBcUI7UUFJekMsZUFBVztRQUFYLGdDQUFXO1FBSWlDLGVBQXdDO1FBQXhDLHFEQUF3QyxxQ0FBQTtRQUVoRyxvRUFBOEM7UUFBMkQsZUFBdUI7UUFBdkIsMkNBQXVCO1FBQzdCLGVBQXNCO1FBQXRCLDBDQUFzQjs7dUZEMERsSCwyQkFBMkI7Y0FKdkMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLFdBQVcsRUFBRSxzQ0FBc0M7YUFDdEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUnBjQWxlcnQsIFJwY0FsZXJ0U2V2ZXJpdHkgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL3JwYy9kaWFsb2cvcnBjLWRpYWxvZy1tb2RlbCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkFsZXJ0LCBWYWxpZGF0aW9uQWxlcnRTZXZlcml0eSB9IGZyb20gJy4uLy4uL2Zvcm0nO1xyXG5pbXBvcnQgeyBCYXNlRGlhbG9nQ29tcG9uZW50LCBEaWFsb2dPcHRpb25zLCBEaWFsb2dSZXN1bHQgfSBmcm9tICcuLi9iYXNlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dDbG9zZVJlYXNvbiB9IGZyb20gJy4uL2RpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vZGlhbG9nLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBjb25maXJtYXRpb24gZGlhbG9nIG9wdGlvbnMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1hdGlvbkRpYWxvZ09wdGlvbnMgZXh0ZW5kcyBEaWFsb2dPcHRpb25zIHtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIHRleHQgZm9yIHRoZSBkaWFsb2cgY2FuY2VsIGJ1dHRvbi5cclxuICAgICAqL1xyXG4gICAgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHRleHQgZm9yIHRoZSBkaWFsb2cgY2hlY2tib3guXHJcbiAgICAgKi9cclxuICAgIGNoZWNrYm94VGV4dD86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSB0ZXh0IGZvciB0aGUgZG91YmxlQ2hlY2sgY2hlY2tib3hcclxuICAgICAqL1xyXG4gICAgZG91YmxlQ2hlY2tUZXh0Pzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHRleHQgZm9yIHRoZSBkaWFsb2cgY29uZmlybSBidXR0b24uXHJcbiAgICAgKi9cclxuICAgIGNvbmZpcm1CdXR0b25UZXh0OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWVzc2FnZSBvZiB0aGUgZGlhbG9nIGJvZHkuXHJcbiAgICAgKi9cclxuICAgIG1lc3NhZ2U6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSB0aXRsZSBvZiB0aGUgZGlhbG9nLlxyXG4gICAgICovXHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJZiB0aGUgZGlhbG9nIGlzIG9wZW5lZCBmcm9tIFJwY1xyXG4gICAgICovXHJcbiAgICBpc0Zyb21ScGM/OiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGFsZXJ0IG9mIHRoZSBkaWFsb2cuXHJcbiAgICAgKi9cclxuICAgIGFsZXJ0PzogUnBjQWxlcnQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXQgYW4gUnBjQWxlcnRTZXZlcml0eSB2YWx1ZSB0byBzaG93IGEgY3JpdGljYWwgb3Igd2FybmluZyBidXR0b24gY29sb3IuXHJcbiAgICAgKi9cclxuICAgIGFsZXJ0QnV0dG9uU3R5bGU/OiBScGNBbGVydFNldmVyaXR5O1xyXG59XHJcblxyXG4vKipcclxuICogVGhlIGNvbmZpcm1hdGlvbiBkaWFsb2cgcmVzdWx0LlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtYXRpb25EaWFsb2dSZXN1bHQgZXh0ZW5kcyBEaWFsb2dSZXN1bHQge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgcmVzdWx0IG9mIHRoZSBkaWFsb2cgY29uZmlybWF0aW9uLlxyXG4gICAgICovXHJcbiAgICBjb25maXJtZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgcmVzdWx0IG9mIHRoZSBkaWFsb2cgY2hlY2tib3guXHJcbiAgICAgKi9cclxuICAgIGNoZWNrYm94UmVzdWx0PzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRoZSBDb25maXJtYXRpb24gRGlhbG9nIENvbXBvbmVudFxyXG4gKiBAZGVwcmVjYXRlZCBzaW5jZSAwMi8yMC8xOC4gUGxlYXNlIHVzZSBBcHBDb250ZXh0U2VydmljZS5mcmFtZS5zaG93RGlhbG9nQ29uZmlybWF0aW9uIGluc3RlYWRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtY29uZmlybWF0aW9uLWRpYWxvZycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCBleHRlbmRzIEJhc2VEaWFsb2dDb21wb25lbnQ8Q29uZmlybWF0aW9uRGlhbG9nT3B0aW9ucywgQ29uZmlybWF0aW9uRGlhbG9nUmVzdWx0PiB7XHJcblxyXG4gICAgcHVibGljIGFsZXJ0QnV0dG9uU3R5bGU6IFJwY0FsZXJ0U2V2ZXJpdHk7XHJcbiAgICBwdWJsaWMgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nO1xyXG4gICAgcHVibGljIGNoZWNrYm94VGV4dDogc3RyaW5nO1xyXG4gICAgcHVibGljIGRvdWJsZUNoZWNrVGV4dDogc3RyaW5nO1xyXG4gICAgcHVibGljIGNoZWNrZWQ6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgY29uZmlybUJ1dHRvblRleHQ6IHN0cmluZztcclxuICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZztcclxuICAgIHB1YmxpYyBhbGVydDogVmFsaWRhdGlvbkFsZXJ0O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogIGZhbHNlIHZhbHVlIGRpc2FibGVzIGNvbmZpcm0gYnV0dG9uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkb3VibGVDaGVja2VkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCBjbGFzcy5cclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKGRpYWxvZ1NlcnZpY2UpO1xyXG4gICAgICAgIHRoaXMua2VlcE9wZW4gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogaGFuZGxlciBmb3Igd2hlbiBhIGNsb3NlIGlzIHJlcXVlc3RlZFxyXG4gICAgICogdGhpcyBvdmVycmlkZSBjYW5jZWxzIHRoZSBjb25maXJtYXRpb24gd2hlbiByZXF1ZXN0ZWQgdG8gY2xvc2VcclxuICAgICAqIEBwYXJhbSByZWFzb24gLSByZWFzb24gZm9yIHRoZSBjbG9zZSBmb2xsb3dpbmcgRGlhbG9nQ2xvc2VSZWFzb25cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNsb3NlUmVxdWVzdGVkKHJlYXNvbjogRGlhbG9nQ2xvc2VSZWFzb24pIHtcclxuICAgICAgICB0aGlzLm9uQ2FuY2VsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93cyB0aGUgZGlhbG9nLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgZGlhbG9nLlxyXG4gICAgICogQHJldHVybiBUaGUgZGlhbG9nIHJlc3VsdCBzdWJqZWN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2hvdyhvcHRpb25zOiBDb25maXJtYXRpb25EaWFsb2dPcHRpb25zKTogU3ViamVjdDxDb25maXJtYXRpb25EaWFsb2dSZXN1bHQ+IHtcclxuICAgICAgICBpZiAoIW9wdGlvbnMpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQuc2hvdzogT3B0aW9ucyBhcmUgcmVxdWlyZWQgdG8gc2hvdyB0aGUgZGlhbG9nLicpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gc3VwZXIuc2hvdyhvcHRpb25zKTtcclxuICAgICAgICB0aGlzLmNhbmNlbEJ1dHRvblRleHQgPSBvcHRpb25zLmNhbmNlbEJ1dHRvblRleHQ7XHJcbiAgICAgICAgdGhpcy5jaGVja2JveFRleHQgPSBvcHRpb25zLmNoZWNrYm94VGV4dDtcclxuICAgICAgICB0aGlzLmRvdWJsZUNoZWNrVGV4dCA9IG9wdGlvbnMuZG91YmxlQ2hlY2tUZXh0O1xyXG4gICAgICAgIHRoaXMuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZG91YmxlQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY29uZmlybUJ1dHRvblRleHQgPSBvcHRpb25zLmNvbmZpcm1CdXR0b25UZXh0O1xyXG4gICAgICAgIHRoaXMubWVzc2FnZSA9IG9wdGlvbnMubWVzc2FnZTtcclxuICAgICAgICB0aGlzLnRpdGxlID0gb3B0aW9ucy50aXRsZTtcclxuICAgICAgICB0aGlzLmFsZXJ0ID0gb3B0aW9ucy5hbGVydCA/IHtcclxuICAgICAgICAgICAgbWVzc2FnZTogb3B0aW9ucy5hbGVydC5tZXNzYWdlLFxyXG4gICAgICAgICAgICBzZXZlcml0eTogVmFsaWRhdGlvbkFsZXJ0U2V2ZXJpdHlbb3B0aW9ucy5hbGVydC5zZXZlcml0eS50b1N0cmluZygpXVxyXG4gICAgICAgIH0gOiBudWxsO1xyXG4gICAgICAgIHRoaXMuYWxlcnRCdXR0b25TdHlsZSA9IG9wdGlvbnMuYWxlcnRCdXR0b25TdHlsZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzQ3JpdGljYWwoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxlcnRCdXR0b25TdHlsZSA9PT0gUnBjQWxlcnRTZXZlcml0eS5FcnJvcjtcclxuICAgIH1cclxuICAgIHB1YmxpYyBnZXQgaXNXYXJuaW5nKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFsZXJ0QnV0dG9uU3R5bGUgPT09IFJwY0FsZXJ0U2V2ZXJpdHkuV2FybmluZztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtZXRob2QgdG8gY2FsbCB3aGVuIHRoZSBjb25maXJtIGJ1dHRvbiBpcyBjbGlja2VkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25Db25maXJtKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGlkZSh7XHJcbiAgICAgICAgICAgIGNvbmZpcm1lZDogdHJ1ZSxcclxuICAgICAgICAgICAgY2hlY2tib3hSZXN1bHQ6ICh0aGlzLmNoZWNrYm94VGV4dCkgPyB0aGlzLmNoZWNrZWQgOiBudWxsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWV0aG9kIHRvIGNhbGwgd2hlbiB0aGUgY2FuY2VsIGJ1dHRvbiBpcyBjbGlja2VkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25DYW5jZWwoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5oaWRlKHtcclxuICAgICAgICAgICAgY29uZmlybWVkOiBmYWxzZVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxzbWUtZGlhbG9nICNkaWFsb2cgZGlhbG9nTW9kZT1cImNlbnRlcmVkXCIgW2NsaWNrQmFja2Ryb3BdPSdmYWxzZSc+XHJcbiAgPHNtZS1kaWFsb2ctaGVhZGVyPlxyXG4gICAgPGgyIGlkPVwic21lLWRpYWxvZy10aXRsZVwiPnt7IHRpdGxlIH19PC9oMj5cclxuICA8L3NtZS1kaWFsb2ctaGVhZGVyPlxyXG4gIDxzbWUtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8Zm9ybSBpZD1cInNtZS1jb25maXJtYXRpb24tZGlhbG9nLWZvcm1cIj5cclxuICAgICAgPHAgaWQ9XCJzbWUtZGlhbG9nLWRlc2NcIj57eyBtZXNzYWdlIH19PC9wPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic21lLW1hcmdpbi10b3Atc21cIiAqbmdJZj1cImNoZWNrYm94VGV4dFwiPlxyXG4gICAgICAgIDxzbWUtZm9ybS1maWVsZCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImNoZWNrZWRcIiBuYW1lPVwiY2hlY2tlZFwiIFtsYWJlbF09XCJjaGVja2JveFRleHRcIj5cclxuICAgICAgICA8L3NtZS1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNtZS1tYXJnaW4tdG9wLXhzXCIgKm5nSWY9XCJkb3VibGVDaGVja1RleHRcIj5cclxuICAgICAgICA8c21lLWZvcm0tZmllbGQgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJkb3VibGVDaGVja2VkXCIgbmFtZT1cImRvdWJsZUNoZWNrZWRcIiBbbGFiZWxdPVwiZG91YmxlQ2hlY2tUZXh0XCI+XHJcbiAgICAgICAgPC9zbWUtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxzbWUtYWxlcnQgKm5nSWY9XCJhbGVydFwiIGNsYXNzPVwic21lLW1hcmdpbi12ZXJ0aWNhbC1zbVwiIFthbGVydF09XCJhbGVydFwiPjwvc21lLWFsZXJ0PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvc21lLWRpYWxvZy1jb250ZW50PlxyXG4gIDxzbWUtZGlhbG9nLWZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGZvcm09XCJzbWUtY29uZmlybWF0aW9uLWRpYWxvZy1mb3JtXCIgW2NsYXNzLnNtZS1idXR0b24tY3JpdGljYWxdPVwiaXNDcml0aWNhbFwiXHJcbiAgICAgIFtjbGFzcy5zbWUtYnV0dG9uLXdhcm5pbmddPVwiaXNXYXJuaW5nXCIgY2xhc3M9XCJzbWUtYnV0dG9uLXByaW1hcnkgc21lLWZvY3VzLXpvbmVcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZG91YmxlQ2hlY2tUZXh0ICYmICFkb3VibGVDaGVja2VkXCIgKGNsaWNrKT1cIm9uQ29uZmlybSgpXCIgZGF0YS11dGEtaWQ9XCJkaWFsb2ctY29uZmlybS1idXR0b25cIj57eyBjb25maXJtQnV0dG9uVGV4dCB9fTwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cInNtZS1mb2N1cy16b25lXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkNhbmNlbCgpXCIgZGF0YS11dGEtaWQ9XCJkaWFsb2ctY2FuY2VsLWJ1dHRvblwiPnt7IGNhbmNlbEJ1dHRvblRleHQgfX08L2J1dHRvbj5cclxuICA8L3NtZS1kaWFsb2ctZm9vdGVyPlxyXG48L3NtZS1kaWFsb2c+XHJcbiJdfQ==
|
|
@@ -241,13 +241,14 @@ export class DialogService {
|
|
|
241
241
|
* @deprecated since 02/20/18. Please use 'AppContextService.frame.showDialogConfirmation' instead
|
|
242
242
|
*/
|
|
243
243
|
showConfirmation(options) {
|
|
244
|
+
let confirmationObservable;
|
|
244
245
|
// if running from shell, manually launch dialog
|
|
245
246
|
if (this.appContext.rpc.isShell) {
|
|
246
|
-
|
|
247
|
+
confirmationObservable = this.show(this.commonIds.confirmation, options);
|
|
247
248
|
}
|
|
248
249
|
else {
|
|
249
250
|
// otherwise ask the shell to do it for us.
|
|
250
|
-
|
|
251
|
+
confirmationObservable = this.appContext.frame.showDialogConfirmation({
|
|
251
252
|
cancelButtonText: options.cancelButtonText,
|
|
252
253
|
checkboxText: options.checkboxText,
|
|
253
254
|
confirmButtonText: options.confirmButtonText,
|
|
@@ -256,6 +257,9 @@ export class DialogService {
|
|
|
256
257
|
title: options.title
|
|
257
258
|
});
|
|
258
259
|
}
|
|
260
|
+
return confirmationObservable.pipe(map((response) => {
|
|
261
|
+
return response || { confirmed: false, checkboxResult: false };
|
|
262
|
+
}));
|
|
259
263
|
}
|
|
260
264
|
/**
|
|
261
265
|
* Hide a confirmation dialog.
|
|
@@ -378,4 +382,4 @@ export class DialogService {
|
|
|
378
382
|
}, {
|
|
379
383
|
type: Optional
|
|
380
384
|
}] }]; }, null); })();
|
|
381
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDeEgsT0FBTyxFQUFFLEtBQUssRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUt0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBR3ZELE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIseURBQUksQ0FBQTtJQUNKLHlEQUFJLENBQUE7QUFDUixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QjtBQVFELE1BQU0sT0FBTyxhQUFhO0lBd0J0QixZQUFvQixVQUE2QixFQUFrQyxtQkFBbUM7UUFBbEcsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFBa0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFnQjtRQXZCL0csY0FBUyxHQUFHO1lBQ2YsTUFBTSxFQUFFLDBCQUEwQjtZQUNsQyxZQUFZLEVBQUUsZ0NBQWdDO1lBQzlDLGdCQUFnQixFQUFFLHFDQUFxQztZQUN2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O3FCQUNuQjtvQkFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ2pDO1lBRUwsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2pCO0lBQ0wsQ0FBQztJQUVNLHFCQUFxQixDQUFDLFFBQWdCLEVBQUUsV0FBOEI7UUFDekUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBYyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakcsQ0FBQzs7NkZBellRLGFBQWEsaURBd0JtRixhQUFhO3dFQXhCN0csYUFBYSxXQUFiLGFBQWE7dUZBQWIsYUFBYTtjQUR6QixVQUFVO3NFQXlCa0csYUFBYTtzQkFBbEUsUUFBUTs7c0JBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZXQgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL2RhdGEvbmV0JztcclxuaW1wb3J0IHsgRG9tIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9kb20vZG9tJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRNb2R1bGVFbnRyeVBvaW50VHlwZSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvbWFuaWZlc3QvZW52aXJvbm1lbnQtbW9kdWxlcyc7XHJcbmltcG9ydCB7IGVtcHR5LCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIG1lcmdlTWFwLCB0YWtlTGFzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3RyaW5ncyB9IGZyb20gJy4uLy4uL2dlbmVyYXRlZC9zdHJpbmdzJztcclxuaW1wb3J0IHsgQXBwQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FwcC1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlRGlhbG9nQ29tcG9uZW50LCBEaWFsb2dPcHRpb25zLCBEaWFsb2dSZXN1bHQgfSBmcm9tICcuL2Jhc2UtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENob2ljZURpYWxvZ09wdGlvbnMsIENob2ljZURpYWxvZ1Jlc3VsdCB9IGZyb20gJy4vY2hvaWNlLWRpYWxvZy9jaG9pY2UtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbkRpYWxvZ09wdGlvbnMsIENvbmZpcm1hdGlvbkRpYWxvZ1Jlc3VsdCB9IGZyb20gJy4vY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbkxpc3REaWFsb2dPcHRpb25zLCBDb25maXJtYXRpb25MaXN0RGlhbG9nUmVzdWx0IH0gZnJvbSAnLi9jb25maXJtYXRpb24tbGlzdC1kaWFsb2cvY29uZmlybWF0aW9uLWxpc3QtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERpYWxvZ0Nsb3NlUmVhc29uIH0gZnJvbSAnLi9kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVzc2FnZURpYWxvZ09wdGlvbnMgfSBmcm9tICcuL21lc3NhZ2UtZGlhbG9nL21lc3NhZ2UtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgZW51bSBEaWFsb2dDaGFuZ2VFdmVudCB7XHJcbiAgICBTaG93LFxyXG4gICAgSGlkZVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0V2ZW50IHtcclxuICAgIGRpYWxvZ0lkOiBzdHJpbmc7XHJcbiAgICBjaGFuZ2VFdmVudDogRGlhbG9nQ2hhbmdlRXZlbnQ7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xyXG4gICAgcHVibGljIGNvbW1vbklkcyA9IHtcclxuICAgICAgICBjaG9pY2U6ICdzbWUtY29tbW9uLWNob2ljZS1kaWFsb2cnLFxyXG4gICAgICAgIGNvbmZpcm1hdGlvbjogJ3NtZS1jb21tb24tY29uZmlybWF0aW9uLWRpYWxvZycsXHJcbiAgICAgICAgY29uZmlybWF0aW9uTGlzdDogJ3NtZS1jb21tb24tY29uZmlybWF0aW9uLWxpc3QtZGlhbG9nJyxcclxuICAgICAgICBtZXNzYWdlOiAnc21lLWNvbW1vbi1tZXNzYWdlLWRpYWxvZycsXHJcbiAgICAgICAgbm90aWZpY2F0aW9uc1BhbmU6ICdzbWUtY29tbW9uLW5vdGlmaWNhdGlvbnMtcGFuZScsXHJcbiAgICAgICAgc2V0dGluZ3M6ICdzbWUtY29tbW9uLXNldHRpbmdzLXBhbmUnLFxyXG4gICAgICAgIGhlbHA6ICdzbWUtY29tbW9uLWhlbHAtcGFuZScsXHJcbiAgICAgICAgdXNlclBhbmU6ICdzbWUtY29tbW9uLXVzZXItcGFuZScsXHJcbiAgICAgICAgbWFuYWdlQXM6ICdzbWUtY29tbW9uLW1hbmFnZS1hcy1kaWFsb2cnLFxyXG4gICAgICAgIHBvd2VyU2hlbGxTaG93U2NyaXB0OiAnc21lLWNvbW1vbi1wb3dlcnNoZWxsLXNob3ctc2NyaXB0JyxcclxuICAgICAgICBjcmVkU1NQQ29uZmlybWF0aW9uOiAnc21lLWNyZWRzc3AtY29uZmlybWF0aW9uLWRpYWxvZycsXHJcbiAgICAgICAgdXNlckFsaXZlOiAnc21lLXVzZXItYWxpdmUtZGlhbG9nJ1xyXG4gICAgfTtcclxuXHJcbiAgICBwdWJsaWMgYWN0aXZlRGlhbG9nc1N0YWNrOiBCYXNlRGlhbG9nQ29tcG9uZW50PERpYWxvZ09wdGlvbnMsIERpYWxvZ1Jlc3VsdD5bXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgc3RyaW5ncyA9IE1zZnRTbWUuZ2V0U3RyaW5nczxTdHJpbmdzPigpLk1zZnRTbWVTaGVsbC5Bbmd1bGFyO1xyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRNYXA6IHsgW2luZGV4OiBzdHJpbmddOiBCYXNlRGlhbG9nQ29tcG9uZW50PERpYWxvZ09wdGlvbnMsIERpYWxvZ1Jlc3VsdD4gfSA9IHt9O1xyXG4gICAgcHJpdmF0ZSBhY3RpdmVEaWFsb2dSZXN1bHQ6IE9ic2VydmFibGU8RGlhbG9nUmVzdWx0PjtcclxuICAgIHByaXZhdGUgZGlhbG9nT3JpZ2luczogeyBbaW5kZXg6IHN0cmluZ106IEhUTUxFbGVtZW50IH0gPSB7fTtcclxuICAgIHByaXZhdGUgY2hhbmdlZEV2ZW50U3ViamVjdDogUmVwbGF5U3ViamVjdDxEaWFsb2dFdmVudD47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHBDb250ZXh0OiBBcHBDb250ZXh0U2VydmljZSwgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgcHJpdmF0ZSBwYXJlbnREaWFsb2dTZXJ2aWNlPzogRGlhbG9nU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlZEV2ZW50U3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PERpYWxvZ0V2ZW50PigxKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIHN1YmplY3Qgb2Ygbm90aWZpY2F0aW9uIGNoYW5nZWQgZXZlbnQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgY2hhbmdlZCgpOiBSZXBsYXlTdWJqZWN0PERpYWxvZ0V2ZW50PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hhbmdlZEV2ZW50U3ViamVjdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGN1cnJlbnREaWFsb2dMZXZlbCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZURpYWxvZ3NTdGFjayA/IHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrLmxlbmd0aCArIHRoaXMuaUZyYW1lRGlhbG9nQ291bnQgOiB0aGlzLmlGcmFtZURpYWxvZ0NvdW50O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaUZyYW1lRGlhbG9nQ291bnQgPSAwO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVnaXN0ZXJzIHRoZSBkaWFsb2cgd2l0aCB0aGUgc2VydmljZS5cclxuICAgICAqXHJcbiAgICAgKiBUT3B0aW9ucyB0aGUgdHlwZSBvZiB0aGUgZGlhbG9nIG9wdGlvbnMuXHJcbiAgICAgKiBUUmVzdWx0IHRoZSB0eXBlIG9mIHRoZSBkaWFsb2cgcmVzdWx0cy5cclxuICAgICAqIEBwYXJhbSBpZCBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRpYWxvZy5cclxuICAgICAqIEBwYXJhbSBjb21wb25lbnQgVGhlIGRpYWxvZyBjb21wb25lbnQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWdpc3RlcjxUT3B0aW9ucyBleHRlbmRzIERpYWxvZ09wdGlvbnMsIFRSZXN1bHQgZXh0ZW5kcyBEaWFsb2dSZXN1bHQ+KFxyXG4gICAgICAgIGlkOiBzdHJpbmcsXHJcbiAgICAgICAgY29tcG9uZW50OiBCYXNlRGlhbG9nQ29tcG9uZW50PFRPcHRpb25zLCBUUmVzdWx0PlxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFpZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RpYWxvZ1NlcnZpY2UucmVnaXN0ZXI6IElEIGlzIHJlcXVpcmVkIHRvIHJlZ2lzdGVyIGEgZGlhbG9nLicpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFjb21wb25lbnQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEaWFsb2dTZXJ2aWNlLnJlZ2lzdGVyOiBBIGRpYWxvZyBpcyByZXF1aXJlZCB0byByZWdpc3RlciBhIGRpYWxvZy4nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIHJlbW92aW5nIHVudGlsIHdlIHVuZGVyc3RhbmQgY2FzZXMgd2hlcmUgYW5ndWxhciBjYW4gY2FsbCBuZ09uSW5pdCB0d2ljZS5cclxuICAgICAgICAgKiBzZWU6IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDI3MDAxMTYvYW5ndWxhcjItcm91dGluZy1pc3N1ZS1hbmQtbmdvbmluaXQtY2FsbGVkLXR3aWNlXHJcbiAgICAgICAgICogYW5kIEBtc2Z0LXNtZS9sb2NhbC11c2Vycy1ncm91cHMgZm9yIGV4YW1wbGVzXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgLy8gaWYgKHRoaXMuY29tcG9uZW50TWFwW2lkXSkge1xyXG4gICAgICAgIC8vICAgICBjb25zb2xlLndhcm4oYERpYWxvZ1NlcnZpY2UucmVnaXN0ZXI6IEEgZGlhbG9nIHdpdGggdGhlIElEIFxcJyR7aWR9XFwnIGhhcyBhbHJlYWR5IGJlZW4gcmVnaXN0ZXJlZGApO1xyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRNYXBbaWRdID0gY29tcG9uZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVW5yZWdpc3RlcnMgdGhlIGRpYWxvZyB3aXRoIHRoZSBzZXJ2aWNlLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpZCBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRpYWxvZy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHVucmVnaXN0ZXIoaWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudE1hcFtpZF0pIHtcclxuICAgICAgICAgICAgZGVsZXRlIHRoaXMuY29tcG9uZW50TWFwW2lkXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZURpYWxvZ3NTdGFjayAmJiB0aGlzLmFjdGl2ZURpYWxvZ3NTdGFjay5sZW5ndGggPiAwICYmIE1zZnRTbWUubGFzdCh0aGlzLmFjdGl2ZURpYWxvZ3NTdGFjaykuaWQgPT09IGlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrLnBvcCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkSUZyYW1lRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaUZyYW1lRGlhbG9nQ291bnQrKztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlSUZyYW1lRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaUZyYW1lRGlhbG9nQ291bnQgPSBNYXRoLm1heCh0aGlzLmlGcmFtZURpYWxvZ0NvdW50IC0gMSwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93cyB0aGUgZGlhbG9nLlxyXG4gICAgICpcclxuICAgICAqIFRPcHRpb25zIFRoZSB0eXBlIG9mIHRoZSBkaWFsb2cgb3B0aW9ucy5cclxuICAgICAqIFRSZXN1bHQgVGhlIHJlc3VsdCBvZiB0aGUgZGlhbG9nLlxyXG4gICAgICogQHBhcmFtIGlkIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZGlhbG9nLlxyXG4gICAgICogQHBhcmFtIG9wdGlvbnMgVGhlIGRpYWxvZyBvcHRpb25zLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2hvdzxUT3B0aW9ucyBleHRlbmRzIERpYWxvZ09wdGlvbnMsIFRSZXN1bHQgZXh0ZW5kcyBEaWFsb2dSZXN1bHQ+KGlkOiBzdHJpbmcsIG9wdGlvbnM6IFRPcHRpb25zKTogT2JzZXJ2YWJsZTxUUmVzdWx0PiB7XHJcbiAgICAgICAgaWYgKCFpZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RpYWxvZ1NlcnZpY2Uuc2hvdzogSUQgaXMgcmVxdWlyZWQgdG8gc2hvdyBhIGRpYWxvZy4nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jb21wb25lbnRNYXBbaWRdKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnBhcmVudERpYWxvZ1NlcnZpY2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnBhcmVudERpYWxvZ1NlcnZpY2Uuc2hvdyhpZCwgb3B0aW9ucyk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYERpYWxvZ1NlcnZpY2Uuc2hvdzogTm8gZGlhbG9nIGFzc29jaWF0ZWQgd2l0aCBwcm92aWRlZCBJRCBcXCcke2lkfVxcJy5gKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbmV3RGlhbG9nID0gdGhpcy5jb21wb25lbnRNYXBbaWRdO1xyXG4gICAgICAgIGNvbnN0IG9sZERpYWxvZyA9IE1zZnRTbWUubGFzdCh0aGlzLmFjdGl2ZURpYWxvZ3NTdGFjayk7XHJcblxyXG4gICAgICAgIC8vIGFjY2Vzc2liaWxpdHlcclxuICAgICAgICBpZiAob3B0aW9ucyAmJiAhKDxhbnk+b3B0aW9ucykuaXNGcm9tUnBjKSB7IC8vIGlmIGZyb20gUnBjIHRoZW4gZG9uJ3QgcmVzdW1lIGZvY3VzIHNpbmNlIGl0IHdpbGwgZm9jdXMgYmFjayBvbiBpZnJhbWVcclxuICAgICAgICAgICAgY29uc3Qgb3JpZ2luID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgICAgaWYgKG9yaWdpbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dPcmlnaW5zW2lkXSA9IG9yaWdpbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gZG9udCBkbyBhbnl0aGluZyB1bmxlc3Mgd2UgaGF2ZSBhIHN1YnNjcmliZXJcclxuICAgICAgICByZXR1cm4gb2Yob2xkRGlhbG9nKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1lcmdlTWFwKGl0ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjcmVhdGUgYSBwbGFjZWhvbGRlciBmb3IgdGhlIG5ldyBkaWFsb2cgcmVzdWx0XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdE9ic2VydmFibGU6IE9ic2VydmFibGU8VFJlc3VsdD47XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gcmVtZW1iZXIgaWYgdGhlcmUgd2FzIGFuIGFjdGl2ZSBkaWFsb2cgd2hlbiB3ZSBzdGFydGVkXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdBY3RpdmVEaWFsb2cgPSAhIW9sZERpYWxvZztcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhpc3RpbmdBY3RpdmVEaWFsb2cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9sZERpYWxvZy5rZWVwT3Blbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnRseSBhY3RpdmUgZGlhbG9nIHdhbnRzIHRvIHN0YXkgb3BlbiwgdGhlbiBrZWVwIGl0IG9wZW4gYW5kIHNob3cgdGhlIG5ldyBkaWFsb2cgb24gdG9wXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZURpYWxvZ3NTdGFjay5wdXNoKG5ld0RpYWxvZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlPcGVuKHRydWUsIG5ld0RpYWxvZy5pZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3ZSBzZXQgdGhlIGRpYWxvZyBsZXZlbCBhcyB0aGUgbGVuZ3RoIG9mIHRoZSBhY3RpdmUgZGlhbG9ncyBzdGFja1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3RGlhbG9nLnNldExldmVsKHRoaXMuY3VycmVudERpYWxvZ0xldmVsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlRGlhbG9nUmVzdWx0ID0gbmV3RGlhbG9nLnNob3cob3B0aW9ucylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShtYXAocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5T3BlbihmYWxzZSwgbmV3RGlhbG9nLmlkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVEaWFsb2dzU3RhY2sucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvbGREaWFsb2cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZERpYWxvZy5hdXRvRm9jdXMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRPYnNlcnZhYmxlID0gPE9ic2VydmFibGU8VFJlc3VsdD4+dGhpcy5hY3RpdmVEaWFsb2dSZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBhbiBhY3RpdmUgZGlhbG9nLCB3YWl0IGZvciBpdCB0byBjb21wbGV0ZSwgdGhlbiBzaG93IGEgdGhlIG5ldyBvbmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdE9ic2VydmFibGUgPSA8T2JzZXJ2YWJsZTxUUmVzdWx0Pj50aGlzLmFjdGl2ZURpYWxvZ1Jlc3VsdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlTGFzdCgxKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVyZ2VNYXAoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2hvdyhpZCwgb3B0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlIGlzIG5vIGFjdGl2ZSBkaWFsb2csIHRoZW4ganVzdCBzaG93IHRoZSBuZXcgb25lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrLnB1c2gobmV3RGlhbG9nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5T3Blbih0cnVlLCBuZXdEaWFsb2cuaWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdEaWFsb2cuc2V0TGV2ZWwodGhpcy5jdXJyZW50RGlhbG9nTGV2ZWwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZURpYWxvZ1Jlc3VsdCA9IG5ld0RpYWxvZy5zaG93KG9wdGlvbnMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5T3BlbihmYWxzZSwgbmV3RGlhbG9nLmlkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9sZERpYWxvZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkRGlhbG9nLmF1dG9Gb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZURpYWxvZ3NTdGFjay5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdE9ic2VydmFibGUgPSA8T2JzZXJ2YWJsZTxUUmVzdWx0Pj50aGlzLmFjdGl2ZURpYWxvZ1Jlc3VsdDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHdlIGhhZCBhbiBhY3RpdmUgZGlhbG9nLCByZXF1ZXN0IHRoZSBwcmV2aW91cyBkaWFsb2cgdG8gY2xvc2UgdW5sZXNzIGl0IHdhbnRzIHRvIHN0YXkgb3BlblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGlzdGluZ0FjdGl2ZURpYWxvZyAmJiAhb2xkRGlhbG9nLmtlZXBPcGVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9sZERpYWxvZy5jbG9zZVJlcXVlc3RlZChEaWFsb2dDbG9zZVJlYXNvbi5Db21wZXRpbmdEaWFsb2cpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWl0RGlhbG9nQ2hhbmdlRXZlbnQoaWQsIERpYWxvZ0NoYW5nZUV2ZW50LlNob3cpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRPYnNlcnZhYmxlO1xyXG4gICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvd3MgYSBtZXNzYWdlIGRpYWxvZyB3aXRoIHRoZSBnaXZlbiBvcHRpb25zXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG9wdGlvbnMgVGhlIGRpYWxvZyBvcHRpb25zLlxyXG4gICAgICogQHJldHVybnMgQSBzdWJqZWN0IHRoYXQgd2lsbCBiZSBwdWJsaXNoZWQgb25lIHRpbWUgd2l0aCB0aGUgZGlhbG9nIHJlc3VsdFxyXG4gICAgICogQGRlcHJlY2F0ZWQgc2luY2UgMDIvMjAvMTguIFBsZWFzZSB1c2UgJ0FwcENvbnRleHRTZXJ2aWNlLmZyYW1lLnNob3dEaWFsb2dNZXNzYWdlJyBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzaG93TWVzc2FnZShvcHRpb25zOiBNZXNzYWdlRGlhbG9nT3B0aW9ucyk6IE9ic2VydmFibGU8RGlhbG9nUmVzdWx0PiB7XHJcbiAgICAgICAgLy8gaWYgcnVubmluZyBmcm9tIHNoZWxsLCBtYW51YWxseSBsYXVuY2ggZGlhbG9nXHJcbiAgICAgICAgaWYgKHRoaXMuYXBwQ29udGV4dC5ycGMuaXNTaGVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zaG93KHRoaXMuY29tbW9uSWRzLm1lc3NhZ2UsIG9wdGlvbnMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIG90aGVyd2lzZSBhc2sgdGhlIHNoZWxsIHRvIGRvIGl0IGZvciB1cy5cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwQ29udGV4dC5mcmFtZS5zaG93RGlhbG9nTWVzc2FnZSh7XHJcbiAgICAgICAgICAgICAgICBidXR0b25UZXh0OiBvcHRpb25zLmJ1dHRvblRleHQsXHJcbiAgICAgICAgICAgICAgICBjaGVja2JveFRleHQ6IG9wdGlvbnMuY2hlY2tib3hUZXh0LFxyXG4gICAgICAgICAgICAgICAgZXh0ZXJuYWxMaW5rOiBvcHRpb25zLmV4dGVybmFsTGluayxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IG9wdGlvbnMubWVzc2FnZSxcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBvcHRpb25zLnRpdGxlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhpZGUgYSBtZXNzYWdlIGRpYWxvZy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGhpZGVNZXNzYWdlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGlkZSh0aGlzLmNvbW1vbklkcy5tZXNzYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3dzIGEgY2hvaWNlIGRpYWxvZyB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBvcHRpb25zIFRoZSBkaWFsb2cgb3B0aW9ucy5cclxuICAgICAqIEByZXR1cm5zIEEgc3ViamVjdCB0aGF0IHdpbGwgYmUgcHVibGlzaGVkIG9uZSB0aW1lIHdpdGggdGhlIGRpYWxvZyByZXN1bHQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzaG93Q2hvaWNlKG9wdGlvbnM6IENob2ljZURpYWxvZ09wdGlvbnMpOiBPYnNlcnZhYmxlPENob2ljZURpYWxvZ1Jlc3VsdD4ge1xyXG4gICAgICAgIGlmICh0aGlzLmFwcENvbnRleHQucnBjLmlzU2hlbGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2hvdyh0aGlzLmNvbW1vbklkcy5jaG9pY2UsIG9wdGlvbnMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFwcENvbnRleHQuZnJhbWUuc2hvd0RpYWxvZ0Nob2ljZSh7XHJcbiAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiBvcHRpb25zLmNhbmNlbEJ1dHRvblRleHQsXHJcbiAgICAgICAgICAgICAgICBjaG9pY2VzOiBvcHRpb25zLmNob2ljZXMsXHJcbiAgICAgICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogb3B0aW9ucy5jb25maXJtQnV0dG9uVGV4dCxcclxuICAgICAgICAgICAgICAgIGZvb3Rub3RlOiBvcHRpb25zLmZvb3Rub3RlLFxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogb3B0aW9ucy5tZXNzYWdlLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IG9wdGlvbnMudGl0bGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGlkZSBhIGNob2ljZSBkaWFsb2cuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoaWRlQ2hvaWNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGlkZTxDaG9pY2VEaWFsb2dSZXN1bHQ+KHRoaXMuY29tbW9uSWRzLmNob2ljZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93cyBhIGNvbmZpcm1hdGlvbiBkaWFsb2cgd2l0aCB0aGUgZ2l2ZW4gb3B0aW9uc1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBvcHRpb25zIFRoZSBkaWFsb2cgb3B0aW9ucy5cclxuICAgICAqIEByZXR1cm5zIEEgc3ViamVjdCB0aGF0IHdpbGwgYmUgcHVibGlzaGVkIG9uZSB0aW1lIHdpdGggdGhlIGRpYWxvZyByZXN1bHRcclxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIDAyLzIwLzE4LiBQbGVhc2UgdXNlICdBcHBDb250ZXh0U2VydmljZS5mcmFtZS5zaG93RGlhbG9nQ29uZmlybWF0aW9uJyBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzaG93Q29uZmlybWF0aW9uKG9wdGlvbnM6IENvbmZpcm1hdGlvbkRpYWxvZ09wdGlvbnMpOiBPYnNlcnZhYmxlPENvbmZpcm1hdGlvbkRpYWxvZ1Jlc3VsdD4ge1xyXG4gICAgICAgIC8vIGlmIHJ1bm5pbmcgZnJvbSBzaGVsbCwgbWFudWFsbHkgbGF1bmNoIGRpYWxvZ1xyXG4gICAgICAgIGlmICh0aGlzLmFwcENvbnRleHQucnBjLmlzU2hlbGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2hvdyh0aGlzLmNvbW1vbklkcy5jb25maXJtYXRpb24sIG9wdGlvbnMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIG90aGVyd2lzZSBhc2sgdGhlIHNoZWxsIHRvIGRvIGl0IGZvciB1cy5cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwQ29udGV4dC5mcmFtZS5zaG93RGlhbG9nQ29uZmlybWF0aW9uKHtcclxuICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IG9wdGlvbnMuY2FuY2VsQnV0dG9uVGV4dCxcclxuICAgICAgICAgICAgICAgIGNoZWNrYm94VGV4dDogb3B0aW9ucy5jaGVja2JveFRleHQsXHJcbiAgICAgICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogb3B0aW9ucy5jb25maXJtQnV0dG9uVGV4dCxcclxuICAgICAgICAgICAgICAgIGRvdWJsZUNoZWNrVGV4dDogb3B0aW9ucy5kb3VibGVDaGVja1RleHQsXHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2UsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogb3B0aW9ucy50aXRsZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIaWRlIGEgY29uZmlybWF0aW9uIGRpYWxvZy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGhpZGVDb25maXJtYXRpb24oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5oaWRlKHRoaXMuY29tbW9uSWRzLmNvbmZpcm1hdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93cyBhIGNvbmZpcm1hdGlvbiBsaXN0IGRpYWxvZyB3aXRoIHRoZSBnaXZlbiBvcHRpb25zXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG9wdGlvbnMgVGhlIGRpYWxvZyBvcHRpb25zLlxyXG4gICAgICogQHJldHVybnMgQSBzdWJqZWN0IHRoYXQgd2lsbCBiZSBwdWJsaXNoZWQgb25lIHRpbWUgd2l0aCB0aGUgZGlhbG9nIHJlc3VsdFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2hvd0NvbmZpcm1hdGlvbkxpc3Qob3B0aW9uczogQ29uZmlybWF0aW9uTGlzdERpYWxvZ09wdGlvbnMpOiBPYnNlcnZhYmxlPENvbmZpcm1hdGlvbkxpc3REaWFsb2dSZXN1bHQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zaG93KHRoaXMuY29tbW9uSWRzLmNvbmZpcm1hdGlvbkxpc3QsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGlkZSBhIGNvbmZpcm1hdGlvbiBsaXN0ICBkaWFsb2cuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoaWRlQ29uZmlybWF0aW9uTGlzdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhpZGUodGhpcy5jb21tb25JZHMuY29uZmlybWF0aW9uTGlzdCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIaWRlcyB0aGUgZGlhbG9nLlxyXG4gICAgICpcclxuICAgICAqIFRSZXN1bHQgVGhlIHR5cGUgb2YgdGhlIGRpYWxvZyByZXN1bHQuXHJcbiAgICAgKiBAcGFyYW0gaWQgVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBkaWFsb2cuXHJcbiAgICAgKiBAcGFyYW0gcmVzdWx0IFRoZSByZXN1bHQgb2YgdGhlIGRpYWxvZy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGhpZGU8VFJlc3VsdCBleHRlbmRzIERpYWxvZ1Jlc3VsdD4oaWQ6IHN0cmluZywgcmVzdWx0PzogVFJlc3VsdCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghaWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEaWFsb2dTZXJ2aWNlLmhpZGU6IElEIGlzIHJlcXVpcmVkIHRvIGhpZGUgYSBkaWFsb2cuJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuY29tcG9uZW50TWFwW2lkXSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wYXJlbnREaWFsb2dTZXJ2aWNlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhcmVudERpYWxvZ1NlcnZpY2UuaGlkZShpZCwgcmVzdWx0KTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGlhbG9nU2VydmljZS5oaWRlOiBObyBkaWFsb2cgYXNzb2NpYXRlZCB3aXRoIHByb3ZpZGVkIElEIFxcJyR7aWR9XFwnLmApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNvbXBvbmVudE1hcFtpZF0uaGlkZShyZXN1bHQpO1xyXG4gICAgICAgIHRoaXMuZW1pdERpYWxvZ0NoYW5nZUV2ZW50KGlkLCBEaWFsb2dDaGFuZ2VFdmVudC5IaWRlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlbmQgUnBjIHJlcXVlc3QgdG8gc2hlbGwgdG8gYWRkL3JlbW92ZSBvdmVybGF5XHJcbiAgICAgKiBAcGFyYW0gb3ZlcmxheSB0cnVlOiBhZGQsIGZhbHNlOiByZW1vdmVcclxuICAgICAqIEBwYXJhbSBpZCBpZCBvZiB0aGUgZGlhbG9nXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvdmVybGF5T3BlbihvdmVybGF5OiBib29sZWFuLCBpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc3RhcnRPdmVybGF5ID0gTXNmdFNtZS5pc0V4dGVuc2lvbigpXHJcbiAgICAgICAgICAgICYmIChNc2Z0U21lLmVudHJ5UG9pbnRUeXBlKCkgPT09IEVudmlyb25tZW50TW9kdWxlRW50cnlQb2ludFR5cGUuVG9vbFxyXG4gICAgICAgICAgICAgICAgfHwgTXNmdFNtZS5lbnRyeVBvaW50VHlwZSgpID09PSBFbnZpcm9ubWVudE1vZHVsZUVudHJ5UG9pbnRUeXBlLlNldHRpbmdzRm9ybSk7XHJcbiAgICAgICAgaWYgKHN0YXJ0T3ZlcmxheSkge1xyXG4gICAgICAgICAgICAvLyB0aGVyZSBjb3VsZCBiZSBtdWx0aXBsZSBkaWFsb2cgc2VydmljZSBpbnN0YW5jZXMgZm9yIHNvbWUgcmVhc29uXHJcbiAgICAgICAgICAgIHRoaXMuYXBwQ29udGV4dC5yZWdpc3RlckRpYWxvZ1NlcnZpY2UodGhpcywgaWQpO1xyXG4gICAgICAgICAgICB0aGlzLmFwcENvbnRleHQuZnJhbWUub3ZlcmxheU9wZW4ob3ZlcmxheSwgaWQpXHJcbiAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uID0gdGhpcy5hcHBDb250ZXh0Lm5vdGlmaWNhdGlvbi5jcmVhdGUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5zaG93RXJyb3IodGhpcy5zdHJpbmdzLk92ZXJsYXkub3BlbkVycm9yVGl0bGUsIE5ldC5nZXRFcnJvck1lc3NhZ2UoZXJyb3IpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVtcHR5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhhbmRsZSBjbGlja2luZyBvbiBkaWFsb2cgYmFja2dyb3VuZCBpbiBzaGVsbFxyXG4gICAgICogQHBhcmFtIGRpYWxvZ0lkIGlkIG9mIGRpYWxvZyB3aG9zZSBiYWNrZ3JvdW5kIHdhcyBjbGlja2VkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvdmVybGF5Q2xpY2tlZChkaWFsb2dJZDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgbGFzdERpYWxvZyA9IE1zZnRTbWUubGFzdCh0aGlzLmFjdGl2ZURpYWxvZ3NTdGFjayk7XHJcbiAgICAgICAgaWYgKGxhc3REaWFsb2cgJiYgbGFzdERpYWxvZy5pZCA9PT0gZGlhbG9nSWQpIHtcclxuICAgICAgICAgICAgbGFzdERpYWxvZy5vbkJhY2tncm91bmRDbGlja2VkKCk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXN1bWUgZm9jdXMgYmFjayB0byB0aGUgb3JpZ2luYWwgZWxlbWVudCB0aGF0IHNob3dzIHRoZSBkaWFsb2cuXHJcbiAgICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIGRpYWxvZ1xyXG4gICAgICogQHBhcmFtIGRlbGF5IElmIHByb3ZpZGVkLCBkZWxheXMgcmVzdW1pbmcgZm9jdXMgZm9yIGEgcGVyaW9kIG9mIHRpbWUgaW4gbXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlc3VtZUZvY3VzKGlkOiBzdHJpbmcsIGRlbGF5ID0gMCk6IHZvaWQge1xyXG4gICAgICAgIC8vIGNoZWNrIHRvIHNlZSBpZiB0aGVyZSBpcyBhIGRpYWxvZyBzdGFjayBjdXJyZW50bHkuXHJcbiAgICAgICAgY29uc3Qgd2FzSW5EaWFsb2dTdGFjayA9IHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrICYmIHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nT3JpZ2luc1tpZF0pIHtcclxuICAgICAgICAgICAgc2V0VGltZW91dChcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0luRGlhbG9nU3RhY2sgPSB0aGlzLmFjdGl2ZURpYWxvZ3NTdGFjayAmJiB0aGlzLmFjdGl2ZURpYWxvZ3NTdGFjay5sZW5ndGggPiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghd2FzSW5EaWFsb2dTdGFjayAmJiBpc0luRGlhbG9nU3RhY2spIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWFsb2cgd2FzIG9wZW5lZCBkdXJpbmcgdGhlIHNldFRpbWVvdXQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgbWVhbnMgdGhhdCB0aGUgbmV3IGRpYWxvZyB3aWxsIHJlc3VtZSBmb2N1cyB0byB0aGUgd3JvbmcgZWxlbWVudCBhbmQgdGhlIG5ldyBkaWFsb2cgd2lsbCBvcGVuIHVuZm9jdXNlZC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dPcmlnaW5zW3RoaXMuYWN0aXZlRGlhbG9nc1N0YWNrWzBdLmlkXSA9IHRoaXMuZGlhbG9nT3JpZ2luc1tpZF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmRpYWxvZ09yaWdpbnNbaWRdO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5hcHBDb250ZXh0LmZyYW1lLmFjdGl2ZVJwY0RpYWxvZ3NPcmlnaW5zLnNpemUgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFuIHJwYyBkaWFsb2cgd2FzIG9wZW5lZCBkdXJpbmcgdGhlIHNldFRpbWVvdXQuIFNvIGp1c3Qgd2FpdCBhIGxpdHRsZSBsb25nZXIgYW5kIHRoZW4gcmVmb2N1c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3VtZUZvY3VzKGlkLCAxMDApO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmRpYWxvZ09yaWdpbnNbaWRdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmb2N1c09uOiBIVE1MRWxlbWVudCA9IERvbS5nZXRGb2N1c09yaWdpbihlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvY3VzT24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzT24uZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5kaWFsb2dPcmlnaW5zW2lkXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfSwgZGVsYXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZW1pdERpYWxvZ0NoYW5nZUV2ZW50KGRpYWxvZ0lkOiBTdHJpbmcsIGNoYW5nZUV2ZW50OiBEaWFsb2dDaGFuZ2VFdmVudCkge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlZEV2ZW50U3ViamVjdC5uZXh0KDxEaWFsb2dFdmVudD57IGRpYWxvZ0lkOiBkaWFsb2dJZCwgY2hhbmdlRXZlbnQ6IGNoYW5nZUV2ZW50IH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
385
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDeEgsT0FBTyxFQUFFLEtBQUssRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUt0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBR3ZELE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIseURBQUksQ0FBQTtJQUNKLHlEQUFJLENBQUE7QUFDUixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QjtBQVFELE1BQU0sT0FBTyxhQUFhO0lBd0J0QixZQUFvQixVQUE2QixFQUFrQyxtQkFBbUM7UUFBbEcsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFBa0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFnQjtRQXZCL0csY0FBUyxHQUFHO1lBQ2YsTUFBTSxFQUFFLDBCQUEwQjtZQUNsQyxZQUFZLEVBQUUsZ0NBQWdDO1lBQzlDLGdCQUFnQixFQUFFLHFDQUFxQztZQUN2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QUUsR0FBRyxDQUFDLENBQUM7aUJBQzdCO3FCQUFNO29CQUNILE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3ZDLE1BQU0sT0FBTyxHQUFnQixHQUFHLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUN6RCxJQUFJLE9BQU8sRUFBRTt3QkFDVCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7cUJBQ25CO29CQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDakM7WUFFTCxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDakI7SUFDTCxDQUFDO0lBRU0scUJBQXFCLENBQUMsUUFBZ0IsRUFBRSxXQUE4QjtRQUN6RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNqRyxDQUFDOzs2RkEvWVEsYUFBYSxpREF3Qm1GLGFBQWE7d0VBeEI3RyxhQUFhLFdBQWIsYUFBYTt1RkFBYixhQUFhO2NBRHpCLFVBQVU7c0VBeUJrRyxhQUFhO3NCQUFsRSxRQUFROztzQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5ldCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvZGF0YS9uZXQnO1xyXG5pbXBvcnQgeyBEb20gfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL2RvbS9kb20nO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudE1vZHVsZUVudHJ5UG9pbnRUeXBlIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9tYW5pZmVzdC9lbnZpcm9ubWVudC1tb2R1bGVzJztcclxuaW1wb3J0IHsgZW1wdHksIE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgbWVyZ2VNYXAsIHRha2VMYXN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdHJpbmdzIH0gZnJvbSAnLi4vLi4vZ2VuZXJhdGVkL3N0cmluZ3MnO1xyXG5pbXBvcnQgeyBBcHBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYXBwLWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VEaWFsb2dDb21wb25lbnQsIERpYWxvZ09wdGlvbnMsIERpYWxvZ1Jlc3VsdCB9IGZyb20gJy4vYmFzZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hvaWNlRGlhbG9nT3B0aW9ucywgQ2hvaWNlRGlhbG9nUmVzdWx0IH0gZnJvbSAnLi9jaG9pY2UtZGlhbG9nL2Nob2ljZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nT3B0aW9ucywgQ29uZmlybWF0aW9uRGlhbG9nUmVzdWx0IH0gZnJvbSAnLi9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uTGlzdERpYWxvZ09wdGlvbnMsIENvbmZpcm1hdGlvbkxpc3REaWFsb2dSZXN1bHQgfSBmcm9tICcuL2NvbmZpcm1hdGlvbi1saXN0LWRpYWxvZy9jb25maXJtYXRpb24tbGlzdC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlhbG9nQ2xvc2VSZWFzb24gfSBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZXNzYWdlRGlhbG9nT3B0aW9ucyB9IGZyb20gJy4vbWVzc2FnZS1kaWFsb2cvbWVzc2FnZS1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBlbnVtIERpYWxvZ0NoYW5nZUV2ZW50IHtcclxuICAgIFNob3csXHJcbiAgICBIaWRlXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRXZlbnQge1xyXG4gICAgZGlhbG9nSWQ6IHN0cmluZztcclxuICAgIGNoYW5nZUV2ZW50OiBEaWFsb2dDaGFuZ2VFdmVudDtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nU2VydmljZSB7XHJcbiAgICBwdWJsaWMgY29tbW9uSWRzID0ge1xyXG4gICAgICAgIGNob2ljZTogJ3NtZS1jb21tb24tY2hvaWNlLWRpYWxvZycsXHJcbiAgICAgICAgY29uZmlybWF0aW9uOiAnc21lLWNvbW1vbi1jb25maXJtYXRpb24tZGlhbG9nJyxcclxuICAgICAgICBjb25maXJtYXRpb25MaXN0OiAnc21lLWNvbW1vbi1jb25maXJtYXRpb24tbGlzdC1kaWFsb2cnLFxyXG4gICAgICAgIG1lc3NhZ2U6ICdzbWUtY29tbW9uLW1lc3NhZ2UtZGlhbG9nJyxcclxuICAgICAgICBub3RpZmljYXRpb25zUGFuZTogJ3NtZS1jb21tb24tbm90aWZpY2F0aW9ucy1wYW5lJyxcclxuICAgICAgICBzZXR0aW5nczogJ3NtZS1jb21tb24tc2V0dGluZ3MtcGFuZScsXHJcbiAgICAgICAgaGVscDogJ3NtZS1jb21tb24taGVscC1wYW5lJyxcclxuICAgICAgICB1c2VyUGFuZTogJ3NtZS1jb21tb24tdXNlci1wYW5lJyxcclxuICAgICAgICBtYW5hZ2VBczogJ3NtZS1jb21tb24tbWFuYWdlLWFzLWRpYWxvZycsXHJcbiAgICAgICAgcG93ZXJTaGVsbFNob3dTY3JpcHQ6ICdzbWUtY29tbW9uLXBvd2Vyc2hlbGwtc2hvdy1zY3JpcHQnLFxyXG4gICAgICAgIGNyZWRTU1BDb25maXJtYXRpb246ICdzbWUtY3JlZHNzcC1jb25maXJtYXRpb24tZGlhbG9nJyxcclxuICAgICAgICB1c2VyQWxpdmU6ICdzbWUtdXNlci1hbGl2ZS1kaWFsb2cnXHJcbiAgICB9O1xyXG5cclxuICAgIHB1YmxpYyBhY3RpdmVEaWFsb2dzU3RhY2s6IEJhc2VEaWFsb2dDb21wb25lbnQ8RGlhbG9nT3B0aW9ucywgRGlhbG9nUmVzdWx0PltdID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBzdHJpbmdzID0gTXNmdFNtZS5nZXRTdHJpbmdzPFN0cmluZ3M+KCkuTXNmdFNtZVNoZWxsLkFuZ3VsYXI7XHJcbiAgICBwcml2YXRlIGNvbXBvbmVudE1hcDogeyBbaW5kZXg6IHN0cmluZ106IEJhc2VEaWFsb2dDb21wb25lbnQ8RGlhbG9nT3B0aW9ucywgRGlhbG9nUmVzdWx0PiB9ID0ge307XHJcbiAgICBwcml2YXRlIGFjdGl2ZURpYWxvZ1Jlc3VsdDogT2JzZXJ2YWJsZTxEaWFsb2dSZXN1bHQ+O1xyXG4gICAgcHJpdmF0ZSBkaWFsb2dPcmlnaW5zOiB7IFtpbmRleDogc3RyaW5nXTogSFRNTEVsZW1lbnQgfSA9IHt9O1xyXG4gICAgcHJpdmF0ZSBjaGFuZ2VkRXZlbnRTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PERpYWxvZ0V2ZW50PjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcENvbnRleHQ6IEFwcENvbnRleHRTZXJ2aWNlLCBAU2tpcFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIHBhcmVudERpYWxvZ1NlcnZpY2U/OiBEaWFsb2dTZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VkRXZlbnRTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8RGlhbG9nRXZlbnQ+KDEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgc3ViamVjdCBvZiBub3RpZmljYXRpb24gY2hhbmdlZCBldmVudC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBjaGFuZ2VkKCk6IFJlcGxheVN1YmplY3Q8RGlhbG9nRXZlbnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jaGFuZ2VkRXZlbnRTdWJqZWN0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgY3VycmVudERpYWxvZ0xldmVsKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrID8gdGhpcy5hY3RpdmVEaWFsb2dzU3RhY2subGVuZ3RoICsgdGhpcy5pRnJhbWVEaWFsb2dDb3VudCA6IHRoaXMuaUZyYW1lRGlhbG9nQ291bnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpRnJhbWVEaWFsb2dDb3VudCA9IDA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWdpc3RlcnMgdGhlIGRpYWxvZyB3aXRoIHRoZSBzZXJ2aWNlLlxyXG4gICAgICpcclxuICAgICAqIFRPcHRpb25zIHRoZSB0eXBlIG9mIHRoZSBkaWFsb2cgb3B0aW9ucy5cclxuICAgICAqIFRSZXN1bHQgdGhlIHR5cGUgb2YgdGhlIGRpYWxvZyByZXN1bHRzLlxyXG4gICAgICogQHBhcmFtIGlkIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZGlhbG9nLlxyXG4gICAgICogQHBhcmFtIGNvbXBvbmVudCBUaGUgZGlhbG9nIGNvbXBvbmVudC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlZ2lzdGVyPFRPcHRpb25zIGV4dGVuZHMgRGlhbG9nT3B0aW9ucywgVFJlc3VsdCBleHRlbmRzIERpYWxvZ1Jlc3VsdD4oXHJcbiAgICAgICAgaWQ6IHN0cmluZyxcclxuICAgICAgICBjb21wb25lbnQ6IEJhc2VEaWFsb2dDb21wb25lbnQ8VE9wdGlvbnMsIFRSZXN1bHQ+XHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWlkKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRGlhbG9nU2VydmljZS5yZWdpc3RlcjogSUQgaXMgcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBkaWFsb2cuJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIWNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RpYWxvZ1NlcnZpY2UucmVnaXN0ZXI6IEEgZGlhbG9nIGlzIHJlcXVpcmVkIHRvIHJlZ2lzdGVyIGEgZGlhbG9nLicpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogcmVtb3ZpbmcgdW50aWwgd2UgdW5kZXJzdGFuZCBjYXNlcyB3aGVyZSBhbmd1bGFyIGNhbiBjYWxsIG5nT25Jbml0IHR3aWNlLlxyXG4gICAgICAgICAqIHNlZTogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80MjcwMDExNi9hbmd1bGFyMi1yb3V0aW5nLWlzc3VlLWFuZC1uZ29uaW5pdC1jYWxsZWQtdHdpY2VcclxuICAgICAgICAgKiBhbmQgQG1zZnQtc21lL2xvY2FsLXVzZXJzLWdyb3VwcyBmb3IgZXhhbXBsZXNcclxuICAgICAgICAgKi9cclxuICAgICAgICAvLyBpZiAodGhpcy5jb21wb25lbnRNYXBbaWRdKSB7XHJcbiAgICAgICAgLy8gICAgIGNvbnNvbGUud2FybihgRGlhbG9nU2VydmljZS5yZWdpc3RlcjogQSBkaWFsb2cgd2l0aCB0aGUgSUQgXFwnJHtpZH1cXCcgaGFzIGFscmVhZHkgYmVlbiByZWdpc3RlcmVkYCk7XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICB0aGlzLmNvbXBvbmVudE1hcFtpZF0gPSBjb21wb25lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVbnJlZ2lzdGVycyB0aGUgZGlhbG9nIHdpdGggdGhlIHNlcnZpY2UuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGlkIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZGlhbG9nLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdW5yZWdpc3RlcihpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50TWFwW2lkXSkge1xyXG4gICAgICAgICAgICBkZWxldGUgdGhpcy5jb21wb25lbnRNYXBbaWRdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrICYmIHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrLmxlbmd0aCA+IDAgJiYgTXNmdFNtZS5sYXN0KHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrKS5pZCA9PT0gaWQpIHtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVEaWFsb2dzU3RhY2sucG9wKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRJRnJhbWVEaWFsb2coKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pRnJhbWVEaWFsb2dDb3VudCsrO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVJRnJhbWVEaWFsb2coKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pRnJhbWVEaWFsb2dDb3VudCA9IE1hdGgubWF4KHRoaXMuaUZyYW1lRGlhbG9nQ291bnQgLSAxLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3dzIHRoZSBkaWFsb2cuXHJcbiAgICAgKlxyXG4gICAgICogVE9wdGlvbnMgVGhlIHR5cGUgb2YgdGhlIGRpYWxvZyBvcHRpb25zLlxyXG4gICAgICogVFJlc3VsdCBUaGUgcmVzdWx0IG9mIHRoZSBkaWFsb2cuXHJcbiAgICAgKiBAcGFyYW0gaWQgVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBkaWFsb2cuXHJcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgZGlhbG9nIG9wdGlvbnMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzaG93PFRPcHRpb25zIGV4dGVuZHMgRGlhbG9nT3B0aW9ucywgVFJlc3VsdCBleHRlbmRzIERpYWxvZ1Jlc3VsdD4oaWQ6IHN0cmluZywgb3B0aW9uczogVE9wdGlvbnMpOiBPYnNlcnZhYmxlPFRSZXN1bHQ+IHtcclxuICAgICAgICBpZiAoIWlkKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRGlhbG9nU2VydmljZS5zaG93OiBJRCBpcyByZXF1aXJlZCB0byBzaG93IGEgZGlhbG9nLicpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudE1hcFtpZF0pIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50RGlhbG9nU2VydmljZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50RGlhbG9nU2VydmljZS5zaG93KGlkLCBvcHRpb25zKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGlhbG9nU2VydmljZS5zaG93OiBObyBkaWFsb2cgYXNzb2NpYXRlZCB3aXRoIHByb3ZpZGVkIElEIFxcJyR7aWR9XFwnLmApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBuZXdEaWFsb2cgPSB0aGlzLmNvbXBvbmVudE1hcFtpZF07XHJcbiAgICAgICAgY29uc3Qgb2xkRGlhbG9nID0gTXNmdFNtZS5sYXN0KHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrKTtcclxuXHJcbiAgICAgICAgLy8gYWNjZXNzaWJpbGl0eVxyXG4gICAgICAgIGlmIChvcHRpb25zICYmICEoPGFueT5vcHRpb25zKS5pc0Zyb21ScGMpIHsgLy8gaWYgZnJvbSBScGMgdGhlbiBkb24ndCByZXN1bWUgZm9jdXMgc2luY2UgaXQgd2lsbCBmb2N1cyBiYWNrIG9uIGlmcmFtZVxyXG4gICAgICAgICAgICBjb25zdCBvcmlnaW4gPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICBpZiAob3JpZ2luKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ09yaWdpbnNbaWRdID0gb3JpZ2luO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBkb250IGRvIGFueXRoaW5nIHVubGVzcyB3ZSBoYXZlIGEgc3Vic2NyaWJlclxyXG4gICAgICAgIHJldHVybiBvZihvbGREaWFsb2cpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWVyZ2VNYXAoaXQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBhIHBsYWNlaG9sZGVyIGZvciB0aGUgbmV3IGRpYWxvZyByZXN1bHRcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0T2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUUmVzdWx0PjtcclxuICAgICAgICAgICAgICAgICAgICAvLyByZW1lbWJlciBpZiB0aGVyZSB3YXMgYW4gYWN0aXZlIGRpYWxvZyB3aGVuIHdlIHN0YXJ0ZWRcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGlzdGluZ0FjdGl2ZURpYWxvZyA9ICEhb2xkRGlhbG9nO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGlzdGluZ0FjdGl2ZURpYWxvZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAob2xkRGlhbG9nLmtlZXBPcGVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgY3VycmVudGx5IGFjdGl2ZSBkaWFsb2cgd2FudHMgdG8gc3RheSBvcGVuLCB0aGVuIGtlZXAgaXQgb3BlbiBhbmQgc2hvdyB0aGUgbmV3IGRpYWxvZyBvbiB0b3BcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrLnB1c2gobmV3RGlhbG9nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheU9wZW4odHJ1ZSwgbmV3RGlhbG9nLmlkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdlIHNldCB0aGUgZGlhbG9nIGxldmVsIGFzIHRoZSBsZW5ndGggb2YgdGhlIGFjdGl2ZSBkaWFsb2dzIHN0YWNrXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdEaWFsb2cuc2V0TGV2ZWwodGhpcy5jdXJyZW50RGlhbG9nTGV2ZWwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVEaWFsb2dSZXN1bHQgPSBuZXdEaWFsb2cuc2hvdyhvcHRpb25zKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlPcGVuKGZhbHNlLCBuZXdEaWFsb2cuaWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZURpYWxvZ3NTdGFjay5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9sZERpYWxvZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkRGlhbG9nLmF1dG9Gb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdE9ic2VydmFibGUgPSA8T2JzZXJ2YWJsZTxUUmVzdWx0Pj50aGlzLmFjdGl2ZURpYWxvZ1Jlc3VsdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlIGlzIGFuIGFjdGl2ZSBkaWFsb2csIHdhaXQgZm9yIGl0IHRvIGNvbXBsZXRlLCB0aGVuIHNob3cgYSB0aGUgbmV3IG9uZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0T2JzZXJ2YWJsZSA9IDxPYnNlcnZhYmxlPFRSZXN1bHQ+PnRoaXMuYWN0aXZlRGlhbG9nUmVzdWx0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2VMYXN0KDEpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXJnZU1hcCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zaG93KGlkLCBvcHRpb25zKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlcmUgaXMgbm8gYWN0aXZlIGRpYWxvZywgdGhlbiBqdXN0IHNob3cgdGhlIG5ldyBvbmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVEaWFsb2dzU3RhY2sucHVzaChuZXdEaWFsb2cpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlPcGVuKHRydWUsIG5ld0RpYWxvZy5pZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0RpYWxvZy5zZXRMZXZlbCh0aGlzLmN1cnJlbnREaWFsb2dMZXZlbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlRGlhbG9nUmVzdWx0ID0gbmV3RGlhbG9nLnNob3cob3B0aW9ucylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlPcGVuKGZhbHNlLCBuZXdEaWFsb2cuaWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob2xkRGlhbG9nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGREaWFsb2cuYXV0b0ZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0T2JzZXJ2YWJsZSA9IDxPYnNlcnZhYmxlPFRSZXN1bHQ+PnRoaXMuYWN0aXZlRGlhbG9nUmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgd2UgaGFkIGFuIGFjdGl2ZSBkaWFsb2csIHJlcXVlc3QgdGhlIHByZXZpb3VzIGRpYWxvZyB0byBjbG9zZSB1bmxlc3MgaXQgd2FudHMgdG8gc3RheSBvcGVuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV4aXN0aW5nQWN0aXZlRGlhbG9nICYmICFvbGREaWFsb2cua2VlcE9wZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2xkRGlhbG9nLmNsb3NlUmVxdWVzdGVkKERpYWxvZ0Nsb3NlUmVhc29uLkNvbXBldGluZ0RpYWxvZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXREaWFsb2dDaGFuZ2VFdmVudChpZCwgRGlhbG9nQ2hhbmdlRXZlbnQuU2hvdyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdE9ic2VydmFibGU7XHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93cyBhIG1lc3NhZ2UgZGlhbG9nIHdpdGggdGhlIGdpdmVuIG9wdGlvbnNcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgZGlhbG9nIG9wdGlvbnMuXHJcbiAgICAgKiBAcmV0dXJucyBBIHN1YmplY3QgdGhhdCB3aWxsIGJlIHB1Ymxpc2hlZCBvbmUgdGltZSB3aXRoIHRoZSBkaWFsb2cgcmVzdWx0XHJcbiAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSAwMi8yMC8xOC4gUGxlYXNlIHVzZSAnQXBwQ29udGV4dFNlcnZpY2UuZnJhbWUuc2hvd0RpYWxvZ01lc3NhZ2UnIGluc3RlYWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNob3dNZXNzYWdlKG9wdGlvbnM6IE1lc3NhZ2VEaWFsb2dPcHRpb25zKTogT2JzZXJ2YWJsZTxEaWFsb2dSZXN1bHQ+IHtcclxuICAgICAgICAvLyBpZiBydW5uaW5nIGZyb20gc2hlbGwsIG1hbnVhbGx5IGxhdW5jaCBkaWFsb2dcclxuICAgICAgICBpZiAodGhpcy5hcHBDb250ZXh0LnJwYy5pc1NoZWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNob3codGhpcy5jb21tb25JZHMubWVzc2FnZSwgb3B0aW9ucyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gb3RoZXJ3aXNlIGFzayB0aGUgc2hlbGwgdG8gZG8gaXQgZm9yIHVzLlxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hcHBDb250ZXh0LmZyYW1lLnNob3dEaWFsb2dNZXNzYWdlKHtcclxuICAgICAgICAgICAgICAgIGJ1dHRvblRleHQ6IG9wdGlvbnMuYnV0dG9uVGV4dCxcclxuICAgICAgICAgICAgICAgIGNoZWNrYm94VGV4dDogb3B0aW9ucy5jaGVja2JveFRleHQsXHJcbiAgICAgICAgICAgICAgICBleHRlcm5hbExpbms6IG9wdGlvbnMuZXh0ZXJuYWxMaW5rLFxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogb3B0aW9ucy5tZXNzYWdlLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IG9wdGlvbnMudGl0bGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGlkZSBhIG1lc3NhZ2UgZGlhbG9nLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaGlkZU1lc3NhZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5oaWRlKHRoaXMuY29tbW9uSWRzLm1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvd3MgYSBjaG9pY2UgZGlhbG9nIHdpdGggdGhlIGdpdmVuIG9wdGlvbnMuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG9wdGlvbnMgVGhlIGRpYWxvZyBvcHRpb25zLlxyXG4gICAgICogQHJldHVybnMgQSBzdWJqZWN0IHRoYXQgd2lsbCBiZSBwdWJsaXNoZWQgb25lIHRpbWUgd2l0aCB0aGUgZGlhbG9nIHJlc3VsdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHNob3dDaG9pY2Uob3B0aW9uczogQ2hvaWNlRGlhbG9nT3B0aW9ucyk6IE9ic2VydmFibGU8Q2hvaWNlRGlhbG9nUmVzdWx0PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuYXBwQ29udGV4dC5ycGMuaXNTaGVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zaG93KHRoaXMuY29tbW9uSWRzLmNob2ljZSwgb3B0aW9ucyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwQ29udGV4dC5mcmFtZS5zaG93RGlhbG9nQ2hvaWNlKHtcclxuICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IG9wdGlvbnMuY2FuY2VsQnV0dG9uVGV4dCxcclxuICAgICAgICAgICAgICAgIGNob2ljZXM6IG9wdGlvbnMuY2hvaWNlcyxcclxuICAgICAgICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBvcHRpb25zLmNvbmZpcm1CdXR0b25UZXh0LFxyXG4gICAgICAgICAgICAgICAgZm9vdG5vdGU6IG9wdGlvbnMuZm9vdG5vdGUsXHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2UsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogb3B0aW9ucy50aXRsZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIaWRlIGEgY2hvaWNlIGRpYWxvZy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGhpZGVDaG9pY2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5oaWRlPENob2ljZURpYWxvZ1Jlc3VsdD4odGhpcy5jb21tb25JZHMuY2hvaWNlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3dzIGEgY29uZmlybWF0aW9uIGRpYWxvZyB3aXRoIHRoZSBnaXZlbiBvcHRpb25zXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG9wdGlvbnMgVGhlIGRpYWxvZyBvcHRpb25zLlxyXG4gICAgICogQHJldHVybnMgQSBzdWJqZWN0IHRoYXQgd2lsbCBiZSBwdWJsaXNoZWQgb25lIHRpbWUgd2l0aCB0aGUgZGlhbG9nIHJlc3VsdFxyXG4gICAgICogQGRlcHJlY2F0ZWQgc2luY2UgMDIvMjAvMTguIFBsZWFzZSB1c2UgJ0FwcENvbnRleHRTZXJ2aWNlLmZyYW1lLnNob3dEaWFsb2dDb25maXJtYXRpb24nIGluc3RlYWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNob3dDb25maXJtYXRpb24ob3B0aW9uczogQ29uZmlybWF0aW9uRGlhbG9nT3B0aW9ucyk6IE9ic2VydmFibGU8Q29uZmlybWF0aW9uRGlhbG9nUmVzdWx0PiB7XHJcbiAgICAgICAgbGV0IGNvbmZpcm1hdGlvbk9ic2VydmFibGU7XHJcblxyXG4gICAgICAgIC8vIGlmIHJ1bm5pbmcgZnJvbSBzaGVsbCwgbWFudWFsbHkgbGF1bmNoIGRpYWxvZ1xyXG4gICAgICAgIGlmICh0aGlzLmFwcENvbnRleHQucnBjLmlzU2hlbGwpIHtcclxuICAgICAgICAgICAgY29uZmlybWF0aW9uT2JzZXJ2YWJsZSA9IHRoaXMuc2hvdyh0aGlzLmNvbW1vbklkcy5jb25maXJtYXRpb24sIG9wdGlvbnMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIG90aGVyd2lzZSBhc2sgdGhlIHNoZWxsIHRvIGRvIGl0IGZvciB1cy5cclxuICAgICAgICAgICAgY29uZmlybWF0aW9uT2JzZXJ2YWJsZSA9IHRoaXMuYXBwQ29udGV4dC5mcmFtZS5zaG93RGlhbG9nQ29uZmlybWF0aW9uKHtcclxuICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IG9wdGlvbnMuY2FuY2VsQnV0dG9uVGV4dCxcclxuICAgICAgICAgICAgICAgIGNoZWNrYm94VGV4dDogb3B0aW9ucy5jaGVja2JveFRleHQsXHJcbiAgICAgICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogb3B0aW9ucy5jb25maXJtQnV0dG9uVGV4dCxcclxuICAgICAgICAgICAgICAgIGRvdWJsZUNoZWNrVGV4dDogb3B0aW9ucy5kb3VibGVDaGVja1RleHQsXHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2UsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogb3B0aW9ucy50aXRsZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBjb25maXJtYXRpb25PYnNlcnZhYmxlLnBpcGUobWFwKChyZXNwb25zZTogQ29uZmlybWF0aW9uRGlhbG9nUmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZSB8fCB7IGNvbmZpcm1lZDogZmFsc2UsIGNoZWNrYm94UmVzdWx0OiBmYWxzZSB9O1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhpZGUgYSBjb25maXJtYXRpb24gZGlhbG9nLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaGlkZUNvbmZpcm1hdGlvbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhpZGUodGhpcy5jb21tb25JZHMuY29uZmlybWF0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3dzIGEgY29uZmlybWF0aW9uIGxpc3QgZGlhbG9nIHdpdGggdGhlIGdpdmVuIG9wdGlvbnNcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgZGlhbG9nIG9wdGlvbnMuXHJcbiAgICAgKiBAcmV0dXJucyBBIHN1YmplY3QgdGhhdCB3aWxsIGJlIHB1Ymxpc2hlZCBvbmUgdGltZSB3aXRoIHRoZSBkaWFsb2cgcmVzdWx0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzaG93Q29uZmlybWF0aW9uTGlzdChvcHRpb25zOiBDb25maXJtYXRpb25MaXN0RGlhbG9nT3B0aW9ucyk6IE9ic2VydmFibGU8Q29uZmlybWF0aW9uTGlzdERpYWxvZ1Jlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNob3codGhpcy5jb21tb25JZHMuY29uZmlybWF0aW9uTGlzdCwgb3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIaWRlIGEgY29uZmlybWF0aW9uIGxpc3QgIGRpYWxvZy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGhpZGVDb25maXJtYXRpb25MaXN0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGlkZSh0aGlzLmNvbW1vbklkcy5jb25maXJtYXRpb25MaXN0KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhpZGVzIHRoZSBkaWFsb2cuXHJcbiAgICAgKlxyXG4gICAgICogVFJlc3VsdCBUaGUgdHlwZSBvZiB0aGUgZGlhbG9nIHJlc3VsdC5cclxuICAgICAqIEBwYXJhbSBpZCBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGRpYWxvZy5cclxuICAgICAqIEBwYXJhbSByZXN1bHQgVGhlIHJlc3VsdCBvZiB0aGUgZGlhbG9nLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaGlkZTxUUmVzdWx0IGV4dGVuZHMgRGlhbG9nUmVzdWx0PihpZDogc3RyaW5nLCByZXN1bHQ/OiBUUmVzdWx0KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFpZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RpYWxvZ1NlcnZpY2UuaGlkZTogSUQgaXMgcmVxdWlyZWQgdG8gaGlkZSBhIGRpYWxvZy4nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jb21wb25lbnRNYXBbaWRdKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnBhcmVudERpYWxvZ1NlcnZpY2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFyZW50RGlhbG9nU2VydmljZS5oaWRlKGlkLCByZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEaWFsb2dTZXJ2aWNlLmhpZGU6IE5vIGRpYWxvZyBhc3NvY2lhdGVkIHdpdGggcHJvdmlkZWQgSUQgXFwnJHtpZH1cXCcuYCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY29tcG9uZW50TWFwW2lkXS5oaWRlKHJlc3VsdCk7XHJcbiAgICAgICAgdGhpcy5lbWl0RGlhbG9nQ2hhbmdlRXZlbnQoaWQsIERpYWxvZ0NoYW5nZUV2ZW50LkhpZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VuZCBScGMgcmVxdWVzdCB0byBzaGVsbCB0byBhZGQvcmVtb3ZlIG92ZXJsYXlcclxuICAgICAqIEBwYXJhbSBvdmVybGF5IHRydWU6IGFkZCwgZmFsc2U6IHJlbW92ZVxyXG4gICAgICogQHBhcmFtIGlkIGlkIG9mIHRoZSBkaWFsb2dcclxuICAgICAqL1xyXG4gICAgcHVibGljIG92ZXJsYXlPcGVuKG92ZXJsYXk6IGJvb2xlYW4sIGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzdGFydE92ZXJsYXkgPSBNc2Z0U21lLmlzRXh0ZW5zaW9uKClcclxuICAgICAgICAgICAgJiYgKE1zZnRTbWUuZW50cnlQb2ludFR5cGUoKSA9PT0gRW52aXJvbm1lbnRNb2R1bGVFbnRyeVBvaW50VHlwZS5Ub29sXHJcbiAgICAgICAgICAgICAgICB8fCBNc2Z0U21lLmVudHJ5UG9pbnRUeXBlKCkgPT09IEVudmlyb25tZW50TW9kdWxlRW50cnlQb2ludFR5cGUuU2V0dGluZ3NGb3JtKTtcclxuICAgICAgICBpZiAoc3RhcnRPdmVybGF5KSB7XHJcbiAgICAgICAgICAgIC8vIHRoZXJlIGNvdWxkIGJlIG11bHRpcGxlIGRpYWxvZyBzZXJ2aWNlIGluc3RhbmNlcyBmb3Igc29tZSByZWFzb25cclxuICAgICAgICAgICAgdGhpcy5hcHBDb250ZXh0LnJlZ2lzdGVyRGlhbG9nU2VydmljZSh0aGlzLCBpZCk7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwQ29udGV4dC5mcmFtZS5vdmVybGF5T3BlbihvdmVybGF5LCBpZClcclxuICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBub3RpZmljYXRpb24gPSB0aGlzLmFwcENvbnRleHQubm90aWZpY2F0aW9uLmNyZWF0ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNob3dFcnJvcih0aGlzLnN0cmluZ3MuT3ZlcmxheS5vcGVuRXJyb3JUaXRsZSwgTmV0LmdldEVycm9yTWVzc2FnZShlcnJvcikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW1wdHkoKTtcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGFuZGxlIGNsaWNraW5nIG9uIGRpYWxvZyBiYWNrZ3JvdW5kIGluIHNoZWxsXHJcbiAgICAgKiBAcGFyYW0gZGlhbG9nSWQgaWQgb2YgZGlhbG9nIHdob3NlIGJhY2tncm91bmQgd2FzIGNsaWNrZWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIG92ZXJsYXlDbGlja2VkKGRpYWxvZ0lkOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBsYXN0RGlhbG9nID0gTXNmdFNtZS5sYXN0KHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrKTtcclxuICAgICAgICBpZiAobGFzdERpYWxvZyAmJiBsYXN0RGlhbG9nLmlkID09PSBkaWFsb2dJZCkge1xyXG4gICAgICAgICAgICBsYXN0RGlhbG9nLm9uQmFja2dyb3VuZENsaWNrZWQoKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc3VtZSBmb2N1cyBiYWNrIHRvIHRoZSBvcmlnaW5hbCBlbGVtZW50IHRoYXQgc2hvd3MgdGhlIGRpYWxvZy5cclxuICAgICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgZGlhbG9nXHJcbiAgICAgKiBAcGFyYW0gZGVsYXkgSWYgcHJvdmlkZWQsIGRlbGF5cyByZXN1bWluZyBmb2N1cyBmb3IgYSBwZXJpb2Qgb2YgdGltZSBpbiBtc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVzdW1lRm9jdXMoaWQ6IHN0cmluZywgZGVsYXkgPSAwKTogdm9pZCB7XHJcbiAgICAgICAgLy8gY2hlY2sgdG8gc2VlIGlmIHRoZXJlIGlzIGEgZGlhbG9nIHN0YWNrIGN1cnJlbnRseS5cclxuICAgICAgICBjb25zdCB3YXNJbkRpYWxvZ1N0YWNrID0gdGhpcy5hY3RpdmVEaWFsb2dzU3RhY2sgJiYgdGhpcy5hY3RpdmVEaWFsb2dzU3RhY2subGVuZ3RoID4gMDtcclxuICAgICAgICBpZiAodGhpcy5kaWFsb2dPcmlnaW5zW2lkXSkge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KFxyXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzSW5EaWFsb2dTdGFjayA9IHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrICYmIHRoaXMuYWN0aXZlRGlhbG9nc1N0YWNrLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF3YXNJbkRpYWxvZ1N0YWNrICYmIGlzSW5EaWFsb2dTdGFjaykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhIGRpYWxvZyB3YXMgb3BlbmVkIGR1cmluZyB0aGUgc2V0VGltZW91dC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBtZWFucyB0aGF0IHRoZSBuZXcgZGlhbG9nIHdpbGwgcmVzdW1lIGZvY3VzIHRvIHRoZSB3cm9uZyBlbGVtZW50IGFuZCB0aGUgbmV3IGRpYWxvZyB3aWxsIG9wZW4gdW5mb2N1c2VkLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ09yaWdpbnNbdGhpcy5hY3RpdmVEaWFsb2dzU3RhY2tbMF0uaWRdID0gdGhpcy5kaWFsb2dPcmlnaW5zW2lkXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuZGlhbG9nT3JpZ2luc1tpZF07XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFwcENvbnRleHQuZnJhbWUuYWN0aXZlUnBjRGlhbG9nc09yaWdpbnMuc2l6ZSA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW4gcnBjIGRpYWxvZyB3YXMgb3BlbmVkIGR1cmluZyB0aGUgc2V0VGltZW91dC4gU28ganVzdCB3YWl0IGEgbGl0dGxlIGxvbmdlciBhbmQgdGhlbiByZWZvY3VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdW1lRm9jdXMoaWQsIDEwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZGlhbG9nT3JpZ2luc1tpZF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvY3VzT246IEhUTUxFbGVtZW50ID0gRG9tLmdldEZvY3VzT3JpZ2luKGVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9jdXNPbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNPbi5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmRpYWxvZ09yaWdpbnNbaWRdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9LCBkZWxheSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBlbWl0RGlhbG9nQ2hhbmdlRXZlbnQoZGlhbG9nSWQ6IFN0cmluZywgY2hhbmdlRXZlbnQ6IERpYWxvZ0NoYW5nZUV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VkRXZlbnRTdWJqZWN0Lm5leHQoPERpYWxvZ0V2ZW50PnsgZGlhbG9nSWQ6IGRpYWxvZ0lkLCBjaGFuZ2VFdmVudDogY2hhbmdlRXZlbnQgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|