@messaia/cdk 17.1.5 → 18.0.0-rc02
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/base/base.module.mjs +8 -8
- package/esm2022/lib/base/components/base.component.mjs +4 -4
- package/esm2022/lib/base/components/dynamic-table-config-dialog.comnponent.mjs +3 -3
- package/esm2022/lib/base/components/generic-form-base.component.mjs +4 -4
- package/esm2022/lib/base/components/generic-form.component.mjs +3 -3
- package/esm2022/lib/base/components/generic-list.component.mjs +4 -4
- package/esm2022/lib/base/components/generic-reactive-form.component.mjs +4 -4
- package/esm2022/lib/base/constants/common.mjs +2 -2
- package/esm2022/lib/base/helpers/auth-helper.mjs +1 -1
- package/esm2022/lib/base/interceptors/base.interceptor.mjs +4 -4
- package/esm2022/lib/base/interceptors/caching-interceptor.mjs +4 -4
- package/esm2022/lib/base/interceptors/loading.interceptor.mjs +4 -4
- package/esm2022/lib/base/services/file.service.mjs +3 -3
- package/esm2022/lib/base/services/loading-screen.service.mjs +3 -3
- package/esm2022/lib/base/services/print.service.mjs +3 -3
- package/esm2022/lib/chips/chips.module.mjs +4 -4
- package/esm2022/lib/chips/components/chips.component.mjs +4 -4
- package/esm2022/lib/chips/directives/autocomplete-option.directive.mjs +3 -3
- package/esm2022/lib/chips/directives/chip.directive.mjs +3 -3
- package/esm2022/lib/common/behaviors/control-value-accesor.mixin.mjs +1 -1
- package/esm2022/lib/common/behaviors/disabled.mixin.mjs +1 -1
- package/esm2022/lib/common/common.module.mjs +4 -4
- package/esm2022/lib/common/directives/delayed-hover.directive.mjs +4 -4
- package/esm2022/lib/common/directives/disable-control.directive.mjs +4 -4
- package/esm2022/lib/common/functions/utils.mjs +4 -4
- package/esm2022/lib/common/helpers/app-storage.mjs +4 -4
- package/esm2022/lib/common/helpers/dynamic-builder.mjs +4 -4
- package/esm2022/lib/common/helpers/dynamic-component-compiler.mjs +3 -3
- package/esm2022/lib/common/models/app-setting.mjs +3 -3
- package/esm2022/lib/common/pipes/data-source.pipe.mjs +3 -3
- package/esm2022/lib/common/pipes/enum.pipe.mjs +3 -3
- package/esm2022/lib/common/pipes/file-size.pipe.mjs +4 -4
- package/esm2022/lib/common/pipes/filter.pipe.mjs +4 -4
- package/esm2022/lib/common/pipes/first-letter.mjs +3 -3
- package/esm2022/lib/common/pipes/form-array.pipe.mjs +3 -3
- package/esm2022/lib/common/pipes/form-control.pipe.mjs +3 -3
- package/esm2022/lib/common/pipes/form-group.pipe.mjs +3 -3
- package/esm2022/lib/common/pipes/func.pipe.mjs +3 -3
- package/esm2022/lib/common/pipes/join.pipe.mjs +4 -4
- package/esm2022/lib/common/pipes/keys.mjs +4 -4
- package/esm2022/lib/common/pipes/month-name.pipe.mjs +3 -3
- package/esm2022/lib/common/pipes/nested-property.mjs +3 -3
- package/esm2022/lib/common/pipes/only-number.mjs +4 -4
- package/esm2022/lib/common/pipes/order.pipe.mjs +4 -4
- package/esm2022/lib/common/pipes/placeholder.pipe.mjs +4 -4
- package/esm2022/lib/common/pipes/property-join.pipe.mjs +4 -4
- package/esm2022/lib/common/pipes/safe-html.pipe.mjs +3 -3
- package/esm2022/lib/common/pipes/split.pipe.mjs +3 -3
- package/esm2022/lib/common/pipes/time.pipe.mjs +4 -4
- package/esm2022/lib/common/pipes/titlecase.pipe.mjs +3 -3
- package/esm2022/lib/common/pipes/truncate.pipe.mjs +3 -3
- package/esm2022/lib/common/pipes/values.mjs +3 -3
- package/esm2022/lib/common/services/base.service.mjs +3 -3
- package/esm2022/lib/common/services/enum.service.mjs +4 -4
- package/esm2022/lib/common/services/event-queue.service.mjs +3 -3
- package/esm2022/lib/dialogs/alert-dialog/alert-dialog.component.mjs +3 -3
- package/esm2022/lib/dialogs/confirm-dialog/confirm-dialog.component.mjs +3 -3
- package/esm2022/lib/dialogs/dialog.component.mjs +13 -13
- package/esm2022/lib/dialogs/dialogs.module.mjs +4 -4
- package/esm2022/lib/dialogs/prompt-dialog/prompt-dialog.component.mjs +3 -3
- package/esm2022/lib/dialogs/services/dialog.service.mjs +4 -4
- package/esm2022/lib/file/file-input.component.mjs +4 -4
- package/esm2022/lib/file/file.module.mjs +4 -4
- package/esm2022/lib/form-validators/algorithm/luhn-algorithm.mjs +1 -1
- package/esm2022/lib/form-validators/core/default-container.mjs +10 -10
- package/esm2022/lib/form-validators/directives/base-directive.mjs +4 -4
- package/esm2022/lib/form-validators/directives/control-host.directive.mjs +4 -4
- package/esm2022/lib/form-validators/directives/html-control-template.directive.mjs +3 -3
- package/esm2022/lib/form-validators/directives/rx-form.directive.mjs +4 -4
- package/esm2022/lib/form-validators/directives/template-validations/async-validation.directive.mjs +3 -3
- package/esm2022/lib/form-validators/directives/template-validations/base-validator.directive.mjs +4 -4
- package/esm2022/lib/form-validators/directives/template-validations/control-expression-process.mjs +4 -4
- package/esm2022/lib/form-validators/directives/template-validations/file-control.directive.mjs +4 -4
- package/esm2022/lib/form-validators/directives/template-validations/image-file-control.directive.mjs +4 -4
- package/esm2022/lib/form-validators/directives/template-validations/rxformcontrol.directive.mjs +4 -4
- package/esm2022/lib/form-validators/domain/disable-provider.mjs +1 -1
- package/esm2022/lib/form-validators/domain/element-processor/decimal.provider.mjs +4 -4
- package/esm2022/lib/form-validators/domain/element-processor/mask.provider.mjs +1 -1
- package/esm2022/lib/form-validators/domain/form-data.mjs +1 -1
- package/esm2022/lib/form-validators/models/form-builder-configuration.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/allOf.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/and.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/async/base.async.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/choice.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/compare.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/compose.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/conditional-change.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/contains.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/credit-card.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/cusip.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/custom.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/different.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/endsWith.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/even.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/extension.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/factor.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/file.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/fileSize.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/grid.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/iban.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/image.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/ip.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/json.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/latLong.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/leapYear.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/lowercase.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/mask.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/maxLength.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/maxNumber.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/minLength.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/minNumber.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/noneOf.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/not.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/notEmpty.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/numeric.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/odd.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/oneOf.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/or.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/password.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/pattern.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/port.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/primeNumber.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/range.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/required.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/requiredTrue.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/rule.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/startsWith.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/time.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/unique.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/uppercase.validator.mjs +1 -1
- package/esm2022/lib/form-validators/reactive-form-validators/url.validator.mjs +1 -1
- package/esm2022/lib/form-validators/services/base-form-builder.mjs +1 -1
- package/esm2022/lib/form-validators/services/entity.service.mjs +1 -1
- package/esm2022/lib/form-validators/services/form-control.mjs +1 -1
- package/esm2022/lib/form-validators/services/reactive-form.module.mjs +8 -8
- package/esm2022/lib/form-validators/services/rx-form-array.mjs +1 -1
- package/esm2022/lib/form-validators/services/rx-form-builder.mjs +4 -4
- package/esm2022/lib/form-validators/services/rx-form-group.mjs +1 -1
- package/esm2022/lib/form-validators/services/typed-form-builder.mjs +3 -3
- package/esm2022/lib/form-validators/util/app-util.mjs +1 -1
- package/esm2022/lib/form-validators/util/check-length.mjs +1 -1
- package/esm2022/lib/form-validators/util/config-provider.mjs +1 -1
- package/esm2022/lib/form-validators/util/date-checker.function.mjs +1 -1
- package/esm2022/lib/form-validators/util/date-provider.mjs +1 -1
- package/esm2022/lib/form-validators/util/form-provider.mjs +1 -1
- package/esm2022/lib/form-validators/util/instance-provider.function.mjs +1 -1
- package/esm2022/lib/form-validators/util/ip-checker.mjs +1 -1
- package/esm2022/lib/form-validators/util/linq.mjs +1 -1
- package/esm2022/lib/form-validators/util/object-maker.mjs +1 -1
- package/esm2022/lib/form-validators/util/reactive-form-config.mjs +1 -1
- package/esm2022/lib/form-validators/util/regex-validator.mjs +1 -1
- package/esm2022/lib/form-validators/util/relational-checker.function.mjs +1 -1
- package/esm2022/lib/form-validators/util/reset-form.mjs +1 -1
- package/esm2022/lib/form-validators/util/sanitizers.mjs +1 -1
- package/esm2022/lib/form-validators/util/time-checker.function.mjs +1 -1
- package/esm2022/lib/form-validators/util/validator-value-checker.mjs +1 -1
- package/esm2022/lib/form-validators/validators-extension/base-validator.function.mjs +1 -1
- package/esm2022/lib/form-validators/validators-function/alpha-validation.function.mjs +1 -1
- package/esm2022/lib/form-validators/validators-function/regex-validation.function.mjs +1 -1
- package/esm2022/lib/forms/components/datepicker/datepicker-header.component.mjs +3 -3
- package/esm2022/lib/forms/components/generic-form/generic-form.component.mjs +16 -16
- package/esm2022/lib/forms/directives/mat-form-field-editor.directive.mjs +4 -4
- package/esm2022/lib/forms/directives/mat-form-field-readonly.directive.mjs +4 -4
- package/esm2022/lib/forms/directives/nested-property-ng-model.directive.mjs +4 -4
- package/esm2022/lib/forms/directives/vd-generic-form-custom-field.directive.mjs +3 -3
- package/esm2022/lib/forms/forms.module.mjs +4 -4
- package/esm2022/lib/forms/functions/decorators.mjs +1 -1
- package/esm2022/lib/forms/functions/functions.mjs +1 -1
- package/esm2022/lib/forms/helpers/abstract-mat-form-field.mjs +4 -4
- package/esm2022/lib/forms/helpers/abstract-select-form-field.component.mjs +4 -4
- package/esm2022/lib/forms/helpers/value-accessor-base.mjs +3 -3
- package/esm2022/lib/forms/pipes/group-filter.pipe.mjs +4 -4
- package/esm2022/lib/forms/validators/empty-string-reset.directive.mjs +4 -4
- package/esm2022/lib/forms/validators/equal-validator.directive.mjs +4 -4
- package/esm2022/lib/forms/validators/native-element-injector.directive.mjs +4 -4
- package/esm2022/lib/forms/validators/unique-validator-directive.mjs +4 -4
- package/esm2022/lib/http/http.module.mjs +7 -11
- package/esm2022/lib/http/services/generic.service.mjs +1 -1
- package/esm2022/lib/layout/dynamic-menu/dynamic-menu.component.mjs +3 -3
- package/esm2022/lib/layout/layout-card-over/layout-card-over.component.mjs +3 -3
- package/esm2022/lib/layout/layout-compact/layout-compact.component.mjs +4 -4
- package/esm2022/lib/layout/layout-footer/layout-footer.component.mjs +4 -4
- package/esm2022/lib/layout/layout-manage-list/layout-manage-list.component.mjs +4 -4
- package/esm2022/lib/layout/layout-manage-list/layout-manage-list.directives.mjs +9 -9
- package/esm2022/lib/layout/layout-nav/layout-nav.component.mjs +5 -5
- package/esm2022/lib/layout/layout-nav-list/layout-nav-list.component.mjs +4 -4
- package/esm2022/lib/layout/layout-nav-list/layout-nav-list.directives.mjs +9 -9
- package/esm2022/lib/layout/layout-toggle.class.mjs +4 -4
- package/esm2022/lib/layout/layout.component.mjs +4 -4
- package/esm2022/lib/layout/layout.directives.mjs +9 -9
- package/esm2022/lib/layout/layout.module.mjs +4 -4
- package/esm2022/lib/layout/list-toolbar/list-toolbar.component.mjs +3 -3
- package/esm2022/lib/layout/navigation-drawer/navigation-drawer.component.mjs +10 -10
- package/esm2022/lib/list/components/list.component.mjs +3 -3
- package/esm2022/lib/list/directives/vd-list-option.directive.mjs +3 -3
- package/esm2022/lib/list/list.module.mjs +4 -4
- package/esm2022/lib/media/directives/media-toggle.directive.mjs +4 -4
- package/esm2022/lib/media/media.module.mjs +4 -4
- package/esm2022/lib/media/services/media.service.mjs +4 -4
- package/esm2022/lib/menu/components/menu.component.mjs +4 -4
- package/esm2022/lib/menu/menu.module.mjs +4 -4
- package/esm2022/lib/menu/resolvers/menu-form-includes.resolve.mjs +4 -4
- package/esm2022/lib/menu/resolvers/menu-item-form-includes.resolve.mjs +4 -4
- package/esm2022/lib/menu/resolvers/menu-list-projection.resolve.mjs +4 -4
- package/esm2022/lib/menu/resolvers/menu-settings.resolve.mjs +3 -3
- package/esm2022/lib/menu/services/menu-items.service.mjs +3 -3
- package/esm2022/lib/menu/services/menu.resolve.mjs +7 -7
- package/esm2022/lib/menu/services/menu.service.mjs +3 -3
- package/esm2022/lib/search/search.module.mjs +4 -4
- package/esm2022/lib/select/components/select.component.mjs +4 -4
- package/esm2022/lib/select/directives/vd-select-option.directive.mjs +3 -3
- package/esm2022/lib/select/directives/vd-select-trigger.directive.mjs +3 -3
- package/esm2022/lib/select/select.module.mjs +4 -4
- package/esm2022/lib/table/components/dynamic-table/dynamic-table.component.mjs +4 -4
- package/esm2022/lib/table/components/filter-clear.component.mjs +4 -4
- package/esm2022/lib/table/components/filter-date.component.mjs +4 -4
- package/esm2022/lib/table/components/filter-input.component.mjs +4 -4
- package/esm2022/lib/table/components/filter-select.component.mjs +7 -7
- package/esm2022/lib/table/directives/data-source-filter.directive.mjs +4 -4
- package/esm2022/lib/table/directives/vd-table-field.directive.mjs +3 -3
- package/esm2022/lib/table/functions/decorators.mjs +1 -1
- package/esm2022/lib/table/functions/functions.mjs +1 -1
- package/esm2022/lib/table/paginator-intl.mjs +4 -4
- package/esm2022/lib/table/table.data-source.mjs +1 -1
- package/esm2022/lib/table/table.module.mjs +4 -4
- package/esm2022/lib/table/table.static-data-source.mjs +1 -1
- package/fesm2022/messaia-cdk.mjs +486 -490
- package/fesm2022/messaia-cdk.mjs.map +1 -1
- package/lib/common/styles/_theme-functions.scss +0 -23
- package/lib/common/styles/colors/_colors-dark.scss +1350 -345
- package/lib/common/styles/colors/_colors-light.scss +3157 -829
- package/lib/common/styles/core/_button.scss +35 -29
- package/lib/common/styles/{_common-theme.scss → m2/_common-theme.scss} +6 -6
- package/lib/common/styles/m2/_theme-functions.scss +21 -0
- package/lib/common/styles/m3/_common-theme.scss +47 -0
- package/lib/common/styles/m3/_theme-functions.scss +21 -0
- package/lib/common/styles/platform.scss +1 -1
- package/lib/common/theming/_all-theme.scss +1 -1
- package/lib/common/theming/_m2-all-theme.scss +27 -0
- package/lib/http/http.module.d.ts +1 -2
- package/lib/layout/{_layout-theme.scss → _m2-layout-theme.scss} +11 -10
- package/package.json +3 -3
|
@@ -448,4 +448,4 @@ export class RxFormGroup extends FormGroup {
|
|
|
448
448
|
}
|
|
449
449
|
}
|
|
450
450
|
}
|
|
451
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtZm9ybS1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9zZXJ2aWNlcy9yeC1mb3JtLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFZLFNBQVEsU0FBUztJQXlDMUI7SUFDQTtJQXpDWjs7T0FFRztJQUNLLFVBQVUsQ0FBeUI7SUFFM0M7O09BRUc7SUFDSyxnQkFBZ0IsQ0FBbUI7SUFFM0M7O09BRUc7SUFDSyxVQUFVLEdBQVksS0FBSyxDQUFDO0lBRXBDOztPQUVHO0lBQ0ssU0FBUyxHQUEyQixFQUFFLENBQUM7SUFFL0M7O09BRUc7SUFDSyxXQUFXLEdBQVksS0FBSyxDQUFDO0lBRXJDOztPQUVHO0lBQ0ksUUFBUSxHQUFZLEtBQUssQ0FBQztJQUVqQzs7Ozs7Ozs7T0FRRztJQUNILFlBQ1ksS0FBVSxFQUNWLFlBQW9D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QyxZQUFZLFdBQVcsRUFBRTtnQkFDeEQsSUFBa0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUUsQ0FBQyxVQUFVLEVBQUU7b0JBQ3RELElBQUksVUFBVSxHQUFpQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBRSxDQUFDLFFBQVEsQ0FBQztvQkFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ2pDLEtBQUssSUFBSSxTQUFTLElBQUksVUFBVSxFQUFFO3dCQUM5QixJQUFrQixTQUFVLENBQUMsVUFBVSxFQUFFOzRCQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQ0FDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7NkJBQ3BDOzRCQUVELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFlLFNBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQTt5QkFDM0U7cUJBRUo7b0JBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7d0JBQ3pDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztxQkFDdEM7aUJBRUo7cUJBQ0ksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO29CQUNsQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQ3RDO2FBQ0o7U0FDSjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQXN5bmNWYWxpZGF0b3JGbiwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IGRlZmF1bHRDb250YWluZXIgfSBmcm9tICcuLi9jb3JlL2RlZmF1bHQtY29udGFpbmVyJztcclxuaW1wb3J0IHsgRm9ybURhdGFQcm92aWRlciB9IGZyb20gXCIuLi9kb21haW4vZm9ybS1kYXRhXCI7XHJcbmltcG9ydCB7IFJlc2V0Rm9ybVR5cGUgfSBmcm9tIFwiLi4vZW51bXMvcmVzZXQtdHlwZVwiO1xyXG5pbXBvcnQgeyBGb3JtRGF0YUNvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvaW50ZXJmYWNlL2Zvcm0tZGF0YS1jb25maWdcIjtcclxuaW1wb3J0IHsgQXBwbGljYXRpb25VdGlsIH0gZnJvbSAnLi4vdXRpbC9hcHAtdXRpbCc7XHJcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSAnLi4vdXRpbC9yZWdleC12YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBnZXROZXN0ZWRPcHRpb25zLCBpc1Jlc2V0Q29udHJvbCB9IGZyb20gJy4uL3V0aWwvcmVzZXQtZm9ybSc7XHJcbmltcG9ydCB7IGNsb25lIH0gZnJvbSAnLi9lbnRpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IFJ4Rm9ybUNvbnRyb2wgfSBmcm9tIFwiLi9mb3JtLWNvbnRyb2xcIjtcclxuaW1wb3J0IHsgUnhGb3JtQXJyYXkgfSBmcm9tICcuL3J4LWZvcm0tYXJyYXknO1xyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYW4gZXh0ZW5kZWQgdmVyc2lvbiBvZiBGb3JtR3JvdXAgd2l0aCBhZGRpdGlvbmFsIGZ1bmN0aW9uYWxpdHkuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgUnhGb3JtR3JvdXAgZXh0ZW5kcyBGb3JtR3JvdXAge1xyXG4gICAgLyoqXHJcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBiYXNlIG9iamVjdCBjb250YWluaW5nIGtleS12YWx1ZSBwYWlycyBmb3IgdGhlIGZvcm0gZGF0YS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBiYXNlT2JqZWN0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgY29udmVydGluZyBmb3JtIGRhdGEgdG8gRm9ybURhdGEuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZm9ybURhdGFQcm92aWRlcjogRm9ybURhdGFQcm92aWRlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmb3JtIGdyb3VwIGhhcyBiZWVuIHN1Ym1pdHRlZC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfc3VibWl0dGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb250YWlucyB0aGUgbW9kaWZpZWQgdmFsdWVzIG9mIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9tb2RpZmllZDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGZvcm0gZ3JvdXAgaGFzIGJlZW4gbW9kaWZpZWQuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2lzTW9kaWZpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmb3JtIGdyb3VwIGlzIGNoYW5naW5nLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2hhbmdpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgUnhGb3JtR3JvdXAuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBtb2RlbCBUaGUgbW9kZWwgYXNzb2NpYXRlZCB3aXRoIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgICogQHBhcmFtIGVudGl0eU9iamVjdCBUaGUgZW50aXR5IG9iamVjdCBjb250YWluaW5nIGZvcm0gZGF0YS5cclxuICAgICAqIEBwYXJhbSBjb250cm9scyBUaGUgaW5pdGlhbCBjb250cm9scyBmb3IgdGhlIGZvcm0gZ3JvdXAuXHJcbiAgICAgKiBAcGFyYW0gdmFsaWRhdG9yT3JPcHRzIFRoZSB2YWxpZGF0b3JzIGZvciB0aGUgZm9ybSBncm91cC5cclxuICAgICAqIEBwYXJhbSBhc3luY1ZhbGlkYXRvciBUaGUgYXN5bmNocm9ub3VzIHZhbGlkYXRvcnMgZm9yIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIG1vZGVsOiBhbnksXHJcbiAgICAgICAgcHJpdmF0ZSBlbnRpdHlPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgICAgICAgY29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sOyB9LFxyXG4gICAgICAgIHZhbGlkYXRvck9yT3B0cz86IGFueSxcclxuICAgICAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihjb250cm9scywgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcik7XHJcblxyXG4gICAgICAgIHRoaXMuYmFzZU9iamVjdCA9IHt9O1xyXG5cclxuICAgICAgICBmb3IgKHZhciBjb2x1bW4gaW4gdGhpcy5lbnRpdHlPYmplY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5iYXNlT2JqZWN0W2NvbHVtbl0gPSB0aGlzLmVudGl0eU9iamVjdFtjb2x1bW5dXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmZvcm1EYXRhUHJvdmlkZXIgPSBuZXcgRm9ybURhdGFQcm92aWRlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQmluZHMgdGhlIHByaW1hcnkga2V5IG9mIHRoZSBtb2RlbCBpbnN0YW5jZSB0byB0aGUgcHJvdmlkZWQgSlNPTiBvYmplY3QuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBtb2RlbEluc3RhbmNlIFRoZSBtb2RlbCBpbnN0YW5jZS5cclxuICAgICAqIEBwYXJhbSBqT2JqZWN0IFRoZSBKU09OIG9iamVjdCB0byBiaW5kLlxyXG4gICAgICovXHJcbiAgICBiaW5kUHJpbWFyeUtleShtb2RlbEluc3RhbmNlOiBhbnksIGpPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcclxuICAgICAgICBsZXQgaW5zdGFuY2VDb250YWluZXIgPSBkZWZhdWx0Q29udGFpbmVyLmdldChtb2RlbEluc3RhbmNlLmNvbnN0cnVjdG9yKTtcclxuICAgICAgICBpZiAoaW5zdGFuY2VDb250YWluZXIpIHtcclxuICAgICAgICAgICAgbGV0IHByaW1hcnlLZXlQcm9wID0gaW5zdGFuY2VDb250YWluZXIucHJvcGVydGllcz8uZmlsdGVyKHggPT4geC5pc1ByaW1hcnlLZXkpWzBdO1xyXG4gICAgICAgICAgICBpZiAocHJpbWFyeUtleVByb3AgJiYgdGhpcy5tb2RlbEluc3RhbmNlW3ByaW1hcnlLZXlQcm9wLm5hbWVdKSB7XHJcbiAgICAgICAgICAgICAgICBqT2JqZWN0W3ByaW1hcnlLZXlQcm9wLm5hbWVdID0gdGhpcy5tb2RlbEluc3RhbmNlW3ByaW1hcnlLZXlQcm9wLm5hbWVdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgbW9kaWZpZWQgdmFsdWUgb2YgdGhlIGZvcm0gZ3JvdXAuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIFRoZSBtb2RpZmllZCB2YWx1ZSBhcyBhbiBvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgbW9kaWZpZWRWYWx1ZSgpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcclxuICAgICAgICBsZXQgak9iamVjdDogYW55ID0ge307XHJcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuX21vZGlmaWVkKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmluZFByaW1hcnlLZXkodGhpcy5tb2RlbEluc3RhbmNlLCBqT2JqZWN0KVxyXG4gICAgICAgICAgICBmb3IgKHZhciBjb2x1bW5OYW1lIGluIHRoaXMuX21vZGlmaWVkKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgak9iamVjdFtjb2x1bW5OYW1lXSA9ICg8UnhGb3JtR3JvdXA+dGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSkubW9kaWZpZWRWYWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0gaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZm9ybUFycmF5ID0gdGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBhcyBGb3JtQXJyYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgak9iamVjdFtjb2x1bW5OYW1lXSA9IFtdO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX21vZGlmaWVkW2NvbHVtbk5hbWVdLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtb2RpZmllZFZhbHVlID0gKDxSeEZvcm1Hcm91cD5mb3JtQXJyYXkuY29udHJvbHNbaV0pLm1vZGlmaWVkVmFsdWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKG1vZGlmaWVkVmFsdWUpLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpPYmplY3RbY29sdW1uTmFtZV0ucHVzaChtb2RpZmllZFZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGpPYmplY3RbY29sdW1uTmFtZV0ubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGpPYmplY3RbY29sdW1uTmFtZV07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBqT2JqZWN0W2NvbHVtbk5hbWVdID0gdGhpcy5fbW9kaWZpZWRbY29sdW1uTmFtZV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiBqT2JqZWN0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vZGlmaWVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2tzIGlmIHRoZSBmb3JtIGdyb3VwIGlzIG1vZGlmaWVkLlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmb3JtIGdyb3VwIGlzIG1vZGlmaWVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGlzTW9kaWZpZWQoKSB7IHJldHVybiB0aGlzLl9pc01vZGlmaWVkOyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRjaGVzIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gY29udHJvbE5hbWUgT3B0aW9uYWwuIFRoZSBuYW1lIG9mIHRoZSBjb250cm9sIHRvIHBhdGNoLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcGF0Y2goY29udHJvbE5hbWU/OiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoY29udHJvbE5hbWUpIHtcclxuICAgICAgICAgICAgbGV0IGNvbnRyb2wgPSA8UnhGb3JtQ29udHJvbD50aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXTtcclxuICAgICAgICAgICAgdGhpcy5wcm9jZXNzTW9kaWZpZWQoY29udHJvbE5hbWUsIGNvbnRyb2wpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubmVzdGVkRm9ybXNNb2RpZmljYXRpb24oKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2lzTW9kaWZpZWQgPSBPYmplY3Qua2V5cyh0aGlzLl9tb2RpZmllZCkubGVuZ3RoID4gMDtcclxuICAgICAgICBpZiAoIXRoaXMuX2lzTW9kaWZpZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5uZXN0ZWRBcnJheUlzTW9kaWZpZWQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnBhcmVudCAmJiAoPFJ4Rm9ybUdyb3VwPnRoaXMucGFyZW50KS5wYXRjaCkge1xyXG4gICAgICAgICAgICAoPFJ4Rm9ybUdyb3VwPnRoaXMucGFyZW50KS5wYXRjaCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyBpZiB0aGUgZm9ybSBncm91cCBpcyBkaXJ0eS5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZm9ybSBncm91cCBpcyBkaXJ0eS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzRGlydHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IGlzRGlydHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgICBmb3IgKGxldCBuYW1lIGluIHRoaXMudmFsdWUpIHtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRWYWx1ZSA9IHRoaXMubW9kZWxJbnN0YW5jZVtuYW1lXTtcclxuXHJcbiAgICAgICAgICAgIGlmICghKHRoaXMuY29udHJvbHNbbmFtZV0gaW5zdGFuY2VvZiBGb3JtR3JvdXAgfHwgdGhpcy5jb250cm9sc1tuYW1lXSBpbnN0YW5jZW9mIEZvcm1BcnJheSkpIHtcclxuICAgICAgICAgICAgICAgIGlzRGlydHkgPSBBcHBsaWNhdGlvblV0aWwubm90RXF1YWxUbyh0aGlzLmJhc2VPYmplY3RbbmFtZV0sIGN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuY29udHJvbHNbbmFtZV0gaW5zdGFuY2VvZiBSeEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgICAgICAgaXNEaXJ0eSA9ICg8UnhGb3JtR3JvdXA+dGhpcy5jb250cm9sc1tuYW1lXSkuaXNEaXJ0eSgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLmNvbnRyb2xzW25hbWVdIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBmb3JtR3JvdXAgb2YgKDxGb3JtQXJyYXk+dGhpcy5jb250cm9sc1tuYW1lXSkuY29udHJvbHMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpc0RpcnR5ID0gKDxSeEZvcm1Hcm91cD5mb3JtR3JvdXApLmlzRGlydHkoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGlzRGlydHkpIHtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gaXNEaXJ0eTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc2V0cyB0aGUgZm9ybSBncm91cC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwuIE9wdGlvbnMgZm9yIHJlc2V0dGluZyB0aGUgZm9ybSBncm91cC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlc2V0Rm9ybShvcHRpb25zPzogeyByZXNldFR5cGU/OiBSZXNldEZvcm1UeXBlLCB3aXRoPzogc3RyaW5nW10sIHZhbHVlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB9KTogdm9pZCB7XHJcbiAgICAgICAgZm9yIChsZXQgbmFtZSBpbiB0aGlzLmNvbnRyb2xzKSB7XHJcbiAgICAgICAgICAgIGlmIChpc1Jlc2V0Q29udHJvbChuYW1lLCB0aGlzLmNvbnRyb2xzW25hbWVdLCBvcHRpb25zKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbHNbbmFtZV0gaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcclxuICAgICAgICAgICAgICAgICAgICAoPFJ4Rm9ybUdyb3VwPnRoaXMuY29udHJvbHNbbmFtZV0pLnJlc2V0Rm9ybShnZXROZXN0ZWRPcHRpb25zKG5hbWUsIG9wdGlvbnMpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLmNvbnRyb2xzW25hbWVdIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgKDxSeEZvcm1BcnJheT50aGlzLmNvbnRyb2xzW25hbWVdKS5yZXNldEZvcm0ob3B0aW9ucyAmJiBvcHRpb25zLnZhbHVlID8gb3B0aW9ucy52YWx1ZVtuYW1lXSA6IHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy52YWx1ZSAmJiBSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKG9wdGlvbnMudmFsdWVbbmFtZV0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbHNbbmFtZV0ucmVzZXQob3B0aW9ucy52YWx1ZVtuYW1lXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xzW25hbWVdLnJlc2V0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29tbWl0cyBjaGFuZ2VzIGluIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29tbWl0KCkge1xyXG4gICAgICAgIGZvciAobGV0IG5hbWUgaW4gdGhpcy5jb250cm9scykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jb250cm9sc1tuYW1lXSBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgICAgICAgKDxSeEZvcm1Hcm91cD50aGlzLmNvbnRyb2xzW25hbWVdKS5jb21taXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLmNvbnRyb2xzW25hbWVdIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICAoPFJ4Rm9ybUFycmF5PnRoaXMuY29udHJvbHNbbmFtZV0pLmNvbW1pdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgKDxSeEZvcm1Db250cm9sPnRoaXMuY29udHJvbHNbbmFtZV0pLmNvbW1pdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0Y2hlcyB0aGUgbW9kZWwgdmFsdWUgb2YgdGhlIGZvcm0gZ3JvdXAuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gcGF0Y2guXHJcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbC4gT3B0aW9ucyBmb3IgcGF0Y2hpbmcgdGhlIHZhbHVlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcGF0Y2hNb2RlbFZhbHVlKHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IGFueTsgfSwgb3B0aW9ucz86IHsgb25seVNlbGY/OiBib29sZWFuOyBlbWl0RXZlbnQ/OiBib29sZWFuOyB9KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IG5hbWUgaW4gdGhpcy5jb250cm9scykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbHNbbmFtZV0gaW5zdGFuY2VvZiBSeEZvcm1Hcm91cCAmJiB2YWx1ZVtuYW1lXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICg8UnhGb3JtR3JvdXA+dGhpcy5jb250cm9sc1tuYW1lXSkucGF0Y2hNb2RlbFZhbHVlKHZhbHVlW25hbWVdLCBvcHRpb25zKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLmNvbnRyb2xzW25hbWVdIGluc3RhbmNlb2YgRm9ybUFycmF5ICYmIEFycmF5LmlzQXJyYXkodmFsdWVbbmFtZV0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBmb3JtR3JvdXAgb2YgKDxGb3JtQXJyYXk+dGhpcy5jb250cm9sc1tuYW1lXSkuY29udHJvbHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlW25hbWVdW2luZGV4XSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKDxSeEZvcm1Hcm91cD5mb3JtR3JvdXApLnBhdGNoTW9kZWxWYWx1ZSh2YWx1ZVtuYW1lXVtpbmRleF0sIG9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleCA9IGluZGV4ICsgMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZVtuYW1lXSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbHNbbmFtZV0ucGF0Y2hWYWx1ZSh2YWx1ZVtuYW1lXSwgb3B0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIGVycm9yIHN1bW1hcnkgb2YgdGhlIGZvcm0gZ3JvdXAuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBvbmx5TWVzc2FnZSBJbmRpY2F0ZXMgd2hldGhlciB0byBpbmNsdWRlIG9ubHkgZXJyb3IgbWVzc2FnZXMuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgZXJyb3Igc3VtbWFyeSBhcyBhbiBvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRFcnJvclN1bW1hcnkob25seU1lc3NhZ2U6IGJvb2xlYW4pOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcclxuICAgICAgICBsZXQgak9iamVjdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuY29udHJvbHMpLmZvckVhY2goY29sdW1uTmFtZSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgZXJyb3IgPSAoPFJ4Rm9ybUdyb3VwPnRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0pLmdldEVycm9yU3VtbWFyeShmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoZXJyb3IpLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBqT2JqZWN0W2NvbHVtbk5hbWVdID0gZXJyb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGZvcm1Hcm91cCBvZiAoPEZvcm1BcnJheT50aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdKS5jb250cm9scykge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBlcnJvciA9ICg8UnhGb3JtR3JvdXA+Zm9ybUdyb3VwKS5nZXRFcnJvclN1bW1hcnkoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhlcnJvcikubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvci5pbmRleCA9IGluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWpPYmplY3RbY29sdW1uTmFtZV0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpPYmplY3RbY29sdW1uTmFtZV0gPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgak9iamVjdFtjb2x1bW5OYW1lXS5wdXNoKGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4Kys7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXS5lcnJvcnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZXJyb3IgPSB0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdLmVycm9ycztcclxuICAgICAgICAgICAgICAgICAgICBpZiAob25seU1lc3NhZ2UpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IHZhbGlkYXRpb25OYW1lIGluIGVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqT2JqZWN0W2NvbHVtbk5hbWVdID0gZXJyb3JbdmFsaWRhdGlvbk5hbWVdPy5tZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpPYmplY3RbY29sdW1uTmFtZV0gPSBlcnJvcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGpPYmplY3Q7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTeW5jaHJvbml6ZXMgdmFsdWUgY2hhbmdlcyBpbiB0aGUgZm9ybSBncm91cC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHZhbHVlQ2hhbmdlZFN5bmMoKSB7XHJcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5jb250cm9scykuZm9yRWFjaChjb2x1bW5OYW1lID0+IHtcclxuICAgICAgICAgICAgaWYgKCEodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIEZvcm1BcnJheSB8fCB0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgUnhGb3JtQXJyYXkpICYmICEodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIEZvcm1Hcm91cCB8fCB0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgUnhGb3JtR3JvdXApICYmICEodGhpcy5lbnRpdHlPYmplY3RbY29sdW1uTmFtZV0gaW5zdGFuY2VvZiBGb3JtQ29udHJvbCB8fCB0aGlzLmVudGl0eU9iamVjdFtjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUNvbnRyb2wpICYmICg8UnhGb3JtQ29udHJvbD50aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdKS5nZXRDb250cm9sVmFsdWUgJiYgQXBwbGljYXRpb25VdGlsLm5vdEVxdWFsVG8oKDxSeEZvcm1Db250cm9sPnRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0pLmdldENvbnRyb2xWYWx1ZSgpLCB0aGlzLmVudGl0eU9iamVjdFtjb2x1bW5OYW1lXSkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0uc2V0VmFsdWUodGhpcy5lbnRpdHlPYmplY3RbY29sdW1uTmFtZV0sIHsgdXBkYXRlQ2hhbmdlZDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICgodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIEZvcm1BcnJheSB8fCB0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgUnhGb3JtQXJyYXkpKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBmb3JtR3JvdXAgb2YgKDxGb3JtQXJyYXk+dGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSkuY29udHJvbHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAoPFJ4Rm9ybUdyb3VwPmZvcm1Hcm91cCkudmFsdWVDaGFuZ2VkU3luYygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKCh0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgUnhGb3JtR3JvdXApKSB7XHJcbiAgICAgICAgICAgICAgICAoPFJ4Rm9ybUdyb3VwPnRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0pLnZhbHVlQ2hhbmdlZFN5bmMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVmcmVzaGVzIGRpc2FibGVkIHN0YXRlIG9mIGNvbnRyb2xzIGluIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVmcmVzaERpc2FibGUoKSB7XHJcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5jb250cm9scykuZm9yRWFjaChjb2x1bW5OYW1lID0+IHtcclxuICAgICAgICAgICAgaWYgKCEodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIEZvcm1BcnJheSB8fCB0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgUnhGb3JtQXJyYXkpICYmICEodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIEZvcm1Hcm91cCB8fCB0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgUnhGb3JtR3JvdXApKSB7XHJcbiAgICAgICAgICAgICAgICAoPFJ4Rm9ybUNvbnRyb2w+dGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSkucmVmcmVzaCgpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKCh0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgUnhGb3JtR3JvdXApKSB7XHJcbiAgICAgICAgICAgICAgICAoPFJ4Rm9ybUdyb3VwPnRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0pLnJlZnJlc2hEaXNhYmxlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEJpbmRzIGVycm9yIG1lc3NhZ2VzIHRvIGNvbnRyb2xzIGluIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYmluZEVycm9yTWVzc2FnZXMoKSB7XHJcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5jb250cm9scykuZm9yRWFjaChjb2x1bW5OYW1lID0+IHtcclxuICAgICAgICAgICAgaWYgKCEodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIEZvcm1BcnJheSB8fCB0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgUnhGb3JtQXJyYXkpICYmICEodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIEZvcm1Hcm91cCB8fCB0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgUnhGb3JtR3JvdXApKSB7XHJcbiAgICAgICAgICAgICAgICAoPFJ4Rm9ybUNvbnRyb2w+dGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSkuYmluZEVycm9yKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoKHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0gaW5zdGFuY2VvZiBSeEZvcm1Hcm91cCkpIHtcclxuICAgICAgICAgICAgICAgICg8UnhGb3JtR3JvdXA+dGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSkuYmluZEVycm9yTWVzc2FnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIHN1Ym1pdHRlZCBzdGF0ZSBvZiB0aGUgZm9ybSBncm91cC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBzdWJtaXR0ZWQoKSB7IHJldHVybiB0aGlzLl9zdWJtaXR0ZWQ7IH1cclxuICAgIHB1YmxpYyBzZXQgc3VibWl0dGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc3VibWl0dGVkID0gdmFsdWU7XHJcblxyXG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuY29udHJvbHMpLmZvckVhY2goY29sdW1uTmFtZSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgZm9ybUFycmF5ID0gdGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBhcyBGb3JtQXJyYXk7XHJcblxyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZm9ybUdyb3VwIG9mIGZvcm1BcnJheS5jb250cm9scykge1xyXG4gICAgICAgICAgICAgICAgICAgICg8UnhGb3JtR3JvdXA+Zm9ybUdyb3VwKS5zdWJtaXR0ZWQgPSB2YWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICAoPFJ4Rm9ybUdyb3VwPnRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0pLnN1Ym1pdHRlZCA9IHZhbHVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgKDxSeEZvcm1Db250cm9sPnRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0pLmJpbmRFcnJvcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBtb2RlbCBpbnN0YW5jZSB2YWx1ZSBvZiB0aGUgZm9ybSBncm91cC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBtb2RlbEluc3RhbmNlVmFsdWUoKSB7IHJldHVybiBjbG9uZSh0aGlzLmVudGl0eU9iamVjdCk7IH1cclxuXHJcbiAgICAvKipcclxuICAgICogR2V0cyB0aGUgbW9kZWwgaW5zdGFuY2Ugb2YgdGhlIGZvcm0gZ3JvdXAuXHJcbiAgICAqL1xyXG4gICAgcHVibGljIGdldCBtb2RlbEluc3RhbmNlKCkgeyByZXR1cm4gdGhpcy5lbnRpdHlPYmplY3Q7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIGVycm9ycyBvZiB0aGUgY29udHJvbHMgaW4gdGhlIGZvcm0gZ3JvdXAuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgY29udHJvbHNFcnJvcigpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHsgcmV0dXJuIHRoaXMuZ2V0RXJyb3JTdW1tYXJ5KHRydWUpOyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb252ZXJ0cyB0aGUgZm9ybSBncm91cCB0byBGb3JtRGF0YS5cclxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsLiBPcHRpb25zIGZvciBjb252ZXJ0aW5nIHRvIEZvcm1EYXRhLlxyXG4gICAgICogQHJldHVybnMgVGhlIEZvcm1EYXRhIG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHRvRm9ybURhdGEob3B0aW9ucz86IEZvcm1EYXRhQ29uZmlnKTogRm9ybURhdGEge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1EYXRhUHJvdmlkZXIuY29udmVydFRvRm9ybURhdGEodGhpcy52YWx1ZSwgb3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzZXMgdGhlIG1vZGlmaWNhdGlvbiBvZiBhIGNvbnRyb2wgd2l0aGluIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgICogQHBhcmFtIGNvbnRyb2xOYW1lIFRoZSBuYW1lIG9mIHRoZSBjb250cm9sIGJlaW5nIG1vZGlmaWVkLlxyXG4gICAgICogQHBhcmFtIGNvbnRyb2wgVGhlIGNvbnRyb2wgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NNb2RpZmllZChjb250cm9sTmFtZTogc3RyaW5nLCBjb250cm9sOiBhbnkpIHtcclxuICAgICAgICBpZiAoY29udHJvbC5pc01vZGlmaWVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21vZGlmaWVkW2NvbnRyb2xOYW1lXSA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBkZWxldGUgdGhpcy5fbW9kaWZpZWRbY29udHJvbE5hbWVdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5faXNNb2RpZmllZCA9IE9iamVjdC5rZXlzKHRoaXMuX21vZGlmaWVkKS5sZW5ndGggPiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2tzIGlmIGFueSBuZXN0ZWQgYXJyYXkgd2l0aGluIHRoZSBmb3JtIGdyb3VwIGlzIG1vZGlmaWVkLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG5lc3RlZEFycmF5SXNNb2RpZmllZCgpIHtcclxuICAgICAgICBmb3IgKHZhciBjb250cm9sTmFtZSBpbiB0aGlzLmNvbnRyb2xzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9pc01vZGlmaWVkID0gKDxSeEZvcm1BcnJheT50aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSkuaXNNb2RpZmllZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuX2lzTW9kaWZpZWQpIHtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyBiYWNrZW5kIGVycm9ycyBmb3IgdGhlIGZvcm0gZ3JvdXAgY29udHJvbHMuXHJcbiAgICAgKiBAcGFyYW0gZXJyb3JzIE9iamVjdCBjb250YWluaW5nIHRoZSBiYWNrZW5kIGVycm9ycy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldEJhY2tFbmRFcnJvcnMoZXJyb3JzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XHJcbiAgICAgICAgT2JqZWN0LmtleXMoZXJyb3JzKS5mb3JFYWNoKGNvbnRyb2xOYW1lID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbHNbY29udHJvbE5hbWVdKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250cm9sc1tjb250cm9sTmFtZV0gaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcclxuICAgICAgICAgICAgICAgICAgICAoPFJ4Rm9ybUdyb3VwPnRoaXMuY29udHJvbHNbY29udHJvbE5hbWVdKS5zZXRCYWNrRW5kRXJyb3JzKGVycm9yc1tjb250cm9sTmFtZV0pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAoPFJ4Rm9ybUNvbnRyb2w+dGhpcy5jb250cm9sc1tjb250cm9sTmFtZV0pLnNldEJhY2tFbmRFcnJvcnMoZXJyb3JzW2NvbnRyb2xOYW1lXSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xlYXJzIGJhY2tlbmQgZXJyb3JzIGZvciB0aGUgZm9ybSBncm91cCBjb250cm9scy5cclxuICAgICAqIEBwYXJhbSBlcnJvcnMgT3B0aW9uYWwgb2JqZWN0IGNvbnRhaW5pbmcgc3BlY2lmaWMgZXJyb3JzIHRvIGNsZWFyLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xlYXJCYWNrRW5kRXJyb3JzKGVycm9ycz86IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcclxuICAgICAgICBsZXQgY2xlYXJFcnJvcnMgPSBlcnJvcnMgPyBPYmplY3Qua2V5cyhlcnJvcnMpIDogT2JqZWN0LmtleXModGhpcy5jb250cm9scyk7XHJcbiAgICAgICAgY2xlYXJFcnJvcnMuZm9yRWFjaChjb250cm9sTmFtZSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbHNbY29udHJvbE5hbWVdIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzID8gKDxSeEZvcm1Hcm91cD50aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSkuY2xlYXJCYWNrRW5kRXJyb3JzKGVycm9yc1tjb250cm9sTmFtZV0pIDogKDxSeEZvcm1Hcm91cD50aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSkuY2xlYXJCYWNrRW5kRXJyb3JzKClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGVycm9ycyA/ICg8UnhGb3JtQ29udHJvbD50aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSkuY2xlYXJCYWNrRW5kRXJyb3JzKGVycm9yc1tjb250cm9sTmFtZV0pIDogKDxSeEZvcm1Hcm91cD50aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSkuY2xlYXJCYWNrRW5kRXJyb3JzKClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW9kaWZpZXMgbmVzdGVkIGZvcm1zIHdpdGhpbiB0aGUgZm9ybSBncm91cC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBuZXN0ZWRGb3Jtc01vZGlmaWNhdGlvbigpIHtcclxuICAgICAgICBmb3IgKHZhciBjb250cm9sTmFtZSBpbiB0aGlzLmNvbnRyb2xzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NNb2RpZmllZChjb250cm9sTmFtZSwgdGhpcy5jb250cm9sc1tjb250cm9sTmFtZV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuY29udHJvbHNbY29udHJvbE5hbWVdIGluc3RhbmNlb2YgUnhGb3JtQXJyYXkpIHtcclxuICAgICAgICAgICAgICAgIGlmICgoPFJ4Rm9ybUFycmF5PnRoaXMuY29udHJvbHNbY29udHJvbE5hbWVdKS5pc01vZGlmaWVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZvcm1Hcm91cHMgPSAoPFJ4Rm9ybUFycmF5PnRoaXMuY29udHJvbHNbY29udHJvbE5hbWVdKS5jb250cm9scztcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9tb2RpZmllZFtjb250cm9sTmFtZV0gPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBmb3JtR3JvdXAgb2YgZm9ybUdyb3Vwcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKDxSeEZvcm1Hcm91cD5mb3JtR3JvdXApLmlzTW9kaWZpZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5fbW9kaWZpZWRbY29udHJvbE5hbWVdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbW9kaWZpZWRbY29udHJvbE5hbWVdID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbW9kaWZpZWRbY29udHJvbE5hbWVdLnB1c2goKDxSeEZvcm1Hcm91cD5mb3JtR3JvdXApLm1vZGlmaWVkVmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fbW9kaWZpZWRbY29udHJvbE5hbWVdLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9tb2RpZmllZFtjb250cm9sTmFtZV07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuX21vZGlmaWVkW2NvbnRyb2xOYW1lXSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9tb2RpZmllZFtjb250cm9sTmFtZV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
451
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtZm9ybS1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9zZXJ2aWNlcy9yeC1mb3JtLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFZLFNBQVEsU0FBUztJQXlDMUI7SUFDQTtJQXpDWjs7T0FFRztJQUNLLFVBQVUsQ0FBeUI7SUFFM0M7O09BRUc7SUFDSyxnQkFBZ0IsQ0FBbUI7SUFFM0M7O09BRUc7SUFDSyxVQUFVLEdBQVksS0FBSyxDQUFDO0lBRXBDOztPQUVHO0lBQ0ssU0FBUyxHQUEyQixFQUFFLENBQUM7SUFFL0M7O09BRUc7SUFDSyxXQUFXLEdBQVksS0FBSyxDQUFDO0lBRXJDOztPQUVHO0lBQ0ksUUFBUSxHQUFZLEtBQUssQ0FBQztJQUVqQzs7Ozs7Ozs7T0FRRztJQUNILFlBQ1ksS0FBVSxFQUNWLFlBQW9D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QUNwRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDakMsS0FBSyxJQUFJLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQzt3QkFDL0IsSUFBa0IsU0FBVSxDQUFDLFVBQVUsRUFBRSxDQUFDOzRCQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dDQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQzs0QkFDckMsQ0FBQzs0QkFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBZSxTQUFVLENBQUMsYUFBYSxDQUFDLENBQUE7d0JBQzVFLENBQUM7b0JBRUwsQ0FBQztvQkFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUMxQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQ3ZDLENBQUM7Z0JBRUwsQ0FBQztxQkFDSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztvQkFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN2QyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEFzeW5jVmFsaWRhdG9yRm4sIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBkZWZhdWx0Q29udGFpbmVyIH0gZnJvbSAnLi4vY29yZS9kZWZhdWx0LWNvbnRhaW5lcic7XHJcbmltcG9ydCB7IEZvcm1EYXRhUHJvdmlkZXIgfSBmcm9tIFwiLi4vZG9tYWluL2Zvcm0tZGF0YVwiO1xyXG5pbXBvcnQgeyBSZXNldEZvcm1UeXBlIH0gZnJvbSBcIi4uL2VudW1zL3Jlc2V0LXR5cGVcIjtcclxuaW1wb3J0IHsgRm9ybURhdGFDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2ludGVyZmFjZS9mb3JtLWRhdGEtY29uZmlnXCI7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uVXRpbCB9IGZyb20gJy4uL3V0aWwvYXBwLXV0aWwnO1xyXG5pbXBvcnQgeyBSZWdleFZhbGlkYXRvciB9IGZyb20gJy4uL3V0aWwvcmVnZXgtdmFsaWRhdG9yJztcclxuaW1wb3J0IHsgZ2V0TmVzdGVkT3B0aW9ucywgaXNSZXNldENvbnRyb2wgfSBmcm9tICcuLi91dGlsL3Jlc2V0LWZvcm0nO1xyXG5pbXBvcnQgeyBjbG9uZSB9IGZyb20gJy4vZW50aXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSeEZvcm1Db250cm9sIH0gZnJvbSBcIi4vZm9ybS1jb250cm9sXCI7XHJcbmltcG9ydCB7IFJ4Rm9ybUFycmF5IH0gZnJvbSAnLi9yeC1mb3JtLWFycmF5JztcclxuXHJcbi8qKlxyXG4gKiBSZXByZXNlbnRzIGFuIGV4dGVuZGVkIHZlcnNpb24gb2YgRm9ybUdyb3VwIHdpdGggYWRkaXRpb25hbCBmdW5jdGlvbmFsaXR5LlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFJ4Rm9ybUdyb3VwIGV4dGVuZHMgRm9ybUdyb3VwIHtcclxuICAgIC8qKlxyXG4gICAgICogUmVwcmVzZW50cyB0aGUgYmFzZSBvYmplY3QgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgZm9yIHRoZSBmb3JtIGRhdGEuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgYmFzZU9iamVjdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgZm9yIGNvbnZlcnRpbmcgZm9ybSBkYXRhIHRvIEZvcm1EYXRhLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGZvcm1EYXRhUHJvdmlkZXI6IEZvcm1EYXRhUHJvdmlkZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZm9ybSBncm91cCBoYXMgYmVlbiBzdWJtaXR0ZWQuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3N1Ym1pdHRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udGFpbnMgdGhlIG1vZGlmaWVkIHZhbHVlcyBvZiB0aGUgZm9ybSBncm91cC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfbW9kaWZpZWQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmb3JtIGdyb3VwIGhhcyBiZWVuIG1vZGlmaWVkLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9pc01vZGlmaWVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZm9ybSBncm91cCBpcyBjaGFuZ2luZy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNoYW5naW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIFJ4Rm9ybUdyb3VwLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gbW9kZWwgVGhlIG1vZGVsIGFzc29jaWF0ZWQgd2l0aCB0aGUgZm9ybSBncm91cC5cclxuICAgICAqIEBwYXJhbSBlbnRpdHlPYmplY3QgVGhlIGVudGl0eSBvYmplY3QgY29udGFpbmluZyBmb3JtIGRhdGEuXHJcbiAgICAgKiBAcGFyYW0gY29udHJvbHMgVGhlIGluaXRpYWwgY29udHJvbHMgZm9yIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgICogQHBhcmFtIHZhbGlkYXRvck9yT3B0cyBUaGUgdmFsaWRhdG9ycyBmb3IgdGhlIGZvcm0gZ3JvdXAuXHJcbiAgICAgKiBAcGFyYW0gYXN5bmNWYWxpZGF0b3IgVGhlIGFzeW5jaHJvbm91cyB2YWxpZGF0b3JzIGZvciB0aGUgZm9ybSBncm91cC5cclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBtb2RlbDogYW55LFxyXG4gICAgICAgIHByaXZhdGUgZW50aXR5T2JqZWN0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxyXG4gICAgICAgIGNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbDsgfSxcclxuICAgICAgICB2YWxpZGF0b3JPck9wdHM/OiBhbnksXHJcbiAgICAgICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbltdIHwgbnVsbFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoY29udHJvbHMsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xyXG5cclxuICAgICAgICB0aGlzLmJhc2VPYmplY3QgPSB7fTtcclxuXHJcbiAgICAgICAgZm9yICh2YXIgY29sdW1uIGluIHRoaXMuZW50aXR5T2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmFzZU9iamVjdFtjb2x1bW5dID0gdGhpcy5lbnRpdHlPYmplY3RbY29sdW1uXVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5mb3JtRGF0YVByb3ZpZGVyID0gbmV3IEZvcm1EYXRhUHJvdmlkZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEJpbmRzIHRoZSBwcmltYXJ5IGtleSBvZiB0aGUgbW9kZWwgaW5zdGFuY2UgdG8gdGhlIHByb3ZpZGVkIEpTT04gb2JqZWN0LlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gbW9kZWxJbnN0YW5jZSBUaGUgbW9kZWwgaW5zdGFuY2UuXHJcbiAgICAgKiBAcGFyYW0gak9iamVjdCBUaGUgSlNPTiBvYmplY3QgdG8gYmluZC5cclxuICAgICAqL1xyXG4gICAgYmluZFByaW1hcnlLZXkobW9kZWxJbnN0YW5jZTogYW55LCBqT2JqZWN0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XHJcbiAgICAgICAgbGV0IGluc3RhbmNlQ29udGFpbmVyID0gZGVmYXVsdENvbnRhaW5lci5nZXQobW9kZWxJbnN0YW5jZS5jb25zdHJ1Y3Rvcik7XHJcbiAgICAgICAgaWYgKGluc3RhbmNlQ29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgIGxldCBwcmltYXJ5S2V5UHJvcCA9IGluc3RhbmNlQ29udGFpbmVyLnByb3BlcnRpZXM/LmZpbHRlcih4ID0+IHguaXNQcmltYXJ5S2V5KVswXTtcclxuICAgICAgICAgICAgaWYgKHByaW1hcnlLZXlQcm9wICYmIHRoaXMubW9kZWxJbnN0YW5jZVtwcmltYXJ5S2V5UHJvcC5uYW1lXSkge1xyXG4gICAgICAgICAgICAgICAgak9iamVjdFtwcmltYXJ5S2V5UHJvcC5uYW1lXSA9IHRoaXMubW9kZWxJbnN0YW5jZVtwcmltYXJ5S2V5UHJvcC5uYW1lXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIG1vZGlmaWVkIHZhbHVlIG9mIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgbW9kaWZpZWQgdmFsdWUgYXMgYW4gb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IG1vZGlmaWVkVmFsdWUoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XHJcbiAgICAgICAgbGV0IGpPYmplY3Q6IGFueSA9IHt9O1xyXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLl9tb2RpZmllZCkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmJpbmRQcmltYXJ5S2V5KHRoaXMubW9kZWxJbnN0YW5jZSwgak9iamVjdClcclxuICAgICAgICAgICAgZm9yICh2YXIgY29sdW1uTmFtZSBpbiB0aGlzLl9tb2RpZmllZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0gaW5zdGFuY2VvZiBSeEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGpPYmplY3RbY29sdW1uTmFtZV0gPSAoPFJ4Rm9ybUdyb3VwPnRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0pLm1vZGlmaWVkVmFsdWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZvcm1BcnJheSA9IHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0gYXMgRm9ybUFycmF5O1xyXG4gICAgICAgICAgICAgICAgICAgIGpPYmplY3RbY29sdW1uTmFtZV0gPSBbXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9tb2RpZmllZFtjb2x1bW5OYW1lXS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbW9kaWZpZWRWYWx1ZSA9ICg8UnhGb3JtR3JvdXA+Zm9ybUFycmF5LmNvbnRyb2xzW2ldKS5tb2RpZmllZFZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhtb2RpZmllZFZhbHVlKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqT2JqZWN0W2NvbHVtbk5hbWVdLnB1c2gobW9kaWZpZWRWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChqT2JqZWN0W2NvbHVtbk5hbWVdLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBqT2JqZWN0W2NvbHVtbk5hbWVdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgak9iamVjdFtjb2x1bW5OYW1lXSA9IHRoaXMuX21vZGlmaWVkW2NvbHVtbk5hbWVdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gak9iamVjdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9tb2RpZmllZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyBpZiB0aGUgZm9ybSBncm91cCBpcyBtb2RpZmllZC5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZm9ybSBncm91cCBpcyBtb2RpZmllZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBpc01vZGlmaWVkKCkgeyByZXR1cm4gdGhpcy5faXNNb2RpZmllZDsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0Y2hlcyB0aGUgZm9ybSBncm91cC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGNvbnRyb2xOYW1lIE9wdGlvbmFsLiBUaGUgbmFtZSBvZiB0aGUgY29udHJvbCB0byBwYXRjaC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHBhdGNoKGNvbnRyb2xOYW1lPzogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKGNvbnRyb2xOYW1lKSB7XHJcbiAgICAgICAgICAgIGxldCBjb250cm9sID0gPFJ4Rm9ybUNvbnRyb2w+dGhpcy5jb250cm9sc1tjb250cm9sTmFtZV07XHJcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc01vZGlmaWVkKGNvbnRyb2xOYW1lLCBjb250cm9sKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm5lc3RlZEZvcm1zTW9kaWZpY2F0aW9uKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9pc01vZGlmaWVkID0gT2JqZWN0LmtleXModGhpcy5fbW9kaWZpZWQpLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc01vZGlmaWVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMubmVzdGVkQXJyYXlJc01vZGlmaWVkKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5wYXJlbnQgJiYgKDxSeEZvcm1Hcm91cD50aGlzLnBhcmVudCkucGF0Y2gpIHtcclxuICAgICAgICAgICAgKDxSeEZvcm1Hcm91cD50aGlzLnBhcmVudCkucGF0Y2goKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVja3MgaWYgdGhlIGZvcm0gZ3JvdXAgaXMgZGlydHkuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZvcm0gZ3JvdXAgaXMgZGlydHkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpc0RpcnR5KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGxldCBpc0RpcnR5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgICAgZm9yIChsZXQgbmFtZSBpbiB0aGlzLnZhbHVlKSB7XHJcbiAgICAgICAgICAgIGxldCBjdXJyZW50VmFsdWUgPSB0aGlzLm1vZGVsSW5zdGFuY2VbbmFtZV07XHJcblxyXG4gICAgICAgICAgICBpZiAoISh0aGlzLmNvbnRyb2xzW25hbWVdIGluc3RhbmNlb2YgRm9ybUdyb3VwIHx8IHRoaXMuY29udHJvbHNbbmFtZV0gaW5zdGFuY2VvZiBGb3JtQXJyYXkpKSB7XHJcbiAgICAgICAgICAgICAgICBpc0RpcnR5ID0gQXBwbGljYXRpb25VdGlsLm5vdEVxdWFsVG8odGhpcy5iYXNlT2JqZWN0W25hbWVdLCBjdXJyZW50VmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLmNvbnRyb2xzW25hbWVdIGluc3RhbmNlb2YgUnhGb3JtR3JvdXApIHtcclxuICAgICAgICAgICAgICAgIGlzRGlydHkgPSAoPFJ4Rm9ybUdyb3VwPnRoaXMuY29udHJvbHNbbmFtZV0pLmlzRGlydHkoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5jb250cm9sc1tuYW1lXSBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZm9ybUdyb3VwIG9mICg8Rm9ybUFycmF5PnRoaXMuY29udHJvbHNbbmFtZV0pLmNvbnRyb2xzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNEaXJ0eSA9ICg8UnhGb3JtR3JvdXA+Zm9ybUdyb3VwKS5pc0RpcnR5KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0RpcnR5KSB7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGlzRGlydHk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXNldHMgdGhlIGZvcm0gZ3JvdXAuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsLiBPcHRpb25zIGZvciByZXNldHRpbmcgdGhlIGZvcm0gZ3JvdXAuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZXNldEZvcm0ob3B0aW9ucz86IHsgcmVzZXRUeXBlPzogUmVzZXRGb3JtVHlwZSwgd2l0aD86IHN0cmluZ1tdLCB2YWx1ZT86IHsgW2tleTogc3RyaW5nXTogYW55IH0gfSk6IHZvaWQge1xyXG4gICAgICAgIGZvciAobGV0IG5hbWUgaW4gdGhpcy5jb250cm9scykge1xyXG4gICAgICAgICAgICBpZiAoaXNSZXNldENvbnRyb2wobmFtZSwgdGhpcy5jb250cm9sc1tuYW1lXSwgb3B0aW9ucykpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2xzW25hbWVdIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgKDxSeEZvcm1Hcm91cD50aGlzLmNvbnRyb2xzW25hbWVdKS5yZXNldEZvcm0oZ2V0TmVzdGVkT3B0aW9ucyhuYW1lLCBvcHRpb25zKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5jb250cm9sc1tuYW1lXSBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgICAgICAgICAgICAgICg8UnhGb3JtQXJyYXk+dGhpcy5jb250cm9sc1tuYW1lXSkucmVzZXRGb3JtKG9wdGlvbnMgJiYgb3B0aW9ucy52YWx1ZSA/IG9wdGlvbnMudmFsdWVbbmFtZV0gOiB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMudmFsdWUgJiYgUmVnZXhWYWxpZGF0b3IuaXNOb3RCbGFuayhvcHRpb25zLnZhbHVlW25hbWVdKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xzW25hbWVdLnJlc2V0KG9wdGlvbnMudmFsdWVbbmFtZV0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sc1tuYW1lXS5yZXNldCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbW1pdHMgY2hhbmdlcyBpbiB0aGUgZm9ybSBncm91cC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvbW1pdCgpIHtcclxuICAgICAgICBmb3IgKGxldCBuYW1lIGluIHRoaXMuY29udHJvbHMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbHNbbmFtZV0gaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcclxuICAgICAgICAgICAgICAgICg8UnhGb3JtR3JvdXA+dGhpcy5jb250cm9sc1tuYW1lXSkuY29tbWl0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5jb250cm9sc1tuYW1lXSBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgICAgICAgICAgKDxSeEZvcm1BcnJheT50aGlzLmNvbnRyb2xzW25hbWVdKS5jb21taXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICg8UnhGb3JtQ29udHJvbD50aGlzLmNvbnRyb2xzW25hbWVdKS5jb21taXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhdGNoZXMgdGhlIG1vZGVsIHZhbHVlIG9mIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHBhdGNoLlxyXG4gICAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwuIE9wdGlvbnMgZm9yIHBhdGNoaW5nIHRoZSB2YWx1ZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHBhdGNoTW9kZWxWYWx1ZSh2YWx1ZTogeyBba2V5OiBzdHJpbmddOiBhbnk7IH0sIG9wdGlvbnM/OiB7IG9ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbjsgfSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBuYW1lIGluIHRoaXMuY29udHJvbHMpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2xzW25hbWVdIGluc3RhbmNlb2YgUnhGb3JtR3JvdXAgJiYgdmFsdWVbbmFtZV0pIHtcclxuICAgICAgICAgICAgICAgICAgICAoPFJ4Rm9ybUdyb3VwPnRoaXMuY29udHJvbHNbbmFtZV0pLnBhdGNoTW9kZWxWYWx1ZSh2YWx1ZVtuYW1lXSwgb3B0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5jb250cm9sc1tuYW1lXSBpbnN0YW5jZW9mIEZvcm1BcnJheSAmJiBBcnJheS5pc0FycmF5KHZhbHVlW25hbWVdKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgZm9ybUdyb3VwIG9mICg8Rm9ybUFycmF5PnRoaXMuY29udHJvbHNbbmFtZV0pLmNvbnRyb2xzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZVtuYW1lXVtpbmRleF0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICg8UnhGb3JtR3JvdXA+Zm9ybUdyb3VwKS5wYXRjaE1vZGVsVmFsdWUodmFsdWVbbmFtZV1baW5kZXhdLCBvcHRpb25zKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBpbmRleCArIDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWVbbmFtZV0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xzW25hbWVdLnBhdGNoVmFsdWUodmFsdWVbbmFtZV0sIG9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyBlcnJvciBzdW1tYXJ5IG9mIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gb25seU1lc3NhZ2UgSW5kaWNhdGVzIHdoZXRoZXIgdG8gaW5jbHVkZSBvbmx5IGVycm9yIG1lc3NhZ2VzLlxyXG4gICAgICogQHJldHVybnMgVGhlIGVycm9yIHN1bW1hcnkgYXMgYW4gb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0RXJyb3JTdW1tYXJ5KG9ubHlNZXNzYWdlOiBib29sZWFuKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XHJcbiAgICAgICAgbGV0IGpPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmNvbnRyb2xzKS5mb3JFYWNoKGNvbHVtbk5hbWUgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGVycm9yID0gKDxSeEZvcm1Hcm91cD50aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdKS5nZXRFcnJvclN1bW1hcnkoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKGVycm9yKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgak9iamVjdFtjb2x1bW5OYW1lXSA9IGVycm9yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0gaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcclxuICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IDA7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBmb3JtR3JvdXAgb2YgKDxGb3JtQXJyYXk+dGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSkuY29udHJvbHMpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZXJyb3IgPSAoPFJ4Rm9ybUdyb3VwPmZvcm1Hcm91cCkuZ2V0RXJyb3JTdW1tYXJ5KGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoZXJyb3IpLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IuaW5kZXggPSBpbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFqT2JqZWN0W2NvbHVtbk5hbWVdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqT2JqZWN0W2NvbHVtbk5hbWVdID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpPYmplY3RbY29sdW1uTmFtZV0ucHVzaChlcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpbmRleCsrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0uZXJyb3JzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGVycm9yID0gdGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXS5lcnJvcnM7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9ubHlNZXNzYWdlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCB2YWxpZGF0aW9uTmFtZSBpbiBlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgak9iamVjdFtjb2x1bW5OYW1lXSA9IGVycm9yW3ZhbGlkYXRpb25OYW1lXT8ubWVzc2FnZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqT2JqZWN0W2NvbHVtbk5hbWVdID0gZXJyb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBqT2JqZWN0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3luY2hyb25pemVzIHZhbHVlIGNoYW5nZXMgaW4gdGhlIGZvcm0gZ3JvdXAuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB2YWx1ZUNoYW5nZWRTeW5jKCkge1xyXG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuY29udHJvbHMpLmZvckVhY2goY29sdW1uTmFtZSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghKHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0gaW5zdGFuY2VvZiBGb3JtQXJyYXkgfHwgdGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUFycmF5KSAmJiAhKHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0gaW5zdGFuY2VvZiBGb3JtR3JvdXAgfHwgdGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUdyb3VwKSAmJiAhKHRoaXMuZW50aXR5T2JqZWN0W2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wgfHwgdGhpcy5lbnRpdHlPYmplY3RbY29sdW1uTmFtZV0gaW5zdGFuY2VvZiBSeEZvcm1Db250cm9sKSAmJiAoPFJ4Rm9ybUNvbnRyb2w+dGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSkuZ2V0Q29udHJvbFZhbHVlICYmIEFwcGxpY2F0aW9uVXRpbC5ub3RFcXVhbFRvKCg8UnhGb3JtQ29udHJvbD50aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdKS5nZXRDb250cm9sVmFsdWUoKSwgdGhpcy5lbnRpdHlPYmplY3RbY29sdW1uTmFtZV0pKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdLnNldFZhbHVlKHRoaXMuZW50aXR5T2JqZWN0W2NvbHVtbk5hbWVdLCB7IHVwZGF0ZUNoYW5nZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoKHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0gaW5zdGFuY2VvZiBGb3JtQXJyYXkgfHwgdGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUFycmF5KSkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZm9ybUdyb3VwIG9mICg8Rm9ybUFycmF5PnRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0pLmNvbnRyb2xzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgKDxSeEZvcm1Hcm91cD5mb3JtR3JvdXApLnZhbHVlQ2hhbmdlZFN5bmMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmICgodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUdyb3VwKSkge1xyXG4gICAgICAgICAgICAgICAgKDxSeEZvcm1Hcm91cD50aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdKS52YWx1ZUNoYW5nZWRTeW5jKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlZnJlc2hlcyBkaXNhYmxlZCBzdGF0ZSBvZiBjb250cm9scyBpbiB0aGUgZm9ybSBncm91cC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlZnJlc2hEaXNhYmxlKCkge1xyXG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuY29udHJvbHMpLmZvckVhY2goY29sdW1uTmFtZSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghKHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0gaW5zdGFuY2VvZiBGb3JtQXJyYXkgfHwgdGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUFycmF5KSAmJiAhKHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0gaW5zdGFuY2VvZiBGb3JtR3JvdXAgfHwgdGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUdyb3VwKSkge1xyXG4gICAgICAgICAgICAgICAgKDxSeEZvcm1Db250cm9sPnRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0pLnJlZnJlc2goKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICgodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUdyb3VwKSkge1xyXG4gICAgICAgICAgICAgICAgKDxSeEZvcm1Hcm91cD50aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdKS5yZWZyZXNoRGlzYWJsZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBCaW5kcyBlcnJvciBtZXNzYWdlcyB0byBjb250cm9scyBpbiB0aGUgZm9ybSBncm91cC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGJpbmRFcnJvck1lc3NhZ2VzKCkge1xyXG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuY29udHJvbHMpLmZvckVhY2goY29sdW1uTmFtZSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghKHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0gaW5zdGFuY2VvZiBGb3JtQXJyYXkgfHwgdGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUFycmF5KSAmJiAhKHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0gaW5zdGFuY2VvZiBGb3JtR3JvdXAgfHwgdGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUdyb3VwKSkge1xyXG4gICAgICAgICAgICAgICAgKDxSeEZvcm1Db250cm9sPnRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0pLmJpbmRFcnJvcigpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKCh0aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdIGluc3RhbmNlb2YgUnhGb3JtR3JvdXApKSB7XHJcbiAgICAgICAgICAgICAgICAoPFJ4Rm9ybUdyb3VwPnRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0pLmJpbmRFcnJvck1lc3NhZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBzdWJtaXR0ZWQgc3RhdGUgb2YgdGhlIGZvcm0gZ3JvdXAuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgc3VibWl0dGVkKCkgeyByZXR1cm4gdGhpcy5fc3VibWl0dGVkOyB9XHJcbiAgICBwdWJsaWMgc2V0IHN1Ym1pdHRlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3N1Ym1pdHRlZCA9IHZhbHVlO1xyXG5cclxuICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmNvbnRyb2xzKS5mb3JFYWNoKGNvbHVtbk5hbWUgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGZvcm1BcnJheSA9IHRoaXMuY29udHJvbHNbY29sdW1uTmFtZV0gYXMgRm9ybUFycmF5O1xyXG5cclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGZvcm1Hcm91cCBvZiBmb3JtQXJyYXkuY29udHJvbHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAoPFJ4Rm9ybUdyb3VwPmZvcm1Hcm91cCkuc3VibWl0dGVkID0gdmFsdWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb250cm9sc1tjb2x1bW5OYW1lXSBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgICAgICAgKDxSeEZvcm1Hcm91cD50aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdKS5zdWJtaXR0ZWQgPSB2YWx1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICg8UnhGb3JtQ29udHJvbD50aGlzLmNvbnRyb2xzW2NvbHVtbk5hbWVdKS5iaW5kRXJyb3IoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgbW9kZWwgaW5zdGFuY2UgdmFsdWUgb2YgdGhlIGZvcm0gZ3JvdXAuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgbW9kZWxJbnN0YW5jZVZhbHVlKCkgeyByZXR1cm4gY2xvbmUodGhpcy5lbnRpdHlPYmplY3QpOyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIEdldHMgdGhlIG1vZGVsIGluc3RhbmNlIG9mIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgKi9cclxuICAgIHB1YmxpYyBnZXQgbW9kZWxJbnN0YW5jZSgpIHsgcmV0dXJuIHRoaXMuZW50aXR5T2JqZWN0OyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBlcnJvcnMgb2YgdGhlIGNvbnRyb2xzIGluIHRoZSBmb3JtIGdyb3VwLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGNvbnRyb2xzRXJyb3IoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7IHJldHVybiB0aGlzLmdldEVycm9yU3VtbWFyeSh0cnVlKTsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udmVydHMgdGhlIGZvcm0gZ3JvdXAgdG8gRm9ybURhdGEuXHJcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbC4gT3B0aW9ucyBmb3IgY29udmVydGluZyB0byBGb3JtRGF0YS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBGb3JtRGF0YSBvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0b0Zvcm1EYXRhKG9wdGlvbnM/OiBGb3JtRGF0YUNvbmZpZyk6IEZvcm1EYXRhIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtRGF0YVByb3ZpZGVyLmNvbnZlcnRUb0Zvcm1EYXRhKHRoaXMudmFsdWUsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvY2Vzc2VzIHRoZSBtb2RpZmljYXRpb24gb2YgYSBjb250cm9sIHdpdGhpbiB0aGUgZm9ybSBncm91cC5cclxuICAgICAqIEBwYXJhbSBjb250cm9sTmFtZSBUaGUgbmFtZSBvZiB0aGUgY29udHJvbCBiZWluZyBtb2RpZmllZC5cclxuICAgICAqIEBwYXJhbSBjb250cm9sIFRoZSBjb250cm9sIG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBwcm9jZXNzTW9kaWZpZWQoY29udHJvbE5hbWU6IHN0cmluZywgY29udHJvbDogYW55KSB7XHJcbiAgICAgICAgaWYgKGNvbnRyb2wuaXNNb2RpZmllZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tb2RpZmllZFtjb250cm9sTmFtZV0gPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgZGVsZXRlIHRoaXMuX21vZGlmaWVkW2NvbnRyb2xOYW1lXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2lzTW9kaWZpZWQgPSBPYmplY3Qua2V5cyh0aGlzLl9tb2RpZmllZCkubGVuZ3RoID4gMDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyBpZiBhbnkgbmVzdGVkIGFycmF5IHdpdGhpbiB0aGUgZm9ybSBncm91cCBpcyBtb2RpZmllZC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBuZXN0ZWRBcnJheUlzTW9kaWZpZWQoKSB7XHJcbiAgICAgICAgZm9yICh2YXIgY29udHJvbE5hbWUgaW4gdGhpcy5jb250cm9scykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jb250cm9sc1tjb250cm9sTmFtZV0gaW5zdGFuY2VvZiBSeEZvcm1BcnJheSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5faXNNb2RpZmllZCA9ICg8UnhGb3JtQXJyYXk+dGhpcy5jb250cm9sc1tjb250cm9sTmFtZV0pLmlzTW9kaWZpZWQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9pc01vZGlmaWVkKSB7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgYmFja2VuZCBlcnJvcnMgZm9yIHRoZSBmb3JtIGdyb3VwIGNvbnRyb2xzLlxyXG4gICAgICogQHBhcmFtIGVycm9ycyBPYmplY3QgY29udGFpbmluZyB0aGUgYmFja2VuZCBlcnJvcnMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRCYWNrRW5kRXJyb3JzKGVycm9yczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xyXG4gICAgICAgIE9iamVjdC5rZXlzKGVycm9ycykuZm9yRWFjaChjb250cm9sTmFtZSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbHNbY29udHJvbE5hbWVdIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgKDxSeEZvcm1Hcm91cD50aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSkuc2V0QmFja0VuZEVycm9ycyhlcnJvcnNbY29udHJvbE5hbWVdKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgKDxSeEZvcm1Db250cm9sPnRoaXMuY29udHJvbHNbY29udHJvbE5hbWVdKS5zZXRCYWNrRW5kRXJyb3JzKGVycm9yc1tjb250cm9sTmFtZV0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENsZWFycyBiYWNrZW5kIGVycm9ycyBmb3IgdGhlIGZvcm0gZ3JvdXAgY29udHJvbHMuXHJcbiAgICAgKiBAcGFyYW0gZXJyb3JzIE9wdGlvbmFsIG9iamVjdCBjb250YWluaW5nIHNwZWNpZmljIGVycm9ycyB0byBjbGVhci5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNsZWFyQmFja0VuZEVycm9ycyhlcnJvcnM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XHJcbiAgICAgICAgbGV0IGNsZWFyRXJyb3JzID0gZXJyb3JzID8gT2JqZWN0LmtleXMoZXJyb3JzKSA6IE9iamVjdC5rZXlzKHRoaXMuY29udHJvbHMpO1xyXG4gICAgICAgIGNsZWFyRXJyb3JzLmZvckVhY2goY29udHJvbE5hbWUgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jb250cm9sc1tjb250cm9sTmFtZV0pIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVycm9ycyA/ICg8UnhGb3JtR3JvdXA+dGhpcy5jb250cm9sc1tjb250cm9sTmFtZV0pLmNsZWFyQmFja0VuZEVycm9ycyhlcnJvcnNbY29udHJvbE5hbWVdKSA6ICg8UnhGb3JtR3JvdXA+dGhpcy5jb250cm9sc1tjb250cm9sTmFtZV0pLmNsZWFyQmFja0VuZEVycm9ycygpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBlcnJvcnMgPyAoPFJ4Rm9ybUNvbnRyb2w+dGhpcy5jb250cm9sc1tjb250cm9sTmFtZV0pLmNsZWFyQmFja0VuZEVycm9ycyhlcnJvcnNbY29udHJvbE5hbWVdKSA6ICg8UnhGb3JtR3JvdXA+dGhpcy5jb250cm9sc1tjb250cm9sTmFtZV0pLmNsZWFyQmFja0VuZEVycm9ycygpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1vZGlmaWVzIG5lc3RlZCBmb3JtcyB3aXRoaW4gdGhlIGZvcm0gZ3JvdXAuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgbmVzdGVkRm9ybXNNb2RpZmljYXRpb24oKSB7XHJcbiAgICAgICAgZm9yICh2YXIgY29udHJvbE5hbWUgaW4gdGhpcy5jb250cm9scykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jb250cm9sc1tjb250cm9sTmFtZV0gaW5zdGFuY2VvZiBSeEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzTW9kaWZpZWQoY29udHJvbE5hbWUsIHRoaXMuY29udHJvbHNbY29udHJvbE5hbWVdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSBpbnN0YW5jZW9mIFJ4Rm9ybUFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKDxSeEZvcm1BcnJheT50aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSkuaXNNb2RpZmllZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBmb3JtR3JvdXBzID0gKDxSeEZvcm1BcnJheT50aGlzLmNvbnRyb2xzW2NvbnRyb2xOYW1lXSkuY29udHJvbHM7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbW9kaWZpZWRbY29udHJvbE5hbWVdID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgZm9ybUdyb3VwIG9mIGZvcm1Hcm91cHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCg8UnhGb3JtR3JvdXA+Zm9ybUdyb3VwKS5pc01vZGlmaWVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX21vZGlmaWVkW2NvbnRyb2xOYW1lXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX21vZGlmaWVkW2NvbnRyb2xOYW1lXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX21vZGlmaWVkW2NvbnRyb2xOYW1lXS5wdXNoKCg8UnhGb3JtR3JvdXA+Zm9ybUdyb3VwKS5tb2RpZmllZFZhbHVlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX21vZGlmaWVkW2NvbnRyb2xOYW1lXS5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5fbW9kaWZpZWRbY29udHJvbE5hbWVdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9tb2RpZmllZFtjb250cm9sTmFtZV0pIHtcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5fbW9kaWZpZWRbY29udHJvbE5hbWVdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -16,10 +16,10 @@ export class TypedFormBuilder {
|
|
|
16
16
|
return !(paramOptions && paramOptions.isInstance) ? this.rxFormBuilder.formGroup(controlsConfig, paramOptions.data, paramOptions.config) : this.rxFormBuilder.formGroup(controlsConfig, paramOptions.data, paramOptions.config).modelInstance;
|
|
17
17
|
return this.formBuilder.group(controlsConfig, options);
|
|
18
18
|
}
|
|
19
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
20
|
-
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
19
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TypedFormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
|
+
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TypedFormBuilder });
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TypedFormBuilder, decorators: [{
|
|
23
23
|
type: Injectable
|
|
24
24
|
}], ctorParameters: () => [] });
|
|
25
25
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWQtZm9ybS1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL3NlcnZpY2VzL3R5cGVkLWZvcm0tYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBMEIsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFJbEQsTUFBTSxPQUFPLGdCQUFnQjtJQUNqQixXQUFXLENBQWM7SUFDekIsYUFBYSxDQUFnQjtJQUNyQztRQUNJLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBSSxjQUVSLEVBQUUsT0FFSztRQUNKLElBQUksWUFBWSxHQUFZLE9BQU8sSUFBUyxFQUFFLENBQUM7UUFDL0MsSUFBSSxPQUFPLGNBQWMsSUFBSSxlQUFlO1lBQ3hDLE9BQU8sQ0FBQyxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQWtCLENBQUMsQ0FBQyxDQUFlLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUUsQ0FBQyxhQUFrQixDQUFDO1FBQ3ZSLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNELENBQUM7MEhBakJRLGdCQUFnQjs4SEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbE9wdGlvbnMsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7IEZVTkNUSU9OX1NUUklORyB9IGZyb20gXCIuLi9jb25zdC9hcHAuY29uc3RcIjtcclxuaW1wb3J0IHsgSUZvcm1Hcm91cCB9IGZyb20gXCIuLi9tb2RlbHMvaW50ZXJmYWNlL2ktZm9ybS1ncm91cFwiO1xyXG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSBcIi4uL21vZGVscy9pbnRlcmZhY2Uvb3B0aW9uc1wiO1xyXG5pbXBvcnQgeyBSeEZvcm1CdWlsZGVyIH0gZnJvbSBcIi4vcngtZm9ybS1idWlsZGVyXCI7XHJcbmltcG9ydCB7IFJ4Rm9ybUdyb3VwIH0gZnJvbSBcIi4vcngtZm9ybS1ncm91cFwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVHlwZWRGb3JtQnVpbGRlciB7XHJcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcjtcclxuICAgIHByaXZhdGUgcnhGb3JtQnVpbGRlcjogUnhGb3JtQnVpbGRlcjtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuZm9ybUJ1aWxkZXIgPSBuZXcgRm9ybUJ1aWxkZXIoKTtcclxuICAgICAgICB0aGlzLnJ4Rm9ybUJ1aWxkZXIgPSBuZXcgUnhGb3JtQnVpbGRlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGdyb3VwPFQ+KGNvbnRyb2xzQ29uZmlnOiB7XHJcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgfSwgb3B0aW9ucz86IEFic3RyYWN0Q29udHJvbE9wdGlvbnMgfCB7XHJcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgfSB8IG51bGwpOiBGb3JtR3JvdXAgfCBUIHtcclxuICAgICAgICBsZXQgcGFyYW1PcHRpb25zID0gPE9wdGlvbnM+b3B0aW9ucyB8fCA8YW55Pnt9O1xyXG4gICAgICAgIGlmICh0eXBlb2YgY29udHJvbHNDb25maWcgPT0gRlVOQ1RJT05fU1RSSU5HKVxyXG4gICAgICAgICAgICByZXR1cm4gIShwYXJhbU9wdGlvbnMgJiYgcGFyYW1PcHRpb25zLmlzSW5zdGFuY2UpID8gdGhpcy5yeEZvcm1CdWlsZGVyLmZvcm1Hcm91cChjb250cm9sc0NvbmZpZywgcGFyYW1PcHRpb25zLmRhdGEsIHBhcmFtT3B0aW9ucy5jb25maWcpIGFzIElGb3JtR3JvdXA8VD4gOiAoPFJ4Rm9ybUdyb3VwPnRoaXMucnhGb3JtQnVpbGRlci5mb3JtR3JvdXAoY29udHJvbHNDb25maWcsIHBhcmFtT3B0aW9ucy5kYXRhLCBwYXJhbU9wdGlvbnMuY29uZmlnKSkubW9kZWxJbnN0YW5jZSBhcyBUO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKGNvbnRyb2xzQ29uZmlnLCBvcHRpb25zKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -158,4 +158,4 @@ export class ApplicationUtil {
|
|
|
158
158
|
return ApplicationUtil.isObject(value) ? ApplicationUtil.isArray(value) ? [...value] : { ...value } : value;
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvdXRpbC9hcHAtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsTUFBTSxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztBQUVsRCxNQUFNLE9BQU8sZUFBZTtJQUMzQjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLG9CQUFvQixDQUFDLE9BQXdCO1FBQzFELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxPQUF3QjtRQUNqRSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQXdCO1FBQ3RELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQVksT0FBTyxDQUFD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QUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdHLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTnVtZXJpY1ZhbHVlVHlwZSB9IGZyb20gJy4uL2VudW1zJztcclxuaW1wb3J0IHsgUnhGb3JtQXJyYXkgfSBmcm9tIFwiLi4vc2VydmljZXMvcngtZm9ybS1hcnJheVwiO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1Db25maWcgfSBmcm9tIFwiLi9yZWFjdGl2ZS1mb3JtLWNvbmZpZ1wiO1xyXG5cclxuY29uc3QgTU9ERUxfSU5TVEFOQ0VfVkFMVUUgPSBcIm1vZGVsSW5zdGFuY2VWYWx1ZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uVXRpbCB7XHJcblx0LyoqXHJcblx0ICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIHBhcmVudCBjb250cm9sIG9iamVjdFxyXG5cdCAqIEBwYXJhbSBjb250cm9sIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBzdGF0aWMgZ2V0UGFyZW50T2JqZWN0VmFsdWUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XHJcblx0XHRyZXR1cm4gY29udHJvbC5wYXJlbnQgPyB0aGlzLnBhcmVudE9iamVjdFZhbHVlKGNvbnRyb2wucGFyZW50KT8udmFsdWUgOiB7fTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBwcmFudCBtb2RlbCBpbnN0YW5jZVxyXG5cdCAqIEBwYXJhbSBjb250cm9sIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBzdGF0aWMgZ2V0UGFyZW50TW9kZWxJbnN0YW5jZVZhbHVlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xyXG5cdFx0cmV0dXJuIGNvbnRyb2wucGFyZW50ID8gKHRoaXMucGFyZW50T2JqZWN0VmFsdWUoY29udHJvbC5wYXJlbnQpIGFzIGFueSlbTU9ERUxfSU5TVEFOQ0VfVkFMVUVdIDoge307XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBHZXRzIHRoZSByb290IGNvbnRyb2wgb2YgdGhlIHNwZWNpZmllZCBjb250cm9sXHJcblx0ICogQHBhcmFtIGNvbnRyb2wgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIHN0YXRpYyBnZXRSb290Rm9ybUdyb3VwKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IEZvcm1Hcm91cCB7XHJcblx0XHRyZXR1cm4gY29udHJvbC5wYXJlbnQgPyB0aGlzLmdldFJvb3RGb3JtR3JvdXAoY29udHJvbC5wYXJlbnQpIDogPEZvcm1Hcm91cD5jb250cm9sO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyBwYXJlbnQgY29udHJvbFxyXG5cdCAqIEBwYXJhbSBjb250cm9sIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgc3RhdGljIGdldFBhcmVudENvbnRyb2woY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XHJcblx0XHRyZXR1cm4gY29udHJvbC5wYXJlbnQgPyB0aGlzLnBhcmVudE9iamVjdFZhbHVlKGNvbnRyb2wucGFyZW50KSA6IGNvbnRyb2w7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgc3RhdGljIGdldEZvcm1Db250cm9sTmFtZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcclxuXHRcdGxldCBjb250cm9sTmFtZTogc3RyaW5nID0gJyc7XHJcblx0XHRpZiAoY29udHJvbC5wYXJlbnQpIHtcclxuXHRcdFx0Zm9yICh2YXIgZm9ybUNvbnRyb2xOYW1lIGluIGNvbnRyb2wucGFyZW50LmNvbnRyb2xzKSB7XHJcblx0XHRcdFx0aWYgKChjb250cm9sLnBhcmVudC5jb250cm9scyBhcyBhbnkpW2Zvcm1Db250cm9sTmFtZV0gPT0gY29udHJvbCkge1xyXG5cdFx0XHRcdFx0Y29udHJvbE5hbWUgPSBmb3JtQ29udHJvbE5hbWU7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiBjb250cm9sTmFtZTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgZ2V0UGFyZW50Rm9ybUFycmF5KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IEZvcm1BcnJheSB8IG51bGwge1xyXG5cdFx0aWYgKGNvbnRyb2wucGFyZW50ICYmICEoY29udHJvbC5wYXJlbnQgaW5zdGFuY2VvZiBGb3JtQXJyYXkgfHwgY29udHJvbC5wYXJlbnQgaW5zdGFuY2VvZiBSeEZvcm1BcnJheSkpIHtcclxuXHRcdFx0bGV0IHBhcmVudCA9IHRoaXMuZ2V0UGFyZW50Rm9ybUFycmF5KGNvbnRyb2wucGFyZW50KVxyXG5cdFx0XHRyZXR1cm4gcGFyZW50O1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBjb250cm9sLnBhcmVudCBhcyBGb3JtQXJyYXk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgc3RhdGljIHRvTG93ZXIodmFsdWU6IGFueSkge1xyXG5cdFx0aWYgKHZhbHVlKVxyXG5cdFx0XHRyZXR1cm4gU3RyaW5nKHZhbHVlKS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcclxuXHRcdHJldHVybiB2YWx1ZTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Q29udHJvbChmaWVsZE5hbWU6IHN0cmluZywgZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcclxuXHRcdGxldCBzcGxpdFRleHQgPSBmaWVsZE5hbWUuc3BsaXQoJy4nKTtcclxuXHRcdGlmIChzcGxpdFRleHQubGVuZ3RoID4gMSkge1xyXG5cdFx0XHR2YXIgZm9ybUNvbnRyb2w6IGFueSA9IGZvcm1Hcm91cDtcclxuXHRcdFx0c3BsaXRUZXh0LmZvckVhY2goKG5hbWUsIGluZGV4KSA9PiB7IGZvcm1Db250cm9sID0gZm9ybUNvbnRyb2wuY29udHJvbHNbbmFtZV0gfSlcclxuXHRcdFx0cmV0dXJuIGZvcm1Db250cm9sO1xyXG5cdFx0fSBlbHNlXHJcblx0XHRcdHJldHVybiBmb3JtR3JvdXAuY29udHJvbHNbZmllbGROYW1lXTtcclxuXHJcblx0fVxyXG5cclxuXHRwdWJsaWMgc3RhdGljIGdldEZvcm1Db250cm9sKGZpZWxkTmFtZTogc3RyaW5nLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcclxuXHRcdGxldCBzcGxpdFRleHQgPSBmaWVsZE5hbWUuc3BsaXQoJy4nKTtcclxuXHRcdGlmIChzcGxpdFRleHQubGVuZ3RoID4gMSAmJiBjb250cm9sLnBhcmVudCkge1xyXG5cdFx0XHR2YXIgZm9ybUNvbnRyb2w6IGFueSA9IHRoaXMuZ2V0UGFyZW50Q29udHJvbChjb250cm9sKTtcclxuXHRcdFx0c3BsaXRUZXh0LmZvckVhY2goKG5hbWUsIGluZGV4KSA9PiB7IGZvcm1Db250cm9sID0gZm9ybUNvbnRyb2wuY29udHJvbHNbbmFtZV0gfSlcclxuXHRcdFx0cmV0dXJuIGZvcm1Db250cm9sO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIChjb250cm9sLnBhcmVudCkgPyBjb250cm9sLnBhcmVudC5nZXQoW2ZpZWxkTmFtZV0pIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyBwYXJlbnQgY29udHJvaWwgcmVjdXJzaXZlbHlcclxuXHQgKiBAcGFyYW0gY29udHJvbCBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIHN0YXRpYyBwYXJlbnRPYmplY3RWYWx1ZShjb250cm9sOiBGb3JtR3JvdXAgfCBGb3JtQXJyYXkpOiBGb3JtR3JvdXAgfCBGb3JtQXJyYXkge1xyXG5cdFx0cmV0dXJuIGNvbnRyb2w/LnBhcmVudCA/IHRoaXMucGFyZW50T2JqZWN0VmFsdWUoY29udHJvbC5wYXJlbnQpIDogY29udHJvbDtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgaXNOdW1lcmljKHZhbHVlOiBhbnkpIHtcclxuXHRcdHJldHVybiAodmFsdWUgLSBwYXJzZUZsb2F0KHZhbHVlKSArIDEpID49IDA7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgc3RhdGljIG5vdEVxdWFsVG8ocHJpbWFyeVZhbHVlOiBhbnksIHNlY29uZGFyeVZhbHVlOiBhbnkpIHtcclxuXHRcdGxldCBmaXJzdFZhbHVlID0gKHByaW1hcnlWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHByaW1hcnlWYWx1ZSA9PT0gbnVsbCkgPyBcIlwiIDogcHJpbWFyeVZhbHVlO1xyXG5cdFx0bGV0IHNlY29uZFZhbHVlID0gKHNlY29uZGFyeVZhbHVlID09PSB1bmRlZmluZWQgfHwgc2Vjb25kYXJ5VmFsdWUgPT09IG51bGwpID8gXCJcIiA6IHNlY29uZGFyeVZhbHVlO1xyXG5cdFx0aWYgKGZpcnN0VmFsdWUgaW5zdGFuY2VvZiBEYXRlICYmIHNlY29uZFZhbHVlIGluc3RhbmNlb2YgRGF0ZSlcclxuXHRcdFx0cmV0dXJuICtmaXJzdFZhbHVlICE9ICtzZWNvbmRWYWx1ZTtcclxuXHRcdHJldHVybiAoZmlyc3RWYWx1ZSAhPSBzZWNvbmRWYWx1ZSlcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgbnVtZXJpY1ZhbGlkYXRpb24oYWxsb3dEZWNpbWFsOiBib29sZWFuLCBhY2NlcHRWYWx1ZTogTnVtZXJpY1ZhbHVlVHlwZSkge1xyXG5cdFx0bGV0IGRlY2ltYWxTeW1ib2w6IHN0cmluZztcclxuXHRcdGlmIChSZWFjdGl2ZUZvcm1Db25maWcgJiYgUmVhY3RpdmVGb3JtQ29uZmlnLm51bWJlcikge1xyXG5cdFx0XHRkZWNpbWFsU3ltYm9sID0gKFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uICYmIFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmFsbG93RGVjaW1hbFN5bWJvbCkgPyBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5hbGxvd0RlY2ltYWxTeW1ib2wgOiBSZWFjdGl2ZUZvcm1Db25maWcubnVtYmVyLmRlY2ltYWxTeW1ib2w7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRkZWNpbWFsU3ltYm9sID0gXCIuXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0YWNjZXB0VmFsdWUgPSAoYWNjZXB0VmFsdWUgPT0gdW5kZWZpbmVkKSA/IE51bWVyaWNWYWx1ZVR5cGUuUG9zaXRpdmVOdW1iZXIgOiBhY2NlcHRWYWx1ZTtcclxuXHRcdGxldCByZWdleCA9IC9eWzAtOV0rJC87XHJcblx0XHRzd2l0Y2ggKGFjY2VwdFZhbHVlKSB7XHJcblx0XHRcdGNhc2UgTnVtZXJpY1ZhbHVlVHlwZS5Qb3NpdGl2ZU51bWJlcjpcclxuXHRcdFx0XHRyZWdleCA9ICghYWxsb3dEZWNpbWFsKSA/IC9eWzAtOV0rJC8gOiAoZGVjaW1hbFN5bWJvbCA9PSBcIi5cIiB8fCBkZWNpbWFsU3ltYm9sID09IHVuZGVmaW5lZCkgPyAvXlswLTlcXC5dKyQvIDogL15bMC05XFwsXSskLztcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSBOdW1lcmljVmFsdWVUeXBlLk5lZ2F0aXZlTnVtYmVyOlxyXG5cdFx0XHRcdHJlZ2V4ID0gKCFhbGxvd0RlY2ltYWwpID8gL15bLV1bMC05XSskLyA6IChkZWNpbWFsU3ltYm9sID09IFwiLlwiIHx8IGRlY2ltYWxTeW1ib2wgPT0gdW5kZWZpbmVkKSA/IC9eWy1dWzAtOVxcLl0rJC8gOiAvXlstXVswLTlcXCxdKyQvO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIE51bWVyaWNWYWx1ZVR5cGUuQm90aDpcclxuXHRcdFx0XHRyZWdleCA9ICghYWxsb3dEZWNpbWFsKSA/IC9eWy18K10/WzAtOV0rJC8gOiAoZGVjaW1hbFN5bWJvbCA9PSBcIi5cIiB8fCBkZWNpbWFsU3ltYm9sID09IHVuZGVmaW5lZCkgPyAvXlstfCtdP1swLTlcXC5dKyQvIDogL15bLXwrXT9bMC05XFwsXSskLztcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHRcdHJldHVybiByZWdleDtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgY29uZmlndXJlQ29udHJvbChjb250cm9sOiBhbnksIGNvbmZpZzogYW55LCB0eXBlOiBzdHJpbmcpIHtcclxuXHRcdGlmICghY29udHJvbC52YWxpZGF0b3JDb25maWcpIHtcclxuXHRcdFx0bGV0IGpPYmplY3Q6IGFueSA9IHt9O1xyXG5cdFx0XHRqT2JqZWN0W3R5cGVdID0gY29uZmlnO1xyXG5cdFx0XHRPYmplY3QuYXNzaWduKGNvbnRyb2wsIHsgdmFsaWRhdG9yQ29uZmlnOiBqT2JqZWN0IH0pXHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRjb250cm9sLnZhbGlkYXRvckNvbmZpZ1t0eXBlXSA9IGNvbmZpZztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgbG93ZXJDYXNlV2l0aFRyaW0odmFsdWU6IHN0cmluZykge1xyXG5cdFx0cmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiA/IHZhbHVlLnRvTG93ZXJDYXNlKCkudHJpbSgpIDogU3RyaW5nKHZhbHVlKS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrIGlmIGEgdmFsdWUgaXMgYW4gb2JqZWN0XHJcblx0ICogQHBhcmFtIHZhbHVlIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBzdGF0aWMgaXNPYmplY3QodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IE9iamVjdF0nO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2hlY2sgaWYgYSB2YWx1ZSBpcyBhbiBvYmplY3RcclxuXHQgKiBAcGFyYW0gdmFsdWUgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIHN0YXRpYyBpc0FycmF5KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENsb25lcyB0aGUgc3BlY2lmaWVkIG9iamVjdCB2YWx1ZVxyXG5cdCAqIEBwYXJhbSB2YWx1ZSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgc3RhdGljIGNsb25lVmFsdWUodmFsdWU6IGFueSk6IGFueSB7XHJcblx0XHRyZXR1cm4gQXBwbGljYXRpb25VdGlsLmlzT2JqZWN0KHZhbHVlKSA/IEFwcGxpY2F0aW9uVXRpbC5pc0FycmF5KHZhbHVlKSA/IFsuLi52YWx1ZV0gOiB7IC4uLnZhbHVlIH0gOiB2YWx1ZTtcclxuXHR9XHJcbn1cclxuIl19
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvdXRpbC9hcHAtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsTUFBTSxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztBQUVsRCxNQUFNLE9BQU8sZUFBZTtJQUMzQjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLG9CQUFvQixDQUFDLE9BQXdCO1FBQzFELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxPQUF3QjtRQUNqRSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQXdCO1FBQ3RELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQVksT0FBTyxDQUFD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QUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDN0csQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBOdW1lcmljVmFsdWVUeXBlIH0gZnJvbSAnLi4vZW51bXMnO1xyXG5pbXBvcnQgeyBSeEZvcm1BcnJheSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9yeC1mb3JtLWFycmF5XCI7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybUNvbmZpZyB9IGZyb20gXCIuL3JlYWN0aXZlLWZvcm0tY29uZmlnXCI7XHJcblxyXG5jb25zdCBNT0RFTF9JTlNUQU5DRV9WQUxVRSA9IFwibW9kZWxJbnN0YW5jZVZhbHVlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25VdGlsIHtcclxuXHQvKipcclxuXHQgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgcGFyZW50IGNvbnRyb2wgb2JqZWN0XHJcblx0ICogQHBhcmFtIGNvbnRyb2wgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIHN0YXRpYyBnZXRQYXJlbnRPYmplY3RWYWx1ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcclxuXHRcdHJldHVybiBjb250cm9sLnBhcmVudCA/IHRoaXMucGFyZW50T2JqZWN0VmFsdWUoY29udHJvbC5wYXJlbnQpPy52YWx1ZSA6IHt9O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIHByYW50IG1vZGVsIGluc3RhbmNlXHJcblx0ICogQHBhcmFtIGNvbnRyb2wgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIHN0YXRpYyBnZXRQYXJlbnRNb2RlbEluc3RhbmNlVmFsdWUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XHJcblx0XHRyZXR1cm4gY29udHJvbC5wYXJlbnQgPyAodGhpcy5wYXJlbnRPYmplY3RWYWx1ZShjb250cm9sLnBhcmVudCkgYXMgYW55KVtNT0RFTF9JTlNUQU5DRV9WQUxVRV0gOiB7fTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldHMgdGhlIHJvb3QgY29udHJvbCBvZiB0aGUgc3BlY2lmaWVkIGNvbnRyb2xcclxuXHQgKiBAcGFyYW0gY29udHJvbCBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgc3RhdGljIGdldFJvb3RGb3JtR3JvdXAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogRm9ybUdyb3VwIHtcclxuXHRcdHJldHVybiBjb250cm9sLnBhcmVudCA/IHRoaXMuZ2V0Um9vdEZvcm1Hcm91cChjb250cm9sLnBhcmVudCkgOiA8Rm9ybUdyb3VwPmNvbnRyb2w7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBHZXRzIHBhcmVudCBjb250cm9sXHJcblx0ICogQHBhcmFtIGNvbnRyb2wgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSBzdGF0aWMgZ2V0UGFyZW50Q29udHJvbChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcclxuXHRcdHJldHVybiBjb250cm9sLnBhcmVudCA/IHRoaXMucGFyZW50T2JqZWN0VmFsdWUoY29udHJvbC5wYXJlbnQpIDogY29udHJvbDtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Rm9ybUNvbnRyb2xOYW1lKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xyXG5cdFx0bGV0IGNvbnRyb2xOYW1lOiBzdHJpbmcgPSAnJztcclxuXHRcdGlmIChjb250cm9sLnBhcmVudCkge1xyXG5cdFx0XHRmb3IgKHZhciBmb3JtQ29udHJvbE5hbWUgaW4gY29udHJvbC5wYXJlbnQuY29udHJvbHMpIHtcclxuXHRcdFx0XHRpZiAoKGNvbnRyb2wucGFyZW50LmNvbnRyb2xzIGFzIGFueSlbZm9ybUNvbnRyb2xOYW1lXSA9PSBjb250cm9sKSB7XHJcblx0XHRcdFx0XHRjb250cm9sTmFtZSA9IGZvcm1Db250cm9sTmFtZTtcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIGNvbnRyb2xOYW1lO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHN0YXRpYyBnZXRQYXJlbnRGb3JtQXJyYXkoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogRm9ybUFycmF5IHwgbnVsbCB7XHJcblx0XHRpZiAoY29udHJvbC5wYXJlbnQgJiYgIShjb250cm9sLnBhcmVudCBpbnN0YW5jZW9mIEZvcm1BcnJheSB8fCBjb250cm9sLnBhcmVudCBpbnN0YW5jZW9mIFJ4Rm9ybUFycmF5KSkge1xyXG5cdFx0XHRsZXQgcGFyZW50ID0gdGhpcy5nZXRQYXJlbnRGb3JtQXJyYXkoY29udHJvbC5wYXJlbnQpXHJcblx0XHRcdHJldHVybiBwYXJlbnQ7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIGNvbnRyb2wucGFyZW50IGFzIEZvcm1BcnJheTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgdG9Mb3dlcih2YWx1ZTogYW55KSB7XHJcblx0XHRpZiAodmFsdWUpXHJcblx0XHRcdHJldHVybiBTdHJpbmcodmFsdWUpLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xyXG5cdFx0cmV0dXJuIHZhbHVlO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHN0YXRpYyBnZXRDb250cm9sKGZpZWxkTmFtZTogc3RyaW5nLCBmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xyXG5cdFx0bGV0IHNwbGl0VGV4dCA9IGZpZWxkTmFtZS5zcGxpdCgnLicpO1xyXG5cdFx0aWYgKHNwbGl0VGV4dC5sZW5ndGggPiAxKSB7XHJcblx0XHRcdHZhciBmb3JtQ29udHJvbDogYW55ID0gZm9ybUdyb3VwO1xyXG5cdFx0XHRzcGxpdFRleHQuZm9yRWFjaCgobmFtZSwgaW5kZXgpID0+IHsgZm9ybUNvbnRyb2wgPSBmb3JtQ29udHJvbC5jb250cm9sc1tuYW1lXSB9KVxyXG5cdFx0XHRyZXR1cm4gZm9ybUNvbnRyb2w7XHJcblx0XHR9IGVsc2VcclxuXHRcdFx0cmV0dXJuIGZvcm1Hcm91cC5jb250cm9sc1tmaWVsZE5hbWVdO1xyXG5cclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Rm9ybUNvbnRyb2woZmllbGROYW1lOiBzdHJpbmcsIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xyXG5cdFx0bGV0IHNwbGl0VGV4dCA9IGZpZWxkTmFtZS5zcGxpdCgnLicpO1xyXG5cdFx0aWYgKHNwbGl0VGV4dC5sZW5ndGggPiAxICYmIGNvbnRyb2wucGFyZW50KSB7XHJcblx0XHRcdHZhciBmb3JtQ29udHJvbDogYW55ID0gdGhpcy5nZXRQYXJlbnRDb250cm9sKGNvbnRyb2wpO1xyXG5cdFx0XHRzcGxpdFRleHQuZm9yRWFjaCgobmFtZSwgaW5kZXgpID0+IHsgZm9ybUNvbnRyb2wgPSBmb3JtQ29udHJvbC5jb250cm9sc1tuYW1lXSB9KVxyXG5cdFx0XHRyZXR1cm4gZm9ybUNvbnRyb2w7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gKGNvbnRyb2wucGFyZW50KSA/IGNvbnRyb2wucGFyZW50LmdldChbZmllbGROYW1lXSkgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBHZXRzIHBhcmVudCBjb250cm9pbCByZWN1cnNpdmVseVxyXG5cdCAqIEBwYXJhbSBjb250cm9sIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgc3RhdGljIHBhcmVudE9iamVjdFZhbHVlKGNvbnRyb2w6IEZvcm1Hcm91cCB8IEZvcm1BcnJheSk6IEZvcm1Hcm91cCB8IEZvcm1BcnJheSB7XHJcblx0XHRyZXR1cm4gY29udHJvbD8ucGFyZW50ID8gdGhpcy5wYXJlbnRPYmplY3RWYWx1ZShjb250cm9sLnBhcmVudCkgOiBjb250cm9sO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHN0YXRpYyBpc051bWVyaWModmFsdWU6IGFueSkge1xyXG5cdFx0cmV0dXJuICh2YWx1ZSAtIHBhcnNlRmxvYXQodmFsdWUpICsgMSkgPj0gMDtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgbm90RXF1YWxUbyhwcmltYXJ5VmFsdWU6IGFueSwgc2Vjb25kYXJ5VmFsdWU6IGFueSkge1xyXG5cdFx0bGV0IGZpcnN0VmFsdWUgPSAocHJpbWFyeVZhbHVlID09PSB1bmRlZmluZWQgfHwgcHJpbWFyeVZhbHVlID09PSBudWxsKSA/IFwiXCIgOiBwcmltYXJ5VmFsdWU7XHJcblx0XHRsZXQgc2Vjb25kVmFsdWUgPSAoc2Vjb25kYXJ5VmFsdWUgPT09IHVuZGVmaW5lZCB8fCBzZWNvbmRhcnlWYWx1ZSA9PT0gbnVsbCkgPyBcIlwiIDogc2Vjb25kYXJ5VmFsdWU7XHJcblx0XHRpZiAoZmlyc3RWYWx1ZSBpbnN0YW5jZW9mIERhdGUgJiYgc2Vjb25kVmFsdWUgaW5zdGFuY2VvZiBEYXRlKVxyXG5cdFx0XHRyZXR1cm4gK2ZpcnN0VmFsdWUgIT0gK3NlY29uZFZhbHVlO1xyXG5cdFx0cmV0dXJuIChmaXJzdFZhbHVlICE9IHNlY29uZFZhbHVlKVxyXG5cdH1cclxuXHJcblx0cHVibGljIHN0YXRpYyBudW1lcmljVmFsaWRhdGlvbihhbGxvd0RlY2ltYWw6IGJvb2xlYW4sIGFjY2VwdFZhbHVlOiBOdW1lcmljVmFsdWVUeXBlKSB7XHJcblx0XHRsZXQgZGVjaW1hbFN5bWJvbDogc3RyaW5nO1xyXG5cdFx0aWYgKFJlYWN0aXZlRm9ybUNvbmZpZyAmJiBSZWFjdGl2ZUZvcm1Db25maWcubnVtYmVyKSB7XHJcblx0XHRcdGRlY2ltYWxTeW1ib2wgPSAoUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24gJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uYWxsb3dEZWNpbWFsU3ltYm9sKSA/IFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmFsbG93RGVjaW1hbFN5bWJvbCA6IFJlYWN0aXZlRm9ybUNvbmZpZy5udW1iZXIuZGVjaW1hbFN5bWJvbDtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGRlY2ltYWxTeW1ib2wgPSBcIi5cIjtcclxuXHRcdH1cclxuXHJcblx0XHRhY2NlcHRWYWx1ZSA9IChhY2NlcHRWYWx1ZSA9PSB1bmRlZmluZWQpID8gTnVtZXJpY1ZhbHVlVHlwZS5Qb3NpdGl2ZU51bWJlciA6IGFjY2VwdFZhbHVlO1xyXG5cdFx0bGV0IHJlZ2V4ID0gL15bMC05XSskLztcclxuXHRcdHN3aXRjaCAoYWNjZXB0VmFsdWUpIHtcclxuXHRcdFx0Y2FzZSBOdW1lcmljVmFsdWVUeXBlLlBvc2l0aXZlTnVtYmVyOlxyXG5cdFx0XHRcdHJlZ2V4ID0gKCFhbGxvd0RlY2ltYWwpID8gL15bMC05XSskLyA6IChkZWNpbWFsU3ltYm9sID09IFwiLlwiIHx8IGRlY2ltYWxTeW1ib2wgPT0gdW5kZWZpbmVkKSA/IC9eWzAtOVxcLl0rJC8gOiAvXlswLTlcXCxdKyQvO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIE51bWVyaWNWYWx1ZVR5cGUuTmVnYXRpdmVOdW1iZXI6XHJcblx0XHRcdFx0cmVnZXggPSAoIWFsbG93RGVjaW1hbCkgPyAvXlstXVswLTldKyQvIDogKGRlY2ltYWxTeW1ib2wgPT0gXCIuXCIgfHwgZGVjaW1hbFN5bWJvbCA9PSB1bmRlZmluZWQpID8gL15bLV1bMC05XFwuXSskLyA6IC9eWy1dWzAtOVxcLF0rJC87XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgTnVtZXJpY1ZhbHVlVHlwZS5Cb3RoOlxyXG5cdFx0XHRcdHJlZ2V4ID0gKCFhbGxvd0RlY2ltYWwpID8gL15bLXwrXT9bMC05XSskLyA6IChkZWNpbWFsU3ltYm9sID09IFwiLlwiIHx8IGRlY2ltYWxTeW1ib2wgPT0gdW5kZWZpbmVkKSA/IC9eWy18K10/WzAtOVxcLl0rJC8gOiAvXlstfCtdP1swLTlcXCxdKyQvO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHJlZ2V4O1xyXG5cdH1cclxuXHJcblx0cHVibGljIHN0YXRpYyBjb25maWd1cmVDb250cm9sKGNvbnRyb2w6IGFueSwgY29uZmlnOiBhbnksIHR5cGU6IHN0cmluZykge1xyXG5cdFx0aWYgKCFjb250cm9sLnZhbGlkYXRvckNvbmZpZykge1xyXG5cdFx0XHRsZXQgak9iamVjdDogYW55ID0ge307XHJcblx0XHRcdGpPYmplY3RbdHlwZV0gPSBjb25maWc7XHJcblx0XHRcdE9iamVjdC5hc3NpZ24oY29udHJvbCwgeyB2YWxpZGF0b3JDb25maWc6IGpPYmplY3QgfSlcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGNvbnRyb2wudmFsaWRhdG9yQ29uZmlnW3R5cGVdID0gY29uZmlnO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHVibGljIHN0YXRpYyBsb3dlckNhc2VXaXRoVHJpbSh2YWx1ZTogc3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiID8gdmFsdWUudG9Mb3dlckNhc2UoKS50cmltKCkgOiBTdHJpbmcodmFsdWUpLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2hlY2sgaWYgYSB2YWx1ZSBpcyBhbiBvYmplY3RcclxuXHQgKiBAcGFyYW0gdmFsdWUgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIHN0YXRpYyBpc09iamVjdCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgT2JqZWN0XSc7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDaGVjayBpZiBhIHZhbHVlIGlzIGFuIG9iamVjdFxyXG5cdCAqIEBwYXJhbSB2YWx1ZSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgc3RhdGljIGlzQXJyYXkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2xvbmVzIHRoZSBzcGVjaWZpZWQgb2JqZWN0IHZhbHVlXHJcblx0ICogQHBhcmFtIHZhbHVlIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBzdGF0aWMgY2xvbmVWYWx1ZSh2YWx1ZTogYW55KTogYW55IHtcclxuXHRcdHJldHVybiBBcHBsaWNhdGlvblV0aWwuaXNPYmplY3QodmFsdWUpID8gQXBwbGljYXRpb25VdGlsLmlzQXJyYXkodmFsdWUpID8gWy4uLnZhbHVlXSA6IHsgLi4udmFsdWUgfSA6IHZhbHVlO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -8,4 +8,4 @@ export function checkLength(length, checks) {
|
|
|
8
8
|
}
|
|
9
9
|
return isPassed;
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stbGVuZ3RoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL3V0aWwvY2hlY2stbGVuZ3RoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUMsTUFBYyxFQUFFLE1BQWdCO0lBQzFELElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNyQixLQUFLLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLFFBQVEsR0FBRyxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQTtRQUM1QixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsTUFBTTtRQUNSLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBjaGVja0xlbmd0aChsZW5ndGg6IG51bWJlciwgY2hlY2tzOiBudW1iZXJbXSk6IGJvb2xlYW4ge1xyXG4gIGxldCBpc1Bhc3NlZCA9IGZhbHNlO1xyXG4gIGZvciAobGV0IGNoZWNrIG9mIGNoZWNrcykge1xyXG4gICAgaXNQYXNzZWQgPSAoY2hlY2sgPT0gbGVuZ3RoKVxyXG4gICAgaWYgKGlzUGFzc2VkKSB7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGlzUGFzc2VkO1xyXG59XHJcbiJdfQ==
|
|
@@ -34,4 +34,4 @@ function checkRequiredProps(config, configName) {
|
|
|
34
34
|
}
|
|
35
35
|
return config;
|
|
36
36
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL3V0aWwvY29uZmlnLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUFXLEVBQUUsT0FBWSxFQUFFLGFBQXFCLEVBQUU7SUFDOUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxTQUFTLElBQUksTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RHLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxPQUF3QixFQUFFLE1BQVcsRUFBRSxVQUFrQjtJQUM3RSxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixJQUFJLGFBQWEsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDMUUsSUFBSSxPQUFPLGFBQWEsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNwQyxhQUFhLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1lBQ25FLGFBQWEsQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztZQUVuRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLENBQUMsSUFBSSx1QkFBdUIsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUssYUFBcUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDbkcsYUFBcUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sYUFBYSxDQUFDO1FBQ3pCLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxNQUFXLEVBQUUsVUFBa0I7SUFDdkQsSUFBSSxLQUFLLEdBQUcsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNiLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLElBQUksdUJBQXVCLFVBQVUsNEJBQTRCLENBQUMsQ0FBQztZQUNoSCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUE7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBDT05GSUdfUkVRVUlSRURfRklFTERTIH0gZnJvbSBcIi4uL2NvbnN0L2NvbmZpZy1yZXF1aXJlZC1maWVsZHMuY29uc3RcIjtcclxuaW1wb3J0IHsgY2xvbmUgfSBmcm9tIFwiLi4vc2VydmljZXMvZW50aXR5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRm9ybVByb3ZpZGVyIH0gZnJvbSBcIi4vZm9ybS1wcm92aWRlclwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmZpZ09iamVjdChjb25maWc6IGFueSwgY29udHJvbDogYW55LCBjb25maWdOYW1lOiBzdHJpbmcgPSAnJyk6IGFueSB7XHJcbiAgICByZXR1cm4gKGNvbmZpZyAhPSB1bmRlZmluZWQgJiYgY29uZmlnICE9IHRydWUpID8gY29uZmlnUHJvdmlkZXIoY29udHJvbCwgY29uZmlnLCBjb25maWdOYW1lKSA6IHt9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBjb25maWdQcm92aWRlcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGNvbmZpZzogYW55LCBjb25maWdOYW1lOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgaWYgKGNvbmZpZy5keW5hbWljQ29uZmlnKSB7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRDb25maWcgPSBGb3JtUHJvdmlkZXIucHJvY2Vzc1J1bGUoY29udHJvbCwgY2xvbmUoY29uZmlnKSwgdHJ1ZSlcclxuICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRDb25maWcgIT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgY3VycmVudENvbmZpZy5jb25kaXRpb25hbEV4cHJlc3Npb24gPSBjb25maWcuY29uZGl0aW9uYWxFeHByZXNzaW9uO1xyXG4gICAgICAgICAgICBjdXJyZW50Q29uZmlnLmR5bmFtaWNDb25maWcgPSBjb25maWcuZHluYW1pY0NvbmZpZztcclxuXHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGNvbmZpZykuZm9yRWFjaCh0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICgodCAhPSBcImNvbmRpdGlvbmFsRXhwcmVzc2lvblwiICYmIHQgIT0gXCJkeW5hbWljQ29uZmlnXCIpIHx8IChjdXJyZW50Q29uZmlnIGFzIGFueSlbdF0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIChjdXJyZW50Q29uZmlnIGFzIGFueSlbdF0gPSBjb25maWdbdF07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRDb25maWc7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNoZWNrUmVxdWlyZWRQcm9wcyhjb25maWcsIGNvbmZpZ05hbWUpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjaGVja1JlcXVpcmVkUHJvcHMoY29uZmlnOiBhbnksIGNvbmZpZ05hbWU6IHN0cmluZykge1xyXG4gICAgbGV0IHByb3BzID0gQ09ORklHX1JFUVVJUkVEX0ZJRUxEU1tjb25maWdOYW1lXTtcclxuICAgIGlmIChjb25maWdOYW1lKSB7XHJcbiAgICAgICAgcHJvcHMuZm9yRWFjaChwcm9wID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbmZpZ1twcm9wXSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhc3MgdGhlIHByb3BlcnR5IG9mICcke3Byb3B9JyB3aXRoIHZhbHVlIGluIHRoZSAke2NvbmZpZ05hbWV9LCBvdGhlcndpc2UgaXQgd29uJ3Qgd29yay5gKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvbmZpZ1xyXG59Il19
|
|
@@ -49,4 +49,4 @@ export function validateDate(control, config, operationType) {
|
|
|
49
49
|
}
|
|
50
50
|
return ObjectMaker.null();
|
|
51
51
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jaGVja2VyLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL3V0aWwvZGF0ZS1jaGVja2VyLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxTQUFTLFlBQVksQ0FBQyxTQUFlLEVBQUUsVUFBZ0IsRUFBRSxRQUFnQjtJQUNyRSxJQUFJLE1BQU0sR0FBWSxLQUFLLENBQUM7SUFDNUIsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNmLEtBQUssU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUN4QixLQUFLLFNBQVMsQ0FBQyxXQUFXO1lBQ3RCLE1BQU0sR0FBRyxTQUFTLEdBQUcsVUFBVSxDQUFDO1lBQ2hDLE1BQU07UUFDVixLQUFLLFNBQVMsQ0FBQyxlQUFlLENBQUM7UUFDL0IsS0FBSyxTQUFTLENBQUMsa0JBQWtCO1lBQzdCLE1BQU0sR0FBRyxTQUFTLElBQUksVUFBVSxDQUFDO1lBQ2pDLE1BQU07SUFDZCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBd0IsRUFBRSxNQUFXLEVBQUUsYUFBcUI7SUFDcEYsTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUMsSUFBSSxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN0QyxJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDNUMsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNDLElBQUksU0FBUyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdELElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3BGLElBQUksbUJBQW1CLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlELElBQUksT0FBTyxHQUFHLGFBQWEsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLFFBQVEsSUFBSSxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUE7Z0JBQ25QLElBQUksQ0FBQyxPQUFPO29CQUNSLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFBO1lBQ3BGLENBQUM7O2dCQUNHLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFBO1FBQ3BGLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDOUIsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBd0IsRUFBRSxNQUFXLEVBQUUsYUFBcUI7SUFDckYsTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUMsSUFBSSxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN0QyxJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDNUMsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUN0RixPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1lBQ3JFLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7IE9QRVJBVE9SUyB9IGZyb20gXCIuLi9jb25zdC9vcGVyYXRvcnMuY29uc3RcIjtcclxuaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uL2NvcmUvYW5ub3RhdGlvbi10eXBlc1wiO1xyXG5pbXBvcnQgeyBnZXRDb25maWdPYmplY3QgfSBmcm9tIFwiLi4vdXRpbC9jb25maWctcHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgRGF0ZVByb3ZpZGVyIH0gZnJvbSBcIi4vZGF0ZS1wcm92aWRlclwiO1xyXG5pbXBvcnQgeyBGb3JtUHJvdmlkZXIgfSBmcm9tIFwiLi9mb3JtLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IE9iamVjdE1ha2VyIH0gZnJvbSBcIi4vb2JqZWN0LW1ha2VyXCI7XHJcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSBcIi4vcmVnZXgtdmFsaWRhdG9yXCI7XHJcblxyXG5mdW5jdGlvbiBydW5Db25kaXRpb24obGVmdFZhbHVlOiBEYXRlLCByaWdodFZhbHVlOiBEYXRlLCBvcGVyYXRvcjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBzd2l0Y2ggKG9wZXJhdG9yKSB7XHJcbiAgICAgICAgY2FzZSBPUEVSQVRPUlMubGVzc1RoYW46XHJcbiAgICAgICAgY2FzZSBPUEVSQVRPUlMuZ3JlYXRlclRoYW46XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGxlZnRWYWx1ZSA+IHJpZ2h0VmFsdWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgT1BFUkFUT1JTLmxlc3NUaGFuRXF1YWxUbzpcclxuICAgICAgICBjYXNlIE9QRVJBVE9SUy5ncmVhdGVyVGhhbkVxdWFsVG86XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGxlZnRWYWx1ZSA+PSByaWdodFZhbHVlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkYXRlQ2hlY2tlcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGNvbmZpZzogYW55LCBvcGVyYXRpb25UeXBlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCB7XHJcbiAgICBjb25maWcgPSBnZXRDb25maWdPYmplY3QoY29uZmlnLCBjb250cm9sKTtcclxuICAgIHZhciBkYXRlUHJvdmlkZXIgPSBuZXcgRGF0ZVByb3ZpZGVyKCk7XHJcbiAgICBpZiAoRm9ybVByb3ZpZGVyLnByb2Nlc3NSdWxlKGNvbnRyb2wsIGNvbmZpZykpIHtcclxuICAgICAgICBpZiAoUmVnZXhWYWxpZGF0b3IuaXNOb3RCbGFuayhjb250cm9sLnZhbHVlKSkge1xyXG4gICAgICAgICAgICBsZXQgY2hlY2tEYXRlID0gZGF0ZVByb3ZpZGVyLmdldENvbXBhcmVEYXRlKGNvbmZpZywgY29udHJvbCk7XHJcbiAgICAgICAgICAgIGlmIChkYXRlUHJvdmlkZXIuaXNEYXRlKGNvbnRyb2wudmFsdWUpIHx8IGRhdGVQcm92aWRlci5pc1ZhbGlkKGNvbnRyb2wudmFsdWUsIGNvbmZpZykpIHtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50Q29udHJvbFZhbHVlID0gZGF0ZVByb3ZpZGVyLmdldERhdGUoY29udHJvbC52YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICBsZXQgaXNWYWxpZCA9IG9wZXJhdGlvblR5cGUgPT0gQW5ub3RhdGlvblR5cGVzLm1pbkRhdGUgPyBydW5Db25kaXRpb24oY3VycmVudENvbnRyb2xWYWx1ZSwgY2hlY2tEYXRlLCBjb25maWcub3BlcmF0b3IgfHwgT1BFUkFUT1JTLmdyZWF0ZXJUaGFuRXF1YWxUbykgOiBydW5Db25kaXRpb24oY2hlY2tEYXRlLCBjdXJyZW50Q29udHJvbFZhbHVlLCBjb25maWcub3BlcmF0b3IgfHwgT1BFUkFUT1JTLmxlc3NUaGFuRXF1YWxUbylcclxuICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZClcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKG9wZXJhdGlvblR5cGUsIGNvbmZpZywgW2NvbnRyb2wudmFsdWUsIGNoZWNrRGF0ZV0pXHJcbiAgICAgICAgICAgIH0gZWxzZVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLnRvSnNvbihvcGVyYXRpb25UeXBlLCBjb25maWcsIFtjb250cm9sLnZhbHVlLCBjaGVja0RhdGVdKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgY29uZmlnOiBhbnksIG9wZXJhdGlvblR5cGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsIHtcclxuICAgIGNvbmZpZyA9IGdldENvbmZpZ09iamVjdChjb25maWcsIGNvbnRyb2wpO1xyXG4gICAgdmFyIGRhdGVQcm92aWRlciA9IG5ldyBEYXRlUHJvdmlkZXIoKTtcclxuICAgIGlmIChGb3JtUHJvdmlkZXIucHJvY2Vzc1J1bGUoY29udHJvbCwgY29uZmlnKSkge1xyXG4gICAgICAgIGlmIChSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgICAgIGlmICghZGF0ZVByb3ZpZGVyLmlzRGF0ZShjb250cm9sLnZhbHVlKSAmJiAhZGF0ZVByb3ZpZGVyLmlzVmFsaWQoY29udHJvbC52YWx1ZSwgY29uZmlnKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLnRvSnNvbihvcGVyYXRpb25UeXBlLCBjb25maWcsIFtjb250cm9sLnZhbHVlXSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG59Il19
|
|
@@ -105,4 +105,4 @@ export class DateProvider {
|
|
|
105
105
|
return date;
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy91dGlsL2RhdGUtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxNQUFNLGNBQWMsR0FBRyx3VUFBd1UsQ0FBQztBQUVoVyxNQUFNLE9BQU8sWUFBWTtJQUVyQixNQUFNLENBQUMsS0FBVTtRQUNiLE9BQU8sS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU8sUUFBUSxDQUFDLFVBQWtCO1FBQy9CLElBQUksTUFBTSxHQUFXLEVBQUUsQ0FBQztRQUV4QixRQUFRLFVBQVUsRUFBRTtZQUNoQixLQUFLLEtBQUs7Z0JBQ04sTUFBTSxHQUFHLDJEQUEyRCxDQUFDO2dCQUNyRSxNQUFNO1lBQ1YsS0FBSyxLQUFLO2dCQUNOLE1BQU0sR0FBRyxvRUFBb0UsQ0FBQztnQkFDOUUsTUFBTTtZQUNWLEtBQUssS0FBSztnQkFDTixNQUFNLEdBQUcsb0VBQW9FLENBQUM7Z0JBQzlFLE1BQU07U0FDYjtRQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFXO1FBQ2IsSUFBSSxNQUFjLENBQUM7UUFDbkIsSUFBSSxrQkFBa0IsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLG9CQUFv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QVksQ0FBQyxLQUFLLEVBQUU7Z0JBQ3BDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO2FBQzdEO1NBQ0o7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tICcuL2FwcC11dGlsJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3JtQ29uZmlnIH0gZnJvbSBcIi4vcmVhY3RpdmUtZm9ybS1jb25maWdcIjtcclxuXHJcbmNvbnN0IElTT19EQVRFX1JFR0VYID0gL14oPzpbXFwrLV0/XFxkezR9KD8hXFxkezJ9XFxiKSkoPzooLT8pKD86KD86MFsxLTldfDFbMC0yXSkoPzpcXDEoPzpbMTJdXFxkfDBbMS05XXwzWzAxXSkpP3xXKD86WzAtNF1cXGR8NVswLTJdKSg/Oi0/WzEtN10pP3woPzowMFsxLTldfDBbMS05XVxcZHxbMTJdXFxkezJ9fDMoPzpbMC01XVxcZHw2WzEtNl0pKSkoPzpbVFxcc10oPzooPzooPzpbMDFdXFxkfDJbMC0zXSkoPzooOj8pWzAtNV1cXGQpP3wyNFxcOj8wMCkoPzpbXFwuLF1cXGQrKD8hOikpPyk/KD86XFwyWzAtNV1cXGQoPzpbXFwuLF1cXGQrKT8pPyg/Olt6Wl18KD86W1xcKy1dKSg/OlswMV1cXGR8MlswLTNdKTo/KD86WzAtNV1cXGQpPyk/KT8pPyQvO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVQcm92aWRlciB7XHJcblxyXG4gICAgaXNEYXRlKHZhbHVlOiBhbnkpOiBCb29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTih2YWx1ZS52YWx1ZU9mKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0UmVnZXgoZGF0ZUZvcm1hdDogc3RyaW5nKTogUmVnRXhwIHtcclxuICAgICAgICB2YXIgcmVnRXhwOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAgICAgc3dpdGNoIChkYXRlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ3ltZCc6XHJcbiAgICAgICAgICAgICAgICByZWdFeHAgPSBcIl4oPzpbMC05XXs0fSktKDFbMC0yXXwwP1sxLTldKS0oM1swMV18WzEyXVswLTldfDA/WzEtOV0pJFwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2RteSc6XHJcbiAgICAgICAgICAgICAgICByZWdFeHAgPSBcIl4oM1swMV18WzEyXVswLTldfDA/WzEtOV0pLSgxWzAtMl18MD9bMS05XSktKD86WzAtOV17Mn0pP1swLTldezJ9JFwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ21keSc6XHJcbiAgICAgICAgICAgICAgICByZWdFeHAgPSBcIl4oMVswLTJdfDA/WzEtOV0pLSgzWzAxXXxbMTJdWzAtOV18MD9bMS05XSktKD86WzAtOV17Mn0pP1swLTldezJ9JFwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChyZWdFeHApO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2V4KGNvbmZpZzogYW55KSB7XHJcbiAgICAgICAgdmFyIHJlZ0V4cDogUmVnRXhwO1xyXG4gICAgICAgIGlmIChSZWFjdGl2ZUZvcm1Db25maWcgJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24gJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24gJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24uZGF0ZUZvcm1hdCAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5pbnRlcm5hdGlvbmFsaXphdGlvbi5zZXBlcmF0b3IpXHJcbiAgICAgICAgICAgIHJlZ0V4cCA9IHRoaXMuZ2V0UmVnZXgoY29uZmlnLmRhdGVGb3JtYXQgfHwgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24uZGF0ZUZvcm1hdClcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHJlZ0V4cCA9IChSZWFjdGl2ZUZvcm1Db25maWcgJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24gJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uYmFzZUNvbmZpZyAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5iYXNlQ29uZmlnLmRhdGVGb3JtYXQpID8gdGhpcy5nZXRSZWdleChjb25maWcuZGF0ZUZvcm1hdCB8fCBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5iYXNlQ29uZmlnLmRhdGVGb3JtYXQpIDogdGhpcy5nZXRSZWdleChjb25maWcuZGF0ZUZvcm1hdCB8fCBcIm1keVwiKTtcclxuICAgICAgICByZXR1cm4gcmVnRXhwO1xyXG4gICAgfVxyXG5cclxuICAgIGdldERhdGUodmFsdWU6IHN0cmluZyB8IERhdGUsIGNvbmZpZ0RhdGVGb3JtYXQ/OiBzdHJpbmcsIGlzQmFzZUZvcm1hdDogYm9vbGVhbiA9IGZhbHNlKTogRGF0ZSB7XHJcbiAgICAgICAgbGV0IHllYXI6IG51bWJlciA9IDA7XHJcbiAgICAgICAgbGV0IG1vbnRoOiBudW1iZXIgPSAwO1xyXG4gICAgICAgIGxldCBkYXk6IG51bWJlciA9IDA7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5pc0RhdGUodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIGxldCBzZXBlcmF0b3I6IHN0cmluZztcclxuICAgICAgICAgICAgbGV0IGRhdGVGb3JtYXQ6IHN0cmluZztcclxuICAgICAgICAgICAgaWYgKElTT19EQVRFX1JFR0VYLnRlc3QoPHN0cmluZz52YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzZXBlcmF0b3IgPSBSZWFjdGl2ZUZvcm1Db25maWcgJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24gJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uYmFzZUNvbmZpZyAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5iYXNlQ29uZmlnLnNlcGVyYXRvciA/IFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmJhc2VDb25maWcuc2VwZXJhdG9yIDogXCIvXCI7XHJcbiAgICAgICAgICAgICAgICBkYXRlRm9ybWF0ID0gY29uZmlnRGF0ZUZvcm1hdCB8fCBSZWFjdGl2ZUZvcm1Db25maWcgJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24gJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uYmFzZUNvbmZpZyAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5iYXNlQ29uZmlnLmRhdGVGb3JtYXQgPyBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5iYXNlQ29uZmlnLmRhdGVGb3JtYXQgOiBcIm1keVwiO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoIWlzQmFzZUZvcm1hdCAmJiBSZWFjdGl2ZUZvcm1Db25maWcgJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24gJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24gJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24uZGF0ZUZvcm1hdCAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5pbnRlcm5hdGlvbmFsaXphdGlvbi5zZXBlcmF0b3IpIHtcclxuICAgICAgICAgICAgICAgIHNlcGVyYXRvciA9IFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmludGVybmF0aW9uYWxpemF0aW9uLnNlcGVyYXRvcjtcclxuICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQgPSBjb25maWdEYXRlRm9ybWF0IHx8IFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmludGVybmF0aW9uYWxpemF0aW9uLmRhdGVGb3JtYXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3dpdGNoIChkYXRlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlICd5bWQnOlxyXG4gICAgICAgICAgICAgICAgICAgIFt5ZWFyLCBtb250aCwgZGF5XSA9ICg8U3RyaW5nPnZhbHVlKS5zcGxpdChzZXBlcmF0b3IpLm1hcCgodmFsOiBzdHJpbmcpID0+ICt2YWwpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnZG15JzpcclxuICAgICAgICAgICAgICAgICAgICBbZGF5LCBtb250aCwgeWVhcl0gPSAoPFN0cmluZz52YWx1ZSkuc3BsaXQoc2VwZXJhdG9yKS5tYXAoKHZhbDogc3RyaW5nKSA9PiArdmFsKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ21keSc6XHJcbiAgICAgICAgICAgICAgICAgICAgW21vbnRoLCBkYXksIHllYXJdID0gKDxTdHJpbmc+dmFsdWUpLnNwbGl0KHNlcGVyYXRvcikubWFwKCh2YWw6IHN0cmluZykgPT4gK3ZhbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoIC0gMSwgZGF5KTtcclxuICAgICAgICB9IGVsc2VcclxuICAgICAgICAgICAgcmV0dXJuIDxEYXRlPnZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlzVmFsaWQodmFsdWU6IHN0cmluZyB8IERhdGUsIGNvbmZpZzogYW55KTogQm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKGNvbmZpZyAmJiBjb25maWcuaXNWYWxpZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY29uZmlnLmlzVmFsaWQodmFsdWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLmFsbG93SVNPRGF0ZSAmJiBJU09fREFURV9SRUdFWC50ZXN0KDxzdHJpbmc+dmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IHNlcGVyYXRvciA9ICcvJ1xyXG4gICAgICAgICAgICBpZiAoUmVhY3RpdmVGb3JtQ29uZmlnICYmIFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uICYmIFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmJhc2VDb25maWcgJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uYmFzZUNvbmZpZy5zZXBlcmF0b3IpIHtcclxuICAgICAgICAgICAgICAgIHNlcGVyYXRvciA9IFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmJhc2VDb25maWcuc2VwZXJhdG9yO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24gJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24gJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24uc2VwZXJhdG9yKSB7XHJcbiAgICAgICAgICAgICAgICBzZXBlcmF0b3IgPSBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5pbnRlcm5hdGlvbmFsaXphdGlvbi5zZXBlcmF0b3I7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh2YWx1ZS5zcGxpdChzZXBlcmF0b3IpLmxlbmd0aCAhPT0gMykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2Uoc2VwZXJhdG9yLCAnLScpLnJlcGxhY2Uoc2VwZXJhdG9yLCAnLScpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVnZXgoY29uZmlnKS50ZXN0KHZhbHVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc0RhdGUodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRDb25maWdEYXRlVmFsdWUoY29uZmlnOiBhbnkpIHtcclxuICAgICAgICBsZXQgZGF0ZSA9IGNvbmZpZy52YWx1ZTtcclxuICAgICAgICBpZiAoY29uZmlnLnZhbHVlICYmIHR5cGVvZiBjb25maWcudmFsdWUgPT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgICAgICBkYXRlID0gdGhpcy5nZXREYXRlKGNvbmZpZy52YWx1ZSwgY29uZmlnLmRhdGVGb3JtYXQsIHRydWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGRhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q29tcGFyZURhdGUoY29uZmlnOiBhbnksIGNvbnRyb2w6IGFueSkge1xyXG4gICAgICAgIGxldCBkYXRlID0gdGhpcy5nZXRDb25maWdEYXRlVmFsdWUoY29uZmlnKTtcclxuICAgICAgICBpZiAoY29uZmlnLmZpZWxkTmFtZSkge1xyXG4gICAgICAgICAgICBsZXQgY2hlY2tDb250cm9sOiBhbnkgPSBBcHBsaWNhdGlvblV0aWwuZ2V0Rm9ybUNvbnRyb2woY29uZmlnLmZpZWxkTmFtZSwgY29udHJvbCk7XHJcbiAgICAgICAgICAgIGlmIChjaGVja0NvbnRyb2wgJiYgY2hlY2tDb250cm9sLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICBkYXRlID0gdGhpcy5nZXREYXRlKGNoZWNrQ29udHJvbC52YWx1ZSwgY29uZmlnLmRhdGVGb3JtYXQpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy91dGlsL2RhdGUtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxNQUFNLGNBQWMsR0FBRyx3VUFBd1UsQ0FBQztBQUVoVyxNQUFNLE9BQU8sWUFBWTtJQUVyQixNQUFNLENBQUMsS0FBVTtRQUNiLE9BQU8sS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU8sUUFBUSxDQUFDLFVBQWtCO1FBQy9CLElBQUksTUFBTSxHQUFXLEVBQUUsQ0FBQztRQUV4QixRQUFRLFVBQVUsRUFBRSxDQUFDO1lBQ2pCLEtBQUssS0FBSztnQkFDTixNQUFNLEdBQUcsMkRBQTJELENBQUM7Z0JBQ3JFLE1BQU07WUFDVixLQUFLLEtBQUs7Z0JBQ04sTUFBTSxHQUFHLG9FQUFvRSxDQUFDO2dCQUM5RSxNQUFNO1lBQ1YsS0FBSyxLQUFLO2dCQUNOLE1BQU0sR0FBRyxvRUFBb0UsQ0FBQztnQkFDOUUsTUFBTTtRQUNkLENBQUM7UUFFRCxPQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBVztRQUNiLElBQUksTUFBYyxDQUFDO1FBQ25CLElBQUksa0JBQWtCLElBQUksa0JBQWtCLENBQUMsSUFBSSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxJQUFJLGtCQUFrQixDQUFDLElBQUks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LENBQUMsQ0FBQztRQUMzQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLFlBQVksR0FBUSxlQUFlLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbEYsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNyQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUM5RCxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uVXRpbCB9IGZyb20gJy4vYXBwLXV0aWwnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1Db25maWcgfSBmcm9tIFwiLi9yZWFjdGl2ZS1mb3JtLWNvbmZpZ1wiO1xyXG5cclxuY29uc3QgSVNPX0RBVEVfUkVHRVggPSAvXig/OltcXCstXT9cXGR7NH0oPyFcXGR7Mn1cXGIpKSg/OigtPykoPzooPzowWzEtOV18MVswLTJdKSg/OlxcMSg/OlsxMl1cXGR8MFsxLTldfDNbMDFdKSk/fFcoPzpbMC00XVxcZHw1WzAtMl0pKD86LT9bMS03XSk/fCg/OjAwWzEtOV18MFsxLTldXFxkfFsxMl1cXGR7Mn18Myg/OlswLTVdXFxkfDZbMS02XSkpKSg/OltUXFxzXSg/Oig/Oig/OlswMV1cXGR8MlswLTNdKSg/Oig6PylbMC01XVxcZCk/fDI0XFw6PzAwKSg/OltcXC4sXVxcZCsoPyE6KSk/KT8oPzpcXDJbMC01XVxcZCg/OltcXC4sXVxcZCspPyk/KD86W3paXXwoPzpbXFwrLV0pKD86WzAxXVxcZHwyWzAtM10pOj8oPzpbMC01XVxcZCk/KT8pPyk/JC87XHJcblxyXG5leHBvcnQgY2xhc3MgRGF0ZVByb3ZpZGVyIHtcclxuXHJcbiAgICBpc0RhdGUodmFsdWU6IGFueSk6IEJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKHZhbHVlLnZhbHVlT2YoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRSZWdleChkYXRlRm9ybWF0OiBzdHJpbmcpOiBSZWdFeHAge1xyXG4gICAgICAgIHZhciByZWdFeHA6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgICAgICBzd2l0Y2ggKGRhdGVGb3JtYXQpIHtcclxuICAgICAgICAgICAgY2FzZSAneW1kJzpcclxuICAgICAgICAgICAgICAgIHJlZ0V4cCA9IFwiXig/OlswLTldezR9KS0oMVswLTJdfDA/WzEtOV0pLSgzWzAxXXxbMTJdWzAtOV18MD9bMS05XSkkXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZG15JzpcclxuICAgICAgICAgICAgICAgIHJlZ0V4cCA9IFwiXigzWzAxXXxbMTJdWzAtOV18MD9bMS05XSktKDFbMC0yXXwwP1sxLTldKS0oPzpbMC05XXsyfSk/WzAtOV17Mn0kXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnbWR5JzpcclxuICAgICAgICAgICAgICAgIHJlZ0V4cCA9IFwiXigxWzAtMl18MD9bMS05XSktKDNbMDFdfFsxMl1bMC05XXwwP1sxLTldKS0oPzpbMC05XXsyfSk/WzAtOV17Mn0kXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuZXcgUmVnRXhwKHJlZ0V4cCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnZXgoY29uZmlnOiBhbnkpIHtcclxuICAgICAgICB2YXIgcmVnRXhwOiBSZWdFeHA7XHJcbiAgICAgICAgaWYgKFJlYWN0aXZlRm9ybUNvbmZpZyAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbiAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5pbnRlcm5hdGlvbmFsaXphdGlvbiAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5pbnRlcm5hdGlvbmFsaXphdGlvbi5kYXRlRm9ybWF0ICYmIFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmludGVybmF0aW9uYWxpemF0aW9uLnNlcGVyYXRvcilcclxuICAgICAgICAgICAgcmVnRXhwID0gdGhpcy5nZXRSZWdleChjb25maWcuZGF0ZUZvcm1hdCB8fCBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5pbnRlcm5hdGlvbmFsaXphdGlvbi5kYXRlRm9ybWF0KVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgcmVnRXhwID0gKFJlYWN0aXZlRm9ybUNvbmZpZyAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbiAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5iYXNlQ29uZmlnICYmIFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmJhc2VDb25maWcuZGF0ZUZvcm1hdCkgPyB0aGlzLmdldFJlZ2V4KGNvbmZpZy5kYXRlRm9ybWF0IHx8IFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmJhc2VDb25maWcuZGF0ZUZvcm1hdCkgOiB0aGlzLmdldFJlZ2V4KGNvbmZpZy5kYXRlRm9ybWF0IHx8IFwibWR5XCIpO1xyXG4gICAgICAgIHJldHVybiByZWdFeHA7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGF0ZSh2YWx1ZTogc3RyaW5nIHwgRGF0ZSwgY29uZmlnRGF0ZUZvcm1hdD86IHN0cmluZywgaXNCYXNlRm9ybWF0OiBib29sZWFuID0gZmFsc2UpOiBEYXRlIHtcclxuICAgICAgICBsZXQgeWVhcjogbnVtYmVyID0gMDtcclxuICAgICAgICBsZXQgbW9udGg6IG51bWJlciA9IDA7XHJcbiAgICAgICAgbGV0IGRheTogbnVtYmVyID0gMDtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmlzRGF0ZSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgbGV0IHNlcGVyYXRvcjogc3RyaW5nO1xyXG4gICAgICAgICAgICBsZXQgZGF0ZUZvcm1hdDogc3RyaW5nO1xyXG4gICAgICAgICAgICBpZiAoSVNPX0RBVEVfUkVHRVgudGVzdCg8c3RyaW5nPnZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHNlcGVyYXRvciA9IFJlYWN0aXZlRm9ybUNvbmZpZyAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbiAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5iYXNlQ29uZmlnICYmIFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmJhc2VDb25maWcuc2VwZXJhdG9yID8gUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uYmFzZUNvbmZpZy5zZXBlcmF0b3IgOiBcIi9cIjtcclxuICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQgPSBjb25maWdEYXRlRm9ybWF0IHx8IFJlYWN0aXZlRm9ybUNvbmZpZyAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbiAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5iYXNlQ29uZmlnICYmIFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmJhc2VDb25maWcuZGF0ZUZvcm1hdCA/IFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmJhc2VDb25maWcuZGF0ZUZvcm1hdCA6IFwibWR5XCI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICghaXNCYXNlRm9ybWF0ICYmIFJlYWN0aXZlRm9ybUNvbmZpZyAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbiAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5pbnRlcm5hdGlvbmFsaXphdGlvbiAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5pbnRlcm5hdGlvbmFsaXphdGlvbi5kYXRlRm9ybWF0ICYmIFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmludGVybmF0aW9uYWxpemF0aW9uLnNlcGVyYXRvcikge1xyXG4gICAgICAgICAgICAgICAgc2VwZXJhdG9yID0gUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24uc2VwZXJhdG9yO1xyXG4gICAgICAgICAgICAgICAgZGF0ZUZvcm1hdCA9IGNvbmZpZ0RhdGVGb3JtYXQgfHwgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uaW50ZXJuYXRpb25hbGl6YXRpb24uZGF0ZUZvcm1hdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzd2l0Y2ggKGRhdGVGb3JtYXQpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3ltZCc6XHJcbiAgICAgICAgICAgICAgICAgICAgW3llYXIsIG1vbnRoLCBkYXldID0gKDxTdHJpbmc+dmFsdWUpLnNwbGl0KHNlcGVyYXRvcikubWFwKCh2YWw6IHN0cmluZykgPT4gK3ZhbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdkbXknOlxyXG4gICAgICAgICAgICAgICAgICAgIFtkYXksIG1vbnRoLCB5ZWFyXSA9ICg8U3RyaW5nPnZhbHVlKS5zcGxpdChzZXBlcmF0b3IpLm1hcCgodmFsOiBzdHJpbmcpID0+ICt2YWwpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnbWR5JzpcclxuICAgICAgICAgICAgICAgICAgICBbbW9udGgsIGRheSwgeWVhcl0gPSAoPFN0cmluZz52YWx1ZSkuc3BsaXQoc2VwZXJhdG9yKS5tYXAoKHZhbDogc3RyaW5nKSA9PiArdmFsKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCBkYXkpO1xyXG4gICAgICAgIH0gZWxzZVxyXG4gICAgICAgICAgICByZXR1cm4gPERhdGU+dmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgaXNWYWxpZCh2YWx1ZTogc3RyaW5nIHwgRGF0ZSwgY29uZmlnOiBhbnkpOiBCb29sZWFuIHtcclxuICAgICAgICBpZiAoY29uZmlnICYmIGNvbmZpZy5pc1ZhbGlkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjb25maWcuaXNWYWxpZCh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgaWYgKGNvbmZpZyAmJiBjb25maWcuYWxsb3dJU09EYXRlICYmIElTT19EQVRFX1JFR0VYLnRlc3QoPHN0cmluZz52YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgc2VwZXJhdG9yID0gJy8nXHJcbiAgICAgICAgICAgIGlmIChSZWFjdGl2ZUZvcm1Db25maWcgJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24gJiYgUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uYmFzZUNvbmZpZyAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5iYXNlQ29uZmlnLnNlcGVyYXRvcikge1xyXG4gICAgICAgICAgICAgICAgc2VwZXJhdG9yID0gUmVhY3RpdmVGb3JtQ29uZmlnLmpzb24uYmFzZUNvbmZpZy5zZXBlcmF0b3I7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChSZWFjdGl2ZUZvcm1Db25maWcuanNvbiAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5pbnRlcm5hdGlvbmFsaXphdGlvbiAmJiBSZWFjdGl2ZUZvcm1Db25maWcuanNvbi5pbnRlcm5hdGlvbmFsaXphdGlvbi5zZXBlcmF0b3IpIHtcclxuICAgICAgICAgICAgICAgIHNlcGVyYXRvciA9IFJlYWN0aXZlRm9ybUNvbmZpZy5qc29uLmludGVybmF0aW9uYWxpemF0aW9uLnNlcGVyYXRvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHZhbHVlLnNwbGl0KHNlcGVyYXRvcikubGVuZ3RoICE9PSAzKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZShzZXBlcmF0b3IsICctJykucmVwbGFjZShzZXBlcmF0b3IsICctJyk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZWdleChjb25maWcpLnRlc3QodmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzRGF0ZSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldENvbmZpZ0RhdGVWYWx1ZShjb25maWc6IGFueSkge1xyXG4gICAgICAgIGxldCBkYXRlID0gY29uZmlnLnZhbHVlO1xyXG4gICAgICAgIGlmIChjb25maWcudmFsdWUgJiYgdHlwZW9mIGNvbmZpZy52YWx1ZSA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGUoY29uZmlnLnZhbHVlLCBjb25maWcuZGF0ZUZvcm1hdCwgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDb21wYXJlRGF0ZShjb25maWc6IGFueSwgY29udHJvbDogYW55KSB7XHJcbiAgICAgICAgbGV0IGRhdGUgPSB0aGlzLmdldENvbmZpZ0RhdGVWYWx1ZShjb25maWcpO1xyXG4gICAgICAgIGlmIChjb25maWcuZmllbGROYW1lKSB7XHJcbiAgICAgICAgICAgIGxldCBjaGVja0NvbnRyb2w6IGFueSA9IEFwcGxpY2F0aW9uVXRpbC5nZXRGb3JtQ29udHJvbChjb25maWcuZmllbGROYW1lLCBjb250cm9sKTtcclxuICAgICAgICAgICAgaWYgKGNoZWNrQ29udHJvbCAmJiBjaGVja0NvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGUoY2hlY2tDb250cm9sLnZhbHVlLCBjb25maWcuZGF0ZUZvcm1hdClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGRhdGU7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -84,4 +84,4 @@ export class FormProvider {
|
|
|
84
84
|
return control && control['_parent'] ? this.parentControl(control['_parent']) : control;
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy91dGlsL2Zvcm0tcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5Qjs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ3JCOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQXdCLEVBQUUsTUFBVyxFQUFFLGtCQUEyQixLQUFLO1FBQzdGLDRFQUE0RTtRQUM1RSxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUN2QyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsNERBQTREO1FBQzVELE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVyRSxxQ0FBcUM7UUFDckMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRXJHLG1DQUFtQztRQUNuQyxJQUFJLGFBQWEsR0FBRyxTQUFTLENBQUM7UUFFOUIseUdBQXlHO1FBQ3pHLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQzFELGFBQWEsR0FBaUIsT0FBTyxDQUFDLE1BQU8sQ0FBQyxhQUFhLENBQUM7UUFDaEUsQ0FBQztRQUVELDJGQUEyRjtRQUMzRixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsTUFBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUMvQyxDQUFDO1FBRUQsNkVBQTZFO2FBQ3hFLElBQUksTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDcEMsT0FBTyxNQUFNLENBQUMscUJBQXFCLENBQUUsT0FBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxSCxDQUFDO1FBRUQsMEVBQTBFO1FBQzFFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxhQUFjLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSyxNQUFNLENBQUMsc0JBQXNCLENBQUMsWUFBb0MsRUFBRSxRQUFhLEVBQUUsT0FBd0IsRUFBRSxNQUFXO1FBQzVILHVEQUF1RDtRQUN2RCxLQUFLLElBQUksV0FBVyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ25DLHlFQUF5RTtZQUN6RSxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFlBQVksTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDakQsNkRBQTZEO2dCQUM3RCxJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQztvQkFDcEMsMERBQTBEO29CQUMxRCxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztvQkFDMUMsNERBQTREO29CQUM1RCxNQUFNO2dCQUNWLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFpQixFQUFFLE1BQVc7UUFDMUQsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUM1RyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUF3QjtRQUNqRCxPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUM1RixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgUnhGb3JtR3JvdXAgfSBmcm9tIFwiLi4vc2VydmljZXMvcngtZm9ybS1ncm91cFwiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tICcuL2FwcC11dGlsJztcclxuaW1wb3J0IHsgTGlucSB9IGZyb20gJy4vbGlucSc7XHJcblxyXG4vKipcclxuICogVXRpbGl0eSBjbGFzcyBmb3IgcHJvY2Vzc2luZyBmb3JtIHJ1bGVzIGFuZCBleHByZXNzaW9ucy5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBGb3JtUHJvdmlkZXIge1xyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzIGEgcnVsZSBmb3IgYSBnaXZlbiBjb250cm9sLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gY29udHJvbCBUaGUgY29udHJvbCB0byBhcHBseSB0aGUgcnVsZSB0by5cclxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIHJ1bGUgY29uZmlndXJhdGlvbiBvYmplY3QuXHJcbiAgICAgKiBAcGFyYW0gaXNEeW5hbWljQ29uZmlnIEluZGljYXRlcyB3aGV0aGVyIHRoZSBydWxlIGNvbmZpZ3VyYXRpb24gaXMgZHluYW1pYy5cclxuICAgICAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHJ1bGUgd2FzIHByb2Nlc3NlZCBzdWNjZXNzZnVsbHksIG9yIGFuIG9iamVjdCBjb250YWluaW5nIGVycm9yIG1lc3NhZ2VzIGlmIHRoZSBydWxlIGZhaWxlZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBwcm9jZXNzUnVsZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGNvbmZpZzogYW55LCBpc0R5bmFtaWNDb25maWc6IGJvb2xlYW4gPSBmYWxzZSk6IGJvb2xlYW4gfCB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcclxuICAgICAgICAvKiBDaGVjayBpZiB0aGUgZXhwcmVzc2lvbiBoYXMgYWxyZWFkeSBiZWVuIHByb2Nlc3NlZCwgaWYgc28sIHJldHVybiB0cnVlICovXHJcbiAgICAgICAgaWYgKGNvbmZpZyAmJiBjb25maWcuZXhwcmVzc2lvblByb2Nlc3NlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIEdldCB0aGUgdmFsdWUgb2YgdGhlIGZvcm0gZ3JvdXAgY29udGFpbmluZyB0aGUgY29udHJvbCAqL1xyXG4gICAgICAgIGNvbnN0IGZvcm1Hcm91cFZhbHVlID0gQXBwbGljYXRpb25VdGlsLmdldFBhcmVudE9iamVjdFZhbHVlKGNvbnRyb2wpO1xyXG5cclxuICAgICAgICAvKiBDbG9uZSB0aGUgcGFyZW50IG9iamVjdCdzIHZhbHVlICovXHJcbiAgICAgICAgY29uc3QgcGFyZW50T2JqZWN0ID0gKGNvbnRyb2wucGFyZW50KSA/IEFwcGxpY2F0aW9uVXRpbC5jbG9uZVZhbHVlKGNvbnRyb2wucGFyZW50LnZhbHVlKSA6IHVuZGVmaW5lZDtcclxuXHJcbiAgICAgICAgLyogSW5pdGlhbGl6ZSB0aGUgbW9kZWwgaW5zdGFuY2UgKi9cclxuICAgICAgICBsZXQgbW9kZWxJbnN0YW5jZSA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICAgICAgLyogSWYgdGhlIGNvbnRyb2wgaGFzIGEgcGFyZW50IGFuZCB0aGUgcGFyZW50IGlzIGFuIGluc3RhbmNlIG9mIFJ4Rm9ybUdyb3VwLCBhc3NpZ24gaXRzIG1vZGVsIGluc3RhbmNlICovXHJcbiAgICAgICAgaWYgKGNvbnRyb2wucGFyZW50ICYmIGNvbnRyb2wucGFyZW50IGluc3RhbmNlb2YgUnhGb3JtR3JvdXApIHtcclxuICAgICAgICAgICAgbW9kZWxJbnN0YW5jZSA9ICg8UnhGb3JtR3JvdXA+Y29udHJvbC5wYXJlbnQpLm1vZGVsSW5zdGFuY2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBJZiB0aGUgcGFyZW50IG9iamVjdCBleGlzdHMsIHVwZGF0ZSBpdHMgZm9ybSBjb250cm9sIHZhbHVlIGFuZCBkaXNhYmxlIGNvbmZpZ3VyYXRpb25zICovXHJcbiAgICAgICAgaWYgKHBhcmVudE9iamVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZvcm1Db250cm9sVmFsdWUocGFyZW50T2JqZWN0LCBjb250cm9sLnBhcmVudCEuY29udHJvbHMsIGNvbnRyb2wsIGNvbmZpZyk7XHJcbiAgICAgICAgICAgIHRoaXMuZm9yRGlzYWJsZVVwZGF0ZShwYXJlbnRPYmplY3QsIGNvbmZpZylcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIElmIHRoZXJlIGlzIGEgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiwgZXZhbHVhdGUgaXQgYW5kIHJldHVybiB0aGUgcmVzdWx0ICovXHJcbiAgICAgICAgZWxzZSBpZiAoY29uZmlnLmNvbmRpdGlvbmFsRXhwcmVzc2lvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gY29uZmlnLmNvbmRpdGlvbmFsRXhwcmVzc2lvbigoY29udHJvbCBhcyBhbnkpWydlbnRpdHlPYmplY3QnXSA/PyB7fSwgdGhpcy5wYXJlbnRDb250cm9sKGNvbnRyb2wpPy52YWx1ZSA/PyB7fSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBJZiBub25lIG9mIHRoZSBhYm92ZSBjb25kaXRpb25zIGFyZSBtZXQsIGV4ZWN1dGUgdGhlIHJ1bGUgdXNpbmcgTGlucSAqL1xyXG4gICAgICAgIHJldHVybiBMaW5xLmV4ZWN1dGUoZm9ybUdyb3VwVmFsdWUsIGNvbmZpZywgcGFyZW50T2JqZWN0LCBtb2RlbEluc3RhbmNlISwgaXNEeW5hbWljQ29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFVwZGF0ZXMgdGhlIHZhbHVlIG9mIGEgZm9ybSBjb250cm9sIGluIHRoZSBwYXJlbnQgb2JqZWN0LlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gcGFyZW50T2JqZWN0IFRoZSBwYXJlbnQgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGZvcm0gY29udHJvbC5cclxuICAgICAqIEBwYXJhbSBjb250cm9scyBUaGUgY29udHJvbHMgd2l0aGluIHRoZSBwYXJlbnQgb2JqZWN0LlxyXG4gICAgICogQHBhcmFtIGNvbnRyb2wgVGhlIGNvbnRyb2wgd2hvc2UgdmFsdWUgbmVlZHMgdG8gYmUgdXBkYXRlZC5cclxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIHJ1bGUgY29uZmlndXJhdGlvbiBvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgc3RhdGljIHVwZGF0ZUZvcm1Db250cm9sVmFsdWUocGFyZW50T2JqZWN0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBjb250cm9sczogYW55LCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGNvbmZpZzogYW55KSB7XHJcbiAgICAgICAgLyogSXRlcmF0ZSB0aHJvdWdoIGVhY2ggY29udHJvbCBpbiB0aGUgcGFyZW50IG9iamVjdCAqL1xyXG4gICAgICAgIGZvciAodmFyIGNvbnRyb2xOYW1lIGluIHBhcmVudE9iamVjdCkge1xyXG4gICAgICAgICAgICAvKiBDaGVjayBpZiB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb250cm9sTmFtZSBpcyBub3QgYW4gb2JqZWN0ICovXHJcbiAgICAgICAgICAgIGlmICghKHBhcmVudE9iamVjdFtjb250cm9sTmFtZV0gaW5zdGFuY2VvZiBPYmplY3QpKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBDaGVjayBpZiB0aGUgY3VycmVudCBjb250cm9sIG1hdGNoZXMgdGhlIHRhcmdldCBjb250cm9sICovXHJcbiAgICAgICAgICAgICAgICBpZiAoY29udHJvbHNbY29udHJvbE5hbWVdID09PSBjb250cm9sKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLyogVXBkYXRlIHRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbCBpbiB0aGUgcGFyZW50IG9iamVjdCAqL1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudE9iamVjdFtjb250cm9sTmFtZV0gPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIC8qIEV4aXQgdGhlIGxvb3Agc2luY2UgdGhlIGNvbnRyb2wgdmFsdWUgaGFzIGJlZW4gdXBkYXRlZCAqL1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB0aGUgZGlzYWJsZSBjb25maWd1cmF0aW9uIGluIHRoZSBwYXJlbnQgb2JqZWN0LlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gcGFyZW50T2JqZWN0IFRoZSBwYXJlbnQgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGZvcm0gY29udHJvbHMuXHJcbiAgICAgKiBAcGFyYW0gY29uZmlnIFRoZSBydWxlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBmb3JEaXNhYmxlVXBkYXRlKHBhcmVudE9iamVjdDogYW55LCBjb25maWc6IGFueSkge1xyXG4gICAgICAgIGlmIChjb25maWcuZGlzYWJsZUNvbmZpZykge1xyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhjb25maWcuZGlzYWJsZUNvbmZpZykuZm9yRWFjaChjb2x1bW4gPT4gcGFyZW50T2JqZWN0W2NvbHVtbl0gPSBjb25maWcuZGlzYWJsZUNvbmZpZ1tjb2x1bW5dKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlY3Vyc2l2ZWx5IGdldHMgdGhlIHBhcmVudCBjb250cm9sIG9mIGEgY29udHJvbC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGNvbnRyb2wgVGhlIGNvbnRyb2wgd2hvc2UgcGFyZW50IGNvbnRyb2wgaXMgbmVlZGVkLlxyXG4gICAgICogQHJldHVybnMgVGhlIHBhcmVudCBjb250cm9sIG9mIHRoZSBnaXZlbiBjb250cm9sLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBwYXJlbnRDb250cm9sKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IEFic3RyYWN0Q29udHJvbCB7XHJcbiAgICAgICAgcmV0dXJuIGNvbnRyb2wgJiYgY29udHJvbFsnX3BhcmVudCddID8gdGhpcy5wYXJlbnRDb250cm9sKGNvbnRyb2xbJ19wYXJlbnQnXSkgOiBjb250cm9sO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -60,4 +60,4 @@ export function getInstance(model, objectArguments) {
|
|
|
60
60
|
}
|
|
61
61
|
return classInstance;
|
|
62
62
|
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UtcHJvdmlkZXIuZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvdXRpbC9pbnN0YW5jZS1wcm92aWRlci5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQyxDQUFDLCtEQUErRDtBQUU3SCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFDLENBQUMsc0VBQXNFO0FBRWpJOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFlBQWlCLEVBQUUsWUFBa0I7SUFDbEUsbURBQW1EO0lBQ25ELElBQUksUUFBUSxHQUFRLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUV2RCxxRUFBcUU7SUFDckUsSUFBSSxTQUFTLEdBQVEsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUVyRyw4Q0FBOEM7SUFDOUMsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFdEIsNEJBQTRCO1FBQzVCLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNuQixHQUFHLENBQUM7WUFDQSxxREFBcUQ7WUFDckQsTUFBTSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQztZQUNuRCxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNULHVEQUF1RDtnQkFDdkQsSUFBSSxtQkFBbUIsR0FBUSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFFckYsc0JBQXNCO2dCQUN0QixJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRXBDLGlDQUFpQztnQkFDakMsSUFBSSx3QkFBd0IsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFFMUQsZ0hBQWdIO2dCQUNoSCxhQUFhLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO29CQUNoRCxnRUFBZ0U7b0JBQ2hFLE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNuRyxtRUFBbUU7b0JBQ25FLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ2Ysd0JBQXdCLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzFELENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsZ0VBQWdFO2dCQUNoRSxRQUFRLEdBQUcsS0FBSyxDQUFDLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFBO2dCQUN6RCxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztZQUNwQyxDQUFDO1FBQ0wsQ0FBQyxRQUFRLE1BQU0sRUFBQztJQUNwQixDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDcEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFVLEVBQUUsZUFBc0I7SUFDMUQsSUFBSSxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDbEQsSUFBSSxDQUFDO1FBQ0QseUNBQXlDO1FBQ3pDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ1Ysd0RBQXdEO1FBQ3hELGFBQWEsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsT0FBTyxhQUFhLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHRDb250YWluZXIgfSBmcm9tICcuLi9jb3JlL2RlZmF1bHQtY29udGFpbmVyJzsgLyogSW1wb3J0aW5nIGRlZmF1bHRDb250YWluZXIgZnJvbSAnZGVmYXVsdENvbnRhaW5lcicgbW9kdWxlICovXHJcbmltcG9ydCB7IEluc3RhbmNlQ29udGFpbmVyIH0gZnJvbSBcIi4uL21vZGVscy9pbnN0YW5jZS1jb250YWluZXJcIjtcclxuaW1wb3J0IHsgY2xvbmUsIG1lcmdlIH0gZnJvbSAnLi4vc2VydmljZXMvZW50aXR5LnNlcnZpY2UnOyAvKiBJbXBvcnRpbmcgY2xvbmUgYW5kIG1lcmdlIGZ1bmN0aW9ucyBmcm9tICdlbnRpdHkuc2VydmljZScgbW9kdWxlICovXHJcblxyXG4vKipcclxuICogRnVuY3Rpb24gdG8gcHJvdmlkZSBhbiBpbnN0YW5jZSBvZiBhIGdpdmVuIGZ1bmN0aW9uIHdpdGggb3B0aW9uYWwgZW50aXR5IG9iamVjdC5cclxuICogQHBhcmFtIGluc3RhbmNlRnVuYyBUaGUgZnVuY3Rpb24gdG8gcHJvdmlkZSBhbiBpbnN0YW5jZSBvZi5cclxuICogQHBhcmFtIGVudGl0eU9iamVjdCBPcHRpb25hbCBlbnRpdHkgb2JqZWN0LlxyXG4gKiBAcmV0dXJucyBBbiBpbnN0YW5jZSBjb250YWluZXIuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFuY2VQcm92aWRlcihpbnN0YW5jZUZ1bmM6IGFueSwgZW50aXR5T2JqZWN0PzogYW55KTogSW5zdGFuY2VDb250YWluZXIge1xyXG4gICAgLyogR2V0dGluZyBhbiBpbnN0YW5jZSBmcm9tIHRoZSBkZWZhdWx0Q29udGFpbmVyICovXHJcbiAgICBsZXQgaW5zdGFuY2U6IGFueSA9IGRlZmF1bHRDb250YWluZXIuZ2V0KGluc3RhbmNlRnVuYyk7XHJcblxyXG4gICAgLyogU2V0dGluZyB0aGUgcHJvdG90eXBlIGJhc2VkIG9uIHRoZSBlbnRpdHlPYmplY3Qgb3IgaW5zdGFuY2VGdW5jICovXHJcbiAgICBsZXQgcHJvdG90eXBlOiBhbnkgPSBlbnRpdHlPYmplY3QgPyBlbnRpdHlPYmplY3QuX19wcm90b19fIDogZ2V0SW5zdGFuY2UoaW5zdGFuY2VGdW5jLCBbXSkuX19wcm90b19fO1xyXG5cclxuICAgIC8qIENoZWNraW5nIGlmIHByb3RvdHlwZSdzIHByb3RvdHlwZSBleGlzdHMgKi9cclxuICAgIGlmIChwcm90b3R5cGUuX19wcm90b19fKSB7XHJcblxyXG4gICAgICAgIC8qIEluaXRpYWxpemluZyBsb29wIGZsYWcgKi9cclxuICAgICAgICBsZXQgaXNMb29wID0gZmFsc2U7XHJcbiAgICAgICAgZG8ge1xyXG4gICAgICAgICAgICAvKiBDaGVja2luZyBpZiBwcm90b3R5cGUncyBwcm90b3R5cGUgaXMgbm90IE9iamVjdCAqL1xyXG4gICAgICAgICAgICBpc0xvb3AgPSBwcm90b3R5cGUuX19wcm90b19fLmNvbnN0cnVjdG9yICE9IE9iamVjdDtcclxuICAgICAgICAgICAgaWYgKGlzTG9vcCkge1xyXG4gICAgICAgICAgICAgICAgLyogR2V0dGluZyBleHRlbmRDbGFzc0luc3RhbmNlIGZyb20gZGVmYXVsdENvbnRhaW5lciAqL1xyXG4gICAgICAgICAgICAgICAgbGV0IGV4dGVuZENsYXNzSW5zdGFuY2U6IGFueSA9IGRlZmF1bHRDb250YWluZXIuZ2V0KHByb3RvdHlwZS5fX3Byb3RvX18uY29uc3RydWN0b3IpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIENsb25pbmcgaW5zdGFuY2UgKi9cclxuICAgICAgICAgICAgICAgIHZhciBpbnN0YW5jZUNsb25lID0gY2xvbmUoaW5zdGFuY2UpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIENsb25pbmcgZXh0ZW5kQ2xhc3NJbnN0YW5jZSAqL1xyXG4gICAgICAgICAgICAgICAgdmFyIGV4dGVuZENsYXNzSW5zdGFuY2VDbG9uZSA9IGNsb25lKGV4dGVuZENsYXNzSW5zdGFuY2UpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIFN0YXJ0OiBSZW1vdmluZyBwcm9wZXJ0aWVzIGZyb20gZXh0ZW5kQ2xhc3NJbnN0YW5jZUNsb25lLnByb3BlcnRpZXMgdGhhdCBleGlzdCBpbiBpbnN0YW5jZUNsb25lLnByb3BlcnRpZXMgKi9cclxuICAgICAgICAgICAgICAgIGluc3RhbmNlQ2xvbmUucHJvcGVydGllcz8uZm9yRWFjaCgocHJvcGVydHk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8qIEZpbmQgdGhlIGluZGV4IG9mIHRoZSBwcm9wZXJ0eSBpbiBleHRlbmRDbGFzc0luc3RhbmNlQ2xvbmUgKi9cclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IGV4dGVuZENsYXNzSW5zdGFuY2VDbG9uZS5wcm9wZXJ0aWVzPy5maW5kSW5kZXgoKHA6IGFueSkgPT4gcC5uYW1lID09PSBwcm9wZXJ0eS5uYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAvKiBJZiB0aGUgcHJvcGVydHkgZXhpc3RzIGluIGV4dGVuZENsYXNzSW5zdGFuY2VDbG9uZSwgcmVtb3ZlIGl0ICovXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHRlbmRDbGFzc0luc3RhbmNlQ2xvbmUucHJvcGVydGllcz8uc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAvKiBNZXJnZSBpbnN0YW5jZUNsb25lIHdpdGggbW9kaWZpZWQgZXh0ZW5kQ2xhc3NJbnN0YW5jZUNsb25lICovXHJcbiAgICAgICAgICAgICAgICBpbnN0YW5jZSA9IG1lcmdlKGluc3RhbmNlQ2xvbmUsIGV4dGVuZENsYXNzSW5zdGFuY2VDbG9uZSlcclxuICAgICAgICAgICAgICAgIHByb3RvdHlwZSA9IHByb3RvdHlwZS5fX3Byb3RvX187XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IHdoaWxlIChpc0xvb3ApXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGluc3RhbmNlO1xyXG59XHJcblxyXG4vKipcclxuICogRnVuY3Rpb24gdG8gZ2V0IGFuIGluc3RhbmNlIG9mIGEgbW9kZWwgd2l0aCBvYmplY3QgYXJndW1lbnRzLlxyXG4gKiBAcGFyYW0gbW9kZWwgVGhlIG1vZGVsIHRvIGluc3RhbnRpYXRlLlxyXG4gKiBAcGFyYW0gb2JqZWN0QXJndW1lbnRzIEFyZ3VtZW50cyBmb3IgdGhlIG1vZGVsIGluc3RhbnRpYXRpb24uXHJcbiAqIEByZXR1cm5zIFRoZSBpbnN0YW50aWF0ZWQgY2xhc3MgaW5zdGFuY2UuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5zdGFuY2UobW9kZWw6IGFueSwgb2JqZWN0QXJndW1lbnRzOiBhbnlbXSkge1xyXG4gICAgbGV0IGNsYXNzSW5zdGFuY2UgPSBPYmplY3QuY3JlYXRlKG1vZGVsLnByb3RvdHlwZSlcclxuICAgIHRyeSB7XHJcbiAgICAgICAgLyogVHJ5IHRvIGFwcGx5IGFyZ3VtZW50cyB0byB0aGUgbW9kZWwgKi9cclxuICAgICAgICBtb2RlbC5hcHBseShjbGFzc0luc3RhbmNlLCBvYmplY3RBcmd1bWVudHMpO1xyXG4gICAgfSBjYXRjaCAoZXgpIHtcclxuICAgICAgICAvKiBJZiBhcHBseWluZyBhcmd1bWVudHMgZmFpbHMsIHVzZSBSZWZsZWN0LmNvbnN0cnVjdCAqL1xyXG4gICAgICAgIGNsYXNzSW5zdGFuY2UgPSBSZWZsZWN0LmNvbnN0cnVjdChtb2RlbCwgb2JqZWN0QXJndW1lbnRzKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY2xhc3NJbnN0YW5jZTtcclxufVxyXG4iXX0=
|
|
@@ -16,4 +16,4 @@ export function checkIpV4(value) {
|
|
|
16
16
|
export function checkIpV6(value) {
|
|
17
17
|
return RegexValidator.isValid(value, RegExRule.ipV6);
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXAtY2hlY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy91dGlsL2lwLWNoZWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFVO0lBQ25DLElBQUksT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RCxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxLQUFLLElBQUksS0FBSyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sR0FBRyxLQUFLLElBQUksR0FBRyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZCxNQUFNO1lBQ1AsQ0FBQztRQUNGLENBQUM7SUFDRixDQUFDO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBVTtJQUNuQyxPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVnRXhSdWxlIH0gZnJvbSBcIi4vcmVnZXgtcnVsZXNcIjtcclxuaW1wb3J0IHsgUmVnZXhWYWxpZGF0b3IgfSBmcm9tIFwiLi9yZWdleC12YWxpZGF0b3JcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjaGVja0lwVjQodmFsdWU6IGFueSkge1xyXG5cdGxldCBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNWYWxpZCh2YWx1ZSwgUmVnRXhSdWxlLmlwVjQpO1xyXG5cdGlmIChpc1ZhbGlkKSB7XHJcblx0XHRjb25zdCBzcGxpdERvdHMgPSB2YWx1ZS5zcGxpdCgnLicpO1xyXG5cdFx0Zm9yIChsZXQgaXBOdW0gb2Ygc3BsaXREb3RzKSB7XHJcblx0XHRcdGlzVmFsaWQgPSBpcE51bSA8PSAyNTU7XHJcblx0XHRcdGlmICghaXNWYWxpZCkge1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRyZXR1cm4gaXNWYWxpZDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrSXBWNih2YWx1ZTogYW55KSB7XHJcblx0cmV0dXJuIFJlZ2V4VmFsaWRhdG9yLmlzVmFsaWQodmFsdWUsIFJlZ0V4UnVsZS5pcFY2KTtcclxufVxyXG4iXX0=
|