@sumaris-net/ngx-components 2.6.4 → 2.6.6-rc1
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/doc/changelog.md +6 -0
- package/esm2020/public_api.mjs +12 -2
- package/esm2020/src/app/admin/services/filter/person.filter.mjs +1 -1
- package/esm2020/src/app/admin/services/person.service.mjs +9 -1
- package/esm2020/src/app/admin/users/users.mjs +73 -67
- package/esm2020/src/app/core/account/account.page.mjs +1 -1
- package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +44 -8
- package/esm2020/src/app/core/form/entity/editor.class.mjs +7 -7
- package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +4 -3
- package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +6 -3
- package/esm2020/src/app/core/form/form.class.mjs +7 -2
- package/esm2020/src/app/core/form/form.utils.mjs +4 -1
- package/esm2020/src/app/core/form/properties/properties.table.mjs +1 -1
- package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +2 -2
- package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +2 -2
- package/esm2020/src/app/core/graphql/graphql.service.mjs +6 -2
- package/esm2020/src/app/core/graphql/graphql.utils.mjs +1 -1
- package/esm2020/src/app/core/home/home.mjs +12 -10
- package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +3 -2
- package/esm2020/src/app/core/menu/menu.component.mjs +80 -171
- package/esm2020/src/app/core/menu/menu.model.mjs +219 -7
- package/esm2020/src/app/core/menu/menu.module.mjs +27 -14
- package/esm2020/src/app/core/menu/menu.service.mjs +610 -11
- package/esm2020/src/app/core/menu/sub-menu-tab.directive.mjs +98 -0
- package/esm2020/src/app/core/menu/testing/menu-other.testing.mjs +48 -0
- package/esm2020/src/app/core/menu/testing/menu.testing.mjs +121 -0
- package/esm2020/src/app/core/menu/testing/menu.testing.module.mjs +79 -0
- package/esm2020/src/app/core/peer/select-peer.modal.mjs +3 -2
- package/esm2020/src/app/core/register/register-confirm.page.mjs +3 -3
- package/esm2020/src/app/core/register/register.form.mjs +21 -19
- package/esm2020/src/app/core/services/account.service.mjs +9 -15
- package/esm2020/src/app/core/services/base-entity-service.class.mjs +1 -1
- package/esm2020/src/app/core/services/base-graphql-service.class.mjs +2 -4
- package/esm2020/src/app/core/services/config.service.mjs +23 -22
- package/esm2020/src/app/core/services/crypto.service.mjs +14 -21
- package/esm2020/src/app/core/services/local-settings.service.mjs +12 -1
- package/esm2020/src/app/core/services/model/account.model.mjs +27 -2
- package/esm2020/src/app/core/services/model/config.model.mjs +1 -1
- package/esm2020/src/app/core/services/model/department.model.mjs +1 -1
- package/esm2020/src/app/core/services/model/entity.decorators.mjs +1 -1
- package/esm2020/src/app/core/services/model/entity.model.mjs +20 -35
- package/esm2020/src/app/core/services/model/filter.model.mjs +3 -1
- package/esm2020/src/app/core/services/model/peer.model.mjs +1 -1
- package/esm2020/src/app/core/services/model/person.model.mjs +5 -1
- package/esm2020/src/app/core/services/model/referential.model.mjs +3 -3
- package/esm2020/src/app/core/services/model/token.model.mjs +1 -1
- package/esm2020/src/app/core/services/model/tree-item-entity.model.mjs +199 -0
- package/esm2020/src/app/core/services/network.service.mjs +12 -8
- package/esm2020/src/app/core/services/network.utils.mjs +1 -1
- package/esm2020/src/app/core/services/platform.service.mjs +15 -16
- package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +10 -10
- package/esm2020/src/app/core/services/testing/referential-filter.model.mjs +1 -1
- package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +3 -3
- package/esm2020/src/app/core/settings/settings.page.mjs +2 -2
- package/esm2020/src/app/core/table/async-table.class.mjs +4 -3
- package/esm2020/src/app/core/table/entities-async-table-datasource.class.mjs +1 -1
- package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +1 -1
- package/esm2020/src/app/core/table/table-select-columns.component.mjs +1 -1
- package/esm2020/src/app/core/table/table.class.mjs +19 -14
- package/esm2020/src/app/core/table/table.utils.mjs +6 -3
- package/esm2020/src/app/core/table/testing/table.testing.mjs +3 -2
- package/esm2020/src/app/shared/audio/audio.mjs +5 -5
- package/esm2020/src/app/shared/capacitor/plugins.mjs +1 -1
- package/esm2020/src/app/shared/dates.mjs +3 -1
- package/esm2020/src/app/shared/debug/debug.component.mjs +1 -1
- package/esm2020/src/app/shared/directives/autofocus.directive.mjs +5 -4
- package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +1 -1
- package/esm2020/src/app/shared/directives/ng-var.directive.mjs +1 -1
- package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +1 -1
- package/esm2020/src/app/shared/events.mjs +2 -1
- package/esm2020/src/app/shared/file/csv.utils.mjs +12 -14
- package/esm2020/src/app/shared/file/file.utils.mjs +2 -2
- package/esm2020/src/app/shared/file/images.utils.mjs +2 -2
- package/esm2020/src/app/shared/file/json.utils.mjs +3 -3
- package/esm2020/src/app/shared/file/uri.utils.mjs +2 -1
- package/esm2020/src/app/shared/form/field.component.mjs +28 -3
- package/esm2020/src/app/shared/forms.mjs +48 -30
- package/esm2020/src/app/shared/functions.mjs +7 -2
- package/esm2020/src/app/shared/geolocation/geolocation.utils.mjs +1 -1
- package/esm2020/src/app/shared/help/help.modal.mjs +1 -1
- package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +9 -6
- package/esm2020/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +1 -1
- package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +1 -1
- package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +2 -2
- package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +1 -1
- package/esm2020/src/app/shared/interceptors/progess.interceptor.mjs +1 -1
- package/esm2020/src/app/shared/logging/logger.model.mjs +1 -1
- package/esm2020/src/app/shared/logging/logging-service.class.mjs +2 -2
- package/esm2020/src/app/shared/logging/logging-service.config.mjs +1 -1
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +10 -10
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +4 -6
- package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +1 -1
- package/esm2020/src/app/shared/material/badge/badge.directive.mjs +8 -3
- package/esm2020/src/app/shared/material/badge/badge.test.mjs +2 -2
- package/esm2020/src/app/shared/material/chips/material.chips.mjs +9 -10
- package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +3 -3
- package/esm2020/src/app/shared/material/datetime/material.date.mjs +2 -2
- package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +3 -3
- package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +3 -3
- package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +1 -1
- package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +1 -1
- package/esm2020/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +1 -1
- package/esm2020/src/app/shared/material/duration/material.duration.mjs +3 -3
- package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +5 -4
- package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +1 -1
- package/esm2020/src/app/shared/material/material.animations.mjs +41 -2
- package/esm2020/src/app/shared/material/material.testing.module.mjs +2 -2
- package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +1 -1
- package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +1 -1
- package/esm2020/src/app/shared/modules.mjs +2 -1
- package/esm2020/src/app/shared/named-filter/named-filter.model.mjs +1 -1
- package/esm2020/src/app/shared/observables.mjs +3 -2
- package/esm2020/src/app/shared/pipes/colors.pipe.mjs +3 -1
- package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +1 -1
- package/esm2020/src/app/shared/pipes/form.pipes.mjs +1 -1
- package/esm2020/src/app/shared/pipes/property.pipes.mjs +1 -1
- package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +1 -1
- package/esm2020/src/app/shared/platforms.mjs +1 -1
- package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +3 -1
- package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +5 -6
- package/esm2020/src/app/shared/services/startable-service.class.mjs +1 -1
- package/esm2020/src/app/shared/services/translate-context.service.mjs +11 -13
- package/esm2020/src/app/shared/services/validator-service.class.mjs +1 -1
- package/esm2020/src/app/shared/shared-routing.module.mjs +2 -1
- package/esm2020/src/app/shared/shared.testing.module.mjs +16 -8
- package/esm2020/src/app/shared/storage/storage-explorer.component.mjs +3 -3
- package/esm2020/src/app/shared/storage/storage-explorer.module.mjs +5 -18
- package/esm2020/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +35 -0
- package/esm2020/src/app/shared/storage/storage-explorer.testing.module.mjs +33 -0
- package/esm2020/src/app/shared/storage/storage.service.mjs +3 -3
- package/esm2020/src/app/shared/storage/storage.utils.mjs +1 -1
- package/esm2020/src/app/shared/testing/observable.test.mjs +2 -2
- package/esm2020/src/app/shared/testing/tests.page.mjs +1 -1
- package/esm2020/src/app/shared/toast/toast.testing.mjs +1 -1
- package/esm2020/src/app/shared/toast/toasts.mjs +2 -2
- package/esm2020/src/app/shared/toolbar/toolbar.mjs +1 -1
- package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +2 -1
- package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +1 -1
- package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +5 -5
- package/esm2020/src/app/shared/validator/validators.mjs +10 -3
- package/esm2020/src/app/shared/version/versions.mjs +2 -2
- package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +2 -2
- package/esm2020/src/app/social/job/progression/job-progression.model.mjs +1 -1
- package/esm2020/src/app/social/job/progression/job-progression.service.mjs +1 -1
- package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +1 -1
- package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +3 -3
- package/esm2020/src/app/social/message/message.form.mjs +11 -8
- package/esm2020/src/app/social/message/message.modal.mjs +1 -1
- package/esm2020/src/app/social/message/message.model.mjs +1 -1
- package/esm2020/src/app/social/message/message.service.mjs +2 -2
- package/esm2020/src/app/social/social.module.mjs +2 -2
- package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +5 -5
- package/esm2020/src/app/social/user-event/testing/user-event.testing.model.mjs +1 -1
- package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +1 -1
- package/esm2020/src/app/social/user-event/user-event.model.mjs +1 -1
- package/esm2020/src/app/social/user-event/user-event.service.mjs +4 -3
- package/fesm2015/sumaris-net.ngx-components.mjs +2758 -1263
- package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
- package/fesm2020/sumaris-net.ngx-components.mjs +2687 -1223
- package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +8 -9
- package/public_api.d.ts +11 -1
- package/src/app/admin/services/person.service.d.ts +5 -0
- package/src/app/admin/users/users.d.ts +4 -2
- package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +14 -2
- package/src/app/core/form/entity/entity-editor-modal.class.d.ts +1 -0
- package/src/app/core/form/form.class.d.ts +2 -0
- package/src/app/core/form/form.utils.d.ts +4 -1
- package/src/app/core/form/text-popover/text-popover.component.d.ts +2 -1
- package/src/app/core/graphql/graphql.service.d.ts +5 -4
- package/src/app/core/graphql/graphql.utils.d.ts +2 -2
- package/src/app/core/home/home.d.ts +11 -10
- package/src/app/core/install/install-upgrade-card.component.d.ts +3 -2
- package/src/app/core/menu/menu.component.d.ts +29 -26
- package/src/app/core/menu/menu.model.d.ts +123 -6
- package/src/app/core/menu/menu.module.d.ts +8 -4
- package/src/app/core/menu/menu.service.d.ts +76 -5
- package/src/app/core/menu/sub-menu-tab.directive.d.ts +29 -0
- package/src/app/core/menu/testing/menu-other.testing.d.ts +15 -0
- package/src/app/core/menu/testing/menu.testing.d.ts +43 -0
- package/src/app/core/menu/testing/menu.testing.module.d.ts +12 -0
- package/src/app/core/peer/select-peer.modal.d.ts +4 -3
- package/src/app/core/register/register.form.d.ts +3 -2
- package/src/app/core/services/account.service.d.ts +4 -3
- package/src/app/core/services/config.service.d.ts +5 -3
- package/src/app/core/services/crypto.service.d.ts +7 -7
- package/src/app/core/services/local-settings.service.d.ts +1 -0
- package/src/app/core/services/model/account.model.d.ts +7 -1
- package/src/app/core/services/model/entity.model.d.ts +5 -8
- package/src/app/core/services/model/filter.model.d.ts +2 -0
- package/src/app/core/services/model/person.model.d.ts +1 -0
- package/src/app/core/services/model/tree-item-entity.model.d.ts +53 -0
- package/src/app/core/services/network.service.d.ts +4 -3
- package/src/app/core/services/platform.service.d.ts +4 -5
- package/src/app/core/services/storage/entities-storage.service.d.ts +3 -3
- package/src/app/core/settings/settings.page.d.ts +5 -5
- package/src/app/core/table/async-table.class.d.ts +1 -0
- package/src/app/core/table/table.class.d.ts +5 -1
- package/src/app/core/table/testing/table.testing.d.ts +1 -0
- package/src/app/shared/dates.d.ts +2 -0
- package/src/app/shared/events.d.ts +1 -0
- package/src/app/shared/file/uri.utils.d.ts +1 -0
- package/src/app/shared/form/field.component.d.ts +1 -0
- package/src/app/shared/forms.d.ts +4 -1
- package/src/app/shared/functions.d.ts +1 -0
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +1 -0
- package/src/app/shared/material/badge/badge.directive.d.ts +1 -1
- package/src/app/shared/material/datetime/material.dateshort.d.ts +1 -1
- package/src/app/shared/material/latlong/material.latlong.d.ts +1 -0
- package/src/app/shared/material/material.animations.d.ts +2 -0
- package/src/app/shared/modules.d.ts +1 -0
- package/src/app/shared/observables.d.ts +1 -0
- package/src/app/shared/pipes/translate-context.pipe.d.ts +1 -1
- package/src/app/shared/services/memory-entity-service.class.d.ts +2 -0
- package/src/app/shared/services/startable-observable-service.class.d.ts +1 -1
- package/src/app/shared/services/translate-context.service.d.ts +2 -2
- package/src/app/shared/services/validator-service.class.d.ts +1 -0
- package/src/app/shared/shared-routing.module.d.ts +1 -0
- package/src/app/shared/shared.testing.module.d.ts +3 -2
- package/src/app/shared/storage/storage-explorer.component.d.ts +2 -2
- package/src/app/shared/storage/storage-explorer.module.d.ts +5 -8
- package/src/app/shared/storage/storage-explorer.testing-routing.module.d.ts +9 -0
- package/src/app/shared/storage/storage-explorer.testing.module.d.ts +10 -0
- package/src/app/shared/storage/storage.service.d.ts +0 -1
- package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +1 -0
- package/src/app/shared/validator/validators.d.ts +4 -0
- package/src/app/social/user-event/user-event.model.d.ts +1 -2
- package/src/assets/i18n/en-US.json +1 -0
- package/src/assets/i18n/en.json +1 -0
- package/src/assets/i18n/fr.json +10 -1
- package/src/assets/manifest.json +1 -1
- package/src/theme/_ngx-components.scss +2 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
var Account_1, UserSettings_1;
|
|
2
2
|
import { __decorate } from "tslib";
|
|
3
|
-
import { Person } from './person.model';
|
|
3
|
+
import { Person, PersonUtils } from './person.model';
|
|
4
4
|
import { Entity } from './entity.model';
|
|
5
5
|
import { EntityClass } from './entity.decorators';
|
|
6
|
+
import { StatusIds } from './model.enum';
|
|
6
7
|
import { equals, isNil } from '../../../shared/functions';
|
|
7
8
|
import { UserToken } from './token.model';
|
|
8
9
|
/**
|
|
@@ -47,6 +48,30 @@ Account = Account_1 = __decorate([
|
|
|
47
48
|
EntityClass({ typename: 'AccountVO' })
|
|
48
49
|
], Account);
|
|
49
50
|
export { Account };
|
|
51
|
+
export class AccountUtils {
|
|
52
|
+
static hasMinProfile(account, userProfile) {
|
|
53
|
+
// should be login, and status ENABLE or TEMPORARY
|
|
54
|
+
if (!account || !account.pubkey ||
|
|
55
|
+
(account.statusId !== StatusIds.ENABLE && account.statusId !== StatusIds.TEMPORARY)) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
return PersonUtils.hasUpperOrEqualsProfile(account.profiles, userProfile);
|
|
59
|
+
}
|
|
60
|
+
static hasExactProfile(account, label) {
|
|
61
|
+
// should be login, and status ENABLE or TEMPORARY
|
|
62
|
+
if (!account || !account.pubkey ||
|
|
63
|
+
(account.statusId !== StatusIds.ENABLE && account.statusId !== StatusIds.TEMPORARY))
|
|
64
|
+
return false;
|
|
65
|
+
return account.profiles.some(profile => profile === label);
|
|
66
|
+
}
|
|
67
|
+
static hasProfileAndIsEnable(account, userProfile) {
|
|
68
|
+
// should be login, and status ENABLE
|
|
69
|
+
if (!account || !account.pubkey || account.statusId !== StatusIds.ENABLE)
|
|
70
|
+
return false;
|
|
71
|
+
return PersonUtils.hasUpperOrEqualsProfile(account.profiles, userProfile);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
AccountUtils.accountToString = accountToString;
|
|
50
75
|
// @dynamic
|
|
51
76
|
let UserSettings = UserSettings_1 = class UserSettings extends Entity {
|
|
52
77
|
constructor() {
|
|
@@ -119,4 +144,4 @@ export function accountToString(data) {
|
|
|
119
144
|
((data.firstName && (data.firstName + ' ') || '') +
|
|
120
145
|
(data.lastName || '')) || '';
|
|
121
146
|
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxNQUFNLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4Qzs7R0FFRztBQUNILFdBQVc7QUFFWCxJQUFhLE9BQU8sZUFBcEIsTUFBYSxPQUFRLFNBQVEsTUFBZTtJQU8xQztRQUNFLEtBQUssQ0FBQyxTQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKMUIsYUFBUSxHQUFpQixJQUFJLENBQUM7UUFDOUIsV0FBTSxHQUFnQixFQUFFLENBQUM7SUFJekIsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUE0QjtRQUNuQyxNQUFNLE1BQU0sR0FBUSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUMsR0FBRyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyw0Q0FBNEMsRUFBQyxDQUFDLENBQUM7UUFDMUcsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksSUFBSSxFQUFFLE1BQU0sRUFBRTtZ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Q3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGLENBQUE7QUF2RVEsZ0NBQW1CLEdBQUcsQ0FBcUIsUUFBUSxFQUFzQixlQUFlLENBQWMsQ0FBQTtBQUZsRyxZQUFZO0lBRHhCLFdBQVcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxDQUFDO0dBQzdCLFlBQVksQ0F5RXhCO1NBekVZLFlBQVk7QUE0RXpCLE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBYTtJQUMzQyxPQUFPLElBQUk7UUFDVCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQy9DLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2NhbFNldHRpbmdzfSBmcm9tICcuL3NldHRpbmdzLm1vZGVsJztcbmltcG9ydCB7UGVyc29ufSBmcm9tICcuL3BlcnNvbi5tb2RlbCc7XG5pbXBvcnQge0VudGl0eSwgRW50aXR5QXNPYmplY3RPcHRpb25zfSBmcm9tICcuL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQge0VudGl0eUNsYXNzfSBmcm9tICcuL2VudGl0eS5kZWNvcmF0b3JzJztcbmltcG9ydCB7TGF0TG9uZ1BhdHRlcm59IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9tYXRlcmlhbC9sYXRsb25nL2xhdGxvbmcudXRpbHMnO1xuaW1wb3J0IHtlcXVhbHMsIGlzTmlsfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcbmltcG9ydCB7VXNlclRva2VufSBmcm9tICcuL3Rva2VuLm1vZGVsJztcblxuLyoqXG4gKiBBIHVzZXIgYWNjb3VudFxuICovXG4vLyBAZHluYW1pY1xuQEVudGl0eUNsYXNzKHt0eXBlbmFtZTogJ0FjY291bnRWTyd9KVxuZXhwb3J0IGNsYXNzIEFjY291bnQgZXh0ZW5kcyBQZXJzb248QWNjb3VudD4ge1xuXG4gIHN0YXRpYyBmcm9tT2JqZWN0OiAoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpID0+IEFjY291bnQ7XG5cbiAgc2V0dGluZ3M6IFVzZXJTZXR0aW5ncyA9IG51bGw7XG4gIHRva2VuczogVXNlclRva2VuW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihBY2NvdW50LlRZUEVOQU1FKTtcbiAgfVxuXG4gIGFzT2JqZWN0KG9wdHM/OiBFbnRpdHlBc09iamVjdE9wdGlvbnMpOiBhbnkge1xuICAgIGNvbnN0IHRhcmdldDogYW55ID0gc3VwZXIuYXNPYmplY3Qoey4uLm9wdHMsIG1pbmlmeTogZmFsc2UgLypkaXNhYmxlIFBlcnNvbiBtaW5pZnkgKHRvbyByZXN0cmljdGl2ZSkgKi99KTtcbiAgICB0YXJnZXQuc2V0dGluZ3MgPSB0aGlzLnNldHRpbmdzPy5hc09iamVjdChvcHRzKTtcbiAgICB0YXJnZXQudG9rZW5zID0gdGhpcy50b2tlbnM/Lm1hcCh2YWx1ZSA9PiB2YWx1ZS5hc09iamVjdChvcHRzKSk7XG4gICAgaWYgKG9wdHM/Lm1pbmlmeSkge1xuICAgICAgZGVsZXRlIHRhcmdldC5tYWluUHJvZmlsZTsgLy8gTm90IGtub3duIG9uIHNlcnZlclxuICAgIH1cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbiAgZnJvbU9iamVjdChzb3VyY2U6IGFueSkge1xuICAgIHN1cGVyLmZyb21PYmplY3Qoc291cmNlKTtcbiAgICB0aGlzLnNldHRpbmdzID0gc291cmNlLnNldHRpbmdzICYmIFVzZXJTZXR0aW5ncy5mcm9tT2JqZWN0KHNvdXJjZS5zZXR0aW5ncyk7XG4gICAgdGhpcy50b2tlbnMgPSBzb3VyY2UudG9rZW5zPy5tYXAodmFsdWUgPT4gVXNlclRva2VuLmZyb21PYmplY3QodmFsdWUpKSB8fCBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGludG8gYSBQZXJzb24uIFRoaXMgd2lsbCBmaWxsIF9fdHlwZW5hbWUgd2l0aCBhIHJpZ2h0IHZhbHVlLCBmb3IgZGF0YSBjYWNoZVxuICAgKi9cbiAgYXNQZXJzb24oKTogUGVyc29uIHtcbiAgICBjb25zdCBwZXJzb24gPSBQZXJzb24uZnJvbU9iamVjdCh0aGlzLmFzT2JqZWN0KHtcbiAgICAgIGtlZXBUeXBlbmFtZTogdHJ1ZSAvLyBUaGlzIGlzIG5lZWQgZm9yIHRoZSBkZXBhcnRtZW50IG9iamVjdFxuICAgIH0pKTtcbiAgICBwZXJzb24uX190eXBlbmFtZSA9IFBlcnNvbi5UWVBFTkFNRTsgLy8gRG8gbm90IGtlZXAgQWNjb3VudFZPIGFzIHR5cGVuYW1lXG4gICAgcmV0dXJuIHBlcnNvbjtcbiAgfVxuXG4gIGdldCBkaXNwbGF5TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBhY2NvdW50VG9TdHJpbmcodGhpcyk7XG4gIH1cblxufVxuXG5cbi8vIEBkeW5hbWljXG5ARW50aXR5Q2xhc3Moe3R5cGVuYW1lOiAnVXNlclNldHRpbmdzVk8nfSlcbmV4cG9ydCBjbGFzcyBVc2VyU2V0dGluZ3MgZXh0ZW5kcyBFbnRpdHk8VXNlclNldHRpbmdzPiB7XG5cbiAgc3RhdGljIFNFVFRJTkdTX1BST1BFUlRJRVMgPSBbPGtleW9mIFVzZXJTZXR0aW5ncz4nbG9jYWxlJywgPGtleW9mIFVzZXJTZXR0aW5ncz4nbGF0TG9uZ0Zvcm1hdCddIGFzIHN0cmluZ1tdO1xuICBzdGF0aWMgZnJvbU9iamVjdDogKHNvdXJjZTogYW55LCBvcHRzPzogYW55KSA9PiBVc2VyU2V0dGluZ3M7XG5cbiAgbG9jYWxlOiBzdHJpbmc7XG4gIGxhdExvbmdGb3JtYXQ6IExhdExvbmdQYXR0ZXJuO1xuICBjb250ZW50OiBhbnk7XG4gIG5vbmNlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoVXNlclNldHRpbmdzLlRZUEVOQU1FKTtcbiAgfVxuXG4gIGFzT2JqZWN0KG9wdHM/OiBFbnRpdHlBc09iamVjdE9wdGlvbnMpOiBhbnkge1xuICAgIGNvbnN0IHRhcmdldCA9IHN1cGVyLmFzT2JqZWN0KG9wdHMpO1xuICAgIGlmIChvcHRzPy5taW5pZnkpIHtcbiAgICAgIC8vIFN0cmluZ2lmeSBjb250ZW50XG4gICAgICB0YXJnZXQuY29udGVudCA9IHRoaXMuY29udGVudCA/IEpTT04uc3RyaW5naWZ5KHRoaXMuY29udGVudCkgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cblxuICBmcm9tT2JqZWN0KHNvdXJjZTogYW55LCBvcHRzPzogYW55KSB7XG4gICAgc3VwZXIuZnJvbU9iamVjdChzb3VyY2UpO1xuICAgIHRoaXMubG9jYWxlID0gc291cmNlLmxvY2FsZTtcbiAgICB0aGlzLmxhdExvbmdGb3JtYXQgPSBzb3VyY2UubGF0TG9uZ0Zvcm1hdCBhcyBMYXRMb25nUGF0dGVybjtcbiAgICBpZiAoaXNOaWwoc291cmNlLmNvbnRlbnQpIHx8IHR5cGVvZiBzb3VyY2UuY29udGVudCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHRoaXMuY29udGVudCA9IHNvdXJjZS5jb250ZW50IHx8IHt9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbnRlbnQgPSBzb3VyY2UuY29udGVudCAmJiBKU09OLnBhcnNlKHNvdXJjZS5jb250ZW50KSB8fCB7fTtcbiAgICB9XG4gICAgdGhpcy5ub25jZSA9IHNvdXJjZS5ub25jZTtcbiAgfVxuXG4gIG1lcmdlPFMgPSBMb2NhbFNldHRpbmdzPihzb3VyY2U6IFMsIGluY2x1ZGVzUHJvcGVydGllczogKGtleW9mIFMpW10pOiBib29sZWFuIHtcbiAgICBpZiAoIXNvdXJjZSkgcmV0dXJuOyAvLyBTa2lwXG5cbiAgICAvLyBSZXNldCBjb250ZW50XG4gICAgdGhpcy5jb250ZW50ID0ge307XG4gICAgbGV0IGhhc0NoYW5nZXMgPSBmYWxzZTtcblxuICAgIC8vIEZvciBlYWNoIHByb3BlcnR5IG9mIHNvdXJjZSBvYmplY3RcbiAgICBPYmplY3Qua2V5cyhzb3VyY2UpXG4gICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAvLyBJZiBwcm9wZXJ0eSBleGlzdHMgaW4gVXNlclNldHRpbmdzIGNsYXNzOiBzdG9yZSBpdCBkaXJlY3RseVxuICAgICAgICBpZiAoVXNlclNldHRpbmdzLlNFVFRJTkdTX1BST1BFUlRJRVMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgIGlmICghZXF1YWxzKHRoaXNba2V5XSwgc291cmNlW2tleV0pKSB7XG4gICAgICAgICAgICB0aGlzW2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgICAgIGhhc0NoYW5nZXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBFbHNlLCBzdG9yZSBwcm9wZXJ0eSBpbnRvIHRoZSAnY29udGVudCcgbWFwXG4gICAgICAgIGVsc2UgaWYgKGluY2x1ZGVzUHJvcGVydGllcyAmJiBpbmNsdWRlc1Byb3BlcnRpZXMuaW5jbHVkZXMoa2V5IGFzIGtleW9mIFMpKXtcbiAgICAgICAgICBpZiAoIWVxdWFscyh0aGlzLmNvbnRlbnRba2V5XSwgc291cmNlW2tleV0pKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRba2V5XSA9IE9iamVjdC5hc3NpZ24oe30sIHNvdXJjZVtrZXldKTtcbiAgICAgICAgICAgIGhhc0NoYW5nZXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgcmV0dXJuIGhhc0NoYW5nZXM7XG4gIH1cblxuICBhc0xvY2FsU2V0dGluZ3MoKTogUGFydGlhbDxMb2NhbFNldHRpbmdzPiB7XG4gICAgY29uc3QgdGFyZ2V0ID0ge307XG4gICAgVXNlclNldHRpbmdzLlNFVFRJTkdTX1BST1BFUlRJRVMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgdGFyZ2V0W2tleV0gPSB0aGlzW2tleV07XG4gICAgfSk7XG4gICAgT2JqZWN0LmtleXModGhpcy5jb250ZW50KS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICB0YXJnZXRba2V5XSA9IHRoaXMuY29udGVudFtrZXldO1xuICAgIH0pO1xuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gYWNjb3VudFRvU3RyaW5nKGRhdGE6IEFjY291bnQpOiBzdHJpbmcge1xuICByZXR1cm4gZGF0YSAmJlxuICAgICgoZGF0YS5maXJzdE5hbWUgJiYgKGRhdGEuZmlyc3ROYW1lICsgJyAnKSB8fCAnJykgK1xuICAgICAgKGRhdGEubGFzdE5hbWUgfHwgJycpKSB8fCAnJztcbn1cbiJdfQ==
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBTyxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFDLE1BQU0sRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUV2QyxPQUFPLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxXQUFXO0FBRUosSUFBTSxPQUFPLGVBQWIsTUFBTSxPQUFRLFNBQVEsTUFBZTtJQU8xQztRQUNFLEtBQUssQ0FBQyxTQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKMUIsYUFBUSxHQUFpQixJQUFJLENBQUM7UUFDOUIsV0FBTSxHQUFnQixFQUFFLENBQUM7SUFJekIsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUE0QjtRQUNuQyxNQUFNLE1BQU0sR0FBUSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUMsR0FBRyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyw0Q0FBNEMsRUFBQyxDQUFDLENBQUM7UUFDMUcsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJ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QUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O0FBdEVNLGdDQUFtQixHQUFHLENBQXFCLFFBQVEsRUFBc0IsZUFBZSxDQUFhLENBQUM7QUFGbEcsWUFBWTtJQUR4QixXQUFXLENBQUMsRUFBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQztHQUM3QixZQUFZLENBeUV4QjtTQXpFWSxZQUFZO0FBNEV6QixNQUFNLFVBQVUsZUFBZSxDQUFDLElBQWE7SUFDM0MsT0FBTyxJQUFJO1FBQ1QsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYWxTZXR0aW5nc30gZnJvbSAnLi9zZXR0aW5ncy5tb2RlbCc7XG5pbXBvcnQge1BlcnNvbiwgUGVyc29uVXRpbHMsIFVzZXJQcm9maWxlTGFiZWx9IGZyb20gJy4vcGVyc29uLm1vZGVsJztcbmltcG9ydCB7RW50aXR5LCBFbnRpdHlBc09iamVjdE9wdGlvbnN9IGZyb20gJy4vZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7RW50aXR5Q2xhc3N9IGZyb20gJy4vZW50aXR5LmRlY29yYXRvcnMnO1xuaW1wb3J0IHtTdGF0dXNJZHN9IGZyb20gJy4vbW9kZWwuZW51bSc7XG5pbXBvcnQge0xhdExvbmdQYXR0ZXJufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbWF0ZXJpYWwvbGF0bG9uZy9sYXRsb25nLnV0aWxzJztcbmltcG9ydCB7ZXF1YWxzLCBpc05pbH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQge1VzZXJUb2tlbn0gZnJvbSAnLi90b2tlbi5tb2RlbCc7XG5cbi8qKlxuICogQSB1c2VyIGFjY291bnRcbiAqL1xuLy8gQGR5bmFtaWNcbkBFbnRpdHlDbGFzcyh7dHlwZW5hbWU6ICdBY2NvdW50Vk8nfSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50IGV4dGVuZHMgUGVyc29uPEFjY291bnQ+IHtcblxuICBzdGF0aWMgZnJvbU9iamVjdDogKHNvdXJjZTogYW55LCBvcHRzPzogYW55KSA9PiBBY2NvdW50O1xuXG4gIHNldHRpbmdzOiBVc2VyU2V0dGluZ3MgPSBudWxsO1xuICB0b2tlbnM6IFVzZXJUb2tlbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoQWNjb3VudC5UWVBFTkFNRSk7XG4gIH1cblxuICBhc09iamVjdChvcHRzPzogRW50aXR5QXNPYmplY3RPcHRpb25zKTogYW55IHtcbiAgICBjb25zdCB0YXJnZXQ6IGFueSA9IHN1cGVyLmFzT2JqZWN0KHsuLi5vcHRzLCBtaW5pZnk6IGZhbHNlIC8qZGlzYWJsZSBQZXJzb24gbWluaWZ5ICh0b28gcmVzdHJpY3RpdmUpICovfSk7XG4gICAgdGFyZ2V0LnNldHRpbmdzID0gdGhpcy5zZXR0aW5ncz8uYXNPYmplY3Qob3B0cyk7XG4gICAgdGFyZ2V0LnRva2VucyA9IHRoaXMudG9rZW5zPy5tYXAodmFsdWUgPT4gdmFsdWUuYXNPYmplY3Qob3B0cykpO1xuICAgIGlmIChvcHRzPy5taW5pZnkpIHtcbiAgICAgIGRlbGV0ZSB0YXJnZXQubWFpblByb2ZpbGU7IC8vIE5vdCBrbm93biBvbiBzZXJ2ZXJcbiAgICB9XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuXG4gIGZyb21PYmplY3Qoc291cmNlOiBhbnkpIHtcbiAgICBzdXBlci5mcm9tT2JqZWN0KHNvdXJjZSk7XG4gICAgdGhpcy5zZXR0aW5ncyA9IHNvdXJjZS5zZXR0aW5ncyAmJiBVc2VyU2V0dGluZ3MuZnJvbU9iamVjdChzb3VyY2Uuc2V0dGluZ3MpO1xuICAgIHRoaXMudG9rZW5zID0gc291cmNlLnRva2Vucz8ubWFwKHZhbHVlID0+IFVzZXJUb2tlbi5mcm9tT2JqZWN0KHZhbHVlKSkgfHwgW107XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBpbnRvIGEgUGVyc29uLiBUaGlzIHdpbGwgZmlsbCBfX3R5cGVuYW1lIHdpdGggYSByaWdodCB2YWx1ZSwgZm9yIGRhdGEgY2FjaGVcbiAgICovXG4gIGFzUGVyc29uKCk6IFBlcnNvbiB7XG4gICAgY29uc3QgcGVyc29uID0gUGVyc29uLmZyb21PYmplY3QodGhpcy5hc09iamVjdCh7XG4gICAgICBrZWVwVHlwZW5hbWU6IHRydWUgLy8gVGhpcyBpcyBuZWVkIGZvciB0aGUgZGVwYXJ0bWVudCBvYmplY3RcbiAgICB9KSk7XG4gICAgcGVyc29uLl9fdHlwZW5hbWUgPSBQZXJzb24uVFlQRU5BTUU7IC8vIERvIG5vdCBrZWVwIEFjY291bnRWTyBhcyB0eXBlbmFtZVxuICAgIHJldHVybiBwZXJzb247XG4gIH1cblxuICBnZXQgZGlzcGxheU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYWNjb3VudFRvU3RyaW5nKHRoaXMpO1xuICB9XG5cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFjY291bnRVdGlscyB7XG4gIHN0YXRpYyBhY2NvdW50VG9TdHJpbmcgPSBhY2NvdW50VG9TdHJpbmc7XG5cbiAgc3RhdGljIGhhc01pblByb2ZpbGUoYWNjb3VudDogQWNjb3VudHxudWxsLCB1c2VyUHJvZmlsZTogVXNlclByb2ZpbGVMYWJlbCk6IGJvb2xlYW4ge1xuICAgIC8vIHNob3VsZCBiZSBsb2dpbiwgYW5kIHN0YXR1cyBFTkFCTEUgb3IgVEVNUE9SQVJZXG4gICAgaWYgKCFhY2NvdW50IHx8ICFhY2NvdW50LnB1YmtleSB8fFxuICAgICAgKGFjY291bnQuc3RhdHVzSWQgIT09IFN0YXR1c0lkcy5FTkFCTEUgJiYgYWNjb3VudC5zdGF0dXNJZCAhPT0gU3RhdHVzSWRzLlRFTVBPUkFSWSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIFBlcnNvblV0aWxzLmhhc1VwcGVyT3JFcXVhbHNQcm9maWxlKGFjY291bnQucHJvZmlsZXMsIHVzZXJQcm9maWxlKTtcbiAgfVxuXG4gIHN0YXRpYyBoYXNFeGFjdFByb2ZpbGUoYWNjb3VudDogQWNjb3VudHxudWxsLCBsYWJlbDogVXNlclByb2ZpbGVMYWJlbCk6IGJvb2xlYW4ge1xuICAgIC8vIHNob3VsZCBiZSBsb2dpbiwgYW5kIHN0YXR1cyBFTkFCTEUgb3IgVEVNUE9SQVJZXG4gICAgaWYgKCFhY2NvdW50IHx8ICFhY2NvdW50LnB1YmtleSB8fFxuICAgICAgKGFjY291bnQuc3RhdHVzSWQgIT09IFN0YXR1c0lkcy5FTkFCTEUgJiYgYWNjb3VudC5zdGF0dXNJZCAhPT0gU3RhdHVzSWRzLlRFTVBPUkFSWSkpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIGFjY291bnQucHJvZmlsZXMuc29tZShwcm9maWxlID0+IHByb2ZpbGUgPT09IGxhYmVsKTtcbiAgfVxuXG4gIHN0YXRpYyBoYXNQcm9maWxlQW5kSXNFbmFibGUoYWNjb3VudDogQWNjb3VudHxudWxsLCB1c2VyUHJvZmlsZTogVXNlclByb2ZpbGVMYWJlbCk6IGJvb2xlYW4ge1xuICAgIC8vIHNob3VsZCBiZSBsb2dpbiwgYW5kIHN0YXR1cyBFTkFCTEVcbiAgICBpZiAoIWFjY291bnQgfHwgIWFjY291bnQucHVia2V5IHx8IGFjY291bnQuc3RhdHVzSWQgIT09IFN0YXR1c0lkcy5FTkFCTEUpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gUGVyc29uVXRpbHMuaGFzVXBwZXJPckVxdWFsc1Byb2ZpbGUoYWNjb3VudC5wcm9maWxlcywgdXNlclByb2ZpbGUpO1xuICB9XG59XG5cbi8vIEBkeW5hbWljXG5ARW50aXR5Q2xhc3Moe3R5cGVuYW1lOiAnVXNlclNldHRpbmdzVk8nfSlcbmV4cG9ydCBjbGFzcyBVc2VyU2V0dGluZ3MgZXh0ZW5kcyBFbnRpdHk8VXNlclNldHRpbmdzPiB7XG5cbiAgc3RhdGljIFNFVFRJTkdTX1BST1BFUlRJRVMgPSBbPGtleW9mIFVzZXJTZXR0aW5ncz4nbG9jYWxlJywgPGtleW9mIFVzZXJTZXR0aW5ncz4nbGF0TG9uZ0Zvcm1hdCddIGFzIHN0cmluZ1tdO1xuICBzdGF0aWMgZnJvbU9iamVjdDogKHNvdXJjZTogYW55LCBvcHRzPzogYW55KSA9PiBVc2VyU2V0dGluZ3M7XG5cbiAgbG9jYWxlOiBzdHJpbmc7XG4gIGxhdExvbmdGb3JtYXQ6IExhdExvbmdQYXR0ZXJuO1xuICBjb250ZW50OiBhbnk7XG4gIG5vbmNlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoVXNlclNldHRpbmdzLlRZUEVOQU1FKTtcbiAgfVxuXG4gIGFzT2JqZWN0KG9wdHM/OiBFbnRpdHlBc09iamVjdE9wdGlvbnMpOiBhbnkge1xuICAgIGNvbnN0IHRhcmdldCA9IHN1cGVyLmFzT2JqZWN0KG9wdHMpO1xuICAgIGlmIChvcHRzPy5taW5pZnkpIHtcbiAgICAgIC8vIFN0cmluZ2lmeSBjb250ZW50XG4gICAgICB0YXJnZXQuY29udGVudCA9IHRoaXMuY29udGVudCA/IEpTT04uc3RyaW5naWZ5KHRoaXMuY29udGVudCkgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cblxuICBmcm9tT2JqZWN0KHNvdXJjZTogYW55LCBvcHRzPzogYW55KSB7XG4gICAgc3VwZXIuZnJvbU9iamVjdChzb3VyY2UpO1xuICAgIHRoaXMubG9jYWxlID0gc291cmNlLmxvY2FsZTtcbiAgICB0aGlzLmxhdExvbmdGb3JtYXQgPSBzb3VyY2UubGF0TG9uZ0Zvcm1hdCBhcyBMYXRMb25nUGF0dGVybjtcbiAgICBpZiAoaXNOaWwoc291cmNlLmNvbnRlbnQpIHx8IHR5cGVvZiBzb3VyY2UuY29udGVudCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHRoaXMuY29udGVudCA9IHNvdXJjZS5jb250ZW50IHx8IHt9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbnRlbnQgPSBzb3VyY2UuY29udGVudCAmJiBKU09OLnBhcnNlKHNvdXJjZS5jb250ZW50KSB8fCB7fTtcbiAgICB9XG4gICAgdGhpcy5ub25jZSA9IHNvdXJjZS5ub25jZTtcbiAgfVxuXG4gIG1lcmdlPFMgPSBMb2NhbFNldHRpbmdzPihzb3VyY2U6IFMsIGluY2x1ZGVzUHJvcGVydGllczogKGtleW9mIFMpW10pOiBib29sZWFuIHtcbiAgICBpZiAoIXNvdXJjZSkgcmV0dXJuOyAvLyBTa2lwXG5cbiAgICAvLyBSZXNldCBjb250ZW50XG4gICAgdGhpcy5jb250ZW50ID0ge307XG4gICAgbGV0IGhhc0NoYW5nZXMgPSBmYWxzZTtcblxuICAgIC8vIEZvciBlYWNoIHByb3BlcnR5IG9mIHNvdXJjZSBvYmplY3RcbiAgICBPYmplY3Qua2V5cyhzb3VyY2UpXG4gICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAvLyBJZiBwcm9wZXJ0eSBleGlzdHMgaW4gVXNlclNldHRpbmdzIGNsYXNzOiBzdG9yZSBpdCBkaXJlY3RseVxuICAgICAgICBpZiAoVXNlclNldHRpbmdzLlNFVFRJTkdTX1BST1BFUlRJRVMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgIGlmICghZXF1YWxzKHRoaXNba2V5XSwgc291cmNlW2tleV0pKSB7XG4gICAgICAgICAgICB0aGlzW2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgICAgIGhhc0NoYW5nZXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBFbHNlLCBzdG9yZSBwcm9wZXJ0eSBpbnRvIHRoZSAnY29udGVudCcgbWFwXG4gICAgICAgIGVsc2UgaWYgKGluY2x1ZGVzUHJvcGVydGllcyAmJiBpbmNsdWRlc1Byb3BlcnRpZXMuaW5jbHVkZXMoa2V5IGFzIGtleW9mIFMpKXtcbiAgICAgICAgICBpZiAoIWVxdWFscyh0aGlzLmNvbnRlbnRba2V5XSwgc291cmNlW2tleV0pKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRba2V5XSA9IE9iamVjdC5hc3NpZ24oe30sIHNvdXJjZVtrZXldKTtcbiAgICAgICAgICAgIGhhc0NoYW5nZXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgcmV0dXJuIGhhc0NoYW5nZXM7XG4gIH1cblxuICBhc0xvY2FsU2V0dGluZ3MoKTogUGFydGlhbDxMb2NhbFNldHRpbmdzPiB7XG4gICAgY29uc3QgdGFyZ2V0ID0ge307XG4gICAgVXNlclNldHRpbmdzLlNFVFRJTkdTX1BST1BFUlRJRVMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgdGFyZ2V0W2tleV0gPSB0aGlzW2tleV07XG4gICAgfSk7XG4gICAgT2JqZWN0LmtleXModGhpcy5jb250ZW50KS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICB0YXJnZXRba2V5XSA9IHRoaXMuY29udGVudFtrZXldO1xuICAgIH0pO1xuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gYWNjb3VudFRvU3RyaW5nKGRhdGE6IEFjY291bnQpOiBzdHJpbmcge1xuICByZXR1cm4gZGF0YSAmJlxuICAgICgoZGF0YS5maXJzdE5hbWUgJiYgKGRhdGEuZmlyc3ROYW1lICsgJyAnKSB8fCAnJykgK1xuICAgICAgKGRhdGEubGFzdE5hbWUgfHwgJycpKSB8fCAnJztcbn1cbiJdfQ==
|
|
@@ -89,4 +89,4 @@ Configuration = Configuration_1 = __decorate([
|
|
|
89
89
|
EntityClass({ typename: 'ConfigurationVO' })
|
|
90
90
|
], Configuration);
|
|
91
91
|
export { Configuration };
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL21vZGVsL2NvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE9BQU8sRUFBQyxNQUFNLEVBQXlCLFdBQVcsRUFBVSxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDekUsT0FBTyxFQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsV0FBVztBQUVYLElBQWEsUUFBUSxnQkFBckIsTUFBYSxRQUdYLFNBQVEsTUFBaUI7SUFhekIsWUFBWSxVQUFtQjtRQUM3QixLQUFLLENBQUMsVUFBVSxJQUFJLFVBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQStCO1FBQ3RDLE1BQU0sTUFBTSxHQUFRLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLFlBQVksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNwQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQVc7UUFDcEIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFB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e0Zvcm1GaWVsZERlZmluaXRpb259IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mb3JtL2ZpZWxkLm1vZGVsJztcbmltcG9ydCB7RW50aXR5LCBFbnRpdHlBc09iamVjdE9wdGlvbnMsIEVudGl0eVV0aWxzLCBJRW50aXR5fSBmcm9tICcuL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQge0RlcGFydG1lbnR9IGZyb20gJy4vZGVwYXJ0bWVudC5tb2RlbCc7XG5pbXBvcnQge1Byb3BlcnRpZXNNYXB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC90eXBlcyc7XG5pbXBvcnQge2Zyb21EYXRlSVNPU3RyaW5nLCB0b0RhdGVJU09TdHJpbmd9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kYXRlcyc7XG5pbXBvcnQge2lzTm90TmlsLCB1bmRlZmluZWRJZk51bGx9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHtFbnRpdHlDbGFzc30gZnJvbSAnLi9lbnRpdHkuZGVjb3JhdG9ycyc7XG5cbi8vIEBkeW5hbWljXG5ARW50aXR5Q2xhc3Moe3R5cGVuYW1lOiAnU29mdHdhcmVWTyd9KVxuZXhwb3J0IGNsYXNzIFNvZnR3YXJlPFxuICBUIGV4dGVuZHMgU29mdHdhcmU8YW55PiA9IFNvZnR3YXJlPGFueT5cbiAgPlxuICBleHRlbmRzIEVudGl0eTxULCBudW1iZXI+XG4gIGltcGxlbWVudHMgSUVudGl0eTxULCBudW1iZXI+IHtcblxuIHN0YXRpYyBmcm9tT2JqZWN0OiAoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpID0+IFNvZnR3YXJlO1xuXG4gIGxhYmVsOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgY29tbWVudHM6IHN0cmluZztcbiAgY3JlYXRpb25EYXRlOiBEYXRlIHwgTW9tZW50O1xuICBzdGF0dXNJZDogbnVtYmVyO1xuICBwcm9wZXJ0aWVzOiBQcm9wZXJ0aWVzTWFwO1xuXG4gIGNvbnN0cnVjdG9yKF9fdHlwZW5hbWU/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihfX3R5cGVuYW1lIHx8IFNvZnR3YXJlLlRZUEVOQU1FKTtcbiAgfVxuXG4gIGFzT2JqZWN0KG9wdGlvbnM/OiBFbnRpdHlBc09iamVjdE9wdGlvbnMpOiBhbnkge1xuICAgIGNvbnN0IHRhcmdldDogYW55ID0gc3VwZXIuYXNPYmplY3Qob3B0aW9ucyk7XG4gICAgdGFyZ2V0LmNyZWF0aW9uRGF0ZSA9IHRvRGF0ZUlTT1N0cmluZyh0aGlzLmNyZWF0aW9uRGF0ZSk7XG4gICAgdGFyZ2V0LnByb3BlcnRpZXMgPSB0aGlzLnByb3BlcnRpZXM7XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuXG4gIGZyb21PYmplY3Qoc291cmNlOiBhbnkpIHtcbiAgICBzdXBlci5mcm9tT2JqZWN0KHNvdXJjZSk7XG4gICAgdGhpcy5sYWJlbCA9IHNvdXJjZS5sYWJlbDtcbiAgICB0aGlzLm5hbWUgPSBzb3VyY2UubmFtZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gc291cmNlLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMuY29tbWVudHMgPSBzb3VyY2UuY29tbWVudHM7XG4gICAgdGhpcy5jcmVhdGlvbkRhdGUgPSBmcm9tRGF0ZUlTT1N0cmluZyhzb3VyY2UuY3JlYXRpb25EYXRlKTtcbiAgICB0aGlzLnN0YXR1c0lkID0gc291cmNlLnN0YXR1c0lkO1xuXG4gICAgaWYgKHNvdXJjZS5wcm9wZXJ0aWVzICYmIEFycmF5LmlzQXJyYXkoc291cmNlLnByb3BlcnRpZXMpKSB7XG4gICAgICB0aGlzLnByb3BlcnRpZXMgPSBFbnRpdHlVdGlscy5nZXRQcm9wZXJ0eUFycmF5QXNPYmplY3Qoc291cmNlLnByb3BlcnRpZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByb3BlcnRpZXMgPSB7Li4uc291cmNlLnByb3BlcnRpZXN9O1xuICAgIH1cbiAgfVxufVxuXG4vLyBAZHluYW1pY1xuQEVudGl0eUNsYXNzKHt0eXBlbmFtZTogJ0NvbmZpZ3VyYXRpb25WTyd9KVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb24gZXh0ZW5kcyBTb2Z0d2FyZTxDb25maWd1cmF0aW9uPiB7XG5cbiAgc3RhdGljIGZyb21PYmplY3Q6IChzb3VyY2U6IGFueSwgb3B0cz86IGFueSkgPT4gQ29uZmlndXJhdGlvbjtcblxuICBzbWFsbExvZ286IHN0cmluZztcbiAgbGFyZ2VMb2dvOiBzdHJpbmc7XG4gIGJhY2tncm91bmRJbWFnZXM6IHN0cmluZ1tdO1xuICBwYXJ0bmVyczogRGVwYXJ0bWVudFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKENvbmZpZ3VyYXRpb24uVFlQRU5BTUUpO1xuICB9XG5cbiAgY2xvbmUoKTogQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuY29weShuZXcgQ29uZmlndXJhdGlvbigpKTtcbiAgfVxuXG4gIGNvcHkodGFyZ2V0OiBDb25maWd1cmF0aW9uKTogQ29uZmlndXJhdGlvbiB7XG4gICAgdGFyZ2V0LmZyb21PYmplY3QodGhpcyk7XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuXG4gIGFzT2JqZWN0KG9wdGlvbnM/OiBFbnRpdHlBc09iamVjdE9wdGlvbnMpOiBhbnkge1xuICAgIGNvbnN0IHRhcmdldDogYW55ID0gc3VwZXIuYXNPYmplY3Qob3B0aW9ucyk7XG4gICAgdGFyZ2V0LnBhcnRuZXJzID0gdGhpcy5wYXJ0bmVycyAmJiB0aGlzLnBhcnRuZXJzLm1hcChwID0+IHAuYXNPYmplY3Qob3B0aW9ucykpIHx8IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbiAgZnJvbU9iamVjdChzb3VyY2U6IGFueSkge1xuICAgIHN1cGVyLmZyb21PYmplY3Qoc291cmNlKTtcbiAgICB0aGlzLnNtYWxsTG9nbyA9IHNvdXJjZS5zbWFsbExvZ287XG4gICAgdGhpcy5sYXJnZUxvZ28gPSBzb3VyY2UubGFyZ2VMb2dvO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlcyA9IHNvdXJjZS5iYWNrZ3JvdW5kSW1hZ2VzO1xuICAgIHRoaXMucGFydG5lcnMgPSBzb3VyY2UucGFydG5lcnMgJiYgc291cmNlLnBhcnRuZXJzLm1hcChEZXBhcnRtZW50LmZyb21PYmplY3QpIHx8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldFByb3BlcnR5QXNCb29sZWFuKGRlZmluaXRpb246IEZvcm1GaWVsZERlZmluaXRpb24pOiBib29sZWFuIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0UHJvcGVydHkoZGVmaW5pdGlvbik7XG4gICAgcmV0dXJuIGlzTm90TmlsKHZhbHVlKSA/ICh2YWx1ZSAmJiB2YWx1ZSAhPT0gJ2ZhbHNlJykgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRQcm9wZXJ0eUFzSW50KGRlZmluaXRpb246IEZvcm1GaWVsZERlZmluaXRpb24pOiBudW1iZXIge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRQcm9wZXJ0eShkZWZpbml0aW9uKTtcbiAgICByZXR1cm4gaXNOb3ROaWwodmFsdWUpID8gcGFyc2VJbnQodmFsdWUpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0UHJvcGVydHlBc051bWJlcnMoZGVmaW5pdGlvbjogRm9ybUZpZWxkRGVmaW5pdGlvbik6IG51bWJlcltdIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0UHJvcGVydHkoZGVmaW5pdGlvbik7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHJldHVybiB2YWx1ZS5zcGxpdCgnLCcpLm1hcChwYXJzZUZsb2F0KSB8fCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIGlzTm90TmlsKHZhbHVlKSA/IFtwYXJzZUZsb2F0KHZhbHVlKV0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRQcm9wZXJ0eUFzU3RyaW5ncyhkZWZpbml0aW9uOiBGb3JtRmllbGREZWZpbml0aW9uKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRQcm9wZXJ0eShkZWZpbml0aW9uKTtcbiAgICByZXR1cm4gdmFsdWUgJiYgdmFsdWUuc3BsaXQoJywnKSB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRQcm9wZXJ0eTxUID0gc3RyaW5nPihkZWZpbml0aW9uOiBGb3JtRmllbGREZWZpbml0aW9uKTogVCB7XG4gICAgcmV0dXJuIGlzTm90TmlsKHRoaXMucHJvcGVydGllc1tkZWZpbml0aW9uLmtleV0pID8gdGhpcy5wcm9wZXJ0aWVzW2RlZmluaXRpb24ua2V5XSA6IHVuZGVmaW5lZElmTnVsbChkZWZpbml0aW9uLmRlZmF1bHRWYWx1ZSk7XG4gIH1cblxuICBoYXNQcm9wZXJ0eTxUID0gc3RyaW5nPihkZWZpbml0aW9uOiBGb3JtRmllbGREZWZpbml0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzTm90TmlsKHRoaXMucHJvcGVydGllc1tkZWZpbml0aW9uLmtleV0pO1xuICB9XG59XG4iXX0=
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL21vZGVsL2NvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE9BQU8sRUFBQyxNQUFNLEVBQXlCLFdBQVcsRUFBVSxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDekUsT0FBTyxFQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsV0FBVztBQUVKLElBQU0sUUFBUSxnQkFBZCxNQUFNLFFBR1gsU0FBUSxNQUFpQjtJQWF6QixZQUFZLFVBQW1CO1FBQzdCLEtBQUssQ0FBQyxVQUFVLElBQUksVUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRLENBQUMsT0FBK0I7UUFDdEMsTUFBTSxNQUFNLEdBQVEsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekQsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3BDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBVztRQUNwQixLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJ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Rm9ybUZpZWxkRGVmaW5pdGlvbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0vZmllbGQubW9kZWwnO1xuaW1wb3J0IHtFbnRpdHksIEVudGl0eUFzT2JqZWN0T3B0aW9ucywgRW50aXR5VXRpbHMsIElFbnRpdHl9IGZyb20gJy4vZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7RGVwYXJ0bWVudH0gZnJvbSAnLi9kZXBhcnRtZW50Lm1vZGVsJztcbmltcG9ydCB7UHJvcGVydGllc01hcH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3R5cGVzJztcbmltcG9ydCB7ZnJvbURhdGVJU09TdHJpbmcsIHRvRGF0ZUlTT1N0cmluZ30gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RhdGVzJztcbmltcG9ydCB7aXNOb3ROaWwsIHVuZGVmaW5lZElmTnVsbH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQge0VudGl0eUNsYXNzfSBmcm9tICcuL2VudGl0eS5kZWNvcmF0b3JzJztcblxuLy8gQGR5bmFtaWNcbkBFbnRpdHlDbGFzcyh7dHlwZW5hbWU6ICdTb2Z0d2FyZVZPJ30pXG5leHBvcnQgY2xhc3MgU29mdHdhcmU8XG4gIFQgZXh0ZW5kcyBTb2Z0d2FyZTxhbnk+ID0gU29mdHdhcmU8YW55PlxuICA+XG4gIGV4dGVuZHMgRW50aXR5PFQsIG51bWJlcj5cbiAgaW1wbGVtZW50cyBJRW50aXR5PFQsIG51bWJlcj4ge1xuXG4gc3RhdGljIGZyb21PYmplY3Q6IChzb3VyY2U6IGFueSwgb3B0cz86IGFueSkgPT4gU29mdHdhcmU7XG5cbiAgbGFiZWw6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBjb21tZW50czogc3RyaW5nO1xuICBjcmVhdGlvbkRhdGU6IERhdGUgfCBNb21lbnQ7XG4gIHN0YXR1c0lkOiBudW1iZXI7XG4gIHByb3BlcnRpZXM6IFByb3BlcnRpZXNNYXA7XG5cbiAgY29uc3RydWN0b3IoX190eXBlbmFtZT86IHN0cmluZykge1xuICAgIHN1cGVyKF9fdHlwZW5hbWUgfHwgU29mdHdhcmUuVFlQRU5BTUUpO1xuICB9XG5cbiAgYXNPYmplY3Qob3B0aW9ucz86IEVudGl0eUFzT2JqZWN0T3B0aW9ucyk6IGFueSB7XG4gICAgY29uc3QgdGFyZ2V0OiBhbnkgPSBzdXBlci5hc09iamVjdChvcHRpb25zKTtcbiAgICB0YXJnZXQuY3JlYXRpb25EYXRlID0gdG9EYXRlSVNPU3RyaW5nKHRoaXMuY3JlYXRpb25EYXRlKTtcbiAgICB0YXJnZXQucHJvcGVydGllcyA9IHRoaXMucHJvcGVydGllcztcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbiAgZnJvbU9iamVjdChzb3VyY2U6IGFueSkge1xuICAgIHN1cGVyLmZyb21PYmplY3Qoc291cmNlKTtcbiAgICB0aGlzLmxhYmVsID0gc291cmNlLmxhYmVsO1xuICAgIHRoaXMubmFtZSA9IHNvdXJjZS5uYW1lO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBzb3VyY2UuZGVzY3JpcHRpb247XG4gICAgdGhpcy5jb21tZW50cyA9IHNvdXJjZS5jb21tZW50cztcbiAgICB0aGlzLmNyZWF0aW9uRGF0ZSA9IGZyb21EYXRlSVNPU3RyaW5nKHNvdXJjZS5jcmVhdGlvbkRhdGUpO1xuICAgIHRoaXMuc3RhdHVzSWQgPSBzb3VyY2Uuc3RhdHVzSWQ7XG5cbiAgICBpZiAoc291cmNlLnByb3BlcnRpZXMgJiYgQXJyYXkuaXNBcnJheShzb3VyY2UucHJvcGVydGllcykpIHtcbiAgICAgIHRoaXMucHJvcGVydGllcyA9IEVudGl0eVV0aWxzLmdldFByb3BlcnR5QXJyYXlBc09iamVjdChzb3VyY2UucHJvcGVydGllcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvcGVydGllcyA9IHsuLi5zb3VyY2UucHJvcGVydGllc307XG4gICAgfVxuICB9XG59XG5cbi8vIEBkeW5hbWljXG5ARW50aXR5Q2xhc3Moe3R5cGVuYW1lOiAnQ29uZmlndXJhdGlvblZPJ30pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbiBleHRlbmRzIFNvZnR3YXJlPENvbmZpZ3VyYXRpb24+IHtcblxuICBzdGF0aWMgZnJvbU9iamVjdDogKHNvdXJjZTogYW55LCBvcHRzPzogYW55KSA9PiBDb25maWd1cmF0aW9uO1xuXG4gIHNtYWxsTG9nbzogc3RyaW5nO1xuICBsYXJnZUxvZ286IHN0cmluZztcbiAgYmFja2dyb3VuZEltYWdlczogc3RyaW5nW107XG4gIHBhcnRuZXJzOiBEZXBhcnRtZW50W107XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoQ29uZmlndXJhdGlvbi5UWVBFTkFNRSk7XG4gIH1cblxuICBjbG9uZSgpOiBDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5jb3B5KG5ldyBDb25maWd1cmF0aW9uKCkpO1xuICB9XG5cbiAgY29weSh0YXJnZXQ6IENvbmZpZ3VyYXRpb24pOiBDb25maWd1cmF0aW9uIHtcbiAgICB0YXJnZXQuZnJvbU9iamVjdCh0aGlzKTtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbiAgYXNPYmplY3Qob3B0aW9ucz86IEVudGl0eUFzT2JqZWN0T3B0aW9ucyk6IGFueSB7XG4gICAgY29uc3QgdGFyZ2V0OiBhbnkgPSBzdXBlci5hc09iamVjdChvcHRpb25zKTtcbiAgICB0YXJnZXQucGFydG5lcnMgPSB0aGlzLnBhcnRuZXJzICYmIHRoaXMucGFydG5lcnMubWFwKHAgPT4gcC5hc09iamVjdChvcHRpb25zKSkgfHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cblxuICBmcm9tT2JqZWN0KHNvdXJjZTogYW55KSB7XG4gICAgc3VwZXIuZnJvbU9iamVjdChzb3VyY2UpO1xuICAgIHRoaXMuc21hbGxMb2dvID0gc291cmNlLnNtYWxsTG9nbztcbiAgICB0aGlzLmxhcmdlTG9nbyA9IHNvdXJjZS5sYXJnZUxvZ287XG4gICAgdGhpcy5iYWNrZ3JvdW5kSW1hZ2VzID0gc291cmNlLmJhY2tncm91bmRJbWFnZXM7XG4gICAgdGhpcy5wYXJ0bmVycyA9IHNvdXJjZS5wYXJ0bmVycyAmJiBzb3VyY2UucGFydG5lcnMubWFwKERlcGFydG1lbnQuZnJvbU9iamVjdCkgfHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0UHJvcGVydHlBc0Jvb2xlYW4oZGVmaW5pdGlvbjogRm9ybUZpZWxkRGVmaW5pdGlvbik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRQcm9wZXJ0eShkZWZpbml0aW9uKTtcbiAgICByZXR1cm4gaXNOb3ROaWwodmFsdWUpID8gKHZhbHVlICYmIHZhbHVlICE9PSAnZmFsc2UnKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldFByb3BlcnR5QXNJbnQoZGVmaW5pdGlvbjogRm9ybUZpZWxkRGVmaW5pdGlvbik6IG51bWJlciB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFByb3BlcnR5KGRlZmluaXRpb24pO1xuICAgIHJldHVybiBpc05vdE5pbCh2YWx1ZSkgPyBwYXJzZUludCh2YWx1ZSkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRQcm9wZXJ0eUFzTnVtYmVycyhkZWZpbml0aW9uOiBGb3JtRmllbGREZWZpbml0aW9uKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRQcm9wZXJ0eShkZWZpbml0aW9uKTtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykgcmV0dXJuIHZhbHVlLnNwbGl0KCcsJykubWFwKHBhcnNlRmxvYXQpIHx8IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gaXNOb3ROaWwodmFsdWUpID8gW3BhcnNlRmxvYXQodmFsdWUpXSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldFByb3BlcnR5QXNTdHJpbmdzKGRlZmluaXRpb246IEZvcm1GaWVsZERlZmluaXRpb24pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFByb3BlcnR5KGRlZmluaXRpb24pO1xuICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZS5zcGxpdCgnLCcpIHx8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldFByb3BlcnR5PFQgPSBzdHJpbmc+KGRlZmluaXRpb246IEZvcm1GaWVsZERlZmluaXRpb24pOiBUIHtcbiAgICByZXR1cm4gaXNOb3ROaWwodGhpcy5wcm9wZXJ0aWVzW2RlZmluaXRpb24ua2V5XSkgPyB0aGlzLnByb3BlcnRpZXNbZGVmaW5pdGlvbi5rZXldIDogdW5kZWZpbmVkSWZOdWxsKGRlZmluaXRpb24uZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIGhhc1Byb3BlcnR5PFQgPSBzdHJpbmc+KGRlZmluaXRpb246IEZvcm1GaWVsZERlZmluaXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNOb3ROaWwodGhpcy5wcm9wZXJ0aWVzW2RlZmluaXRpb24ua2V5XSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -27,4 +27,4 @@ export function departmentToString(obj) {
|
|
|
27
27
|
export function departmentsToString(data, separator) {
|
|
28
28
|
return (data || []).map(departmentToString).join(separator || ', ');
|
|
29
29
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9kZXBhcnRtZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxXQUFXO0FBRUosSUFBTSxVQUFVLGtCQUFoQixNQUFNLFVBQVcsU0FBUSxlQUEyQjtJQVF6RDtRQUNFLEtBQUssQ0FBQyxZQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxZQUFVLENBQUMsV0FBVyxDQUFDO0lBQzNDLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBVztRQUNwQixLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxZQUFVLENBQUMsV0FBVyxDQUFDO1FBQzlELElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsV0FBVztJQUNyQyxDQUFDOztBQWpCTSxzQkFBVyxHQUFHLFlBQVksQ0FBQztBQUZ2QixVQUFVO0lBRHRCLFdBQVcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUMsQ0FBQztHQUMzQixVQUFVLENBb0J0QjtTQXBCWSxVQUFVO0FBc0J2QixNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FBZTtJQUNoRCxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLElBQWtCLEVBQUUsU0FBa0I7SUFDeEUsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDO0FBQ3RFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Jhc2VSZWZlcmVudGlhbH0gZnJvbSAnLi9yZWZlcmVudGlhbC5tb2RlbCc7XG5pbXBvcnQge0VudGl0eUNsYXNzfSBmcm9tICcuL2VudGl0eS5kZWNvcmF0b3JzJztcblxuLy8gQGR5bmFtaWNcbkBFbnRpdHlDbGFzcyh7dHlwZW5hbWU6ICdEZXBhcnRtZW50Vk8nfSlcbmV4cG9ydCBjbGFzcyBEZXBhcnRtZW50IGV4dGVuZHMgQmFzZVJlZmVyZW50aWFsPERlcGFydG1lbnQ+IHtcblxuICBzdGF0aWMgRU5USVRZX05BTUUgPSAnRGVwYXJ0bWVudCc7XG4gIHN0YXRpYyBmcm9tT2JqZWN0OiAoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpID0+IERlcGFydG1lbnQ7XG5cbiAgbG9nbzogc3RyaW5nO1xuICBzaXRlVXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoRGVwYXJ0bWVudC5UWVBFTkFNRSk7XG4gICAgdGhpcy5lbnRpdHlOYW1lID0gRGVwYXJ0bWVudC5FTlRJVFlfTkFNRTtcbiAgfVxuXG4gIGZyb21PYmplY3Qoc291cmNlOiBhbnkpIHtcbiAgICBzdXBlci5mcm9tT2JqZWN0KHNvdXJjZSk7XG4gICAgdGhpcy5lbnRpdHlOYW1lID0gc291cmNlLmVudGl0eU5hbWUgfHwgRGVwYXJ0bWVudC5FTlRJVFlfTkFNRTtcbiAgICB0aGlzLmxvZ28gPSBzb3VyY2UubG9nbztcbiAgICB0aGlzLnNpdGVVcmwgPSBzb3VyY2Uuc2l0ZVVybDtcbiAgICBkZWxldGUgdGhpcy5lbnRpdHlOYW1lOyAvLyBub3QgbmVlZFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXBhcnRtZW50VG9TdHJpbmcob2JqOiBEZXBhcnRtZW50KTogc3RyaW5nIHtcbiAgcmV0dXJuIG9iaiAmJiBvYmouaWQgJiYgKG9iai5uYW1lKSB8fCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXBhcnRtZW50c1RvU3RyaW5nKGRhdGE6IERlcGFydG1lbnRbXSwgc2VwYXJhdG9yPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIChkYXRhIHx8IFtdKS5tYXAoZGVwYXJ0bWVudFRvU3RyaW5nKS5qb2luKHNlcGFyYXRvciB8fCAnLCAnKTtcbn1cbiJdfQ==
|
|
@@ -94,4 +94,4 @@ export function EntityClass(opts) {
|
|
|
94
94
|
return constructor;
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvbW9kZWwvZW50aXR5LmRlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJdEQsTUFBTSxPQUFPLGFBQWE7SUFHeEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFnQixFQUFFLFdBQXdCO1FBQ3hELGdDQUFnQztRQUNoQyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdDLFFBQVE7UUFDUix3RUFBd0U7UUFFeEUsYUFBYTtRQUNiLGFBQWEsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBc0IsVUFBa0I7UUFDaEQsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixHQUFHLFVBQVUsR0FBRyw2REFBNkQsQ0FBQyxDQUFDO1NBQzlIO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQXNCLEtBQVUsRUFBRSxJQUlsRDtRQUNDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDekIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEcsSUFBSSxDQUFDLFVBQVU7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlGQUFpRixDQUFDLENBQUM7UUFDcEgsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQVEsQ0FBQztRQUN6RCxJQUFJLE9BQU8sV0FBVyxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7WUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsR0FBRyxVQUFVLEdBQUcsZ0hBQWdILENBQUMsQ0FBQztTQUN4TDtRQUNELE9BQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFNLENBQUM7SUFDbEQsQ0FBQzs7QUFqQ00sNkJBQWUsR0FBRyxJQUFJLEdBQUcsRUFBdUIsQ0FBQztBQW9DMUQsK0RBQStEO0FBQy9ELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFHM0I7SUFFQywrREFBK0Q7SUFDL0QsT0FBTyxVQUFpQyxXQUFjO1FBRXBELHFDQUFxQztRQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRTtZQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxNQUFNLENBQUMsRUFBRTtnQkFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLFdBQVcsQ0FBQyxJQUFJLHlEQUF5RCxDQUFDLENBQUM7YUFDckc7U0FDRjtRQUVELE1BQU0sS0FBSyxHQUFJLFdBQW1CLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUUxRCwrQkFBK0I7UUFDL0IsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFFMUIsNkJBQTZCO1FBQzdCLElBQUksSUFBSSxDQUFDLHVCQUF1QixLQUFLLE9BQU8sRUFBRTtZQUU1QyxLQUFLLENBQUMsVUFBVSxHQUFHLFVBQVMsTUFBVyxFQUFFLElBQVU7Z0JBQ2pELElBQUksQ0FBQyxNQUFNO29CQUFFLE9BQU8sU0FBUyxDQUFDO2dCQUM5QixJQUFJLE1BQU0sWUFBWSxXQUFXO29CQUFFLE9BQVEsTUFBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQU0sQ0FBQztnQkFDM0UsTUFBTSxNQUFNLEdBQVEsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hDLE9BQU8sTUFBVyxDQUFDO1lBQ3JCLENBQUMsQ0FBQztZQUNGLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBUyxNQUFXLEVBQUUsSUFBVTtnQkFDL0MsSUFBSSxDQUFDLE1BQU07b0JBQUUsT0FBTyxTQUFTLENBQUM7Z0JBQzlCLElBQUksTUFBTSxZQUFZLFdBQVc7b0JBQUUsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLENBQUMsQ0FBQztTQUNIO2FBQ0k7WUFDSCxLQUFLLENBQUMsVUFBVSxHQUFHLFVBQVMsTUFBVyxFQUFFLElBQVU7Z0JBQ2pELElBQUksQ0FBQyxNQUFNO29CQUFFLE9BQU8sU0FBUyxDQUFDO2dCQUM5QixJQUFJLE1BQU0sWUFBWSxXQUFXLEVBQUU7b0JBQ2pDLFFBQVE7b0JBQ1IseUZBQXlGO29CQUN6RixPQUFPLE1BQVcsQ0FBQztpQkFDcEI7Z0JBQ0QsTUFBTSxNQUFNLEdBQVEsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hDLE9BQU8sTUFBVyxDQUFDO1lBQ3JCLENBQUMsQ0FBQztZQUVGLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBUyxNQUFXLEVBQUUsSUFBVTtnQkFDL0MsSUFBSSxDQUFDLE1BQU07b0JBQUUsT0FBTyxTQUFTLENBQUM7Z0JBQzlCLElBQUksTUFBTSxZQUFZLFdBQVcsRUFBRTtvQkFDakMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM5QjtnQkFDRCxRQUFRO2dCQUNSLHVGQUF1RjtnQkFDdkYsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQyxDQUFDO1NBQ0g7UUFFRCw0QkFBNEI7UUFDNUIsYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFOUMsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4vZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IHJlbW92ZUVuZCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuXG5kZWNsYXJlIHR5cGUgQ29uc3RydWN0b3IgPSBuZXcoLi4uYXJnczogYW55W10pID0+IGFueTtcblxuZXhwb3J0IGNsYXNzIEVudGl0eUNsYXNzZXMge1xuICBzdGF0aWMgQ0xBU1NFU19CWV9OQU1FID0gbmV3IE1hcDxzdHJpbmcsIENvbnN0cnVjdG9yPigpO1xuXG4gIHN0YXRpYyByZWdpc3Rlcih0eXBlbmFtZTogc3RyaW5nLCBlbnRpdHlDbGFzczogQ29uc3RydWN0b3IpIHtcbiAgICAvLyBDb252ZXJ0IHRvIGV4dHJhY3QgZW50aXR5TmFtZVxuICAgIGNvbnN0IGVudGl0eU5hbWUgPSByZW1vdmVFbmQodHlwZW5hbWUsICdWTycpO1xuICAgIC8vIERFQlVHXG4gICAgLy9jb25zb2xlLmRlYnVnKCdbZW50aXR5LWNsYXNzZXNdIERldGVjdGVkIGVudGl0eSBjbGFzcyAnICsgZW50aXR5TmFtZSk7XG5cbiAgICAvLyBBZGQgdG8gbWFwXG4gICAgRW50aXR5Q2xhc3Nlcy5DTEFTU0VTX0JZX05BTUUuc2V0KGVudGl0eU5hbWUsIGVudGl0eUNsYXNzKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQ8VCBleHRlbmRzIEVudGl0eTxUPj4oZW50aXR5TmFtZTogc3RyaW5nKTogQ29uc3RydWN0b3Ige1xuICAgIGNvbnN0IGVudGl0eUNsYXNzID0gRW50aXR5Q2xhc3Nlcy5DTEFTU0VTX0JZX05BTUUuZ2V0KGVudGl0eU5hbWUpO1xuICAgIGlmICghZW50aXR5Q2xhc3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGZvdW5kIGVudGl0eSBjbGFzcyBcXCcnICsgZW50aXR5TmFtZSArICdcXCcuIE1ha2Ugc3VyZSBpdCBleGlzdHMgYW5kIGhhcyB0aGUgQEVudGl0eUNsYXNzIGRlY29yYXRvci4nKTtcbiAgICB9XG4gICAgcmV0dXJuIGVudGl0eUNsYXNzO1xuICB9XG5cbiAgc3RhdGljIGZyb21PYmplY3Q8VCBleHRlbmRzIEVudGl0eTxUPj4odmFsdWU6IGFueSwgb3B0cz86IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgdHlwZW5hbWU/OiBzdHJpbmc7XG4gICAgZW50aXR5TmFtZT86IHN0cmluZztcbiAgfSk6IFQge1xuICAgIGlmICghdmFsdWUpIHJldHVybiB2YWx1ZTtcbiAgICBjb25zdCBlbnRpdHlOYW1lID0gKG9wdHMgJiYgb3B0cy5lbnRpdHlOYW1lKSB8fCByZW1vdmVFbmQodmFsdWUuX190eXBlbmFtZSB8fCBvcHRzPy50eXBlbmFtZSwgJ1ZPJyk7XG4gICAgaWYgKCFlbnRpdHlOYW1lKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmcgb25lIG9mIFxcJ3ZhbHVlLl9fdHlwZW5hbWVcXCcsIFxcJ29wdHMuZW50aXR5TmFtZVxcJywgb3IgXFwnb3B0cy50eXBlbmFtZVxcJy4nKTtcbiAgICBjb25zdCBlbnRpdHlDbGFzcyA9IEVudGl0eUNsYXNzZXMuZ2V0KGVudGl0eU5hbWUpIGFzIGFueTtcbiAgICBpZiAodHlwZW9mIGVudGl0eUNsYXNzLmZyb21PYmplY3QgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGZvdW5kIHRoZSBzdGF0aWMgZnVuY3Rpb24gXFwnJyArIGVudGl0eU5hbWUgKyAnLmZyb21PYmplY3QoKVxcJy4gTWFrZSBzdXJlIHRoaXMgZnVuY3Rpb24gaGFzIGJlZW4gZGVjbGFyZWQgYW5kIHRoZSBlbnRpdHkgY2xhc3MgaGFzIHRoZSBARW50aXR5Q2xhc3MgZGVjb3JhdG9yJyk7XG4gICAgfVxuICAgIHJldHVybiBlbnRpdHlDbGFzcy5mcm9tT2JqZWN0KHZhbHVlLCBvcHRzKSBhcyBUO1xuICB9XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItYXJyb3cvcHJlZmVyLWFycm93LWZ1bmN0aW9uc1xuZXhwb3J0IGZ1bmN0aW9uIEVudGl0eUNsYXNzKG9wdHM6IHtcbiAgdHlwZW5hbWU6IHN0cmluZztcbiAgZnJvbU9iamVjdFJldXNlU3RyYXRlZ3k/OiAnZGVmYXVsdCcgfCAnY2xvbmUnO1xufSkge1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItYXJyb3cvcHJlZmVyLWFycm93LWZ1bmN0aW9uc1xuICByZXR1cm4gZnVuY3Rpb24gPFQgZXh0ZW5kcyBDb25zdHJ1Y3Rvcj4oY29uc3RydWN0b3I6IFQpIHtcblxuICAgIC8vIE1ha2Ugc3VyZSB0aGUgY2xhc3MgZXh0ZW5kcyBFbnRpdHlcbiAgICBpZiAoIWVudmlyb25tZW50LnByb2R1Y3Rpb24pIHtcbiAgICAgIGNvbnN0IG9iaiA9IG5ldyBjb25zdHJ1Y3RvcigpO1xuICAgICAgaWYgKCEob2JqIGluc3RhbmNlb2YgRW50aXR5KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENsYXNzICR7Y29uc3RydWN0b3IubmFtZX0gbXVzdCBleHRlbmRzIDw8RW50aXR5Pj4gdG8gYmUgYWJsZSB0byB1c2UgQEZyb21PYmplY3QhYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgY2xhenogPSAoY29uc3RydWN0b3IgYXMgYW55KTtcbiAgICBjb25zdCB0eXBlbmFtZSA9IG9wdHMudHlwZW5hbWUgfHwgYCR7Y29uc3RydWN0b3IubmFtZX1WT2A7XG5cbiAgICAvLyBEZWZpbmUgc3RhdGljIGZpZWxkIFRZUEVOQU1FXG4gICAgY2xhenouVFlQRU5BTUUgPSB0eXBlbmFtZTtcblxuICAgIC8vIERlZmluZSBzdGF0aWMgZnJvbU9iamVjdCgpXG4gICAgaWYgKG9wdHMuZnJvbU9iamVjdFJldXNlU3RyYXRlZ3kgPT09ICdjbG9uZScpIHtcblxuICAgICAgY2xhenouZnJvbU9iamVjdCA9IGZ1bmN0aW9uKHNvdXJjZTogYW55LCBvcHRzPzogYW55KTogVCB7XG4gICAgICAgIGlmICghc291cmNlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoc291cmNlIGluc3RhbmNlb2YgY29uc3RydWN0b3IpIHJldHVybiAoc291cmNlIGFzIGFueSkuY2xvbmUob3B0cykgYXMgVDtcbiAgICAgICAgY29uc3QgdGFyZ2V0OiBhbnkgPSBuZXcgY29uc3RydWN0b3IoKTtcbiAgICAgICAgdGFyZ2V0LmZyb21PYmplY3Qoc291cmNlLCBvcHRzKTtcbiAgICAgICAgcmV0dXJuIHRhcmdldCBhcyBUO1xuICAgICAgfTtcbiAgICAgIGNsYXp6LmFzT2JqZWN0ID0gZnVuY3Rpb24oc291cmNlOiBhbnksIG9wdHM/OiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoIXNvdXJjZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKHNvdXJjZSBpbnN0YW5jZW9mIGNvbnN0cnVjdG9yKSByZXR1cm4gc291cmNlLmFzT2JqZWN0KG9wdHMpO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc291cmNlKTtcbiAgICAgIH07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgY2xhenouZnJvbU9iamVjdCA9IGZ1bmN0aW9uKHNvdXJjZTogYW55LCBvcHRzPzogYW55KTogVCB7XG4gICAgICAgIGlmICghc291cmNlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoc291cmNlIGluc3RhbmNlb2YgY29uc3RydWN0b3IpIHtcbiAgICAgICAgICAvLyBERUJVR1xuICAgICAgICAgIC8vY29uc29sZS5kZWJ1ZygnQEVudGl0eUNsYXNzKCkgZnJvbU9iamVjdCgpID0+IHdpbGwgcmVjeWNsZSBleGlzdGluZyBvYmplY3Q6ICcsIHNvdXJjZSk7XG4gICAgICAgICAgcmV0dXJuIHNvdXJjZSBhcyBUO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhcmdldDogYW55ID0gbmV3IGNvbnN0cnVjdG9yKCk7XG4gICAgICAgIHRhcmdldC5mcm9tT2JqZWN0KHNvdXJjZSwgb3B0cyk7XG4gICAgICAgIHJldHVybiB0YXJnZXQgYXMgVDtcbiAgICAgIH07XG5cbiAgICAgIGNsYXp6LmFzT2JqZWN0ID0gZnVuY3Rpb24oc291cmNlOiBhbnksIG9wdHM/OiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoIXNvdXJjZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKHNvdXJjZSBpbnN0YW5jZW9mIGNvbnN0cnVjdG9yKSB7XG4gICAgICAgICAgcmV0dXJuIHNvdXJjZS5hc09iamVjdChvcHRzKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBERUJVR1xuICAgICAgICAvL2NvbnNvbGUuZGVidWcoJ0BFbnRpdHlDbGFzcygpIGFzT2JqZWN0KCkgPT4gd2lsbCByZWN5Y2xlIGV4aXN0aW5nIG9iamVjdDogJywgc291cmNlKTtcbiAgICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gUmVnaXN0ZXIgdGhlIGVudGl0eSBjbGFzc1xuICAgIEVudGl0eUNsYXNzZXMucmVnaXN0ZXIodHlwZW5hbWUsIGNvbnN0cnVjdG9yKTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getPropertyByPath, isEmptyArray, isNil, isNilOrBlank, isNotNil, joinPropertiesPath } from '../../../shared/functions';
|
|
2
2
|
import { fromDateISOString, toDateISOString } from '../../../shared/dates';
|
|
3
|
+
import { TreeItemEntityUtils } from './tree-item-entity.model';
|
|
3
4
|
export function entityToString(obj, properties) {
|
|
4
5
|
return obj && obj.id && joinPropertiesPath(obj, properties || ['name']) || undefined;
|
|
5
6
|
}
|
|
@@ -56,7 +57,6 @@ export class EntityUtils {
|
|
|
56
57
|
}
|
|
57
58
|
// Check that the object has a NOT nil attribute (ID by default)
|
|
58
59
|
static isNotEmpty(obj, checkedAttribute) {
|
|
59
|
-
4;
|
|
60
60
|
return !!obj && obj[checkedAttribute] !== null && obj[checkedAttribute] !== undefined;
|
|
61
61
|
}
|
|
62
62
|
static isEmpty(obj, checkedAttribute) {
|
|
@@ -181,39 +181,6 @@ export class EntityUtils {
|
|
|
181
181
|
return a => searchAttribute.findIndex((path, index) => regexps[index].test(EntityUtils.getPropertyByPath(a, path))) !== -1;
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
-
/**
|
|
185
|
-
* Transform a batch entity tree into a array list. This method keep links parent/children.
|
|
186
|
-
*
|
|
187
|
-
* Method used to find batch without id (e.g. before local storage)
|
|
188
|
-
*
|
|
189
|
-
* @param source
|
|
190
|
-
*/
|
|
191
|
-
static treeToArray(source) {
|
|
192
|
-
if (!source)
|
|
193
|
-
return null;
|
|
194
|
-
return (source.children || []).reduce((res, batch) => {
|
|
195
|
-
batch.parent = source;
|
|
196
|
-
return res.concat(this.treeToArray(batch)); // recursive call
|
|
197
|
-
}, [source]);
|
|
198
|
-
}
|
|
199
|
-
static listOfTreeToArray(sources) {
|
|
200
|
-
if (!sources || !sources.length)
|
|
201
|
-
return null;
|
|
202
|
-
return sources.reduce((res, source) => res.concat(this.treeToArray(source)), []);
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Fill parent attribute, of all children found in the tree
|
|
206
|
-
*
|
|
207
|
-
* @param source
|
|
208
|
-
*/
|
|
209
|
-
static treeFillParent(source) {
|
|
210
|
-
if (!source)
|
|
211
|
-
return null;
|
|
212
|
-
(source.children || []).forEach(child => {
|
|
213
|
-
child.parent = source;
|
|
214
|
-
this.treeFillParent(child); // Loop
|
|
215
|
-
});
|
|
216
|
-
}
|
|
217
184
|
static isLocal(entity) {
|
|
218
185
|
return entity && (isNotNil(entity.id) && +entity.id < 0);
|
|
219
186
|
}
|
|
@@ -229,6 +196,9 @@ export class EntityUtils {
|
|
|
229
196
|
static getId(entity) {
|
|
230
197
|
return entity.id;
|
|
231
198
|
}
|
|
199
|
+
static hasId(entity) {
|
|
200
|
+
return isNotNil(entity.id);
|
|
201
|
+
}
|
|
232
202
|
static collectById(entities) {
|
|
233
203
|
return (entities || []).map(e => e.id);
|
|
234
204
|
}
|
|
@@ -237,4 +207,19 @@ export class EntityUtils {
|
|
|
237
207
|
}
|
|
238
208
|
}
|
|
239
209
|
EntityUtils.getPropertyByPath = getPropertyByPath;
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL21vZGVsL2VudGl0eS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFJN0gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTzNFLE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBc0IsRUFBRSxVQUFxQjtJQUMxRSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztBQUN2RixDQUFDO0FBaUNELFVBQVU7QUFDVixNQUFNLE9BQWdCLE1BQU07SUFjMUIsWUFBWSxVQUFtQjtRQUovQixPQUFFLEdBQU8sSUFBSSxDQUFDO1FBQ2QsZUFBVSxHQUFXLElBQUksQ0FBQztRQUl4QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFjO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUssSUFBSSxDQUFDLFdBQW1CLEVBQU8sQ0FBQztRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQVMsRUFBRSxJQUFjO1FBQzVCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lB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cG9ydCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge2dldFByb3BlcnR5QnlQYXRoLCBpc0VtcHR5QXJyYXksIGlzTmlsLCBpc05pbE9yQmxhbmssIGlzTm90TmlsLCBqb2luUHJvcGVydGllc1BhdGh9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRmlsdGVyRm4gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgT2JqZWN0TWFwLCBPYmplY3RNYXBFbnRyeSwgUHJvcGVydGllc0FycmF5LCBQcm9wZXJ0aWVzTWFwIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3R5cGVzJztcbmltcG9ydCB7IFN0b3JlT2JqZWN0IH0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQgeyBmcm9tRGF0ZUlTT1N0cmluZywgdG9EYXRlSVNPU3RyaW5nIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RhdGVzJztcblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2xvbmVhYmxlPFQ+IHtcbiAgY2xvbmUoKTogVDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVudGl0eVRvU3RyaW5nKG9iajogRW50aXR5PGFueT4gfCBhbnksIHByb3BlcnRpZXM/OiBzdHJpbmdbXSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBvYmogJiYgb2JqLmlkICYmIGpvaW5Qcm9wZXJ0aWVzUGF0aChvYmosIHByb3BlcnRpZXMgfHwgWyduYW1lJ10pIHx8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlBc09iamVjdE9wdGlvbnMge1xuICBtaW5pZnk/OiBib29sZWFuO1xuICBrZWVwVHlwZW5hbWU/OiBib29sZWFuOyAvLyB0cnVlIGJ5IGRlZmF1bHRcbiAga2VlcExvY2FsSWQ/OiBib29sZWFuOyAvLyB0cnVlIGJ5IGRlZmF1bHRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5PFQsXG4gIElEID0gbnVtYmVyLFxuICBBTyBleHRlbmRzIEVudGl0eUFzT2JqZWN0T3B0aW9ucyA9IEVudGl0eUFzT2JqZWN0T3B0aW9ucyxcbiAgRk8gPSBhbnlcbiAgPlxuICBleHRlbmRzIENsb25lYWJsZTxUPiB7XG4gIGlkOiBJRDtcbiAgdXBkYXRlRGF0ZTogTW9tZW50O1xuICBfX3R5cGVuYW1lOiBzdHJpbmc7XG4gIGVxdWFscyhvdGhlcjogVCk6IGJvb2xlYW47XG4gIGNsb25lKG9wdHM/OiBBTyAmIEZPKTogVDtcbiAgY29weSh0YXJnZXQ6IFQsIG9wdHM/OiBBTyAmIEZPKTtcbiAgYXNPYmplY3Qob3B0cz86IEFPKTogYW55O1xuICBmcm9tT2JqZWN0KHNvdXJjZTogYW55LCBvcHRzPzogRk8pO1xufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSVRyZWVJdGVtRW50aXR5PFxuICBUIGV4dGVuZHMgSUVudGl0eTxULCBJRD4sXG4gIElEID0gbnVtYmVyXG4gID4ge1xuICBwYXJlbnRJZDogSUQ7XG4gIHBhcmVudDogVDtcbiAgY2hpbGRyZW46IFRbXTtcbn1cblxuLy9AZHluYW1pY1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVudGl0eTxcbiAgVCBleHRlbmRzIEVudGl0eTxULCBJRCwgQU8sIEZPPixcbiAgSUQgPSBudW1iZXIsXG4gIEFPIGV4dGVuZHMgRW50aXR5QXNPYmplY3RPcHRpb25zID0gRW50aXR5QXNPYmplY3RPcHRpb25zLFxuICBGTyA9IGFueT5cbiAgaW1wbGVtZW50cyBJRW50aXR5PFQsIElELCBBTywgRk8+IHtcblxuICAvLyBUaGUgR3JhcGhRTCB0eXBlbmFtZSAoaW5qZWN0ZWQgYnkgQEVudGl0eUNsYXNzKCkpXG4gIHN0YXRpYyBUWVBFTkFNRTogc3RyaW5nO1xuXG4gIGlkOiBJRCA9IG51bGw7XG4gIHVwZGF0ZURhdGU6IE1vbWVudCA9IG51bGw7XG4gIF9fdHlwZW5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfX3R5cGVuYW1lPzogc3RyaW5nKSB7XG4gICAgdGhpcy5fX3R5cGVuYW1lID0gX190eXBlbmFtZSB8fCBudWxsO1xuICB9XG5cbiAgY2xvbmUob3B0cz86IEFPICYgRk8pOiBUIHtcbiAgICBjb25zdCB0YXJnZXQgPSBuZXcgKHRoaXMuY29uc3RydWN0b3IgYXMgYW55KSgpIGFzIFQ7XG4gICAgdGhpcy5jb3B5KHRhcmdldCwgb3B0cyk7XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuXG4gIGNvcHkodGFyZ2V0OiBULCBvcHRzPzogQU8gJiBGTykge1xuICAgIHRhcmdldC5mcm9tT2JqZWN0KHRoaXMuYXNPYmplY3Qob3B0cyksIG9wdHMpO1xuICB9XG5cbiAgYXNPYmplY3Qob3B0cz86IEFPKTogU3RvcmVPYmplY3Qge1xuICAgIGNvbnN0IHRhcmdldDogYW55ID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcyk7IC8vPSB7Li4udGhpc307XG4gICAgaWYgKCFvcHRzIHx8IG9wdHMua2VlcFR5cGVuYW1lICE9PSB0cnVlKSBkZWxldGUgdGFyZ2V0Ll9fdHlwZW5hbWU7XG4gICAgdGFyZ2V0LnVwZGF0ZURhdGUgPSB0b0RhdGVJU09TdHJpbmcodGhpcy51cGRhdGVEYXRlKTtcbiAgICBpZiAodGFyZ2V0LmlkID09IG51bGwgfHwgKG9wdHMgJiYgb3B0cy5rZWVwTG9jYWxJZCA9PT0gZmFsc2UgJiYgdGFyZ2V0LmlkIDwgMCkpIHtcbiAgICAgIGRlbGV0ZSB0YXJnZXQuaWQ7XG4gICAgICBkZWxldGUgdGFyZ2V0LnVwZGF0ZURhdGU7IC8vIE1ha2UgdG8gc2VucyB0byBrZWVwIHVwZGF0ZURhdGUgb2YgYSBsb2NhbCBlbnRpdHkgdG8gc2F2ZVxuICAgIH1cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbiAgZnJvbU9iamVjdChzb3VyY2U6IGFueSwgb3B0cz86IEZPKSB7XG4gICAgdGhpcy5pZCA9IChzb3VyY2UuaWQgfHwgc291cmNlLmlkID09PSAwKSA/IHNvdXJjZS5pZCA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLnVwZGF0ZURhdGUgPSBmcm9tRGF0ZUlTT1N0cmluZyhzb3VyY2UudXBkYXRlRGF0ZSk7XG4gICAgdGhpcy5fX3R5cGVuYW1lID0gc291cmNlLl9fdHlwZW5hbWUgfHwgdGhpcy5fX3R5cGVuYW1lOyAvLyBLZWVwIG9yaWdpbmFsIHR5cGUgKGNhbiBiZSBzZXQgaW4gY29uc3RydWN0b3IpXG4gIH1cblxuICBlcXVhbHMob3RoZXI6IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gb3RoZXIgJiYgdGhpcy5pZCA9PT0gb3RoZXIuaWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Ugc3RhbmRhcmQgaW5zdGFuY2VvZiBpbnN0ZWFkXG4gKiBAcGFyYW0gb2JqXG4gKiBAcGFyYW0gY29uc3RydWN0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzSW5zdGFuY2VPZjxUPihvYmo6IGFueSwgY29uc3RydWN0b3I6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQpOiBvYmogaXMgVCB7XG4gIGlmICghb2JqKSByZXR1cm4gZmFsc2U7XG5cbiAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIGNvbnN0cnVjdG9yO1xufVxuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVudGl0eVV0aWxzIHtcblxuICAvLyBDaGVjayB0aGF0IHRoZSBvYmplY3QgaGFzIGEgTk9UIG5pbCBhdHRyaWJ1dGUgKElEIGJ5IGRlZmF1bHQpXG4gIHN0YXRpYyBpc0VudGl0eTxUIGV4dGVuZHMgSUVudGl0eTxhbnk+PihvYmo6IFR8YW55KTogb2JqIGlzIFQge1xuICAgIHJldHVybiBpc05vdE5pbChvYmo/Ll9fdHlwZW5hbWUpICYmICh0eXBlb2Ygb2JqLmZyb21PYmplY3QgPT09ICdmdW5jdGlvbicpICYmICh0eXBlb2Ygb2JqLmFzT2JqZWN0ID09PSAnZnVuY3Rpb24nKTtcbiAgfVxuXG4gIC8vIENoZWNrIHRoYXQgdGhlIG9iamVjdCBoYXMgYSBOT1QgbmlsIGF0dHJpYnV0ZSAoSUQgYnkgZGVmYXVsdClcbiAgc3RhdGljIGlzTm90RW1wdHk8VCBleHRlbmRzIElFbnRpdHk8YW55PiB8IGFueT4ob2JqOiBULCBjaGVja2VkQXR0cmlidXRlOiBrZXlvZiBUKTogYm9vbGVhbiB7NFxuICAgIHJldHVybiAhIW9iaiAmJiBvYmpbY2hlY2tlZEF0dHJpYnV0ZV0gIT09IG51bGwgJiYgb2JqW2NoZWNrZWRBdHRyaWJ1dGVdICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgaXNFbXB0eTxUIGV4dGVuZHMgSUVudGl0eTxhbnk+IHwgYW55PihvYmo6IFQsIGNoZWNrZWRBdHRyaWJ1dGU6IGtleW9mIFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIW9iaiB8fCBvYmpbY2hlY2tlZEF0dHJpYnV0ZV0gPT09IG51bGwgfHwgb2JqW2NoZWNrZWRBdHRyaWJ1dGVdID09PSB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgZXF1YWxzPFQgZXh0ZW5kcyBJRW50aXR5PGFueT4gfCBhbnk+KG8xOiBULCBvMjogVCwgY2hlY2tBdHRyaWJ1dGU/OiBrZXlvZiBUKTogYm9vbGVhbiB7XG4gICAgY2hlY2tBdHRyaWJ1dGUgPSBjaGVja0F0dHJpYnV0ZSB8fCAnaWQnIGFzIGtleW9mIFQ7XG4gICAgcmV0dXJuIChvMSA9PT0gbzIpIHx8IChpc05pbChvMSkgJiYgaXNOaWwobzIpKSAgfHwgKG8xICYmIG8yICYmIG8xW2NoZWNrQXR0cmlidXRlXSA9PT0gbzJbY2hlY2tBdHRyaWJ1dGVdKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRQcm9wZXJ0eUJ5UGF0aCA9IGdldFByb3BlcnR5QnlQYXRoO1xuXG4gIHN0YXRpYyBnZXRBcnJheUFzTWFwPFQgPSBhbnk+KHNvdXJjZT86IE9iamVjdE1hcEVudHJ5PFQ+W10pOiBPYmplY3RNYXA8VD4ge1xuICAgIHJldHVybiAoc291cmNlIHx8IFtdKS5yZWR1Y2UoKHJlcywgaXRlbSkgPT4ge1xuICAgICAgcmVzW2l0ZW0ua2V5XSA9IGl0ZW0udmFsdWU7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRNYXBBc0FycmF5PFQgPSBhbnk+KHNvdXJjZT86IE9iamVjdE1hcDxUPik6IE9iamVjdE1hcEVudHJ5PFQ+W10ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHNvdXJjZSkpIHJldHVybiBzb3VyY2U7XG4gICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHNvdXJjZSB8fCB7fSlcbiAgICAgIC5tYXAoa2V5ID0+ICh7XG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHZhbHVlOiBzb3VyY2Vba2V5XVxuICAgICAgICB9KSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0UHJvcGVydHlBcnJheUFzT2JqZWN0KHNvdXJjZT86IFByb3BlcnRpZXNBcnJheSk6IFByb3BlcnRpZXNNYXAge1xuICAgIHJldHVybiAoc291cmNlIHx8IFtdKS5yZWR1Y2UoKHJlcywgaXRlbSkgPT4ge1xuICAgICAgcmVzW2l0ZW0ua2V5XSA9IGl0ZW0udmFsdWU7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIHN0YXRpYyBjb3B5SWRBbmRVcGRhdGVEYXRlPFQgZXh0ZW5kcyBFbnRpdHk8YW55LCBhbnksIGFueT4+KHNvdXJjZTogVCwgdGFyZ2V0OiBUKSB7XG4gICAgaWYgKCFzb3VyY2UpIHJldHVybjtcblxuICAgIC8vIFVwZGF0ZSAoaWQgYW5kIHVwZGF0ZURhdGUpXG4gICAgdGFyZ2V0LmlkID0gaXNOb3ROaWwoc291cmNlLmlkKSA/IHNvdXJjZS5pZCA6IHRhcmdldC5pZDtcbiAgICB0YXJnZXQudXBkYXRlRGF0ZSA9IGZyb21EYXRlSVNPU3RyaW5nKHNvdXJjZS51cGRhdGVEYXRlKSB8fCB0YXJnZXQudXBkYXRlRGF0ZTtcblxuICAgIC8vIFVwZGF0ZSBjcmVhdGlvbiBEYXRlLCBpZiBleGlzdHNcbiAgICBpZiAoc291cmNlWydjcmVhdGlvbkRhdGUnXSkge1xuICAgICAgdGFyZ2V0WydjcmVhdGlvbkRhdGUnXSA9IGZyb21EYXRlSVNPU3RyaW5nKHNvdXJjZVsnY3JlYXRpb25EYXRlJ10pO1xuICAgIH1cbiAgfVxuXG5cbiAgc3RhdGljIGFzeW5jIGZpbGxMb2NhbElkczxUIGV4dGVuZHMgSUVudGl0eTxUPj4oaXRlbXM6IFRbXSwgc2VxdWVuY2VGYWN0b3J5OiAoZmlyc3RFbnRpdHk6IFQsIGluY3JlbWVudFNpemU6IG51bWJlcikgPT4gUHJvbWlzZTxudW1iZXI+KSB7XG4gICAgY29uc3QgbmV3SXRlbXMgPSAoaXRlbXMgfHwgW10pLmZpbHRlcihpdGVtID0+IGlzTmlsKGl0ZW0uaWQpIHx8IGl0ZW0uaWQgPT09IDApO1xuICAgIGlmIChpc0VtcHR5QXJyYXkobmV3SXRlbXMpKSByZXR1cm47XG4gICAgLy8gR2V0IHRoZSBzZXF1ZW5jZVxuICAgIGxldCBjdXJyZW50SWQgPSBhd2FpdCBzZXF1ZW5jZUZhY3RvcnkobmV3SXRlbXNbMF0sIG5ld0l0ZW1zLmxlbmd0aCkgKyAxO1xuICAgIC8vIFRha2UgdGhlIG1pbiAoc2VxdWVuY2UsIGlkKSwgaW4gY2FzZSB0aGUgc2VxdWVuY2UgaXMgY29ycnVwdGVkXG4gICAgY3VycmVudElkID0gaXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXNOb3ROaWwoaXRlbS5pZCkgJiYgaXRlbS5pZCA8IDApLnJlZHVjZSgocmVzLCBpdGVtKSA9PiBNYXRoLm1pbihyZXMsIGl0ZW0uaWQpLCBjdXJyZW50SWQpO1xuICAgIG5ld0l0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLmlkID0gLS1jdXJyZW50SWQpO1xuICB9XG5cbiAgc3RhdGljIGNsZWFuSWRBbmRVcGRhdGVEYXRlPFQgZXh0ZW5kcyBJRW50aXR5PFQ+Pihzb3VyY2U6IFQpIHtcbiAgICBpZiAoIXNvdXJjZSkgcmV0dXJuOyAvLyBTa2lwXG4gICAgc291cmNlLmlkID0gbnVsbDtcbiAgICBzb3VyY2UudXBkYXRlRGF0ZSA9IG51bGw7XG4gIH1cblxuICBzdGF0aWMgY2xlYW5JZHNBbmRVcGRhdGVEYXRlczxUIGV4dGVuZHMgSUVudGl0eTxUPj4oaXRlbXM6IFRbXSkge1xuICAgIChpdGVtcyB8fCBbXSkuZm9yRWFjaChFbnRpdHlVdGlscy5jbGVhbklkQW5kVXBkYXRlRGF0ZSk7XG4gIH1cblxuICBzdGF0aWMgc29ydDxUIGV4dGVuZHMgSUVudGl0eTxUPiB8IGFueT4oZGF0YTogVFtdLCBzb3J0Qnk/OiBzdHJpbmcsIHNvcnREaXJlY3Rpb24/OiBzdHJpbmcpOiBUW10ge1xuICAgIGlmICghZGF0YSB8fCBkYXRhLmxlbmd0aCA8PSAxIHx8ICFzb3J0QnkpIHJldHVybiBkYXRhO1xuICAgIHJldHVybiBkYXRhLnNvcnQodGhpcy5zb3J0Q29tcGFyYXRvcihzb3J0QnksIHNvcnREaXJlY3Rpb24pKTtcbiAgfVxuXG4gIHN0YXRpYyBzb3J0Q29tcGFyYXRvcjxUIGV4dGVuZHMgSUVudGl0eTxUPiB8IGFueT4oc29ydEJ5Pzogc3RyaW5nLCBzb3J0RGlyZWN0aW9uPzogc3RyaW5nKTogKGE6IFQsIGI6IFQpID0+IG51bWJlciB7XG4gICAgY29uc3QgYWZ0ZXIgPSAoIXNvcnREaXJlY3Rpb24gfHwgc29ydERpcmVjdGlvbiA9PT0gJ2FzYycpID8gMSA6IC0xO1xuICAgIGNvbnN0IHByb3BlcnR5ID0gc29ydEJ5IHx8ICdpZCc7XG4gICAgcmV0dXJuIChhLCBiKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZUEgPSBFbnRpdHlVdGlscy5nZXRQcm9wZXJ0eUJ5UGF0aChhLCBwcm9wZXJ0eSk7XG4gICAgICBjb25zdCB2YWx1ZUIgPSBFbnRpdHlVdGlscy5nZXRQcm9wZXJ0eUJ5UGF0aChiLCBwcm9wZXJ0eSk7XG4gICAgICByZXR1cm4gRW50aXR5VXRpbHMuY29tcGFyZSh2YWx1ZUEsIHZhbHVlQiwgYWZ0ZXIpO1xuICAgIH07XG4gIH1cblxuICBzdGF0aWMgY29tcGFyZTxUIGV4dGVuZHMgSUVudGl0eTxhbnk+Pih2YWx1ZTE6IFQsIHZhbHVlMjogVCwgZGlyZWN0aW9uOiAxIHwgLTEsIGNoZWNrQXR0cmlidXRlPzoga2V5b2YgVCk6IG51bWJlciB7XG4gICAgY2hlY2tBdHRyaWJ1dGUgPSBjaGVja0F0dHJpYnV0ZSB8fCAnaWQnO1xuICAgIGlmIChFbnRpdHlVdGlscy5pc05vdEVtcHR5KHZhbHVlMSwgY2hlY2tBdHRyaWJ1dGUpICYmIEVudGl0eVV0aWxzLmlzTm90RW1wdHkodmFsdWUyLCBjaGVja0F0dHJpYnV0ZSkpIHtcbiAgICAgIHJldHVybiBFbnRpdHlVdGlscy5lcXVhbHModmFsdWUxLCB2YWx1ZTIsIGNoZWNrQXR0cmlidXRlKSA/IDAgOiAodmFsdWUxW2NoZWNrQXR0cmlidXRlXSA+IHZhbHVlMltjaGVja0F0dHJpYnV0ZV0gPyBkaXJlY3Rpb24gOiAoLTEgKiBkaXJlY3Rpb24pKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlMSA9PT0gdmFsdWUyID8gMCA6ICh2YWx1ZTEgPiB2YWx1ZTIgPyBkaXJlY3Rpb24gOiAoLTEgKiBkaXJlY3Rpb24pKTtcbiAgfVxuXG4gIHN0YXRpYyBjb21wYXJlVmFsdWU8VD4odmFsdWUxOiBULCB2YWx1ZTI6IFQsIGRpcmVjdGlvbjogMSB8IC0xKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdmFsdWUxID09PSB2YWx1ZTIgPyAwIDogKHZhbHVlMSA+IHZhbHVlMiA/IGRpcmVjdGlvbiA6ICgtMSAqIGRpcmVjdGlvbikpO1xuICB9XG5cbiAgc3RhdGljIGZpbHRlcjxUIGV4dGVuZHMgSUVudGl0eTxUPiB8IGFueT4oZGF0YTogVFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaEF0dHJpYnV0ZTogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaFRleHQ6IHN0cmluZyk6IFRbXSB7XG4gICAgY29uc3QgZmlsdGVyRm4gPSB0aGlzLnNlYXJjaFRleHRGaWx0ZXIoc2VhcmNoQXR0cmlidXRlLCBzZWFyY2hUZXh0KTtcbiAgICByZXR1cm4gZGF0YS5maWx0ZXIoZmlsdGVyRm4pO1xuICB9XG5cbiAgc3RhdGljIHNlYXJjaFRleHRGaWx0ZXI8VCBleHRlbmRzIElFbnRpdHk8VD4gfCBhbnk+KHNlYXJjaEF0dHJpYnV0ZTogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaFRleHQ6IHN0cmluZyk6IEZpbHRlckZuPFQ+IHtcbiAgICBpZiAoaXNOaWxPckJsYW5rKHNlYXJjaEF0dHJpYnV0ZSkgfHwgaXNOaWxPckJsYW5rKHNlYXJjaFRleHQpKSByZXR1cm4gdW5kZWZpbmVkOyAvLyBmaWx0ZXIgbm90IG5lZWRcblxuICAgIGNvbnN0IHNlYXJjaFJlZ2V4cCA9IHNlYXJjaFRleHRcbiAgICAgIC8vIEVzY2FwZSBzcGVjaWFsIGNoYXJhY3RlcnNcbiAgICAgIC5yZXBsYWNlKC9bLVxcL1xcXFxeJCsuKCl8W1xcXXt9XS9nLCAnXFxcXCQmJylcbiAgICAgIC8vIEludGVycHJldCAqIGFzIGFueSB0ZXh0XG4gICAgICAucmVwbGFjZSgvWypdKy9nLCAnLionKVxuICAgICAgLy8gSW50ZXJwcmV0ID8gYXMgb25lIGNoYXJhY3RlclxuICAgICAgLnJlcGxhY2UoL1s/XS9nLCAnLicpO1xuICAgIGlmIChzZWFyY2hSZWdleHAgPT09ICcuKicpIHJldHVybiB1bmRlZmluZWQ7IC8vIGZpbHRlciBub3QgbmVlZFxuXG4gICAgY29uc3QgZmxhZ3MgPSAnaSc7IC8vIGRvbid0IHVzZSBnbG9iYWwgcmVnZXggc2VhcmNoXG4gICAgY29uc3QgYXNQcmVmaXhQYXR0ZXJuID0gJ14nICsgc2VhcmNoUmVnZXhwO1xuICAgIGNvbnN0IGFueU1hdGNoUGF0dGVybiA9ICdeLionICsgc2VhcmNoUmVnZXhwO1xuXG4gICAgLy8gT25seSBvbmUgc2VhcmNoIGF0dHJpYnV0ZXNcbiAgICBpZiAodHlwZW9mIHNlYXJjaEF0dHJpYnV0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGlzU2ltcGxlUGF0aCA9ICFzZWFyY2hBdHRyaWJ1dGUgfHwgc2VhcmNoQXR0cmlidXRlLmluZGV4T2YoJy4nKSA9PT0gLTE7XG4gICAgICBjb25zdCBzZWFyY2hBc1ByZWZpeCA9ICBzZWFyY2hBdHRyaWJ1dGUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnbGFiZWwnKSB8fCBzZWFyY2hBdHRyaWJ1dGUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnY29kZScpO1xuICAgICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cChzZWFyY2hBc1ByZWZpeCAmJiBhc1ByZWZpeFBhdHRlcm4gfHwgYW55TWF0Y2hQYXR0ZXJuLCBmbGFncyk7XG4gICAgICBpZiAoaXNTaW1wbGVQYXRoKSB7XG4gICAgICAgIHJldHVybiBhID0+IHJlZ2V4cC50ZXN0KCBhW3NlYXJjaEF0dHJpYnV0ZV0pO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBhID0+IHJlZ2V4cC50ZXN0KEVudGl0eVV0aWxzLmdldFByb3BlcnR5QnlQYXRoKGEsIHNlYXJjaEF0dHJpYnV0ZSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1hbnkgc2VhcmNoIGF0dHJpYnV0ZXNcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IHJlZ2V4cHMgPSBzZWFyY2hBdHRyaWJ1dGUubWFwKHBhdGggPT4ge1xuICAgICAgICBjb25zdCBzZWFyY2hBc1ByZWZpeCA9ICBwYXRoLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJ2xhYmVsJykgfHwgcGF0aC50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCdjb2RlJyk7XG4gICAgICAgIHJldHVybiBuZXcgUmVnRXhwKCBzZWFyY2hBc1ByZWZpeCAmJiBhc1ByZWZpeFBhdHRlcm4gfHwgYW55TWF0Y2hQYXR0ZXJuLCBmbGFncyk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBhID0+IHNlYXJjaEF0dHJpYnV0ZS5maW5kSW5kZXgoKHBhdGgsIGluZGV4KSA9PiByZWdleHBzW2luZGV4XS50ZXN0KEVudGl0eVV0aWxzLmdldFByb3BlcnR5QnlQYXRoKGEsIHBhdGgpKSkgIT09IC0xO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gYSBiYXRjaCBlbnRpdHkgdHJlZSBpbnRvIGEgYXJyYXkgbGlzdC4gVGhpcyBtZXRob2Qga2VlcCBsaW5rcyBwYXJlbnQvY2hpbGRyZW4uXG4gICAqXG4gICAqIE1ldGhvZCB1c2VkIHRvIGZpbmQgYmF0Y2ggd2l0aG91dCBpZCAoZS5nLiBiZWZvcmUgbG9jYWwgc3RvcmFnZSlcbiAgICpcbiAgICogQHBhcmFtIHNvdXJjZVxuICAgKi9cbiAgc3RhdGljIHRyZWVUb0FycmF5PFQgZXh0ZW5kcyBJVHJlZUl0ZW1FbnRpdHk8YW55Pj4oc291cmNlOiBUKTogVFtdIHtcbiAgICBpZiAoIXNvdXJjZSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIChzb3VyY2UuY2hpbGRyZW4gfHwgW10pLnJlZHVjZSgocmVzLCBiYXRjaCkgPT4ge1xuICAgICAgYmF0Y2gucGFyZW50ID0gc291cmNlO1xuICAgICAgcmV0dXJuIHJlcy5jb25jYXQodGhpcy50cmVlVG9BcnJheShiYXRjaCkpOyAvLyByZWN1cnNpdmUgY2FsbFxuICAgIH0sIFtzb3VyY2VdKTtcbiAgfVxuXG4gIHN0YXRpYyBsaXN0T2ZUcmVlVG9BcnJheTxUIGV4dGVuZHMgSVRyZWVJdGVtRW50aXR5PGFueT4+KHNvdXJjZXM6IFRbXSk6IFRbXSB7XG4gICAgaWYgKCFzb3VyY2VzIHx8ICFzb3VyY2VzLmxlbmd0aCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHNvdXJjZXMucmVkdWNlKChyZXMsIHNvdXJjZSkgPT4gcmVzLmNvbmNhdCh0aGlzLnRyZWVUb0FycmF5PFQ+KHNvdXJjZSkpLCBbXSk7XG4gIH1cblxuICAvKipcbiAgICogRmlsbCBwYXJlbnQgYXR0cmlidXRlLCBvZiBhbGwgY2hpbGRyZW4gZm91bmQgaW4gdGhlIHRyZWVcbiAgICpcbiAgICogQHBhcmFtIHNvdXJjZVxuICAgKi9cbiAgc3RhdGljIHRyZWVGaWxsUGFyZW50PFQgZXh0ZW5kcyBJVHJlZUl0ZW1FbnRpdHk8YW55Pj4oc291cmNlOiBUKTogVFtdIHtcbiAgICBpZiAoIXNvdXJjZSkgcmV0dXJuIG51bGw7XG4gICAgKHNvdXJjZS5jaGlsZHJlbiB8fCBbXSkuZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICBjaGlsZC5wYXJlbnQgPSBzb3VyY2U7XG4gICAgICB0aGlzLnRyZWVGaWxsUGFyZW50KGNoaWxkKTsgLy8gTG9vcFxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGlzTG9jYWwoZW50aXR5OiBJRW50aXR5PGFueSwgYW55PiB8IEVudGl0eTxhbnksIGFueT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gZW50aXR5ICYmIChpc05vdE5pbChlbnRpdHkuaWQpICYmICtlbnRpdHkuaWQgPCAwKTtcbiAgfVxuXG4gIHN0YXRpYyBpc1JlbW90ZShlbnRpdHk6IElFbnRpdHk8YW55LCBhbnk+IHwgRW50aXR5PGFueSwgYW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBlbnRpdHkgJiYgIUVudGl0eVV0aWxzLmlzTG9jYWwoZW50aXR5KTtcbiAgfVxuXG4gIHN0YXRpYyBpc0xvY2FsSWQoaWQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc05vdE5pbChpZCkgJiYgK2lkIDwgMDtcbiAgfVxuXG4gIHN0YXRpYyBpc1JlbW90ZUlkKGlkOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNOb3ROaWwoaWQpICYmICtpZCA+PSAwO1xuICB9XG5cbiAgc3RhdGljIGdldElkPFQgZXh0ZW5kcyBJRW50aXR5PFQsIElEPiA9IElFbnRpdHk8YW55LCBhbnk+LCBJRCA9IGFueT4oZW50aXR5OiBUKTogSUQge1xuICAgIHJldHVybiBlbnRpdHkuaWRcbiAgfVxuXG4gIHN0YXRpYyBjb2xsZWN0QnlJZDxUIGV4dGVuZHMgSUVudGl0eTxULCBJRD4sIElEID0gYW55PihlbnRpdGllczogVFtdKTogSURbXSB7XG4gICAgcmV0dXJuIChlbnRpdGllcyB8fCBbXSkubWFwKGUgPT4gZS5pZCk7XG4gIH1cblxuICBzdGF0aWMgYXJyYXlEaXN0aW5jdEZpbHRlckZuPEUgZXh0ZW5kcyBJRW50aXR5PGFueSwgYW55Pj4oaXRlbTogRSwgaW5kZXg6IG51bWJlciwgdmFsdWVzOiBFW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsdWVzLmZpbmRJbmRleChlID0+IGUuaWQgPT09IGl0ZW0uaWQpID09PSBpbmRleDtcbiAgfVxuXG59XG4iXX0=
|
|
210
|
+
/**
|
|
211
|
+
* Transform a batch entity tree into a array list. This method keep links parent/children.
|
|
212
|
+
*
|
|
213
|
+
* Method used to find batch without id (e.g. before local storage)
|
|
214
|
+
*
|
|
215
|
+
* @param source
|
|
216
|
+
*/
|
|
217
|
+
EntityUtils.treeToArray = TreeItemEntityUtils.treeToArray;
|
|
218
|
+
EntityUtils.listOfTreeToArray = TreeItemEntityUtils.listOfTreeToArray;
|
|
219
|
+
/**
|
|
220
|
+
* Fill parent attribute, of all children found in the tree
|
|
221
|
+
*
|
|
222
|
+
* @param source
|
|
223
|
+
*/
|
|
224
|
+
EntityUtils.treeFillParent = TreeItemEntityUtils.treeFillParent;
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL21vZGVsL2VudGl0eS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJL0gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTS9ELE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBc0IsRUFBRSxVQUFxQjtJQUMxRSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztBQUN2RixDQUFDO0FBd0JELFVBQVU7QUFDVixNQUFNLE9BQWdCLE1BQU07SUFjMUIsWUFBWSxVQUFtQjtRQUovQixPQUFFLEdBQU8sSUFBSSxDQUFDO1FBQ2QsZUFBVSxHQUFXLElBQUksQ0FBQztRQUl4QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFjO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUssSUFBSSxDQUFDLFdBQW1CLEVBQU8sQ0FBQztRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQVMsRUFBRSxJQUFjO1FBQzVCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FB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UyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxDQUFDO0lBQzNELENBQUM7O0FBckxNLDZCQUFpQixHQUFHLGlCQUFpQixDQUFDO0FBcUk3Qzs7Ozs7O0dBTUc7QUFDSSx1QkFBVyxHQUFHLG1CQUFtQixDQUFDLFdBQVcsQ0FBQztBQUU5Qyw2QkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQztBQUVqRTs7OztHQUlHO0FBQ0ksMEJBQWMsR0FBRyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgZ2V0UHJvcGVydHlCeVBhdGgsIGlzRW1wdHlBcnJheSwgaXNOaWwsIGlzTmlsT3JCbGFuaywgaXNOb3ROaWwsIGpvaW5Qcm9wZXJ0aWVzUGF0aCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRmlsdGVyRm4gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgT2JqZWN0TWFwLCBPYmplY3RNYXBFbnRyeSwgUHJvcGVydGllc0FycmF5LCBQcm9wZXJ0aWVzTWFwIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3R5cGVzJztcbmltcG9ydCB7IFN0b3JlT2JqZWN0IH0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQgeyBmcm9tRGF0ZUlTT1N0cmluZywgdG9EYXRlSVNPU3RyaW5nIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RhdGVzJztcbmltcG9ydCB7IFRyZWVJdGVtRW50aXR5VXRpbHMgfSBmcm9tICcuL3RyZWUtaXRlbS1lbnRpdHkubW9kZWwnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2xvbmVhYmxlPFQ+IHtcbiAgY2xvbmUoKTogVDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVudGl0eVRvU3RyaW5nKG9iajogRW50aXR5PGFueT4gfCBhbnksIHByb3BlcnRpZXM/OiBzdHJpbmdbXSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBvYmogJiYgb2JqLmlkICYmIGpvaW5Qcm9wZXJ0aWVzUGF0aChvYmosIHByb3BlcnRpZXMgfHwgWyduYW1lJ10pIHx8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlBc09iamVjdE9wdGlvbnMge1xuICBtaW5pZnk/OiBib29sZWFuO1xuICBrZWVwVHlwZW5hbWU/OiBib29sZWFuOyAvLyB0cnVlIGJ5IGRlZmF1bHRcbiAga2VlcExvY2FsSWQ/OiBib29sZWFuOyAvLyB0cnVlIGJ5IGRlZmF1bHRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5PFQsXG4gIElEID0gbnVtYmVyLFxuICBBTyBleHRlbmRzIEVudGl0eUFzT2JqZWN0T3B0aW9ucyA9IEVudGl0eUFzT2JqZWN0T3B0aW9ucyxcbiAgRk8gPSBhbnlcbiAgPlxuICBleHRlbmRzIENsb25lYWJsZTxUPiB7XG4gIGlkOiBJRDtcbiAgdXBkYXRlRGF0ZTogTW9tZW50O1xuICBfX3R5cGVuYW1lOiBzdHJpbmc7XG4gIGVxdWFscyhvdGhlcjogVCk6IGJvb2xlYW47XG4gIGNsb25lKG9wdHM/OiBBTyAmIEZPKTogVDtcbiAgY29weSh0YXJnZXQ6IFQsIG9wdHM/OiBBTyAmIEZPKTtcbiAgYXNPYmplY3Qob3B0cz86IEFPKTogYW55O1xuICBmcm9tT2JqZWN0KHNvdXJjZTogYW55LCBvcHRzPzogRk8pO1xufVxuXG4vL0BkeW5hbWljXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRW50aXR5PFxuICBUIGV4dGVuZHMgRW50aXR5PFQsIElELCBBTywgRk8+LFxuICBJRCA9IG51bWJlcixcbiAgQU8gZXh0ZW5kcyBFbnRpdHlBc09iamVjdE9wdGlvbnMgPSBFbnRpdHlBc09iamVjdE9wdGlvbnMsXG4gIEZPID0gYW55PlxuICBpbXBsZW1lbnRzIElFbnRpdHk8VCwgSUQsIEFPLCBGTz4ge1xuXG4gIC8vIFRoZSBHcmFwaFFMIHR5cGVuYW1lIChpbmplY3RlZCBieSBARW50aXR5Q2xhc3MoKSlcbiAgc3RhdGljIFRZUEVOQU1FOiBzdHJpbmc7XG5cbiAgaWQ6IElEID0gbnVsbDtcbiAgdXBkYXRlRGF0ZTogTW9tZW50ID0gbnVsbDtcbiAgX190eXBlbmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9fdHlwZW5hbWU/OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9fdHlwZW5hbWUgPSBfX3R5cGVuYW1lIHx8IG51bGw7XG4gIH1cblxuICBjbG9uZShvcHRzPzogQU8gJiBGTyk6IFQge1xuICAgIGNvbnN0IHRhcmdldCA9IG5ldyAodGhpcy5jb25zdHJ1Y3RvciBhcyBhbnkpKCkgYXMgVDtcbiAgICB0aGlzLmNvcHkodGFyZ2V0LCBvcHRzKTtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbiAgY29weSh0YXJnZXQ6IFQsIG9wdHM/OiBBTyAmIEZPKSB7XG4gICAgdGFyZ2V0LmZyb21PYmplY3QodGhpcy5hc09iamVjdChvcHRzKSwgb3B0cyk7XG4gIH1cblxuICBhc09iamVjdChvcHRzPzogQU8pOiBTdG9yZU9iamVjdCB7XG4gICAgY29uc3QgdGFyZ2V0OiBhbnkgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzKTsgLy89IHsuLi50aGlzfTtcbiAgICBpZiAoIW9wdHMgfHwgb3B0cy5rZWVwVHlwZW5hbWUgIT09IHRydWUpIGRlbGV0ZSB0YXJnZXQuX190eXBlbmFtZTtcbiAgICB0YXJnZXQudXBkYXRlRGF0ZSA9IHRvRGF0ZUlTT1N0cmluZyh0aGlzLnVwZGF0ZURhdGUpO1xuICAgIGlmICh0YXJnZXQuaWQgPT0gbnVsbCB8fCAob3B0cyAmJiBvcHRzLmtlZXBMb2NhbElkID09PSBmYWxzZSAmJiB0YXJnZXQuaWQgPCAwKSkge1xuICAgICAgZGVsZXRlIHRhcmdldC5pZDtcbiAgICAgIGRlbGV0ZSB0YXJnZXQudXBkYXRlRGF0ZTsgLy8gTWFrZSB0byBzZW5zIHRvIGtlZXAgdXBkYXRlRGF0ZSBvZiBhIGxvY2FsIGVudGl0eSB0byBzYXZlXG4gICAgfVxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cblxuICBmcm9tT2JqZWN0KHNvdXJjZTogYW55LCBvcHRzPzogRk8pIHtcbiAgICB0aGlzLmlkID0gKHNvdXJjZS5pZCB8fCBzb3VyY2UuaWQgPT09IDApID8gc291cmNlLmlkIDogdW5kZWZpbmVkO1xuICAgIHRoaXMudXBkYXRlRGF0ZSA9IGZyb21EYXRlSVNPU3RyaW5nKHNvdXJjZS51cGRhdGVEYXRlKTtcbiAgICB0aGlzLl9fdHlwZW5hbWUgPSBzb3VyY2UuX190eXBlbmFtZSB8fCB0aGlzLl9fdHlwZW5hbWU7IC8vIEtlZXAgb3JpZ2luYWwgdHlwZSAoY2FuIGJlIHNldCBpbiBjb25zdHJ1Y3RvcilcbiAgfVxuXG4gIGVxdWFscyhvdGhlcjogVCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBvdGhlciAmJiB0aGlzLmlkID09PSBvdGhlci5pZDtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBzdGFuZGFyZCBpbnN0YW5jZW9mIGluc3RlYWRcbiAqIEBwYXJhbSBvYmpcbiAqIEBwYXJhbSBjb25zdHJ1Y3RvclxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNJbnN0YW5jZU9mPFQ+KG9iajogYW55LCBjb25zdHJ1Y3RvcjogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCk6IG9iaiBpcyBUIHtcbiAgaWYgKCFvYmopIHJldHVybiBmYWxzZTtcblxuICByZXR1cm4gb2JqIGluc3RhbmNlb2YgY29uc3RydWN0b3I7XG59XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRW50aXR5VXRpbHMge1xuXG4gIC8vIENoZWNrIHRoYXQgdGhlIG9iamVjdCBoYXMgYSBOT1QgbmlsIGF0dHJpYnV0ZSAoSUQgYnkgZGVmYXVsdClcbiAgc3RhdGljIGlzRW50aXR5PFQgZXh0ZW5kcyBJRW50aXR5PGFueT4+KG9iajogVHxhbnkpOiBvYmogaXMgVCB7XG4gICAgcmV0dXJuIGlzTm90TmlsKG9iaj8uX190eXBlbmFtZSkgJiYgKHR5cGVvZiBvYmouZnJvbU9iamVjdCA9PT0gJ2Z1bmN0aW9uJykgJiYgKHR5cGVvZiBvYmouYXNPYmplY3QgPT09ICdmdW5jdGlvbicpO1xuICB9XG5cbiAgLy8gQ2hlY2sgdGhhdCB0aGUgb2JqZWN0IGhhcyBhIE5PVCBuaWwgYXR0cmlidXRlIChJRCBieSBkZWZhdWx0KVxuICBzdGF0aWMgaXNOb3RFbXB0eTxUIGV4dGVuZHMgSUVudGl0eTxhbnk+IHwgYW55PihvYmo6IFQsIGNoZWNrZWRBdHRyaWJ1dGU6IGtleW9mIFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFvYmogJiYgb2JqW2NoZWNrZWRBdHRyaWJ1dGVdICE9PSBudWxsICYmIG9ialtjaGVja2VkQXR0cmlidXRlXSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgc3RhdGljIGlzRW1wdHk8VCBleHRlbmRzIElFbnRpdHk8YW55PiB8IGFueT4ob2JqOiBULCBjaGVja2VkQXR0cmlidXRlOiBrZXlvZiBUKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFvYmogfHwgb2JqW2NoZWNrZWRBdHRyaWJ1dGVdID09PSBudWxsIHx8IG9ialtjaGVja2VkQXR0cmlidXRlXSA9PT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgc3RhdGljIGVxdWFsczxUIGV4dGVuZHMgSUVudGl0eTxhbnk+IHwgYW55PihvMTogVCwgbzI6IFQsIGNoZWNrQXR0cmlidXRlPzoga2V5b2YgVCk6IGJvb2xlYW4ge1xuICAgIGNoZWNrQXR0cmlidXRlID0gY2hlY2tBdHRyaWJ1dGUgfHwgJ2lkJyBhcyBrZXlvZiBUO1xuICAgIHJldHVybiAobzEgPT09IG8yKSB8fCAoaXNOaWwobzEpICYmIGlzTmlsKG8yKSkgIHx8IChvMSAmJiBvMiAmJiBvMVtjaGVja0F0dHJpYnV0ZV0gPT09IG8yW2NoZWNrQXR0cmlidXRlXSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0UHJvcGVydHlCeVBhdGggPSBnZXRQcm9wZXJ0eUJ5UGF0aDtcblxuICBzdGF0aWMgZ2V0QXJyYXlBc01hcDxUID0gYW55Pihzb3VyY2U/OiBPYmplY3RNYXBFbnRyeTxUPltdKTogT2JqZWN0TWFwPFQ+IHtcbiAgICByZXR1cm4gKHNvdXJjZSB8fCBbXSkucmVkdWNlKChyZXMsIGl0ZW0pID0+IHtcbiAgICAgIHJlc1tpdGVtLmtleV0gPSBpdGVtLnZhbHVlO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9LCB7fSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0TWFwQXNBcnJheTxUID0gYW55Pihzb3VyY2U/OiBPYmplY3RNYXA8VD4pOiBPYmplY3RNYXBFbnRyeTxUPltdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShzb3VyY2UpKSByZXR1cm4gc291cmNlO1xuICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhzb3VyY2UgfHwge30pXG4gICAgICAubWFwKGtleSA9PiAoe1xuICAgICAgICAgIGtleSxcbiAgICAgICAgICB2YWx1ZTogc291cmNlW2tleV1cbiAgICAgICAgfSkpO1xuICB9XG5cbiAgc3RhdGljIGdldFByb3BlcnR5QXJyYXlBc09iamVjdChzb3VyY2U/OiBQcm9wZXJ0aWVzQXJyYXkpOiBQcm9wZXJ0aWVzTWFwIHtcbiAgICByZXR1cm4gKHNvdXJjZSB8fCBbXSkucmVkdWNlKChyZXMsIGl0ZW0pID0+IHtcbiAgICAgIHJlc1tpdGVtLmtleV0gPSBpdGVtLnZhbHVlO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9LCB7fSk7XG4gIH1cblxuICBzdGF0aWMgY29weUlkQW5kVXBkYXRlRGF0ZTxUIGV4dGVuZHMgRW50aXR5PGFueSwgYW55LCBhbnk+Pihzb3VyY2U6IFQsIHRhcmdldDogVCkge1xuICAgIGlmICghc291cmNlKSByZXR1cm47XG5cbiAgICAvLyBVcGRhdGUgKGlkIGFuZCB1cGRhdGVEYXRlKVxuICAgIHRhcmdldC5pZCA9IGlzTm90TmlsKHNvdXJjZS5pZCkgPyBzb3VyY2UuaWQgOiB0YXJnZXQuaWQ7XG4gICAgdGFyZ2V0LnVwZGF0ZURhdGUgPSBmcm9tRGF0ZUlTT1N0cmluZyhzb3VyY2UudXBkYXRlRGF0ZSkgfHwgdGFyZ2V0LnVwZGF0ZURhdGU7XG5cbiAgICAvLyBVcGRhdGUgY3JlYXRpb24gRGF0ZSwgaWYgZXhpc3RzXG4gICAgaWYgKHNvdXJjZVsnY3JlYXRpb25EYXRlJ10pIHtcbiAgICAgIHRhcmdldFsnY3JlYXRpb25EYXRlJ10gPSBmcm9tRGF0ZUlTT1N0cmluZyhzb3VyY2VbJ2NyZWF0aW9uRGF0ZSddKTtcbiAgICB9XG4gIH1cblxuXG4gIHN0YXRpYyBhc3luYyBmaWxsTG9jYWxJZHM8VCBleHRlbmRzIElFbnRpdHk8VD4+KGl0ZW1zOiBUW10sIHNlcXVlbmNlRmFjdG9yeTogKGZpcnN0RW50aXR5OiBULCBpbmNyZW1lbnRTaXplOiBudW1iZXIpID0+IFByb21pc2U8bnVtYmVyPikge1xuICAgIGNvbnN0IG5ld0l0ZW1zID0gKGl0ZW1zIHx8IFtdKS5maWx0ZXIoaXRlbSA9PiBpc05pbChpdGVtLmlkKSB8fCBpdGVtLmlkID09PSAwKTtcbiAgICBpZiAoaXNFbXB0eUFycmF5KG5ld0l0ZW1zKSkgcmV0dXJuO1xuICAgIC8vIEdldCB0aGUgc2VxdWVuY2VcbiAgICBsZXQgY3VycmVudElkID0gYXdhaXQgc2VxdWVuY2VGYWN0b3J5KG5ld0l0ZW1zWzBdLCBuZXdJdGVtcy5sZW5ndGgpICsgMTtcbiAgICAvLyBUYWtlIHRoZSBtaW4gKHNlcXVlbmNlLCBpZCksIGluIGNhc2UgdGhlIHNlcXVlbmNlIGlzIGNvcnJ1cHRlZFxuICAgIGN1cnJlbnRJZCA9IGl0ZW1zLmZpbHRlcihpdGVtID0+IGlzTm90TmlsKGl0ZW0uaWQpICYmIGl0ZW0uaWQgPCAwKS5yZWR1Y2UoKHJlcywgaXRlbSkgPT4gTWF0aC5taW4ocmVzLCBpdGVtLmlkKSwgY3VycmVudElkKTtcbiAgICBuZXdJdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5pZCA9IC0tY3VycmVudElkKTtcbiAgfVxuXG4gIHN0YXRpYyBjbGVhbklkQW5kVXBkYXRlRGF0ZTxUIGV4dGVuZHMgSUVudGl0eTxUPj4oc291cmNlOiBUKSB7XG4gICAgaWYgKCFzb3VyY2UpIHJldHVybjsgLy8gU2tpcFxuICAgIHNvdXJjZS5pZCA9IG51bGw7XG4gICAgc291cmNlLnVwZGF0ZURhdGUgPSBudWxsO1xuICB9XG5cbiAgc3RhdGljIGNsZWFuSWRzQW5kVXBkYXRlRGF0ZXM8VCBleHRlbmRzIElFbnRpdHk8VD4+KGl0ZW1zOiBUW10pIHtcbiAgICAoaXRlbXMgfHwgW10pLmZvckVhY2goRW50aXR5VXRpbHMuY2xlYW5JZEFuZFVwZGF0ZURhdGUpO1xuICB9XG5cbiAgc3RhdGljIHNvcnQ8VCBleHRlbmRzIElFbnRpdHk8VD4gfCBhbnk+KGRhdGE6IFRbXSwgc29ydEJ5Pzogc3RyaW5nLCBzb3J0RGlyZWN0aW9uPzogc3RyaW5nKTogVFtdIHtcbiAgICBpZiAoIWRhdGEgfHwgZGF0YS5sZW5ndGggPD0gMSB8fCAhc29ydEJ5KSByZXR1cm4gZGF0YTtcbiAgICByZXR1cm4gZGF0YS5zb3J0KHRoaXMuc29ydENvbXBhcmF0b3Ioc29ydEJ5LCBzb3J0RGlyZWN0aW9uKSk7XG4gIH1cblxuICBzdGF0aWMgc29ydENvbXBhcmF0b3I8VCBleHRlbmRzIElFbnRpdHk8VD4gfCBhbnk+KHNvcnRCeT86IHN0cmluZywgc29ydERpcmVjdGlvbj86IHN0cmluZyk6IChhOiBULCBiOiBUKSA9PiBudW1iZXIge1xuICAgIGNvbnN0IGFmdGVyID0gKCFzb3J0RGlyZWN0aW9uIHx8IHNvcnREaXJlY3Rpb24gPT09ICdhc2MnKSA/IDEgOiAtMTtcbiAgICBjb25zdCBwcm9wZXJ0eSA9IHNvcnRCeSB8fCAnaWQnO1xuICAgIHJldHVybiAoYSwgYikgPT4ge1xuICAgICAgY29uc3QgdmFsdWVBID0gRW50aXR5VXRpbHMuZ2V0UHJvcGVydHlCeVBhdGgoYSwgcHJvcGVydHkpO1xuICAgICAgY29uc3QgdmFsdWVCID0gRW50aXR5VXRpbHMuZ2V0UHJvcGVydHlCeVBhdGgoYiwgcHJvcGVydHkpO1xuICAgICAgcmV0dXJuIEVudGl0eVV0aWxzLmNvbXBhcmUodmFsdWVBLCB2YWx1ZUIsIGFmdGVyKTtcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGNvbXBhcmU8VCBleHRlbmRzIElFbnRpdHk8YW55Pj4odmFsdWUxOiBULCB2YWx1ZTI6IFQsIGRpcmVjdGlvbjogMSB8IC0xLCBjaGVja0F0dHJpYnV0ZT86IGtleW9mIFQpOiBudW1iZXIge1xuICAgIGNoZWNrQXR0cmlidXRlID0gY2hlY2tBdHRyaWJ1dGUgfHwgJ2lkJztcbiAgICBpZiAoRW50aXR5VXRpbHMuaXNOb3RFbXB0eSh2YWx1ZTEsIGNoZWNrQXR0cmlidXRlKSAmJiBFbnRpdHlVdGlscy5pc05vdEVtcHR5KHZhbHVlMiwgY2hlY2tBdHRyaWJ1dGUpKSB7XG4gICAgICByZXR1cm4gRW50aXR5VXRpbHMuZXF1YWxzKHZhbHVlMSwgdmFsdWUyLCBjaGVja0F0dHJpYnV0ZSkgPyAwIDogKHZhbHVlMVtjaGVja0F0dHJpYnV0ZV0gPiB2YWx1ZTJbY2hlY2tBdHRyaWJ1dGVdID8gZGlyZWN0aW9uIDogKC0xICogZGlyZWN0aW9uKSk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTEgPT09IHZhbHVlMiA/IDAgOiAodmFsdWUxID4gdmFsdWUyID8gZGlyZWN0aW9uIDogKC0xICogZGlyZWN0aW9uKSk7XG4gIH1cblxuICBzdGF0aWMgY29tcGFyZVZhbHVlPFQ+KHZhbHVlMTogVCwgdmFsdWUyOiBULCBkaXJlY3Rpb246IDEgfCAtMSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHZhbHVlMSA9PT0gdmFsdWUyID8gMCA6ICh2YWx1ZTEgPiB2YWx1ZTIgPyBkaXJlY3Rpb24gOiAoLTEgKiBkaXJlY3Rpb24pKTtcbiAgfVxuXG4gIHN0YXRpYyBmaWx0ZXI8VCBleHRlbmRzIElFbnRpdHk8VD4gfCBhbnk+KGRhdGE6IFRbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hBdHRyaWJ1dGU6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hUZXh0OiBzdHJpbmcpOiBUW10ge1xuICAgIGNvbnN0IGZpbHRlckZuID0gdGhpcy5zZWFyY2hUZXh0RmlsdGVyKHNlYXJjaEF0dHJpYnV0ZSwgc2VhcmNoVGV4dCk7XG4gICAgcmV0dXJuIGRhdGEuZmlsdGVyKGZpbHRlckZuKTtcbiAgfVxuXG4gIHN0YXRpYyBzZWFyY2hUZXh0RmlsdGVyPFQgZXh0ZW5kcyBJRW50aXR5PFQ+IHwgYW55PihzZWFyY2hBdHRyaWJ1dGU6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hUZXh0OiBzdHJpbmcpOiBGaWx0ZXJGbjxUPiB7XG4gICAgaWYgKGlzTmlsT3JCbGFuayhzZWFyY2hBdHRyaWJ1dGUpIHx8IGlzTmlsT3JCbGFuayhzZWFyY2hUZXh0KSkgcmV0dXJuIHVuZGVmaW5lZDsgLy8gZmlsdGVyIG5vdCBuZWVkXG5cbiAgICBjb25zdCBzZWFyY2hSZWdleHAgPSBzZWFyY2hUZXh0XG4gICAgICAvLyBFc2NhcGUgc3BlY2lhbCBjaGFyYWN0ZXJzXG4gICAgICAucmVwbGFjZSgvWy1cXC9cXFxcXiQrLigpfFtcXF17fV0vZywgJ1xcXFwkJicpXG4gICAgICAvLyBJbnRlcnByZXQgKiBhcyBhbnkgdGV4dFxuICAgICAgLnJlcGxhY2UoL1sqXSsvZywgJy4qJylcbiAgICAgIC8vIEludGVycHJldCA/IGFzIG9uZSBjaGFyYWN0ZXJcbiAgICAgIC5yZXBsYWNlKC9bP10vZywgJy4nKTtcbiAgICBpZiAoc2VhcmNoUmVnZXhwID09PSAnLionKSByZXR1cm4gdW5kZWZpbmVkOyAvLyBmaWx0ZXIgbm90IG5lZWRcblxuICAgIGNvbnN0IGZsYWdzID0gJ2knOyAvLyBkb24ndCB1c2UgZ2xvYmFsIHJlZ2V4IHNlYXJjaFxuICAgIGNvbnN0IGFzUHJlZml4UGF0dGVybiA9ICdeJyArIHNlYXJjaFJlZ2V4cDtcbiAgICBjb25zdCBhbnlNYXRjaFBhdHRlcm4gPSAnXi4qJyArIHNlYXJjaFJlZ2V4cDtcblxuICAgIC8vIE9ubHkgb25lIHNlYXJjaCBhdHRyaWJ1dGVzXG4gICAgaWYgKHR5cGVvZiBzZWFyY2hBdHRyaWJ1dGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBpc1NpbXBsZVBhdGggPSAhc2VhcmNoQXR0cmlidXRlIHx8IHNlYXJjaEF0dHJpYnV0ZS5pbmRleE9mKCcuJykgPT09IC0xO1xuICAgICAgY29uc3Qgc2VhcmNoQXNQcmVmaXggPSAgc2VhcmNoQXR0cmlidXRlLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJ2xhYmVsJykgfHwgc2VhcmNoQXR0cmlidXRlLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJ2NvZGUnKTtcbiAgICAgIGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAoc2VhcmNoQXNQcmVmaXggJiYgYXNQcmVmaXhQYXR0ZXJuIHx8IGFueU1hdGNoUGF0dGVybiwgZmxhZ3MpO1xuICAgICAgaWYgKGlzU2ltcGxlUGF0aCkge1xuICAgICAgICByZXR1cm4gYSA9PiByZWdleHAudGVzdCggYVtzZWFyY2hBdHRyaWJ1dGVdKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gYSA9PiByZWdleHAudGVzdChFbnRpdHlVdGlscy5nZXRQcm9wZXJ0eUJ5UGF0aChhLCBzZWFyY2hBdHRyaWJ1dGUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBtYW55IHNlYXJjaCBhdHRyaWJ1dGVzXG4gICAgZWxzZSB7XG4gICAgICBjb25zdCByZWdleHBzID0gc2VhcmNoQXR0cmlidXRlLm1hcChwYXRoID0+IHtcbiAgICAgICAgY29uc3Qgc2VhcmNoQXNQcmVmaXggPSAgcGF0aC50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCdsYWJlbCcpIHx8IHBhdGgudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnY29kZScpO1xuICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cCggc2VhcmNoQXNQcmVmaXggJiYgYXNQcmVmaXhQYXR0ZXJuIHx8IGFueU1hdGNoUGF0dGVybiwgZmxhZ3MpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYSA9PiBzZWFyY2hBdHRyaWJ1dGUuZmluZEluZGV4KChwYXRoLCBpbmRleCkgPT4gcmVnZXhwc1tpbmRleF0udGVzdChFbnRpdHlVdGlscy5nZXRQcm9wZXJ0eUJ5UGF0aChhLCBwYXRoKSkpICE9PSAtMTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIGEgYmF0Y2ggZW50aXR5IHRyZWUgaW50byBhIGFycmF5IGxpc3QuIFRoaXMgbWV0aG9kIGtlZXAgbGlua3MgcGFyZW50L2NoaWxkcmVuLlxuICAgKlxuICAgKiBNZXRob2QgdXNlZCB0byBmaW5kIGJhdGNoIHdpdGhvdXQgaWQgKGUuZy4gYmVmb3JlIGxvY2FsIHN0b3JhZ2UpXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2VcbiAgICovXG4gIHN0YXRpYyB0cmVlVG9BcnJheSA9IFRyZWVJdGVtRW50aXR5VXRpbHMudHJlZVRvQXJyYXk7XG5cbiAgc3RhdGljIGxpc3RPZlRyZWVUb0FycmF5ID0gVHJlZUl0ZW1FbnRpdHlVdGlscy5saXN0T2ZUcmVlVG9BcnJheTtcblxuICAvKipcbiAgICogRmlsbCBwYXJlbnQgYXR0cmlidXRlLCBvZiBhbGwgY2hpbGRyZW4gZm91bmQgaW4gdGhlIHRyZWVcbiAgICpcbiAgICogQHBhcmFtIHNvdXJjZVxuICAgKi9cbiAgc3RhdGljIHRyZWVGaWxsUGFyZW50ID0gVHJlZUl0ZW1FbnRpdHlVdGlscy50cmVlRmlsbFBhcmVudDtcblxuICBzdGF0aWMgaXNMb2NhbChlbnRpdHk6IElFbnRpdHk8YW55LCBhbnk+IHwgRW50aXR5PGFueSwgYW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBlbnRpdHkgJiYgKGlzTm90TmlsKGVudGl0eS5pZCkgJiYgK2VudGl0eS5pZCA8IDApO1xuICB9XG5cbiAgc3RhdGljIGlzUmVtb3RlKGVudGl0eTogSUVudGl0eTxhbnksIGFueT4gfCBFbnRpdHk8YW55LCBhbnk+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGVudGl0eSAmJiAhRW50aXR5VXRpbHMuaXNMb2NhbChlbnRpdHkpO1xuICB9XG5cbiAgc3RhdGljIGlzTG9jYWxJZChpZDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzTm90TmlsKGlkKSAmJiAraWQgPCAwO1xuICB9XG5cbiAgc3RhdGljIGlzUmVtb3RlSWQoaWQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc05vdE5pbChpZCkgJiYgK2lkID49IDA7XG4gIH1cblxuICBzdGF0aWMgZ2V0SWQ8VCBleHRlbmRzIElFbnRpdHk8VCwgSUQ+ID0gSUVudGl0eTxhbnksIGFueT4sIElEID0gYW55PihlbnRpdHk6IFQpOiBJRCB7XG4gICAgcmV0dXJuIGVudGl0eS5pZDtcbiAgfVxuXG4gIHN0YXRpYyBoYXNJZDxUIGV4dGVuZHMgSUVudGl0eTxULCBJRD4gPSBJRW50aXR5PGFueSwgYW55PiwgSUQgPSBhbnk+KGVudGl0eTogVCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc05vdE5pbChlbnRpdHkuaWQpO1xuICB9XG5cbiAgc3RhdGljIGNvbGxlY3RCeUlkPFQgZXh0ZW5kcyBJRW50aXR5PFQsIElEPiwgSUQgPSBhbnk+KGVudGl0aWVzOiBUW10pOiBJRFtdIHtcbiAgICByZXR1cm4gKGVudGl0aWVzIHx8IFtdKS5tYXAoZSA9PiBlLmlkKTtcbiAgfVxuXG4gIHN0YXRpYyBhcnJheURpc3RpbmN0RmlsdGVyRm48RSBleHRlbmRzIElFbnRpdHk8YW55LCBhbnk+PihpdGVtOiBFLCBpbmRleDogbnVtYmVyLCB2YWx1ZXM6IEVbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZXMuZmluZEluZGV4KGUgPT4gZS5pZCA9PT0gaXRlbS5pZCkgPT09IGluZGV4O1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -4,6 +4,7 @@ import { Entity, isInstanceOf } from './entity.model';
|
|
|
4
4
|
export class EntityFilter extends Entity {
|
|
5
5
|
/**
|
|
6
6
|
* Compose some filter functions: all should return true
|
|
7
|
+
*
|
|
7
8
|
* @param filterFns
|
|
8
9
|
*/
|
|
9
10
|
static composeFilters(filterFns) {
|
|
@@ -22,6 +23,7 @@ export class EntityFilter extends Entity {
|
|
|
22
23
|
}
|
|
23
24
|
/**
|
|
24
25
|
* Compose some filter functions: all should return true
|
|
26
|
+
*
|
|
25
27
|
* @param filterFns
|
|
26
28
|
*/
|
|
27
29
|
static composeFns(filterFns) {
|
|
@@ -91,4 +93,4 @@ export class EntityFilterUtils {
|
|
|
91
93
|
return target;
|
|
92
94
|
}
|
|
93
95
|
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL21vZGVsL2ZpbHRlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHFCQUFxQixFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDNUUsT0FBTyxFQUFDLE1BQU0sRUFBa0MsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFvQnBGLE1BQU0sT0FBZ0IsWUFLcEIsU0FBUSxNQUFxQjtJQUk3Qjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBNEIsU0FBd0I7UUFDdkUsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDOUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQXFELE9BQVk7UUFDN0UsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xELE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsR0FBRztnQkFBRSxPQUFPLEdBQUcsQ0FBQztZQUNyQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMs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LENBQUM7U0FDL0I7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2lzRW1wdHlBcnJheX0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQge01JTklGWV9FTlRJVFlfRk9SX1BPRCwgUmVmZXJlbnRpYWxVdGlsc30gZnJvbSAnLi9yZWZlcmVudGlhbC5tb2RlbCc7XG5pbXBvcnQge0VudGl0eSwgRW50aXR5QXNPYmplY3RPcHRpb25zLCBJRW50aXR5LCBpc0luc3RhbmNlT2Z9IGZyb20gJy4vZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7RmlsdGVyRm59IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5RmlsdGVyPEYgZXh0ZW5kcyBJRW50aXR5RmlsdGVyPEYsIFQsIElELCBBTywgRk8+LFxuICBUIGV4dGVuZHMgSUVudGl0eTxULCBhbnk+LFxuICBJRCA9IG51bWJlcixcbiAgQU8gZXh0ZW5kcyBFbnRpdHlBc09iamVjdE9wdGlvbnMgPSBFbnRpdHlBc09iamVjdE9wdGlvbnMsXG4gIEZPID0gYW55PiBleHRlbmRzIElFbnRpdHk8RiwgSUQsIEFPLCBGTz4ge1xuXG5cbiAgYXNQb2RPYmplY3QoKTogYW55O1xuXG4gIGFzRmlsdGVyRm4oKTogRmlsdGVyRm48VD47XG5cbiAgaXNFbXB0eSgpOiBib29sZWFuO1xuXG4gIGNvdW50Tm90RW1wdHlDcml0ZXJpYSgpOiBudW1iZXI7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFbnRpdHlGaWx0ZXI8RiBleHRlbmRzIEVudGl0eUZpbHRlcjxGLCBULCBJRCwgQU8sIEZPPixcbiAgVCBleHRlbmRzIElFbnRpdHk8VCwgYW55PixcbiAgSUQgPSBudW1iZXIsXG4gIEFPIGV4dGVuZHMgRW50aXR5QXNPYmplY3RPcHRpb25zID0gRW50aXR5QXNPYmplY3RPcHRpb25zLFxuICBGTyA9IGFueT5cbiAgZXh0ZW5kcyBFbnRpdHk8RiwgSUQsIEFPLCBGTz5cbiAgaW1wbGVtZW50cyBJRW50aXR5RmlsdGVyPEYsIFQsIElELCBBTywgRk8+IHtcblxuXG4gIC8qKlxuICAgKiBDb21wb3NlIHNvbWUgZmlsdGVyIGZ1bmN0aW9uczogYWxsIHNob3VsZCByZXR1cm4gdHJ1ZVxuICAgKlxuICAgKiBAcGFyYW0gZmlsdGVyRm5zXG4gICAqL1xuICBzdGF0aWMgY29tcG9zZUZpbHRlcnM8VCBleHRlbmRzIElFbnRpdHk8VCwgYW55Pj4oZmlsdGVyRm5zOiBGaWx0ZXJGbjxUPltdKTogRmlsdGVyRm48VD4ge1xuICAgIGlmIChpc0VtcHR5QXJyYXkoZmlsdGVyRm5zKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gKGVudGl0eSkgPT4gKGZpbHRlckZucyB8fCBbXSkuZXZlcnkoZm4gPT4gZm4oZW50aXR5KSk7XG4gIH1cblxuICBzdGF0aWMgY29tcG9zZTxGIGV4dGVuZHMgRW50aXR5RmlsdGVyPEYsIFQ+LCBUIGV4dGVuZHMgSUVudGl0eTxUPj4oZmlsdGVyczogRltdKTogRmlsdGVyRm48VD4ge1xuICAgIGNvbnN0IGZpbHRlckZucyA9IChmaWx0ZXJzIHx8IFtdKS5yZWR1Y2UoKHJlcywgZikgPT4ge1xuICAgICAgY29uc3QgZm5zID0gZi5idWlsZEZpbHRlcigpO1xuICAgICAgaWYgKCFmbnMpIHJldHVybiByZXM7XG4gICAgICByZXR1cm4gcmVzLmNvbmNhdChmbnMpO1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gdGhpcy5jb21wb3NlRmlsdGVycyhmaWx0ZXJGbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBvc2Ugc29tZSBmaWx0ZXIgZnVuY3Rpb25zOiBhbGwgc2hvdWxkIHJldHVybiB0cnVlXG4gICAqXG4gICAqIEBwYXJhbSBmaWx0ZXJGbnNcbiAgICovXG4gIHN0YXRpYyBjb21wb3NlRm5zPFQgZXh0ZW5kcyBJRW50aXR5PFQsIGFueT4+KGZpbHRlckZuczogRmlsdGVyRm48VD5bXSk6IEZpbHRlckZuPFQ+IHtcbiAgICAgIGlmIChpc0VtcHR5QXJyYXkoZmlsdGVyRm5zKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gKGVudGl0eSkgPT4gKGZpbHRlckZucyB8fCBbXSkuZXZlcnkoZm4gPT4gZm4oZW50aXR5KSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihfX3R5cGVuYW1lPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoX190eXBlbmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYW4gYSBmaWx0ZXIsIGJlZm9yZSBzZW5kaW5nIHRvIHRoZSBwb2QgKGUuZyBjb252ZXJ0IGRhdGVzLCByZW1vdmUgaW50ZXJuYWwgcHJvcGVydGllcywgZXRjLilcbiAgICovXG4gIGFzUG9kT2JqZWN0KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuYXNPYmplY3QoTUlOSUZZX0VOVElUWV9GT1JfUE9EIGFzIEFPKTtcbiAgfVxuXG4gIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY291bnROb3RFbXB0eUNyaXRlcmlhKCkgPT09IDA7XG4gIH1cblxuICBjb3VudE5vdEVtcHR5Q3JpdGVyaWEoKTogbnVtYmVyIHtcbiAgICBjb25zdCBqc29uID0gdGhpcy5hc1BvZE9iamVjdCgpO1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhqc29uKVxuICAgICAgLmZpbHRlcihrZXkgPT4gdGhpcy5pc0NyaXRlcmlhTm90RW1wdHkoa2V5LCBqc29uW2tleV0pKVxuICAgICAgLmxlbmd0aDtcbiAgfVxuXG4gIGFzRmlsdGVyRm4oKTogRmlsdGVyRm48VD4ge1xuICAgIGNvbnN0IGZpbHRlckZucyA9IHRoaXMuYnVpbGRGaWx0ZXIoKTtcbiAgICByZXR1cm4gRW50aXR5RmlsdGVyLmNvbXBvc2VGbnMoZmlsdGVyRm5zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEZpbHRlcigpOiBGaWx0ZXJGbjxUPltdIHtcbiAgICAvLyBDYW4gYmUgY29tcGxldGVkIGJ5IHN1YmNsYXNzZXNcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNDcml0ZXJpYU5vdEVtcHR5KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlc1xuICAgIHJldHVybiB2YWx1ZSAhPT0gdW5kZWZpbmVkXG4gICAgICAmJiB2YWx1ZSAhPT0gbnVsbFxuICAgICAgJiYgKFxuICAgICAgICAvLyBub3QgZW1wdHkgc3RyaW5nXG4gICAgICAgICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnRyaW0oKSAhPT0gJycpXG4gICAgICAgIC8vIHZhbGlkIG51bWJlclxuICAgICAgICB8fCAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiAhaXNOYU4odmFsdWUpKVxuICAgICAgICAvLyB2YWxpZCBib29sZWFuXG4gICAgICAgIHx8ICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJylcbiAgICAgICAgLy8gbm90IGVtcHR5IGFycmF5XG4gICAgICAgIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwKVxuICAgICAgICAvLyBlbnRpdHkgd2l0aCBhbiBpZFxuICAgICAgICB8fCBSZWZlcmVudGlhbFV0aWxzLmlzTm90RW1wdHkodmFsdWUpXG4gICAgICApO1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFbnRpdHlGaWx0ZXJVdGlscyB7XG5cbiAgc3RhdGljIGlzRW50aXR5RmlsdGVyPEYgZXh0ZW5kcyBFbnRpdHlGaWx0ZXI8RiwgYW55Pj4ob2JqOiBQYXJ0aWFsPEY+KTogb2JqIGlzIEYge1xuICAgIHJldHVybiBvYmogJiYgb2JqLmFzUG9kT2JqZWN0ICYmIG9iai5hc0ZpbHRlckZuICYmIHRydWUgfHwgZmFsc2U7XG4gIH1cblxuICBzdGF0aWMgZnJvbU9iamVjdDxGPihzb3VyY2U6IGFueSwgZmlsdGVyVHlwZTogbmV3ICgpID0+IEYpOiBGIHtcbiAgICBpZiAoIXNvdXJjZSkgcmV0dXJuIHNvdXJjZTtcbiAgICBpZiAoaXNJbnN0YW5jZU9mKHNvdXJjZSwgZmlsdGVyVHlwZSkpIHJldHVybiBzb3VyY2UgYXMgRjtcbiAgICBjb25zdCB0YXJnZXQgPSBuZXcgZmlsdGVyVHlwZSgpO1xuICAgIGlmIChFbnRpdHlGaWx0ZXJVdGlscy5pc0VudGl0eUZpbHRlcih0YXJnZXQpKSB7XG4gICAgICB0YXJnZXQuZnJvbU9iamVjdChzb3VyY2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICBPYmplY3QuYXNzaWduKHRhcmdldCwgc291cmNlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuXG5cbn1cbiJdfQ==
|
|
@@ -65,4 +65,4 @@ Peer = Peer_1 = __decorate([
|
|
|
65
65
|
EntityClass({ typename: 'PeerVO' })
|
|
66
66
|
], Peer);
|
|
67
67
|
export { Peer };
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9wZWVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQjs7O0FBRW5CLE9BQU8sRUFBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRyxPQUFPLEVBQVksTUFBTSxFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxXQUFXO0FBRUosSUFBTSxJQUFJLFlBQVYsTUFBTSxJQUFLLFNBQVEsTUFBWTtJQXVDcEM7UUFDRSxLQUFLLENBQUMsTUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFyQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFlO1FBQzdCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNyQixHQUFHLEVBQUUsR0FBRyxDQUFDLFFBQVE7WUFDakIsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUk7WUFDbkQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxRQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RixJQUFJLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENB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LENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDO0lBQzdDLENBQUM7Q0FDRixDQUFBO0FBN0VZLElBQUk7SUFEaEIsV0FBVyxDQUFDLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDO0dBQ3JCLElBQUksQ0E2RWhCO1NBN0VZLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAtLSBOZXR3b3JrIC0tICovXG5cbmltcG9ydCB7aXNOaWxPckJsYW5rLCBpc05vdE5pbCwgaXNOb3ROaWxPckJsYW5rLCBub1RyYWlsaW5nU2xhc2h9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHtDbG9uZWFibGUsIEVudGl0eSwgRW50aXR5QXNPYmplY3RPcHRpb25zfSBmcm9tICcuL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQge0VudGl0eUNsYXNzfSBmcm9tICcuL2VudGl0eS5kZWNvcmF0b3JzJztcblxuLy8gQGR5bmFtaWNcbkBFbnRpdHlDbGFzcyh7dHlwZW5hbWU6ICdQZWVyVk8nfSlcbmV4cG9ydCBjbGFzcyBQZWVyIGV4dGVuZHMgRW50aXR5PFBlZXI+IGltcGxlbWVudHMgQ2xvbmVhYmxlPFBlZXI+IHtcblxuICBzdGF0aWMgZnJvbU9iamVjdDogKHNvdXJjZTogYW55LCBvcHRzPzogYW55KSA9PiBQZWVyO1xuXG4gIHN0YXRpYyBwYXJzZVVybChwZWVyVXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHBlZXJVcmwpO1xuICAgIHJldHVybiB0aGlzLmZyb21PYmplY3Qoe1xuICAgICAgZG5zOiB1cmwuaG9zdG5hbWUsXG4gICAgICBwb3J0OiBpc05pbE9yQmxhbmsodXJsLnBvcnQpID8gdW5kZWZpbmVkIDogdXJsLnBvcnQsXG4gICAgICB1c2VTc2w6IHVybC5wcm90b2NvbCAmJiAodXJsLnByb3RvY29sLnN0YXJ0c1dpdGgoJ2h0dHBzJykgfHwgdXJsLnByb3RvY29sLnN0YXJ0c1dpdGgoJ3dzcycpKSxcbiAgICAgIHBhdGg6IG5vVHJhaWxpbmdTbGFzaCh1cmwucGF0aG5hbWUpXG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHBhdGgocGVlcjogUGVlciwgLi4ucGF0aHM6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICBpZiAoIXBlZXIpIHRocm93IG5ldyBFcnJvcignTWlzc2luZyByZXF1aXJlZCBhcmd1bWVudCBcXCdwZWVyXFwnIScpO1xuICAgIC8vIFJlbW92ZSBzdGFydGluZyBzbGFzaGVzXG4gICAgcGF0aHMgPSAocGF0aHMgfHwgW10pLm1hcChwYXRoID0+IHtcbiAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoJy4vJykpIHJldHVybiBwYXRoLnN1YnN0cmluZygyKTtcbiAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoJy8nKSkgcmV0dXJuIHBhdGguc3Vic3RyaW5nKDEpO1xuICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfSkuZmlsdGVyKGlzTm90TmlsT3JCbGFuayk7XG4gICAgcmV0dXJuIFtub1RyYWlsaW5nU2xhc2godGhpcy5mcm9tT2JqZWN0KHBlZXIpLnVybCldLmNvbmNhdCguLi5wYXRocykuam9pbignLycpO1xuICB9XG5cbiAgZG5zOiBzdHJpbmc7XG4gIGlwdjQ6IHN0cmluZztcbiAgaXB2Njogc3RyaW5nO1xuICBwb3J0OiBudW1iZXI7XG4gIHVzZVNzbDogYm9vbGVhbjtcbiAgcHVia2V5OiBzdHJpbmc7XG4gIHBhdGg/OiBzdHJpbmc7XG5cbiAgZmF2aWNvbjogc3RyaW5nO1xuICBzdGF0dXM6ICdVUCcgfCAnRE9XTic7XG4gIHNvZnR3YXJlTmFtZTogc3RyaW5nO1xuICBzb2Z0d2FyZVZlcnNpb246IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFBlZXIuVFlQRU5BTUUpO1xuICB9XG5cbiAgYXNPYmplY3Qob3B0aW9ucz86IEVudGl0eUFzT2JqZWN0T3B0aW9ucyk6IGFueSB7XG4gICAgcmV0dXJuIHN1cGVyLmFzT2JqZWN0KG9wdGlvbnMpO1xuICB9XG5cbiAgZnJvbU9iamVjdChzb3VyY2U6IGFueSkge1xuICAgIHN1cGVyLmZyb21PYmplY3Qoc291cmNlKTtcbiAgICB0aGlzLmRucyA9IHNvdXJjZS5kbnMgfHwgc291cmNlLmhvc3Q7XG4gICAgdGhpcy5pcHY0ID0gc291cmNlLmlwdjQ7XG4gICAgdGhpcy5pcHY2ID0gc291cmNlLmlwdjY7XG4gICAgdGhpcy5wb3J0ID0gaXNOb3ROaWwoc291cmNlLnBvcnQpID8gK3NvdXJjZS5wb3J0IDogdW5kZWZpbmVkO1xuICAgIHRoaXMucHVia2V5ID0gc291cmNlLnB1YmtleTtcbiAgICB0aGlzLnVzZVNzbCA9IHNvdXJjZS51c2VTc2wgfHwgKHRoaXMucG9ydCA9PT0gNDQzKTtcbiAgICB0aGlzLnBhdGggPSBzb3VyY2UucGF0aCB8fCAnJztcbiAgfVxuXG4gIGVxdWFscyhvdGhlcjogUGVlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5lcXVhbHMob3RoZXIpICYmIHRoaXMucHVia2V5ID09PSBvdGhlci5wdWJrZXkgJiYgdGhpcy51cmwgPT09IG90aGVyLnVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHBlZXIgVVJMICh3aXRob3V0IHRyYWlsaW5nIHNsYXNoKVxuICAgKi9cbiAgZ2V0IHVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy51c2VTc2wgPyAnaHR0cHM6Ly8nIDogJ2h0dHA6Ly8nKSArIHRoaXMuaG9zdEFuZFBvcnQgKyAodGhpcy5wYXRoIHx8ICcnKTtcbiAgfVxuXG4gIGdldCBob3N0QW5kUG9ydCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5kbnMgfHwgdGhpcy5pcHY0IHx8IHRoaXMuaXB2NikgK1xuICAgICAgKCh0aGlzLnBvcnQgJiYgdGhpcy5wb3J0ICE9PSA4MCAmJiB0aGlzLnBvcnQgIT09IDQ0MykgPyAnOicgKyB0aGlzLnBvcnQgOiAnJyk7XG4gIH1cblxuICBnZXQgcmVhY2hhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyAmJiB0aGlzLnN0YXR1cyA9PT0gJ1VQJztcbiAgfVxufVxuIl19
|
|
@@ -79,5 +79,9 @@ export class PersonUtils {
|
|
|
79
79
|
static personsToString(data, separator) {
|
|
80
80
|
return (data || []).map(PersonUtils.personToString).join(separator || ', ');
|
|
81
81
|
}
|
|
82
|
+
static roleToProfile(role, defaultProfile) {
|
|
83
|
+
const label = role?.replace(/^ROLE_/, '');
|
|
84
|
+
return label || defaultProfile;
|
|
85
|
+
}
|
|
82
86
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL21vZGVsL3BlcnNvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFJdkQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQWlDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBRTdILFdBQVc7QUFFWCxJQUFhLE1BQU0sY0FBbkIsTUFBYSxNQUVULFNBQVEsTUFBNkM7SUFpQnZELFlBQVksVUFBbUI7UUFDN0IsS0FBSyxDQUFDLFVBQVUsSUFBSSxRQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFQdkMsZUFBVSxHQUFlLElBQUksQ0FBQztJQVE5QixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWlDO1FBQ3hDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUc7WUFDeEIsT0FBTztnQkFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ1gsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxTQUFTO2dCQUM3RCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTthQUN4QixDQUFDO1NBQ0g7UUFD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QUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9tZW50fSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtSZWZlcmVudGlhbEFzT2JqZWN0T3B0aW9uc30gZnJvbSAnLi9yZWZlcmVudGlhbC5tb2RlbCc7XG5pbXBvcnQge0VudGl0eX0gZnJvbSAnLi9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHtEZXBhcnRtZW50fSBmcm9tICcuL2RlcGFydG1lbnQubW9kZWwnO1xuaW1wb3J0IHtmcm9tRGF0ZUlTT1N0cmluZywgdG9EYXRlSVNPU3RyaW5nfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGF0ZXMnO1xuaW1wb3J0IHtFbnRpdHlDbGFzc30gZnJvbSAnLi9lbnRpdHkuZGVjb3JhdG9ycyc7XG5pbXBvcnQge2lzRW1wdHlBcnJheX0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5cblxuZXhwb3J0IHR5cGUgVXNlclByb2ZpbGVMYWJlbCA9ICdBRE1JTicgfCAnVVNFUicgfCAnU1VQRVJWSVNPUicgfCAnR1VFU1QnO1xuZXhwb3J0IGNvbnN0IFBSSU9SSVRJWkVEX0FVVEhPUklUSUVTOiBSZWFkb25seTxVc2VyUHJvZmlsZUxhYmVsW10+ID0gT2JqZWN0LmZyZWV6ZShbJ0FETUlOJywgJ1NVUEVSVklTT1InLCAnVVNFUicsICdHVUVTVCddKTtcblxuLy8gQGR5bmFtaWNcbkBFbnRpdHlDbGFzcyh7dHlwZW5hbWU6ICdQZXJzb25WTyd9KVxuZXhwb3J0IGNsYXNzIFBlcnNvbjxcbiAgVCBleHRlbmRzIFBlcnNvbjxhbnk+ID0gUGVyc29uPGFueT5cbiAgPiBleHRlbmRzIEVudGl0eTxULCBudW1iZXIsIFJlZmVyZW50aWFsQXNPYmplY3RPcHRpb25zPiB7XG5cbiAgc3RhdGljIGZyb21PYmplY3Q6IChzb3VyY2U6IGFueSwgb3B0cz86IGFueSkgPT4gIFBlcnNvbjtcblxuICBmaXJzdE5hbWU6IHN0cmluZztcbiAgbGFzdE5hbWU6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgcHVia2V5OiBzdHJpbmc7XG4gIGF2YXRhcjogc3RyaW5nO1xuICBjcmVhdGlvbkRhdGU6IERhdGUgfCBNb21lbnQ7XG4gIHN0YXR1c0lkOiBudW1iZXI7XG4gIGRlcGFydG1lbnQ6IERlcGFydG1lbnQgPSBudWxsO1xuICB1c2VybmFtZTogc3RyaW5nO1xuICB1c2VybmFtZUV4dHJhbmV0OiBzdHJpbmc7XG4gIHByb2ZpbGVzOiBzdHJpbmdbXTtcbiAgbWFpblByb2ZpbGU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfX3R5cGVuYW1lPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoX190eXBlbmFtZSB8fCBQZXJzb24uVFlQRU5BTUUpO1xuICB9XG5cbiAgYXNPYmplY3Qob3B0cz86IFJlZmVyZW50aWFsQXNPYmplY3RPcHRpb25zKTogYW55IHtcbiAgICBpZiAob3B0cyAmJiBvcHRzLm1pbmlmeSkgIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICBfX3R5cGVuYW1lOiBvcHRzLmtlZXBUeXBlbmFtZSAmJiB0aGlzLl9fdHlwZW5hbWUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBmaXJzdE5hbWU6IHRoaXMuZmlyc3ROYW1lLFxuICAgICAgICBsYXN0TmFtZTogdGhpcy5sYXN0TmFtZVxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgdGFyZ2V0OiBhbnkgPSBzdXBlci5hc09iamVjdChvcHRzKTtcbiAgICB0YXJnZXQuZGVwYXJ0bWVudCA9IHRoaXMuZGVwYXJ0bWVudCAmJiB0aGlzLmRlcGFydG1lbnQuYXNPYmplY3Qob3B0cykgfHwgdW5kZWZpbmVkO1xuICAgIHRhcmdldC5wcm9maWxlcyA9IHRoaXMucHJvZmlsZXMgJiYgdGhpcy5wcm9maWxlcy5zbGljZSgwKSB8fCBbXTtcbiAgICAvLyBTZXQgcHJvZmlsZSBsaXN0IGZyb20gdGhlIG1haW4gcHJvZmlsZVxuICAgIHRhcmdldC5wcm9maWxlcyA9IHRoaXMubWFpblByb2ZpbGUgJiYgW3RoaXMubWFpblByb2ZpbGVdIHx8IHRhcmdldC5wcm9maWxlcztcbiAgICB0YXJnZXQuY3JlYXRpb25EYXRlID0gdG9EYXRlSVNPU3RyaW5nKHRoaXMuY3JlYXRpb25EYXRlKTtcblxuICAgIGlmICghb3B0cyB8fCBvcHRzLm1pbmlmeSAhPT0gdHJ1ZSkgdGFyZ2V0Lm1haW5Qcm9maWxlID0gUGVyc29uVXRpbHMuZ2V0TWFpblByb2ZpbGUodGFyZ2V0LnByb2ZpbGVzKTtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbiAgZnJvbU9iamVjdChzb3VyY2U6IGFueSkge1xuICAgIHN1cGVyLmZyb21PYmplY3Qoc291cmNlKTtcbiAgICB0aGlzLmZpcnN0TmFtZSA9IHNvdXJjZS5maXJzdE5hbWU7XG4gICAgdGhpcy5sYXN0TmFtZSA9IHNvdXJjZS5sYXN0TmFtZTtcbiAgICB0aGlzLmVtYWlsID0gc291cmNlLmVtYWlsO1xuICAgIHRoaXMuY3JlYXRpb25EYXRlID0gZnJvbURhdGVJU09TdHJpbmcoc291cmNlLmNyZWF0aW9uRGF0ZSk7XG4gICAgdGhpcy5wdWJrZXkgPSBzb3VyY2UucHVia2V5O1xuICAgIHRoaXMudXNlcm5hbWUgPSBzb3VyY2UudXNlcm5hbWU7XG4gICAgdGhpcy51c2VybmFtZUV4dHJhbmV0ID0gc291cmNlLnVzZXJuYW1lRXh0cmFuZXQ7XG4gICAgdGhpcy5hdmF0YXIgPSBzb3VyY2UuYXZhdGFyO1xuICAgIHRoaXMuc3RhdHVzSWQgPSBzb3VyY2Uuc3RhdHVzSWQ7XG4gICAgdGhpcy5kZXBhcnRtZW50ID0gc291cmNlLmRlcGFydG1lbnQgJiYgRGVwYXJ0bWVudC5mcm9tT2JqZWN0KHNvdXJjZS5kZXBhcnRtZW50KSB8fCB1bmRlZmluZWQ7XG4gICAgdGhpcy5wcm9maWxlcyA9IHNvdXJjZS5wcm9maWxlcyAmJiBzb3VyY2UucHJvZmlsZXMuc2xpY2UoMCkgfHwgW107XG4gICAgLy8gQWRkIG1haW4gcHJvZmlsZSB0byB0aGUgbGlzdCwgaWYgbmVlZFxuICAgIGlmIChzb3VyY2UubWFpblByb2ZpbGUgJiYgIXRoaXMucHJvZmlsZXMuZmluZChwID0+IHAgPT09IHNvdXJjZS5tYWluUHJvZmlsZSkpIHtcbiAgICAgIHRoaXMucHJvZmlsZXMgPSB0aGlzLnByb2ZpbGVzLmNvbmNhdChzb3VyY2UubWFpblByb2ZpbGUpO1xuICAgIH1cbiAgICB0aGlzLm1haW5Qcm9maWxlID0gUGVyc29uVXRpbHMuZ2V0TWFpblByb2ZpbGUodGhpcy5wcm9maWxlcyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBlcnNvblV0aWxzIHtcbiAgc3RhdGljIGdldE1haW5Qcm9maWxlKHByb2ZpbGVzPzogc3RyaW5nW10pOiBVc2VyUHJvZmlsZUxhYmVsIHtcbiAgICBpZiAoaXNFbXB0eUFycmF5KHByb2ZpbGVzKSkgcmV0dXJuICdHVUVTVCc7XG4gICAgcmV0dXJuIFBSSU9SSVRJWkVEX0FVVEhPUklUSUVTLmZpbmQobGFiZWwgPT4gcHJvZmlsZXMuaW5jbHVkZXMobGFiZWwpKSB8fCAnR1VFU1QnO1xuICB9XG5cbiAgc3RhdGljIGdldE1haW5Qcm9maWxlSW5kZXgocHJvZmlsZXM/OiBzdHJpbmdbXSk6IG51bWJlciB7XG4gICAgaWYgKGlzRW1wdHlBcnJheShwcm9maWxlcykpIHJldHVybiBQUklPUklUSVpFRF9BVVRIT1JJVElFUy5sZW5ndGggLSAxOyAvLyByZXR1cm4gbGFzdCAobG93ZXIpIHByb2ZpbGVcbiAgICBjb25zdCBpbmRleCA9IFBSSU9SSVRJWkVEX0FVVEhPUklUSUVTLmZpbmRJbmRleChsYWJlbCA9PiBwcm9maWxlcy5pbmNsdWRlcyhsYWJlbCkpO1xuICAgIHJldHVybiAoaW5kZXggIT09IC0xKSA/IGluZGV4IDogKFBSSU9SSVRJWkVEX0FVVEhPUklUSUVTLmxlbmd0aCAtIDEpO1xuICB9XG5cbiAgc3RhdGljIGhhc1VwcGVyT3JFcXVhbHNQcm9maWxlKGFjdHVhbFByb2ZpbGVzOiBzdHJpbmdbXSwgZXhwZWN0ZWRQcm9maWxlOiBVc2VyUHJvZmlsZUxhYmVsKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZXhwZWN0ZWRQcm9maWxlSW5kZXggPSBQUklPUklUSVpFRF9BVVRIT1JJVElFUy5pbmRleE9mKGV4cGVjdGVkUHJvZmlsZSk7XG4gICAgcmV0dXJuIGV4cGVjdGVkUHJvZmlsZUluZGV4ICE9PSAtMSAmJiBQZXJzb25VdGlscy5nZXRNYWluUHJvZmlsZUluZGV4KGFjdHVhbFByb2ZpbGVzKSA8PSBleHBlY3RlZFByb2ZpbGVJbmRleDtcbiAgfVxuXG4gIHN0YXRpYyBwZXJzb25Ub1N0cmluZyhvYmo6IFBlcnNvbik6IHN0cmluZyB7XG4gICAgaWYgKCFvYmogfHwgIW9iai5pZCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gb2JqLmxhc3ROYW1lICsgJyAnICsgb2JqLmZpcnN0TmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBwZXJzb25zVG9TdHJpbmcoZGF0YTogUGVyc29uW10sIHNlcGFyYXRvcj86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChkYXRhIHx8IFtdKS5tYXAoUGVyc29uVXRpbHMucGVyc29uVG9TdHJpbmcpLmpvaW4oc2VwYXJhdG9yIHx8ICcsICcpO1xuICB9XG5cbn1cblxuXG5cblxuXG5cblxuIl19
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL21vZGVsL3BlcnNvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFJdkQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQWlDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBRTdILFdBQVc7QUFFSixJQUFNLE1BQU0sY0FBWixNQUFNLE1BRVQsU0FBUSxNQUE2QztJQWlCdkQsWUFBWSxVQUFtQjtRQUM3QixLQUFLLENBQUMsVUFBVSxJQUFJLFFBQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQVB2QyxlQUFVLEdBQWUsSUFBSSxDQUFDO0lBUTlCLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBaUM7UUFDeEMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRztZQUN4QixPQUFPO2dCQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLFNBQVM7Z0JBQzdELFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3hCLENBQUM7U0FDSDtRQUNELE1BQU0sTUFBTSxHQUFRLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUNuRixNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hFLHlDQUF5QztRQUN6QyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUM1RSxNQUFNLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUk7WUFBRSxNQUFNLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BHLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBVztRQUNwQixLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDN0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsRSx3Q0FBd0M7UUFDeEMsSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzVFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzFEO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0YsQ0FBQTtBQTlEWSxNQUFNO0lBRGxCLFdBQVcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUMsQ0FBQztHQUN2QixNQUFNLENBOERsQjtTQTlEWSxNQUFNO0FBZ0VuQixNQUFNLE9BQU8sV0FBVztJQUN0QixNQUFNLENBQUMsY0FBYyxDQUFDLFFBQW1CO1FBQ3ZDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUFFLE9BQU8sT0FBTyxDQUFDO1FBQzNDLE9BQU8sdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQztJQUNwRixDQUFDO0lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQW1CO1FBQzVDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUFFLE9BQU8sdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLDhCQUE4QjtRQUNyRyxNQUFNLEtBQUssR0FBRyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkYsT0FBTyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsY0FBd0IsRUFBRSxlQUFpQztRQUN4RixNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5RSxPQUFPLG9CQUFvQixLQUFLLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxvQkFBb0IsQ0FBQztJQUNoSCxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFXO1FBQy9CLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ3RDLE9BQU8sR0FBRyxDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFjLEVBQUUsU0FBa0I7UUFDdkQsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBWSxFQUFFLGNBQWlDO1FBQ2xFLE1BQU0sS0FBSyxHQUFHLElBQUksRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBcUIsQ0FBQztRQUM5RCxPQUFPLEtBQUssSUFBSSxjQUFjLENBQUM7SUFDakMsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb21lbnR9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1JlZmVyZW50aWFsQXNPYmplY3RPcHRpb25zfSBmcm9tICcuL3JlZmVyZW50aWFsLm1vZGVsJztcbmltcG9ydCB7RW50aXR5fSBmcm9tICcuL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQge0RlcGFydG1lbnR9IGZyb20gJy4vZGVwYXJ0bWVudC5tb2RlbCc7XG5pbXBvcnQge2Zyb21EYXRlSVNPU3RyaW5nLCB0b0RhdGVJU09TdHJpbmd9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kYXRlcyc7XG5pbXBvcnQge0VudGl0eUNsYXNzfSBmcm9tICcuL2VudGl0eS5kZWNvcmF0b3JzJztcbmltcG9ydCB7aXNFbXB0eUFycmF5fSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcblxuXG5leHBvcnQgdHlwZSBVc2VyUHJvZmlsZUxhYmVsID0gJ0FETUlOJyB8ICdVU0VSJyB8ICdTVVBFUlZJU09SJyB8ICdHVUVTVCc7XG5leHBvcnQgY29uc3QgUFJJT1JJVElaRURfQVVUSE9SSVRJRVM6IFJlYWRvbmx5PFVzZXJQcm9maWxlTGFiZWxbXT4gPSBPYmplY3QuZnJlZXplKFsnQURNSU4nLCAnU1VQRVJWSVNPUicsICdVU0VSJywgJ0dVRVNUJ10pO1xuXG4vLyBAZHluYW1pY1xuQEVudGl0eUNsYXNzKHt0eXBlbmFtZTogJ1BlcnNvblZPJ30pXG5leHBvcnQgY2xhc3MgUGVyc29uPFxuICBUIGV4dGVuZHMgUGVyc29uPGFueT4gPSBQZXJzb248YW55PlxuICA+IGV4dGVuZHMgRW50aXR5PFQsIG51bWJlciwgUmVmZXJlbnRpYWxBc09iamVjdE9wdGlvbnM+IHtcblxuICBzdGF0aWMgZnJvbU9iamVjdDogKHNvdXJjZTogYW55LCBvcHRzPzogYW55KSA9PiAgUGVyc29uO1xuXG4gIGZpcnN0TmFtZTogc3RyaW5nO1xuICBsYXN0TmFtZTogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBwdWJrZXk6IHN0cmluZztcbiAgYXZhdGFyOiBzdHJpbmc7XG4gIGNyZWF0aW9uRGF0ZTogRGF0ZSB8IE1vbWVudDtcbiAgc3RhdHVzSWQ6IG51bWJlcjtcbiAgZGVwYXJ0bWVudDogRGVwYXJ0bWVudCA9IG51bGw7XG4gIHVzZXJuYW1lOiBzdHJpbmc7XG4gIHVzZXJuYW1lRXh0cmFuZXQ6IHN0cmluZztcbiAgcHJvZmlsZXM6IHN0cmluZ1tdO1xuICBtYWluUHJvZmlsZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9fdHlwZW5hbWU/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihfX3R5cGVuYW1lIHx8IFBlcnNvbi5UWVBFTkFNRSk7XG4gIH1cblxuICBhc09iamVjdChvcHRzPzogUmVmZXJlbnRpYWxBc09iamVjdE9wdGlvbnMpOiBhbnkge1xuICAgIGlmIChvcHRzICYmIG9wdHMubWluaWZ5KSAge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgIF9fdHlwZW5hbWU6IG9wdHMua2VlcFR5cGVuYW1lICYmIHRoaXMuX190eXBlbmFtZSB8fCB1bmRlZmluZWQsXG4gICAgICAgIGZpcnN0TmFtZTogdGhpcy5maXJzdE5hbWUsXG4gICAgICAgIGxhc3ROYW1lOiB0aGlzLmxhc3ROYW1lXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB0YXJnZXQ6IGFueSA9IHN1cGVyLmFzT2JqZWN0KG9wdHMpO1xuICAgIHRhcmdldC5kZXBhcnRtZW50ID0gdGhpcy5kZXBhcnRtZW50ICYmIHRoaXMuZGVwYXJ0bWVudC5hc09iamVjdChvcHRzKSB8fCB1bmRlZmluZWQ7XG4gICAgdGFyZ2V0LnByb2ZpbGVzID0gdGhpcy5wcm9maWxlcyAmJiB0aGlzLnByb2ZpbGVzLnNsaWNlKDApIHx8IFtdO1xuICAgIC8vIFNldCBwcm9maWxlIGxpc3QgZnJvbSB0aGUgbWFpbiBwcm9maWxlXG4gICAgdGFyZ2V0LnByb2ZpbGVzID0gdGhpcy5tYWluUHJvZmlsZSAmJiBbdGhpcy5tYWluUHJvZmlsZV0gfHwgdGFyZ2V0LnByb2ZpbGVzO1xuICAgIHRhcmdldC5jcmVhdGlvbkRhdGUgPSB0b0RhdGVJU09TdHJpbmcodGhpcy5jcmVhdGlvbkRhdGUpO1xuXG4gICAgaWYgKCFvcHRzIHx8IG9wdHMubWluaWZ5ICE9PSB0cnVlKSB0YXJnZXQubWFpblByb2ZpbGUgPSBQZXJzb25VdGlscy5nZXRNYWluUHJvZmlsZSh0YXJnZXQucHJvZmlsZXMpO1xuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cblxuICBmcm9tT2JqZWN0KHNvdXJjZTogYW55KSB7XG4gICAgc3VwZXIuZnJvbU9iamVjdChzb3VyY2UpO1xuICAgIHRoaXMuZmlyc3ROYW1lID0gc291cmNlLmZpcnN0TmFtZTtcbiAgICB0aGlzLmxhc3ROYW1lID0gc291cmNlLmxhc3ROYW1lO1xuICAgIHRoaXMuZW1haWwgPSBzb3VyY2UuZW1haWw7XG4gICAgdGhpcy5jcmVhdGlvbkRhdGUgPSBmcm9tRGF0ZUlTT1N0cmluZyhzb3VyY2UuY3JlYXRpb25EYXRlKTtcbiAgICB0aGlzLnB1YmtleSA9IHNvdXJjZS5wdWJrZXk7XG4gICAgdGhpcy51c2VybmFtZSA9IHNvdXJjZS51c2VybmFtZTtcbiAgICB0aGlzLnVzZXJuYW1lRXh0cmFuZXQgPSBzb3VyY2UudXNlcm5hbWVFeHRyYW5ldDtcbiAgICB0aGlzLmF2YXRhciA9IHNvdXJjZS5hdmF0YXI7XG4gICAgdGhpcy5zdGF0dXNJZCA9IHNvdXJjZS5zdGF0dXNJZDtcbiAgICB0aGlzLmRlcGFydG1lbnQgPSBzb3VyY2UuZGVwYXJ0bWVudCAmJiBEZXBhcnRtZW50LmZyb21PYmplY3Qoc291cmNlLmRlcGFydG1lbnQpIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLnByb2ZpbGVzID0gc291cmNlLnByb2ZpbGVzICYmIHNvdXJjZS5wcm9maWxlcy5zbGljZSgwKSB8fCBbXTtcbiAgICAvLyBBZGQgbWFpbiBwcm9maWxlIHRvIHRoZSBsaXN0LCBpZiBuZWVkXG4gICAgaWYgKHNvdXJjZS5tYWluUHJvZmlsZSAmJiAhdGhpcy5wcm9maWxlcy5maW5kKHAgPT4gcCA9PT0gc291cmNlLm1haW5Qcm9maWxlKSkge1xuICAgICAgdGhpcy5wcm9maWxlcyA9IHRoaXMucHJvZmlsZXMuY29uY2F0KHNvdXJjZS5tYWluUHJvZmlsZSk7XG4gICAgfVxuICAgIHRoaXMubWFpblByb2ZpbGUgPSBQZXJzb25VdGlscy5nZXRNYWluUHJvZmlsZSh0aGlzLnByb2ZpbGVzKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGVyc29uVXRpbHMge1xuICBzdGF0aWMgZ2V0TWFpblByb2ZpbGUocHJvZmlsZXM/OiBzdHJpbmdbXSk6IFVzZXJQcm9maWxlTGFiZWwge1xuICAgIGlmIChpc0VtcHR5QXJyYXkocHJvZmlsZXMpKSByZXR1cm4gJ0dVRVNUJztcbiAgICByZXR1cm4gUFJJT1JJVElaRURfQVVUSE9SSVRJRVMuZmluZChsYWJlbCA9PiBwcm9maWxlcy5pbmNsdWRlcyhsYWJlbCkpIHx8ICdHVUVTVCc7XG4gIH1cblxuICBzdGF0aWMgZ2V0TWFpblByb2ZpbGVJbmRleChwcm9maWxlcz86IHN0cmluZ1tdKTogbnVtYmVyIHtcbiAgICBpZiAoaXNFbXB0eUFycmF5KHByb2ZpbGVzKSkgcmV0dXJuIFBSSU9SSVRJWkVEX0FVVEhPUklUSUVTLmxlbmd0aCAtIDE7IC8vIHJldHVybiBsYXN0IChsb3dlcikgcHJvZmlsZVxuICAgIGNvbnN0IGluZGV4ID0gUFJJT1JJVElaRURfQVVUSE9SSVRJRVMuZmluZEluZGV4KGxhYmVsID0+IHByb2ZpbGVzLmluY2x1ZGVzKGxhYmVsKSk7XG4gICAgcmV0dXJuIChpbmRleCAhPT0gLTEpID8gaW5kZXggOiAoUFJJT1JJVElaRURfQVVUSE9SSVRJRVMubGVuZ3RoIC0gMSk7XG4gIH1cblxuICBzdGF0aWMgaGFzVXBwZXJPckVxdWFsc1Byb2ZpbGUoYWN0dWFsUHJvZmlsZXM6IHN0cmluZ1tdLCBleHBlY3RlZFByb2ZpbGU6IFVzZXJQcm9maWxlTGFiZWwpOiBib29sZWFuIHtcbiAgICBjb25zdCBleHBlY3RlZFByb2ZpbGVJbmRleCA9IFBSSU9SSVRJWkVEX0FVVEhPUklUSUVTLmluZGV4T2YoZXhwZWN0ZWRQcm9maWxlKTtcbiAgICByZXR1cm4gZXhwZWN0ZWRQcm9maWxlSW5kZXggIT09IC0xICYmIFBlcnNvblV0aWxzLmdldE1haW5Qcm9maWxlSW5kZXgoYWN0dWFsUHJvZmlsZXMpIDw9IGV4cGVjdGVkUHJvZmlsZUluZGV4O1xuICB9XG5cbiAgc3RhdGljIHBlcnNvblRvU3RyaW5nKG9iajogUGVyc29uKTogc3RyaW5nIHtcbiAgICBpZiAoIW9iaiB8fCAhb2JqLmlkKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiBvYmoubGFzdE5hbWUgKyAnICcgKyBvYmouZmlyc3ROYW1lO1xuICB9XG5cbiAgc3RhdGljIHBlcnNvbnNUb1N0cmluZyhkYXRhOiBQZXJzb25bXSwgc2VwYXJhdG9yPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKGRhdGEgfHwgW10pLm1hcChQZXJzb25VdGlscy5wZXJzb25Ub1N0cmluZykuam9pbihzZXBhcmF0b3IgfHwgJywgJyk7XG4gIH1cblxuICBzdGF0aWMgcm9sZVRvUHJvZmlsZShyb2xlOiBzdHJpbmcsIGRlZmF1bHRQcm9maWxlPzogVXNlclByb2ZpbGVMYWJlbCk6IFVzZXJQcm9maWxlTGFiZWwge1xuICAgIGNvbnN0IGxhYmVsID0gcm9sZT8ucmVwbGFjZSgvXlJPTEVfLywgJycpIGFzIFVzZXJQcm9maWxlTGFiZWw7XG4gICAgcmV0dXJuIGxhYmVsIHx8IGRlZmF1bHRQcm9maWxlO1xuICB9XG5cbn1cblxuXG5cblxuXG5cblxuIl19
|