@decaf-ts/integrations 0.3.5 → 0.3.7
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/dist/integrations.cjs +1608 -7
- package/dist/integrations.js +1841 -5
- package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +13 -5
- package/lib/cjs/graph/nodes/base.cjs +35 -0
- package/lib/cjs/graph/nodes/flow-control.cjs +31 -3
- package/lib/cjs/graph/nodes/index.cjs +3 -2
- package/lib/cjs/graph/types.cjs +2 -2
- package/lib/cjs/index.cjs +6 -5
- package/lib/cjs/namespaces/index.cjs +26 -0
- package/lib/cjs/namespaces/models/authorization-model.cjs +12 -0
- package/lib/cjs/namespaces/models/effective-permission.model.cjs +95 -0
- package/lib/cjs/namespaces/models/group-membership.model.cjs +66 -0
- package/lib/cjs/namespaces/models/group.model.cjs +74 -0
- package/lib/cjs/namespaces/models/index.cjs +39 -0
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs +76 -0
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +66 -0
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +73 -0
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +64 -0
- package/lib/cjs/namespaces/models/org-unit.model.cjs +102 -0
- package/lib/cjs/namespaces/models/permission.model.cjs +64 -0
- package/lib/cjs/namespaces/models/principal.model.cjs +77 -0
- package/lib/cjs/namespaces/models/protected-resource.model.cjs +99 -0
- package/lib/cjs/namespaces/models/resource-grant.model.cjs +88 -0
- package/lib/cjs/namespaces/models/role-assignment.model.cjs +98 -0
- package/lib/cjs/namespaces/models/role-permission.model.cjs +55 -0
- package/lib/cjs/namespaces/models/role.model.cjs +84 -0
- package/lib/cjs/namespaces/models/storage-binding.model.cjs +85 -0
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs +67 -0
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs +64 -0
- package/lib/cjs/namespaces/models/tenant.model.cjs +88 -0
- package/lib/cjs/namespaces/models/user.model.cjs +75 -0
- package/lib/cjs/namespaces/org-based-authorization-system.cjs +286 -0
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs +968 -0
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs +1046 -0
- package/lib/cjs/namespaces/services/authz.service.cjs +76 -0
- package/lib/cjs/namespaces/services/bootstrap.service.cjs +112 -0
- package/lib/cjs/namespaces/services/effective-permission.service.cjs +150 -0
- package/lib/cjs/namespaces/services/group-membership.service.cjs +42 -0
- package/lib/cjs/namespaces/services/group.service.cjs +30 -0
- package/lib/cjs/namespaces/services/index.cjs +42 -0
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs +32 -0
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +55 -0
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +34 -0
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +23 -0
- package/lib/cjs/namespaces/services/org-unit.service.cjs +160 -0
- package/lib/cjs/namespaces/services/permission.service.cjs +29 -0
- package/lib/cjs/namespaces/services/principal.service.cjs +35 -0
- package/lib/cjs/namespaces/services/protected-resource.service.cjs +43 -0
- package/lib/cjs/namespaces/services/resource-grant.service.cjs +45 -0
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +24 -0
- package/lib/cjs/namespaces/services/role-assignment.service.cjs +41 -0
- package/lib/cjs/namespaces/services/role-permission.service.cjs +51 -0
- package/lib/cjs/namespaces/services/role.service.cjs +45 -0
- package/lib/cjs/namespaces/services/storage-binding.service.cjs +39 -0
- package/lib/cjs/namespaces/services/system-management.service.cjs +102 -0
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs +33 -0
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs +28 -0
- package/lib/cjs/namespaces/services/tenant.service.cjs +36 -0
- package/lib/cjs/namespaces/services/user.service.cjs +32 -0
- package/lib/cjs/namespaces/types.cjs +67 -0
- package/lib/cjs/namespaces/utils.cjs +161 -0
- package/lib/cjs/nest/authService.cjs +5 -2
- package/lib/cjs/nest/graph/GraphExecutionController.cjs +153 -0
- package/lib/cjs/nest/graph/GraphExecutionModule.cjs +84 -0
- package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs +82 -0
- package/lib/cjs/nest/graph/GraphExecutionResultRepository.cjs +66 -0
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +35 -0
- package/lib/cjs/nest/graph/index.cjs +28 -0
- package/lib/cjs/nest/index.cjs +3 -2
- package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +12 -4
- package/lib/esm/graph/nodes/base.js +30 -0
- package/lib/esm/graph/nodes/flow-control.js +31 -3
- package/lib/esm/graph/nodes/index.js +2 -1
- package/lib/esm/graph/types.js +1 -1
- package/lib/esm/index.js +5 -4
- package/lib/esm/namespaces/index.js +9 -0
- package/lib/esm/namespaces/models/authorization-model.js +7 -0
- package/lib/esm/namespaces/models/effective-permission.model.js +86 -0
- package/lib/esm/namespaces/models/group-membership.model.js +57 -0
- package/lib/esm/namespaces/models/group.model.js +65 -0
- package/lib/esm/namespaces/models/index.js +22 -0
- package/lib/esm/namespaces/models/inheritance-block.model.js +67 -0
- package/lib/esm/namespaces/models/org-unit-closure.model.js +57 -0
- package/lib/esm/namespaces/models/org-unit-membership.model.js +64 -0
- package/lib/esm/namespaces/models/org-unit-profile.model.js +55 -0
- package/lib/esm/namespaces/models/org-unit.model.js +93 -0
- package/lib/esm/namespaces/models/permission.model.js +55 -0
- package/lib/esm/namespaces/models/principal.model.js +68 -0
- package/lib/esm/namespaces/models/protected-resource.model.js +90 -0
- package/lib/esm/namespaces/models/resource-grant.model.js +79 -0
- package/lib/esm/namespaces/models/role-assignment.model.js +89 -0
- package/lib/esm/namespaces/models/role-permission.model.js +46 -0
- package/lib/esm/namespaces/models/role.model.js +75 -0
- package/lib/esm/namespaces/models/storage-binding.model.js +76 -0
- package/lib/esm/namespaces/models/tenant-membership.model.js +58 -0
- package/lib/esm/namespaces/models/tenant-profile.model.js +55 -0
- package/lib/esm/namespaces/models/tenant.model.js +79 -0
- package/lib/esm/namespaces/models/user.model.js +66 -0
- package/lib/esm/namespaces/org-based-authorization-system.js +283 -0
- package/lib/esm/namespaces/org-based-authorization-system.models.js +958 -0
- package/lib/esm/namespaces/org-based-authorization-system.services.js +1014 -0
- package/lib/esm/namespaces/services/authz.service.js +71 -0
- package/lib/esm/namespaces/services/bootstrap.service.js +102 -0
- package/lib/esm/namespaces/services/effective-permission.service.js +140 -0
- package/lib/esm/namespaces/services/group-membership.service.js +37 -0
- package/lib/esm/namespaces/services/group.service.js +25 -0
- package/lib/esm/namespaces/services/index.js +25 -0
- package/lib/esm/namespaces/services/inheritance-block.service.js +27 -0
- package/lib/esm/namespaces/services/org-unit-closure.service.js +50 -0
- package/lib/esm/namespaces/services/org-unit-membership.service.js +29 -0
- package/lib/esm/namespaces/services/org-unit-profile.service.js +18 -0
- package/lib/esm/namespaces/services/org-unit.service.js +150 -0
- package/lib/esm/namespaces/services/permission.service.js +24 -0
- package/lib/esm/namespaces/services/principal.service.js +30 -0
- package/lib/esm/namespaces/services/protected-resource.service.js +38 -0
- package/lib/esm/namespaces/services/resource-grant.service.js +40 -0
- package/lib/esm/namespaces/services/resource-lifecycle.service.js +19 -0
- package/lib/esm/namespaces/services/role-assignment.service.js +36 -0
- package/lib/esm/namespaces/services/role-permission.service.js +46 -0
- package/lib/esm/namespaces/services/role.service.js +40 -0
- package/lib/esm/namespaces/services/storage-binding.service.js +34 -0
- package/lib/esm/namespaces/services/system-management.service.js +92 -0
- package/lib/esm/namespaces/services/tenant-membership.service.js +28 -0
- package/lib/esm/namespaces/services/tenant-profile.service.js +23 -0
- package/lib/esm/namespaces/services/tenant.service.js +31 -0
- package/lib/esm/namespaces/services/user.service.js +27 -0
- package/lib/esm/namespaces/types.js +71 -0
- package/lib/esm/namespaces/utils.js +143 -0
- package/lib/esm/nest/authService.js +4 -1
- package/lib/esm/nest/graph/GraphExecutionController.js +144 -0
- package/lib/esm/nest/graph/GraphExecutionModule.js +76 -0
- package/lib/esm/nest/graph/GraphExecutionResultModel.js +73 -0
- package/lib/esm/nest/graph/GraphExecutionResultRepository.js +60 -0
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +31 -0
- package/lib/esm/nest/graph/index.js +11 -0
- package/lib/esm/nest/index.js +2 -1
- package/lib/types/graph/nodes/base.d.cts +28 -0
- package/lib/types/graph/nodes/base.d.mts +28 -0
- package/lib/types/graph/nodes/flow-control.d.cts +9 -1
- package/lib/types/graph/nodes/flow-control.d.mts +9 -1
- package/lib/types/graph/nodes/index.d.cts +1 -0
- package/lib/types/graph/nodes/index.d.mts +1 -0
- package/lib/types/graph/types.d.cts +15 -1
- package/lib/types/graph/types.d.mts +15 -1
- package/lib/types/index.d.cts +3 -2
- package/lib/types/index.d.mts +3 -2
- package/lib/types/namespaces/index.d.cts +8 -0
- package/lib/types/namespaces/index.d.mts +8 -0
- package/lib/types/namespaces/models/authorization-model.d.cts +4 -0
- package/lib/types/namespaces/models/authorization-model.d.mts +4 -0
- package/lib/types/namespaces/models/effective-permission.model.d.cts +18 -0
- package/lib/types/namespaces/models/effective-permission.model.d.mts +18 -0
- package/lib/types/namespaces/models/group-membership.model.d.cts +13 -0
- package/lib/types/namespaces/models/group-membership.model.d.mts +13 -0
- package/lib/types/namespaces/models/group.model.d.cts +15 -0
- package/lib/types/namespaces/models/group.model.d.mts +15 -0
- package/lib/types/namespaces/models/index.d.cts +21 -0
- package/lib/types/namespaces/models/index.d.mts +21 -0
- package/lib/types/namespaces/models/inheritance-block.model.d.cts +15 -0
- package/lib/types/namespaces/models/inheritance-block.model.d.mts +15 -0
- package/lib/types/namespaces/models/org-unit-closure.model.d.cts +12 -0
- package/lib/types/namespaces/models/org-unit-closure.model.d.mts +12 -0
- package/lib/types/namespaces/models/org-unit-membership.model.d.cts +15 -0
- package/lib/types/namespaces/models/org-unit-membership.model.d.mts +15 -0
- package/lib/types/namespaces/models/org-unit-profile.model.d.cts +11 -0
- package/lib/types/namespaces/models/org-unit-profile.model.d.mts +11 -0
- package/lib/types/namespaces/models/org-unit.model.d.cts +23 -0
- package/lib/types/namespaces/models/org-unit.model.d.mts +23 -0
- package/lib/types/namespaces/models/permission.model.d.cts +11 -0
- package/lib/types/namespaces/models/permission.model.d.mts +11 -0
- package/lib/types/namespaces/models/principal.model.d.cts +16 -0
- package/lib/types/namespaces/models/principal.model.d.mts +16 -0
- package/lib/types/namespaces/models/protected-resource.model.d.cts +21 -0
- package/lib/types/namespaces/models/protected-resource.model.d.mts +21 -0
- package/lib/types/namespaces/models/resource-grant.model.d.cts +18 -0
- package/lib/types/namespaces/models/resource-grant.model.d.mts +18 -0
- package/lib/types/namespaces/models/role-assignment.model.d.cts +20 -0
- package/lib/types/namespaces/models/role-assignment.model.d.mts +20 -0
- package/lib/types/namespaces/models/role-permission.model.d.cts +10 -0
- package/lib/types/namespaces/models/role-permission.model.d.mts +10 -0
- package/lib/types/namespaces/models/role.model.d.cts +17 -0
- package/lib/types/namespaces/models/role.model.d.mts +17 -0
- package/lib/types/namespaces/models/storage-binding.model.d.cts +15 -0
- package/lib/types/namespaces/models/storage-binding.model.d.mts +15 -0
- package/lib/types/namespaces/models/tenant-membership.model.d.cts +13 -0
- package/lib/types/namespaces/models/tenant-membership.model.d.mts +13 -0
- package/lib/types/namespaces/models/tenant-profile.model.d.cts +11 -0
- package/lib/types/namespaces/models/tenant-profile.model.d.mts +11 -0
- package/lib/types/namespaces/models/tenant.model.d.cts +19 -0
- package/lib/types/namespaces/models/tenant.model.d.mts +19 -0
- package/lib/types/namespaces/models/user.model.d.cts +14 -0
- package/lib/types/namespaces/models/user.model.d.mts +14 -0
- package/lib/types/namespaces/org-based-authorization-system.d.cts +299 -0
- package/lib/types/namespaces/org-based-authorization-system.d.mts +299 -0
- package/lib/types/namespaces/org-based-authorization-system.models.d.cts +212 -0
- package/lib/types/namespaces/org-based-authorization-system.models.d.mts +212 -0
- package/lib/types/namespaces/org-based-authorization-system.services.d.cts +217 -0
- package/lib/types/namespaces/org-based-authorization-system.services.d.mts +217 -0
- package/lib/types/namespaces/services/authz.service.d.cts +10 -0
- package/lib/types/namespaces/services/authz.service.d.mts +10 -0
- package/lib/types/namespaces/services/bootstrap.service.d.cts +21 -0
- package/lib/types/namespaces/services/bootstrap.service.d.mts +21 -0
- package/lib/types/namespaces/services/effective-permission.service.d.cts +13 -0
- package/lib/types/namespaces/services/effective-permission.service.d.mts +13 -0
- package/lib/types/namespaces/services/group-membership.service.d.cts +10 -0
- package/lib/types/namespaces/services/group-membership.service.d.mts +10 -0
- package/lib/types/namespaces/services/group.service.d.cts +9 -0
- package/lib/types/namespaces/services/group.service.d.mts +9 -0
- package/lib/types/namespaces/services/index.d.cts +24 -0
- package/lib/types/namespaces/services/index.d.mts +24 -0
- package/lib/types/namespaces/services/inheritance-block.service.d.cts +10 -0
- package/lib/types/namespaces/services/inheritance-block.service.d.mts +10 -0
- package/lib/types/namespaces/services/org-unit-closure.service.d.cts +11 -0
- package/lib/types/namespaces/services/org-unit-closure.service.d.mts +11 -0
- package/lib/types/namespaces/services/org-unit-membership.service.d.cts +11 -0
- package/lib/types/namespaces/services/org-unit-membership.service.d.mts +11 -0
- package/lib/types/namespaces/services/org-unit-profile.service.d.cts +7 -0
- package/lib/types/namespaces/services/org-unit-profile.service.d.mts +7 -0
- package/lib/types/namespaces/services/org-unit.service.d.cts +18 -0
- package/lib/types/namespaces/services/org-unit.service.d.mts +18 -0
- package/lib/types/namespaces/services/permission.service.d.cts +10 -0
- package/lib/types/namespaces/services/permission.service.d.mts +10 -0
- package/lib/types/namespaces/services/principal.service.d.cts +11 -0
- package/lib/types/namespaces/services/principal.service.d.mts +11 -0
- package/lib/types/namespaces/services/protected-resource.service.d.cts +13 -0
- package/lib/types/namespaces/services/protected-resource.service.d.mts +13 -0
- package/lib/types/namespaces/services/resource-grant.service.d.cts +12 -0
- package/lib/types/namespaces/services/resource-grant.service.d.mts +12 -0
- package/lib/types/namespaces/services/resource-lifecycle.service.d.cts +10 -0
- package/lib/types/namespaces/services/resource-lifecycle.service.d.mts +10 -0
- package/lib/types/namespaces/services/role-assignment.service.d.cts +12 -0
- package/lib/types/namespaces/services/role-assignment.service.d.mts +12 -0
- package/lib/types/namespaces/services/role-permission.service.d.cts +12 -0
- package/lib/types/namespaces/services/role-permission.service.d.mts +12 -0
- package/lib/types/namespaces/services/role.service.d.cts +12 -0
- package/lib/types/namespaces/services/role.service.d.mts +12 -0
- package/lib/types/namespaces/services/storage-binding.service.d.cts +12 -0
- package/lib/types/namespaces/services/storage-binding.service.d.mts +12 -0
- package/lib/types/namespaces/services/system-management.service.d.cts +14 -0
- package/lib/types/namespaces/services/system-management.service.d.mts +14 -0
- package/lib/types/namespaces/services/tenant-membership.service.d.cts +11 -0
- package/lib/types/namespaces/services/tenant-membership.service.d.mts +11 -0
- package/lib/types/namespaces/services/tenant-profile.service.d.cts +8 -0
- package/lib/types/namespaces/services/tenant-profile.service.d.mts +8 -0
- package/lib/types/namespaces/services/tenant.service.d.cts +12 -0
- package/lib/types/namespaces/services/tenant.service.d.mts +12 -0
- package/lib/types/namespaces/services/user.service.d.cts +11 -0
- package/lib/types/namespaces/services/user.service.d.mts +11 -0
- package/lib/types/namespaces/types.d.cts +230 -0
- package/lib/types/namespaces/types.d.mts +230 -0
- package/lib/types/namespaces/utils.d.cts +68 -0
- package/lib/types/namespaces/utils.d.mts +68 -0
- package/lib/types/nest/authService.d.cts +1 -0
- package/lib/types/nest/authService.d.mts +1 -0
- package/lib/types/nest/graph/GraphExecutionController.d.cts +62 -0
- package/lib/types/nest/graph/GraphExecutionController.d.mts +62 -0
- package/lib/types/nest/graph/GraphExecutionModule.d.cts +39 -0
- package/lib/types/nest/graph/GraphExecutionModule.d.mts +39 -0
- package/lib/types/nest/graph/GraphExecutionResultModel.d.cts +46 -0
- package/lib/types/nest/graph/GraphExecutionResultModel.d.mts +46 -0
- package/lib/types/nest/graph/GraphExecutionResultRepository.d.cts +38 -0
- package/lib/types/nest/graph/GraphExecutionResultRepository.d.mts +38 -0
- package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.cts +17 -0
- package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +17 -0
- package/lib/types/nest/graph/index.d.cts +10 -0
- package/lib/types/nest/graph/index.d.mts +10 -0
- package/lib/types/nest/index.d.cts +1 -0
- package/lib/types/nest/index.d.mts +1 -0
- package/package.json +16 -5
- package/sql/001_constraints.sql +11 -0
- package/sql/002_rls.sql +20 -0
- package/sql/003_indexes.sql +2 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SystemManagementService = void 0;
|
|
4
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
7
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
+
else
|
|
9
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
10
|
+
if (d = decorators[i])
|
|
11
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
+
};
|
|
14
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
15
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
16
|
+
return Reflect.metadata(k, v);
|
|
17
|
+
};
|
|
18
|
+
const utils_js_1 = require("./../utils.cjs");
|
|
19
|
+
const types_js_1 = require("./../types.cjs");
|
|
20
|
+
const tenant_membership_service_1 = require("./tenant-membership.service");
|
|
21
|
+
const org_unit_membership_service_1 = require("./org-unit-membership.service");
|
|
22
|
+
const principal_service_1 = require("./principal.service");
|
|
23
|
+
const role_service_1 = require("./role.service");
|
|
24
|
+
const role_assignment_service_1 = require("./role-assignment.service");
|
|
25
|
+
const effective_permission_service_1 = require("./effective-permission.service");
|
|
26
|
+
class SystemManagementService {
|
|
27
|
+
constructor() {
|
|
28
|
+
this.membershipService = new tenant_membership_service_1.TenantMembershipService();
|
|
29
|
+
this.orgMembershipService = new org_unit_membership_service_1.OrgUnitMembershipService();
|
|
30
|
+
this.principalService = new principal_service_1.PrincipalService();
|
|
31
|
+
this.roleService = new role_service_1.RoleService();
|
|
32
|
+
this.roleAssignmentService = new role_assignment_service_1.RoleAssignmentService();
|
|
33
|
+
this.effectivePermissionService = new effective_permission_service_1.EffectivePermissionService();
|
|
34
|
+
}
|
|
35
|
+
async onboardUserToTenantAndOrgUnit(tenantId, userId, orgUnitId, roleKey, ...args) {
|
|
36
|
+
await this.membershipService.addUserToTenant(tenantId, userId, types_js_1.MembershipStatus.Active, ...args);
|
|
37
|
+
await this.orgMembershipService.addUserToOrgUnit(tenantId, orgUnitId, userId, types_js_1.MembershipStatus.Active, ...args);
|
|
38
|
+
const principal = await this.principalService.getUserPrincipal(tenantId, userId, ...args);
|
|
39
|
+
const role = await this.roleService.getTenantRoleByKey(tenantId, roleKey, ...args);
|
|
40
|
+
await this.roleAssignmentService.assignRole({
|
|
41
|
+
tenantId,
|
|
42
|
+
principalId: principal.id,
|
|
43
|
+
roleId: role.id,
|
|
44
|
+
scopeKind: types_js_1.ScopeKind.OrgUnit,
|
|
45
|
+
scopeId: orgUnitId,
|
|
46
|
+
inheritDown: true,
|
|
47
|
+
}, ...args);
|
|
48
|
+
await this.effectivePermissionService.rebuildForPrincipal(tenantId, principal.id, ...args);
|
|
49
|
+
return { principalId: principal.id };
|
|
50
|
+
}
|
|
51
|
+
async changeUserOrgRole(tenantId, principalId, orgUnitId, roleKey, inheritDown, ...args) {
|
|
52
|
+
const role = await this.roleService.getTenantRoleByKey(tenantId, roleKey, ...args);
|
|
53
|
+
const currentAssignments = await this.roleAssignmentService.listPrincipalAssignments(tenantId, principalId, ...args);
|
|
54
|
+
for (const assignment of currentAssignments.filter((row) => row.scopeKind === types_js_1.ScopeKind.OrgUnit && row.scopeId === orgUnitId)) {
|
|
55
|
+
await this.roleAssignmentService.revokeAssignment(assignment.id, ...args);
|
|
56
|
+
}
|
|
57
|
+
await this.roleAssignmentService.assignRole({
|
|
58
|
+
tenantId,
|
|
59
|
+
principalId,
|
|
60
|
+
roleId: role.id,
|
|
61
|
+
scopeKind: types_js_1.ScopeKind.OrgUnit,
|
|
62
|
+
scopeId: orgUnitId,
|
|
63
|
+
inheritDown,
|
|
64
|
+
}, ...args);
|
|
65
|
+
await this.effectivePermissionService.rebuildForPrincipal(tenantId, principalId, ...args);
|
|
66
|
+
}
|
|
67
|
+
async suspendUserInTenant(tenantMembershipId, tenantId, principalId, ...args) {
|
|
68
|
+
await this.membershipService.setStatus(tenantMembershipId, types_js_1.MembershipStatus.Suspended, ...args);
|
|
69
|
+
await this.effectivePermissionService.deleteForPrincipal(tenantId, principalId, ...args);
|
|
70
|
+
}
|
|
71
|
+
async reactivateUserInTenant(tenantMembershipId, tenantId, principalId, ...args) {
|
|
72
|
+
await this.membershipService.setStatus(tenantMembershipId, types_js_1.MembershipStatus.Active, ...args);
|
|
73
|
+
await this.effectivePermissionService.rebuildForPrincipal(tenantId, principalId, ...args);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.SystemManagementService = SystemManagementService;
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, utils_js_1.transactional)(),
|
|
79
|
+
__metadata("design:type", Function),
|
|
80
|
+
__metadata("design:paramtypes", [String, String, String, String, Object]),
|
|
81
|
+
__metadata("design:returntype", Promise)
|
|
82
|
+
], SystemManagementService.prototype, "onboardUserToTenantAndOrgUnit", null);
|
|
83
|
+
__decorate([
|
|
84
|
+
(0, utils_js_1.transactional)(),
|
|
85
|
+
__metadata("design:type", Function),
|
|
86
|
+
__metadata("design:paramtypes", [String, String, String, String, Boolean, Object]),
|
|
87
|
+
__metadata("design:returntype", Promise)
|
|
88
|
+
], SystemManagementService.prototype, "changeUserOrgRole", null);
|
|
89
|
+
__decorate([
|
|
90
|
+
(0, utils_js_1.transactional)(),
|
|
91
|
+
__metadata("design:type", Function),
|
|
92
|
+
__metadata("design:paramtypes", [String, String, String, Object]),
|
|
93
|
+
__metadata("design:returntype", Promise)
|
|
94
|
+
], SystemManagementService.prototype, "suspendUserInTenant", null);
|
|
95
|
+
__decorate([
|
|
96
|
+
(0, utils_js_1.transactional)(),
|
|
97
|
+
__metadata("design:type", Function),
|
|
98
|
+
__metadata("design:paramtypes", [String, String, String, Object]),
|
|
99
|
+
__metadata("design:returntype", Promise)
|
|
100
|
+
], SystemManagementService.prototype, "reactivateUserInTenant", null);
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uYW1lc3BhY2VzL3NlcnZpY2VzL3N5c3RlbS1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxzQkFBaUI7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxzQkFBaUI7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTVFLE1BQU0sT0FBTyx1QkFBdUI7SUFBcEM7UUFDVSxzQkFBaUIsR0FBRyxJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDbEQseUJBQW9CLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1FBQ3RELHFCQUFnQixHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQyxnQkFBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEMsMEJBQXFCLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ3BELCtCQUEwQixHQUFHLElBQUksMEJBQTBCLEVBQUUsQ0FBQztJQW9FeEUsQ0FBQztJQWpFTyxBQUFOLEtBQUssQ0FBQyw2QkFBNkIsQ0FDakMsUUFBZ0IsRUFDaEIsTUFBYyxFQUNkLFNBQWlCLEVBQ2pCLE9BQWUsRUFDZixHQUFHLElBQVc7UUFFZCxNQUFNLElB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QUFDLDBCQUEwQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBR0ssQUFBTixLQUFLLENBQUMsc0JBQXNCLENBQUMsa0JBQTBCLEVBQUUsUUFBZ0IsRUFBRSxXQUFtQixFQUFFLEdBQUcsSUFBVztRQUM1RyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDN0YsTUFBTSxJQUFJLENBQUMsMEJBQTBCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzVGLENBQUM7Q0FDRjtBQWpFTztJQURMLGFBQWEsRUFBRTs7Ozs0RUF5QmY7QUFHSztJQURMLGFBQWEsRUFBRTs7OztnRUEwQmY7QUFHSztJQURMLGFBQWEsRUFBRTs7OztrRUFJZjtBQUdLO0lBREwsYUFBYSxFQUFFOzs7O3FFQUlmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHJhbnNhY3Rpb25hbCB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgTWVtYmVyc2hpcFN0YXR1cywgU2NvcGVLaW5kIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBUZW5hbnRNZW1iZXJzaGlwU2VydmljZSB9IGZyb20gXCIuL3RlbmFudC1tZW1iZXJzaGlwLnNlcnZpY2VcIjtcbmltcG9ydCB7IE9yZ1VuaXRNZW1iZXJzaGlwU2VydmljZSB9IGZyb20gXCIuL29yZy11bml0LW1lbWJlcnNoaXAuc2VydmljZVwiO1xuaW1wb3J0IHsgUHJpbmNpcGFsU2VydmljZSB9IGZyb20gXCIuL3ByaW5jaXBhbC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBSb2xlU2VydmljZSB9IGZyb20gXCIuL3JvbGUuc2VydmljZVwiO1xuaW1wb3J0IHsgUm9sZUFzc2lnbm1lbnRTZXJ2aWNlIH0gZnJvbSBcIi4vcm9sZS1hc3NpZ25tZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7IEVmZmVjdGl2ZVBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4vZWZmZWN0aXZlLXBlcm1pc3Npb24uc2VydmljZVwiO1xuXG5leHBvcnQgY2xhc3MgU3lzdGVtTWFuYWdlbWVudFNlcnZpY2Uge1xuICBwcml2YXRlIG1lbWJlcnNoaXBTZXJ2aWNlID0gbmV3IFRlbmFudE1lbWJlcnNoaXBTZXJ2aWNlKCk7XG4gIHByaXZhdGUgb3JnTWVtYmVyc2hpcFNlcnZpY2UgPSBuZXcgT3JnVW5pdE1lbWJlcnNoaXBTZXJ2aWNlKCk7XG4gIHByaXZhdGUgcHJpbmNpcGFsU2VydmljZSA9IG5ldyBQcmluY2lwYWxTZXJ2aWNlKCk7XG4gIHByaXZhdGUgcm9sZVNlcnZpY2UgPSBuZXcgUm9sZVNlcnZpY2UoKTtcbiAgcHJpdmF0ZSByb2xlQXNzaWdubWVudFNlcnZpY2UgPSBuZXcgUm9sZUFzc2lnbm1lbnRTZXJ2aWNlKCk7XG4gIHByaXZhdGUgZWZmZWN0aXZlUGVybWlzc2lvblNlcnZpY2UgPSBuZXcgRWZmZWN0aXZlUGVybWlzc2lvblNlcnZpY2UoKTtcblxuICBAdHJhbnNhY3Rpb25hbCgpXG4gIGFzeW5jIG9uYm9hcmRVc2VyVG9UZW5hbnRBbmRPcmdVbml0KFxuICAgIHRlbmFudElkOiBzdHJpbmcsXG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgb3JnVW5pdElkOiBzdHJpbmcsXG4gICAgcm9sZUtleTogc3RyaW5nLFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8eyBwcmluY2lwYWxJZDogc3RyaW5nIH0+IHtcbiAgICBhd2FpdCB0aGlzLm1lbWJlcnNoaXBTZXJ2aWNlLmFkZFVzZXJUb1RlbmFudCh0ZW5hbnRJZCwgdXNlcklkLCBNZW1iZXJzaGlwU3RhdHVzLkFjdGl2ZSwgLi4uYXJncyk7XG4gICAgYXdhaXQgdGhpcy5vcmdNZW1iZXJzaGlwU2VydmljZS5hZGRVc2VyVG9PcmdVbml0KHRlbmFudElkLCBvcmdVbml0SWQsIHVzZXJJZCwgTWVtYmVyc2hpcFN0YXR1cy5BY3RpdmUsIC4uLmFyZ3MpO1xuICAgIGNvbnN0IHByaW5jaXBhbCA9IGF3YWl0IHRoaXMucHJpbmNpcGFsU2VydmljZS5nZXRVc2VyUHJpbmNpcGFsKHRlbmFudElkLCB1c2VySWQsIC4uLmFyZ3MpO1xuICAgIGNvbnN0IHJvbGUgPSBhd2FpdCB0aGlzLnJvbGVTZXJ2aWNlLmdldFRlbmFudFJvbGVCeUtleSh0ZW5hbnRJZCwgcm9sZUtleSwgLi4uYXJncyk7XG4gICAgYXdhaXQgdGhpcy5yb2xlQXNzaWdubWVudFNlcnZpY2UuYXNzaWduUm9sZShcbiAgICAgIHtcbiAgICAgICAgdGVuYW50SWQsXG4gICAgICAgIHByaW5jaXBhbElkOiBwcmluY2lwYWwuaWQsXG4gICAgICAgIHJvbGVJZDogcm9sZS5pZCxcbiAgICAgICAgc2NvcGVLaW5kOiBTY29wZUtpbmQuT3JnVW5pdCxcbiAgICAgICAgc2NvcGVJZDogb3JnVW5pdElkLFxuICAgICAgICBpbmhlcml0RG93bjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgICBhd2FpdCB0aGlzLmVmZmVjdGl2ZVBlcm1pc3Npb25TZXJ2aWNlLnJlYnVpbGRGb3JQcmluY2lwYWwodGVuYW50SWQsIHByaW5jaXBhbC5pZCwgLi4uYXJncyk7XG4gICAgcmV0dXJuIHsgcHJpbmNpcGFsSWQ6IHByaW5jaXBhbC5pZCB9O1xuICB9XG5cbiAgQHRyYW5zYWN0aW9uYWwoKVxuICBhc3luYyBjaGFuZ2VVc2VyT3JnUm9sZShcbiAgICB0ZW5hbnRJZDogc3RyaW5nLFxuICAgIHByaW5jaXBhbElkOiBzdHJpbmcsXG4gICAgb3JnVW5pdElkOiBzdHJpbmcsXG4gICAgcm9sZUtleTogc3RyaW5nLFxuICAgIGluaGVyaXREb3duOiBib29sZWFuLFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJvbGUgPSBhd2FpdCB0aGlzLnJvbGVTZXJ2aWNlLmdldFRlbmFudFJvbGVCeUtleSh0ZW5hbnRJZCwgcm9sZUtleSwgLi4uYXJncyk7XG4gICAgY29uc3QgY3VycmVudEFzc2lnbm1lbnRzID0gYXdhaXQgdGhpcy5yb2xlQXNzaWdubWVudFNlcnZpY2UubGlzdFByaW5jaXBhbEFzc2lnbm1lbnRzKHRlbmFudElkLCBwcmluY2lwYWxJZCwgLi4uYXJncyk7XG4gICAgZm9yIChjb25zdCBhc3NpZ25tZW50IG9mIGN1cnJlbnRBc3NpZ25tZW50cy5maWx0ZXIoKHJvdykgPT4gcm93LnNjb3BlS2luZCA9PT0gU2NvcGVLaW5kLk9yZ1VuaXQgJiYgcm93LnNjb3BlSWQgPT09IG9yZ1VuaXRJZCkpIHtcbiAgICAgIGF3YWl0IHRoaXMucm9sZUFzc2lnbm1lbnRTZXJ2aWNlLnJldm9rZUFzc2lnbm1lbnQoYXNzaWdubWVudC5pZCwgLi4uYXJncyk7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMucm9sZUFzc2lnbm1lbnRTZXJ2aWNlLmFzc2lnblJvbGUoXG4gICAgICB7XG4gICAgICAgIHRlbmFudElkLFxuICAgICAgICBwcmluY2lwYWxJZCxcbiAgICAgICAgcm9sZUlkOiByb2xlLmlkLFxuICAgICAgICBzY29wZUtpbmQ6IFNjb3BlS2luZC5PcmdVbml0LFxuICAgICAgICBzY29wZUlkOiBvcmdVbml0SWQsXG4gICAgICAgIGluaGVyaXREb3duLFxuICAgICAgfSxcbiAgICAgIC4uLmFyZ3NcbiAgICApO1xuICAgIGF3YWl0IHRoaXMuZWZmZWN0aXZlUGVybWlzc2lvblNlcnZpY2UucmVidWlsZEZvclByaW5jaXBhbCh0ZW5hbnRJZCwgcHJpbmNpcGFsSWQsIC4uLmFyZ3MpO1xuICB9XG5cbiAgQHRyYW5zYWN0aW9uYWwoKVxuICBhc3luYyBzdXNwZW5kVXNlckluVGVuYW50KHRlbmFudE1lbWJlcnNoaXBJZDogc3RyaW5nLCB0ZW5hbnRJZDogc3RyaW5nLCBwcmluY2lwYWxJZDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubWVtYmVyc2hpcFNlcnZpY2Uuc2V0U3RhdHVzKHRlbmFudE1lbWJlcnNoaXBJZCwgTWVtYmVyc2hpcFN0YXR1cy5TdXNwZW5kZWQsIC4uLmFyZ3MpO1xuICAgIGF3YWl0IHRoaXMuZWZmZWN0aXZlUGVybWlzc2lvblNlcnZpY2UuZGVsZXRlRm9yUHJpbmNpcGFsKHRlbmFudElkLCBwcmluY2lwYWxJZCwgLi4uYXJncyk7XG4gIH1cblxuICBAdHJhbnNhY3Rpb25hbCgpXG4gIGFzeW5jIHJlYWN0aXZhdGVVc2VySW5UZW5hbnQodGVuYW50TWVtYmVyc2hpcElkOiBzdHJpbmcsIHRlbmFudElkOiBzdHJpbmcsIHByaW5jaXBhbElkOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5tZW1iZXJzaGlwU2VydmljZS5zZXRTdGF0dXModGVuYW50TWVtYmVyc2hpcElkLCBNZW1iZXJzaGlwU3RhdHVzLkFjdGl2ZSwgLi4uYXJncyk7XG4gICAgYXdhaXQgdGhpcy5lZmZlY3RpdmVQZXJtaXNzaW9uU2VydmljZS5yZWJ1aWxkRm9yUHJpbmNpcGFsKHRlbmFudElkLCBwcmluY2lwYWxJZCwgLi4uYXJncyk7XG4gIH1cbn1cbiJdfQ==
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN5c3RlbS1tYW5hZ2VtZW50LnNlcnZpY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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QUFBLHdCQUFhLEdBQUU7SUFDZixVQUFVLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQztJQUNuQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRSxVQUFVLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDO0NBQzNDLEVBQUUsdUJBQXVCLENBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25FLFVBQVUsQ0FBQztJQUNQLElBQUEsd0JBQWEsR0FBRTtJQUNmLFVBQVUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDO0lBQ25DLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pFLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUM7Q0FDM0MsRUFBRSx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdEUsMCtSQUEwK1IiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuaW1wb3J0IHsgdHJhbnNhY3Rpb25hbCB9IGZyb20gXCIuLy4uL3V0aWxzLmpzXCI7XG5pbXBvcnQgeyBNZW1iZXJzaGlwU3RhdHVzLCBTY29wZUtpbmQgfSBmcm9tIFwiLi8uLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgVGVuYW50TWVtYmVyc2hpcFNlcnZpY2UgfSBmcm9tIFwiLi90ZW5hbnQtbWVtYmVyc2hpcC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBPcmdVbml0TWVtYmVyc2hpcFNlcnZpY2UgfSBmcm9tIFwiLi9vcmctdW5pdC1tZW1iZXJzaGlwLnNlcnZpY2VcIjtcbmltcG9ydCB7IFByaW5jaXBhbFNlcnZpY2UgfSBmcm9tIFwiLi9wcmluY2lwYWwuc2VydmljZVwiO1xuaW1wb3J0IHsgUm9sZVNlcnZpY2UgfSBmcm9tIFwiLi9yb2xlLnNlcnZpY2VcIjtcbmltcG9ydCB7IFJvbGVBc3NpZ25tZW50U2VydmljZSB9IGZyb20gXCIuL3JvbGUtYXNzaWdubWVudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFZmZlY3RpdmVQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gXCIuL2VmZmVjdGl2ZS1wZXJtaXNzaW9uLnNlcnZpY2VcIjtcbmV4cG9ydCBjbGFzcyBTeXN0ZW1NYW5hZ2VtZW50U2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubWVtYmVyc2hpcFNlcnZpY2UgPSBuZXcgVGVuYW50TWVtYmVyc2hpcFNlcnZpY2UoKTtcbiAgICAgICAgdGhpcy5vcmdNZW1iZXJzaGlwU2VydmljZSA9IG5ldyBPcmdVbml0TWVtYmVyc2hpcFNlcnZpY2UoKTtcbiAgICAgICAgdGhpcy5wcmluY2lwYWxTZXJ2aWNlID0gbmV3IFByaW5jaXBhbFNlcnZpY2UoKTtcbiAgICAgICAgdGhpcy5yb2xlU2VydmljZSA9IG5ldyBSb2xlU2VydmljZSgpO1xuICAgICAgICB0aGlzLnJvbGVBc3NpZ25tZW50U2VydmljZSA9IG5ldyBSb2xlQXNzaWdubWVudFNlcnZpY2UoKTtcbiAgICAgICAgdGhpcy5lZmZlY3RpdmVQZXJtaXNzaW9uU2VydmljZSA9IG5ldyBFZmZlY3RpdmVQZXJtaXNzaW9uU2VydmljZSgpO1xuICAgIH1cbiAgICBhc3luYyBvbmJvYXJkVXNlclRvVGVuYW50QW5kT3JnVW5pdCh0ZW5hbnRJZCwgdXNlcklkLCBvcmdVbml0SWQsIHJvbGVLZXksIC4uLmFyZ3MpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5tZW1iZXJzaGlwU2VydmljZS5hZGRVc2VyVG9UZW5hbnQodGVuYW50SWQsIHVzZXJJZCwgTWVtYmVyc2hpcFN0YXR1cy5BY3RpdmUsIC4uLmFyZ3MpO1xuICAgICAgICBhd2FpdCB0aGlzLm9yZ01lbWJlcnNoaXBTZXJ2aWNlLmFkZFVzZXJUb09yZ1VuaXQodGVuYW50SWQsIG9yZ1VuaXRJZCwgdXNlcklkLCBNZW1iZXJzaGlwU3RhdHVzLkFjdGl2ZSwgLi4uYXJncyk7XG4gICAgICAgIGNvbnN0IHByaW5jaXBhbCA9IGF3YWl0IHRoaXMucHJpbmNpcGFsU2VydmljZS5nZXRVc2VyUHJpbmNpcGFsKHRlbmFudElkLCB1c2VySWQsIC4uLmFyZ3MpO1xuICAgICAgICBjb25zdCByb2xlID0gYXdhaXQgdGhpcy5yb2xlU2VydmljZS5nZXRUZW5hbnRSb2xlQnlLZXkodGVuYW50SWQsIHJvbGVLZXksIC4uLmFyZ3MpO1xuICAgICAgICBhd2FpdCB0aGlzLnJvbGVBc3NpZ25tZW50U2VydmljZS5hc3NpZ25Sb2xlKHtcbiAgICAgICAgICAgIHRlbmFudElkLFxuICAgICAgICAgICAgcHJpbmNpcGFsSWQ6IHByaW5jaXBhbC5pZCxcbiAgICAgICAgICAgIHJvbGVJZDogcm9sZS5pZCxcbiAgICAgICAgICAgIHNjb3BlS2luZDogU2NvcGVLaW5kLk9yZ1VuaXQsXG4gICAgICAgICAgICBzY29wZUlkOiBvcmdVbml0SWQsXG4gICAgICAgICAgICBpbmhlcml0RG93bjogdHJ1ZSxcbiAgICAgICAgfSwgLi4uYXJncyk7XG4gICAgICAgIGF3YWl0IHRoaXMuZWZmZWN0aXZlUGVybWlzc2lvblNlcnZpY2UucmVidWlsZEZvclByaW5jaXBhbCh0ZW5hbnRJZCwgcHJpbmNpcGFsLmlkLCAuLi5hcmdzKTtcbiAgICAgICAgcmV0dXJuIHsgcHJpbmNpcGFsSWQ6IHByaW5jaXBhbC5pZCB9O1xuICAgIH1cbiAgICBhc3luYyBjaGFuZ2VVc2VyT3JnUm9sZSh0ZW5hbnRJZCwgcHJpbmNpcGFsSWQsIG9yZ1VuaXRJZCwgcm9sZUtleSwgaW5oZXJpdERvd24sIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3Qgcm9sZSA9IGF3YWl0IHRoaXMucm9sZVNlcnZpY2UuZ2V0VGVuYW50Um9sZUJ5S2V5KHRlbmFudElkLCByb2xlS2V5LCAuLi5hcmdzKTtcbiAgICAgICAgY29uc3QgY3VycmVudEFzc2lnbm1lbnRzID0gYXdhaXQgdGhpcy5yb2xlQXNzaWdubWVudFNlcnZpY2UubGlzdFByaW5jaXBhbEFzc2lnbm1lbnRzKHRlbmFudElkLCBwcmluY2lwYWxJZCwgLi4uYXJncyk7XG4gICAgICAgIGZvciAoY29uc3QgYXNzaWdubWVudCBvZiBjdXJyZW50QXNzaWdubWVudHMuZmlsdGVyKChyb3cpID0+IHJvdy5zY29wZUtpbmQgPT09IFNjb3BlS2luZC5PcmdVbml0ICYmIHJvdy5zY29wZUlkID09PSBvcmdVbml0SWQpKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJvbGVBc3NpZ25tZW50U2VydmljZS5yZXZva2VBc3NpZ25tZW50KGFzc2lnbm1lbnQuaWQsIC4uLmFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRoaXMucm9sZUFzc2lnbm1lbnRTZXJ2aWNlLmFzc2lnblJvbGUoe1xuICAgICAgICAgICAgdGVuYW50SWQsXG4gICAgICAgICAgICBwcmluY2lwYWxJZCxcbiAgICAgICAgICAgIHJvbGVJZDogcm9sZS5pZCxcbiAgICAgICAgICAgIHNjb3BlS2luZDogU2NvcGVLaW5kLk9yZ1VuaXQsXG4gICAgICAgICAgICBzY29wZUlkOiBvcmdVbml0SWQsXG4gICAgICAgICAgICBpbmhlcml0RG93bixcbiAgICAgICAgfSwgLi4uYXJncyk7XG4gICAgICAgIGF3YWl0IHRoaXMuZWZmZWN0aXZlUGVybWlzc2lvblNlcnZpY2UucmVidWlsZEZvclByaW5jaXBhbCh0ZW5hbnRJZCwgcHJpbmNpcGFsSWQsIC4uLmFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyBzdXNwZW5kVXNlckluVGVuYW50KHRlbmFudE1lbWJlcnNoaXBJZCwgdGVuYW50SWQsIHByaW5jaXBhbElkLCAuLi5hcmdzKSB7XG4gICAgICAgIGF3YWl0IHRoaXMubWVtYmVyc2hpcFNlcnZpY2Uuc2V0U3RhdHVzKHRlbmFudE1lbWJlcnNoaXBJZCwgTWVtYmVyc2hpcFN0YXR1cy5TdXNwZW5kZWQsIC4uLmFyZ3MpO1xuICAgICAgICBhd2FpdCB0aGlzLmVmZmVjdGl2ZVBlcm1pc3Npb25TZXJ2aWNlLmRlbGV0ZUZvclByaW5jaXBhbCh0ZW5hbnRJZCwgcHJpbmNpcGFsSWQsIC4uLmFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyByZWFjdGl2YXRlVXNlckluVGVuYW50KHRlbmFudE1lbWJlcnNoaXBJZCwgdGVuYW50SWQsIHByaW5jaXBhbElkLCAuLi5hcmdzKSB7XG4gICAgICAgIGF3YWl0IHRoaXMubWVtYmVyc2hpcFNlcnZpY2Uuc2V0U3RhdHVzKHRlbmFudE1lbWJlcnNoaXBJZCwgTWVtYmVyc2hpcFN0YXR1cy5BY3RpdmUsIC4uLmFyZ3MpO1xuICAgICAgICBhd2FpdCB0aGlzLmVmZmVjdGl2ZVBlcm1pc3Npb25TZXJ2aWNlLnJlYnVpbGRGb3JQcmluY2lwYWwodGVuYW50SWQsIHByaW5jaXBhbElkLCAuLi5hcmdzKTtcbiAgICB9XG59XG5fX2RlY29yYXRlKFtcbiAgICB0cmFuc2FjdGlvbmFsKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW1N0cmluZywgU3RyaW5nLCBTdHJpbmcsIFN0cmluZywgT2JqZWN0XSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpyZXR1cm50eXBlXCIsIFByb21pc2UpXG5dLCBTeXN0ZW1NYW5hZ2VtZW50U2VydmljZS5wcm90b3R5cGUsIFwib25ib2FyZFVzZXJUb1RlbmFudEFuZE9yZ1VuaXRcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICB0cmFuc2FjdGlvbmFsKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW1N0cmluZywgU3RyaW5nLCBTdHJpbmcsIFN0cmluZywgQm9vbGVhbiwgT2JqZWN0XSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpyZXR1cm50eXBlXCIsIFByb21pc2UpXG5dLCBTeXN0ZW1NYW5hZ2VtZW50U2VydmljZS5wcm90b3R5cGUsIFwiY2hhbmdlVXNlck9yZ1JvbGVcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICB0cmFuc2FjdGlvbmFsKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW1N0cmluZywgU3RyaW5nLCBTdHJpbmcsIE9iamVjdF0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgU3lzdGVtTWFuYWdlbWVudFNlcnZpY2UucHJvdG90eXBlLCBcInN1c3BlbmRVc2VySW5UZW5hbnRcIiwgbnVsbCk7XG5fX2RlY29yYXRlKFtcbiAgICB0cmFuc2FjdGlvbmFsKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW1N0cmluZywgU3RyaW5nLCBTdHJpbmcsIE9iamVjdF0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgU3lzdGVtTWFuYWdlbWVudFNlcnZpY2UucHJvdG90eXBlLCBcInJlYWN0aXZhdGVVc2VySW5UZW5hbnRcIiwgbnVsbCk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2ljM2x6ZEdWdExXMWhibUZuWlcxbGJuUXVjMlZ5ZG1salpTNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUwzTnlZeTl1WVcxbGMzQmhZMlZ6TDNObGNuWnBZMlZ6TDNONWMzUmxiUzF0WVc1aFoyVnRaVzUwTG5ObGNuWnBZMlV1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3TzBGQlFVRXNUMEZCVHl4RlFVRkZMR0ZCUVdFc1JVRkJSU3h6UWtGQmFVSTdRVUZEZWtNc1QwRkJUeXhGUVVGRkxHZENRVUZuUWl4RlFVRkZMRk5CUVZNc1JVRkJSU3h6UWtGQmFVSTdRVUZEZGtRc1QwRkJUeXhGUVVGRkxIVkNRVUYxUWl4RlFVRkZMRTFCUVUwc05rSkJRVFpDTEVOQlFVTTdRVUZEZEVVc1QwRkJUeXhGUVVGRkxIZENRVUYzUWl4RlFVRkZMRTFCUVUwc0swSkJRU3RDTEVOQlFVTTdRVUZEZWtVc1QwRkJUeXhGUVVGRkxHZENRVUZuUWl4RlFVRkZMRTFCUVUwc2NVSkJRWEZDTEVOQlFVTTdRVUZEZGtRc1QwRkJUeXhGUVVGRkxGZEJRVmNzUlVGQlJTeE5RVUZOTEdkQ1FVRm5RaXhEUVVGRE8wRkJRemRETEU5QlFVOHNSVUZCUlN4eFFrRkJjVUlzUlVGQlJTeE5RVUZOTERKQ1FVRXlRaXhEUVVGRE8wRkJRMnhGTEU5QlFVOHNSVUZCUlN3d1FrRkJNRUlzUlVGQlJTeE5RVUZOTEdkRFFVRm5ReXhEUVVGRE8wRkJSVFZGTEUxQlFVMHNUMEZCVHl4MVFrRkJkVUk3U1VGQmNFTTdVVUZEVlN4elFrRkJhVUlzUjBGQlJ5eEpRVUZKTEhWQ1FVRjFRaXhGUVVGRkxFTkJRVU03VVVGRGJFUXNlVUpCUVc5Q0xFZEJRVWNzU1VGQlNTeDNRa0ZCZDBJc1JVRkJSU3hEUVVGRE8xRkJRM1JFTEhGQ1FVRm5RaXhIUVVGSExFbEJRVWtzWjBKQlFXZENMRVZCUVVVc1EwRkJRenRSUVVNeFF5eG5Ra0ZCVnl4SFFVRkhMRWxCUVVrc1YwRkJWeXhGUVVGRkxFTkJRVU03VVVGRGFFTXNNRUpCUVhGQ0xFZEJRVWNzU1VGQlNTeHhRa0ZCY1VJc1JVRkJSU3hEUVVGRE8xRkJRM0JFTEN0Q1FVRXdRaXhIUVVGSExFbEJRVWtzTUVKQlFUQkNMRVZCUVVVc1EwRkJRenRKUVc5RmVFVXNRMEZCUXp0SlFXcEZUeXhCUVVGT0xFdEJRVXNzUTBGQlF5dzJRa0ZCTmtJc1EwRkRha01zVVVGQlowSXNSVUZEYUVJc1RVRkJZeXhGUVVOa0xGTkJRV2xDTEVWQlEycENMRTlCUVdVc1JVRkRaaXhIUVVGSExFbEJRVmM3VVVGRlpDeE5RVUZOTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eGxRVUZsTEVOQlFVTXNVVUZCVVN4RlFVRkZMRTFCUVUwc1JVRkJSU3huUWtGQlowSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU5xUnl4TlFVRk5MRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4blFrRkJaMElzUTBGQlF5eFJRVUZSTEVWQlFVVXNVMEZCVXl4RlFVRkZMRTFCUVUwc1JVRkJSU3huUWtGQlowSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU5vU0N4TlFVRk5MRk5CUVZNc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4UlFVRlJMRVZCUVVVc1RVRkJUU3hGUVVGRkxFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTTdVVUZETVVZc1RVRkJUU3hKUVVGSkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZGQlFWRXNSVUZCUlN4UFFVRlBMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU51Uml4TlFVRk5MRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4VlFVRlZMRU5CUTNwRE8xbEJRMFVzVVVGQlVUdFpRVU5TTEZkQlFWY3NSVUZCUlN4VFFVRlRMRU5CUVVNc1JVRkJSVHRaUVVONlFpeE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRVZCUVVVN1dVRkRaaXhUUVVGVExFVkJRVVVzVTBGQlV5eERRVUZETEU5QlFVODdXVUZETlVJc1QwRkJUeXhGUVVGRkxGTkJRVk03V1VGRGJFSXNWMEZCVnl4RlFVRkZMRWxCUVVrN1UwRkRiRUlzUlVGRFJDeEhRVUZITEVsQlFVa3NRMEZEVWl4RFFVRkRPMUZCUTBZc1RVRkJUU3hKUVVGSkxFTkJRVU1zTUVKQlFUQkNMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNVVUZCVVN4RlFVRkZMRk5CUVZNc1EwRkJReXhGUVVGRkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTXpSaXhQUVVGUExFVkJRVVVzVjBGQlZ5eEZRVUZGTEZOQlFWTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJRenRKUVVOMlF5eERRVUZETzBsQlIwc3NRVUZCVGl4TFFVRkxMRU5CUVVNc2FVSkJRV2xDTEVOQlEzSkNMRkZCUVdkQ0xFVkJRMmhDTEZkQlFXMUNMRVZCUTI1Q0xGTkJRV2xDTEVWQlEycENMRTlCUVdVc1JVRkRaaXhYUVVGdlFpeEZRVU53UWl4SFFVRkhMRWxCUVZjN1VVRkZaQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNVVUZCVVN4RlFVRkZMRTlCUVU4c1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEyNUdMRTFCUVUwc2EwSkJRV3RDTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU1zVVVGQlVTeEZRVUZGTEZkQlFWY3NSVUZCUlN4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRM0pJTEV0QlFVc3NUVUZCVFN4VlFVRlZMRWxCUVVrc2EwSkJRV3RDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNVMEZCVXl4TFFVRkxMRk5CUVZNc1EwRkJReXhQUVVGUExFbEJRVWtzUjBGQlJ5eERRVUZETEU5QlFVOHNTMEZCU3l4VFFVRlRMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRemxJTEUxQlFVMHNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEdkQ1FVRm5RaXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVNMVJTeERRVUZETzFGQlEwUXNUVUZCVFN4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNWVUZCVlN4RFFVTjZRenRaUVVORkxGRkJRVkU3V1VGRFVpeFhRVUZYTzFsQlExZ3NUVUZCVFN4RlFVRkZMRWxCUVVrc1EwRkJReXhGUVVGRk8xbEJRMllzVTBGQlV5eEZRVUZGTEZOQlFWTXNRMEZCUXl4UFFVRlBPMWxCUXpWQ0xFOUJRVThzUlVGQlJTeFRRVUZUTzFsQlEyeENMRmRCUVZjN1UwRkRXaXhGUVVORUxFZEJRVWNzU1VGQlNTeERRVU5TTEVOQlFVTTdVVUZEUml4TlFVRk5MRWxCUVVrc1EwRkJReXd3UWtGQk1FSXNRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eFJRVUZSTEVWQlFVVXNWMEZCVnl4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRE5VWXNRMEZCUXp0SlFVZExMRUZCUVU0c1MwRkJTeXhEUVVGRExHMUNRVUZ0UWl4RFFVRkRMR3RDUVVFd1FpeEZRVUZGTEZGQlFXZENMRVZCUVVVc1YwRkJiVUlzUlVGQlJTeEhRVUZITEVsQlFWYzdVVUZEZWtjc1RVRkJUU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1UwRkJVeXhEUVVGRExHdENRVUZyUWl4RlFVRkZMR2RDUVVGblFpeERRVUZETEZOQlFWTXNSVUZCUlN4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRMmhITEUxQlFVMHNTVUZCU1N4RFFVRkRMREJDUVVFd1FpeERRVUZETEd0Q1FVRnJRaXhEUVVGRExGRkJRVkVzUlVGQlJTeFhRVUZYTEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJRenRKUVVNelJpeERRVUZETzBsQlIwc3NRVUZCVGl4TFFVRkxMRU5CUVVNc2MwSkJRWE5DTEVOQlFVTXNhMEpCUVRCQ0xFVkJRVVVzVVVGQlowSXNSVUZCUlN4WFFVRnRRaXhGUVVGRkxFZEJRVWNzU1VGQlZ6dFJRVU0xUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4VFFVRlRMRU5CUVVNc2EwSkJRV3RDTEVWQlFVVXNaMEpCUVdkQ0xFTkJRVU1zVFVGQlRTeEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkROMFlzVFVGQlRTeEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1VVRkJVU3hGUVVGRkxGZEJRVmNzUlVGQlJTeEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpWR0xFTkJRVU03UTBGRFJqdEJRV3BGVHp0SlFVUk1MR0ZCUVdFc1JVRkJSVHM3T3pzMFJVRjVRbVk3UVVGSFN6dEpRVVJNTEdGQlFXRXNSVUZCUlRzN096dG5SVUV3UW1ZN1FVRkhTenRKUVVSTUxHRkJRV0VzUlVGQlJUczdPenRyUlVGSlpqdEJRVWRMTzBsQlJFd3NZVUZCWVN4RlFVRkZPenM3TzNGRlFVbG1JaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnZEhKaGJuTmhZM1JwYjI1aGJDQjlJR1p5YjIwZ1hDSXVMaTkxZEdsc2Mxd2lPMXh1YVcxd2IzSjBJSHNnVFdWdFltVnljMmhwY0ZOMFlYUjFjeXdnVTJOdmNHVkxhVzVrSUgwZ1puSnZiU0JjSWk0dUwzUjVjR1Z6WENJN1hHNXBiWEJ2Y25RZ2V5QlVaVzVoYm5STlpXMWlaWEp6YUdsd1UyVnlkbWxqWlNCOUlHWnliMjBnWENJdUwzUmxibUZ1ZEMxdFpXMWlaWEp6YUdsd0xuTmxjblpwWTJWY0lqdGNibWx0Y0c5eWRDQjdJRTl5WjFWdWFYUk5aVzFpWlhKemFHbHdVMlZ5ZG1salpTQjlJR1p5YjIwZ1hDSXVMMjl5WnkxMWJtbDBMVzFsYldKbGNuTm9hWEF1YzJWeWRtbGpaVndpTzF4dWFXMXdiM0owSUhzZ1VISnBibU5wY0dGc1UyVnlkbWxqWlNCOUlHWnliMjBnWENJdUwzQnlhVzVqYVhCaGJDNXpaWEoyYVdObFhDSTdYRzVwYlhCdmNuUWdleUJTYjJ4bFUyVnlkbWxqWlNCOUlHWnliMjBnWENJdUwzSnZiR1V1YzJWeWRtbGpaVndpTzF4dWFXMXdiM0owSUhzZ1VtOXNaVUZ6YzJsbmJtMWxiblJUWlhKMmFXTmxJSDBnWm5KdmJTQmNJaTR2Y205c1pTMWhjM05wWjI1dFpXNTBMbk5sY25acFkyVmNJanRjYm1sdGNHOXlkQ0I3SUVWbVptVmpkR2wyWlZCbGNtMXBjM05wYjI1VFpYSjJhV05sSUgwZ1puSnZiU0JjSWk0dlpXWm1aV04wYVhabExYQmxjbTFwYzNOcGIyNHVjMlZ5ZG1salpWd2lPMXh1WEc1bGVIQnZjblFnWTJ4aGMzTWdVM2x6ZEdWdFRXRnVZV2RsYldWdWRGTmxjblpwWTJVZ2UxeHVJQ0J3Y21sMllYUmxJRzFsYldKbGNuTm9hWEJUWlhKMmFXTmxJRDBnYm1WM0lGUmxibUZ1ZEUxbGJXSmxjbk5vYVhCVFpYSjJhV05sS0NrN1hHNGdJSEJ5YVhaaGRHVWdiM0puVFdWdFltVnljMmhwY0ZObGNuWnBZMlVnUFNCdVpYY2dUM0puVlc1cGRFMWxiV0psY25Ob2FYQlRaWEoyYVdObEtDazdYRzRnSUhCeWFYWmhkR1VnY0hKcGJtTnBjR0ZzVTJWeWRtbGpaU0E5SUc1bGR5QlFjbWx1WTJsd1lXeFRaWEoyYVdObEtDazdYRzRnSUhCeWFYWmhkR1VnY205c1pWTmxjblpwWTJVZ1BTQnVaWGNnVW05c1pWTmxjblpwWTJVb0tUdGNiaUFnY0hKcGRtRjBaU0J5YjJ4bFFYTnphV2R1YldWdWRGTmxjblpwWTJVZ1BTQnVaWGNnVW05c1pVRnpjMmxuYm0xbGJuUlRaWEoyYVdObEtDazdYRzRnSUhCeWFYWmhkR1VnWldabVpXTjBhWFpsVUdWeWJXbHpjMmx2YmxObGNuWnBZMlVnUFNCdVpYY2dSV1ptWldOMGFYWmxVR1Z5YldsemMybHZibE5sY25acFkyVW9LVHRjYmx4dUlDQkFkSEpoYm5OaFkzUnBiMjVoYkNncFhHNGdJR0Z6ZVc1aklHOXVZbTloY21SVmMyVnlWRzlVWlc1aGJuUkJibVJQY21kVmJtbDBLRnh1SUNBZ0lIUmxibUZ1ZEVsa09pQnpkSEpwYm1jc1hHNGdJQ0FnZFhObGNrbGtPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2IzSm5WVzVwZEVsa09pQnpkSEpwYm1jc1hHNGdJQ0FnY205c1pVdGxlVG9nYzNSeWFXNW5MRnh1SUNBZ0lDNHVMbUZ5WjNNNklHRnVlVnRkWEc0Z0lDazZJRkJ5YjIxcGMyVThleUJ3Y21sdVkybHdZV3hKWkRvZ2MzUnlhVzVuSUgwK0lIdGNiaUFnSUNCaGQyRnBkQ0IwYUdsekxtMWxiV0psY25Ob2FYQlRaWEoyYVdObExtRmtaRlZ6WlhKVWIxUmxibUZ1ZENoMFpXNWhiblJKWkN3Z2RYTmxja2xrTENCTlpXMWlaWEp6YUdsd1UzUmhkSFZ6TGtGamRHbDJaU3dnTGk0dVlYSm5jeWs3WEc0Z0lDQWdZWGRoYVhRZ2RHaHBjeTV2Y21kTlpXMWlaWEp6YUdsd1UyVnlkbWxqWlM1aFpHUlZjMlZ5Vkc5UGNtZFZibWwwS0hSbGJtRnVkRWxrTENCdmNtZFZibWwwU1dRc0lIVnpaWEpKWkN3Z1RXVnRZbVZ5YzJocGNGTjBZWFIxY3k1QlkzUnBkbVVzSUM0dUxtRnlaM01wTzF4dUlDQWdJR052Ym5OMElIQnlhVzVqYVhCaGJDQTlJR0YzWVdsMElIUm9hWE11Y0hKcGJtTnBjR0ZzVTJWeWRtbGpaUzVuWlhSVmMyVnlVSEpwYm1OcGNHRnNLSFJsYm1GdWRFbGtMQ0IxYzJWeVNXUXNJQzR1TG1GeVozTXBPMXh1SUNBZ0lHTnZibk4wSUhKdmJHVWdQU0JoZDJGcGRDQjBhR2x6TG5KdmJHVlRaWEoyYVdObExtZGxkRlJsYm1GdWRGSnZiR1ZDZVV0bGVTaDBaVzVoYm5SSlpDd2djbTlzWlV0bGVTd2dMaTR1WVhKbmN5azdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NXliMnhsUVhOemFXZHViV1Z1ZEZObGNuWnBZMlV1WVhOemFXZHVVbTlzWlNoY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2RHVnVZVzUwU1dRc1hHNGdJQ0FnSUNBZ0lIQnlhVzVqYVhCaGJFbGtPaUJ3Y21sdVkybHdZV3d1YVdRc1hHNGdJQ0FnSUNBZ0lISnZiR1ZKWkRvZ2NtOXNaUzVwWkN4Y2JpQWdJQ0FnSUNBZ2MyTnZjR1ZMYVc1a09pQlRZMjl3WlV0cGJtUXVUM0puVlc1cGRDeGNiaUFnSUNBZ0lDQWdjMk52Y0dWSlpEb2diM0puVlc1cGRFbGtMRnh1SUNBZ0lDQWdJQ0JwYm1obGNtbDBSRzkzYmpvZ2RISjFaU3hjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0F1TGk1aGNtZHpYRzRnSUNBZ0tUdGNiaUFnSUNCaGQyRnBkQ0IwYUdsekxtVm1abVZqZEdsMlpWQmxjbTFwYzNOcGIyNVRaWEoyYVdObExuSmxZblZwYkdSR2IzSlFjbWx1WTJsd1lXd29kR1Z1WVc1MFNXUXNJSEJ5YVc1amFYQmhiQzVwWkN3Z0xpNHVZWEpuY3lrN1hHNGdJQ0FnY21WMGRYSnVJSHNnY0hKcGJtTnBjR0ZzU1dRNklIQnlhVzVqYVhCaGJDNXBaQ0I5TzF4dUlDQjlYRzVjYmlBZ1FIUnlZVzV6WVdOMGFXOXVZV3dvS1Z4dUlDQmhjM2x1WXlCamFHRnVaMlZWYzJWeVQzSm5VbTlzWlNoY2JpQWdJQ0IwWlc1aGJuUkpaRG9nYzNSeWFXNW5MRnh1SUNBZ0lIQnlhVzVqYVhCaGJFbGtPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2IzSm5WVzVwZEVsa09pQnpkSEpwYm1jc1hHNGdJQ0FnY205c1pVdGxlVG9nYzNSeWFXNW5MRnh1SUNBZ0lHbHVhR1Z5YVhSRWIzZHVPaUJpYjI5c1pXRnVMRnh1SUNBZ0lDNHVMbUZ5WjNNNklHRnVlVnRkWEc0Z0lDazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSEp2YkdVZ1BTQmhkMkZwZENCMGFHbHpMbkp2YkdWVFpYSjJhV05sTG1kbGRGUmxibUZ1ZEZKdmJHVkNlVXRsZVNoMFpXNWhiblJKWkN3Z2NtOXNaVXRsZVN3Z0xpNHVZWEpuY3lrN1hHNGdJQ0FnWTI5dWMzUWdZM1Z5Y21WdWRFRnpjMmxuYm0xbGJuUnpJRDBnWVhkaGFYUWdkR2hwY3k1eWIyeGxRWE56YVdkdWJXVnVkRk5sY25acFkyVXViR2x6ZEZCeWFXNWphWEJoYkVGemMybG5ibTFsYm5SektIUmxibUZ1ZEVsa0xDQndjbWx1WTJsd1lXeEpaQ3dnTGk0dVlYSm5jeWs3WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0JoYzNOcFoyNXRaVzUwSUc5bUlHTjFjbkpsYm5SQmMzTnBaMjV0Wlc1MGN5NW1hV3gwWlhJb0tISnZkeWtnUFQ0Z2NtOTNMbk5qYjNCbFMybHVaQ0E5UFQwZ1UyTnZjR1ZMYVc1a0xrOXlaMVZ1YVhRZ0ppWWdjbTkzTG5OamIzQmxTV1FnUFQwOUlHOXlaMVZ1YVhSSlpDa3BJSHRjYmlBZ0lDQWdJR0YzWVdsMElIUm9hWE11Y205c1pVRnpjMmxuYm0xbGJuUlRaWEoyYVdObExuSmxkbTlyWlVGemMybG5ibTFsYm5Rb1lYTnphV2R1YldWdWRDNXBaQ3dnTGk0dVlYSm5jeWs3WEc0Z0lDQWdmVnh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVjbTlzWlVGemMybG5ibTFsYm5SVFpYSjJhV05sTG1GemMybG5ibEp2YkdVb1hHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIUmxibUZ1ZEVsa0xGeHVJQ0FnSUNBZ0lDQndjbWx1WTJsd1lXeEpaQ3hjYmlBZ0lDQWdJQ0FnY205c1pVbGtPaUJ5YjJ4bExtbGtMRnh1SUNBZ0lDQWdJQ0J6WTI5d1pVdHBibVE2SUZOamIzQmxTMmx1WkM1UGNtZFZibWwwTEZ4dUlDQWdJQ0FnSUNCelkyOXdaVWxrT2lCdmNtZFZibWwwU1dRc1hHNGdJQ0FnSUNBZ0lHbHVhR1Z5YVhSRWIzZHVMRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQzR1TG1GeVozTmNiaUFnSUNBcE8xeHVJQ0FnSUdGM1lXbDBJSFJvYVhNdVpXWm1aV04wYVhabFVHVnliV2x6YzJsdmJsTmxjblpwWTJVdWNtVmlkV2xzWkVadmNsQnlhVzVqYVhCaGJDaDBaVzVoYm5SSlpDd2djSEpwYm1OcGNHRnNTV1FzSUM0dUxtRnlaM01wTzF4dUlDQjlYRzVjYmlBZ1FIUnlZVzV6WVdOMGFXOXVZV3dvS1Z4dUlDQmhjM2x1WXlCemRYTndaVzVrVlhObGNrbHVWR1Z1WVc1MEtIUmxibUZ1ZEUxbGJXSmxjbk5vYVhCSlpEb2djM1J5YVc1bkxDQjBaVzVoYm5SSlpEb2djM1J5YVc1bkxDQndjbWx1WTJsd1lXeEpaRG9nYzNSeWFXNW5MQ0F1TGk1aGNtZHpPaUJoYm5sYlhTazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdGM1lXbDBJSFJvYVhNdWJXVnRZbVZ5YzJocGNGTmxjblpwWTJVdWMyVjBVM1JoZEhWektIUmxibUZ1ZEUxbGJXSmxjbk5vYVhCSlpDd2dUV1Z0WW1WeWMyaHBjRk4wWVhSMWN5NVRkWE53Wlc1a1pXUXNJQzR1TG1GeVozTXBPMXh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVaV1ptWldOMGFYWmxVR1Z5YldsemMybHZibE5sY25acFkyVXVaR1ZzWlhSbFJtOXlVSEpwYm1OcGNHRnNLSFJsYm1GdWRFbGtMQ0J3Y21sdVkybHdZV3hKWkN3Z0xpNHVZWEpuY3lrN1hHNGdJSDFjYmx4dUlDQkFkSEpoYm5OaFkzUnBiMjVoYkNncFhHNGdJR0Z6ZVc1aklISmxZV04wYVhaaGRHVlZjMlZ5U1c1VVpXNWhiblFvZEdWdVlXNTBUV1Z0WW1WeWMyaHBjRWxrT2lCemRISnBibWNzSUhSbGJtRnVkRWxrT2lCemRISnBibWNzSUhCeWFXNWphWEJoYkVsa09pQnpkSEpwYm1jc0lDNHVMbUZ5WjNNNklHRnVlVnRkS1RvZ1VISnZiV2x6WlR4MmIybGtQaUI3WEc0Z0lDQWdZWGRoYVhRZ2RHaHBjeTV0WlcxaVpYSnphR2x3VTJWeWRtbGpaUzV6WlhSVGRHRjBkWE1vZEdWdVlXNTBUV1Z0WW1WeWMyaHBjRWxrTENCTlpXMWlaWEp6YUdsd1UzUmhkSFZ6TGtGamRHbDJaU3dnTGk0dVlYSm5jeWs3WEc0Z0lDQWdZWGRoYVhRZ2RHaHBjeTVsWm1abFkzUnBkbVZRWlhKdGFYTnphVzl1VTJWeWRtbGpaUzV5WldKMWFXeGtSbTl5VUhKcGJtTnBjR0ZzS0hSbGJtRnVkRWxrTENCd2NtbHVZMmx3WVd4SlpDd2dMaTR1WVhKbmN5azdYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TenantMembershipService = void 0;
|
|
4
|
+
const utils_js_1 = require("./../utils.cjs");
|
|
5
|
+
const types_js_1 = require("./../types.cjs");
|
|
6
|
+
const tenant_membership_model_1 = require("../models/tenant-membership.model");
|
|
7
|
+
class TenantMembershipService extends utils_js_1.BaseModelService {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(tenant_membership_model_1.TenantMembership);
|
|
10
|
+
}
|
|
11
|
+
async addUserToTenant(tenantId, userId, status = types_js_1.MembershipStatus.Active, ...args) {
|
|
12
|
+
return this.create({
|
|
13
|
+
tenant: tenantId,
|
|
14
|
+
user: userId,
|
|
15
|
+
status,
|
|
16
|
+
}, ...args);
|
|
17
|
+
}
|
|
18
|
+
async setStatus(membershipId, status, ...args) {
|
|
19
|
+
return this.updateOne(membershipId, { status }, ...args);
|
|
20
|
+
}
|
|
21
|
+
async listUserTenants(userId, ...args) {
|
|
22
|
+
return (await this.listAll(...args)).filter((membership) => (0, utils_js_1.relationMatch)(membership.user, userId));
|
|
23
|
+
}
|
|
24
|
+
async listTenantUsers(tenantId, ...args) {
|
|
25
|
+
return (await this.listAll(...args)).filter((membership) => (0, utils_js_1.sameTenant)(membership.tenant, tenantId));
|
|
26
|
+
}
|
|
27
|
+
async removeUserFromTenant(membershipId, ...args) {
|
|
28
|
+
await this.deleteById(membershipId, ...args);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.TenantMembershipService = TenantMembershipService;
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1lbWJlcnNoaXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uYW1lc3BhY2VzL3NlcnZpY2VzL3RlbmFudC1tZW1iZXJzaGlwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsc0JBQWlCO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxzQkFBaUI7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFckUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFrQztJQUM3RTtRQUNFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUNuQixRQUFnQixFQUNoQixNQUFjLEVBQ2QsU0FBMkIsZ0JBQWdCLENBQUMsTUFBTSxFQUNsRCxHQUFHLElBQVc7UUFFZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCO1lBQ0UsTUFBTSxFQUFFLFFBQVE7WUFDaEIsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNO1NBQ1AsRUFDRCxHQUFHLElBQUksQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsWUFBb0IsRUFBRSxNQUF3QixFQUFFLEdBQUcsSUFBVztRQUM1RSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFjLEVBQUUsR0FBRyxJQUFXO1FBQ2xELE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFnQixFQUFFLEdBQUcsSUFBVztRQUNwRCxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxZQUFvQixFQUFFLEdBQUcsSUFBVztRQUM3RCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsU2VydmljZSwgcmVsYXRpb25NYXRjaCwgc2FtZVRlbmFudCB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgTWVtYmVyc2hpcFN0YXR1cyB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgVGVuYW50TWVtYmVyc2hpcCB9IGZyb20gXCIuLi9tb2RlbHMvdGVuYW50LW1lbWJlcnNoaXAubW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIFRlbmFudE1lbWJlcnNoaXBTZXJ2aWNlIGV4dGVuZHMgQmFzZU1vZGVsU2VydmljZTxUZW5hbnRNZW1iZXJzaGlwPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFRlbmFudE1lbWJlcnNoaXApO1xuICB9XG5cbiAgYXN5bmMgYWRkVXNlclRvVGVuYW50KFxuICAgIHRlbmFudElkOiBzdHJpbmcsXG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgc3RhdHVzOiBNZW1iZXJzaGlwU3RhdHVzID0gTWVtYmVyc2hpcFN0YXR1cy5BY3RpdmUsXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTxUZW5hbnRNZW1iZXJzaGlwPiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKFxuICAgICAge1xuICAgICAgICB0ZW5hbnQ6IHRlbmFudElkLFxuICAgICAgICB1c2VyOiB1c2VySWQsXG4gICAgICAgIHN0YXR1cyxcbiAgICAgIH0sXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHNldFN0YXR1cyhtZW1iZXJzaGlwSWQ6IHN0cmluZywgc3RhdHVzOiBNZW1iZXJzaGlwU3RhdHVzLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8VGVuYW50TWVtYmVyc2hpcD4ge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZU9uZShtZW1iZXJzaGlwSWQsIHsgc3RhdHVzIH0sIC4uLmFyZ3MpO1xuICB9XG5cbiAgYXN5bmMgbGlzdFVzZXJUZW5hbnRzKHVzZXJJZDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8VGVuYW50TWVtYmVyc2hpcFtdPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmxpc3RBbGwoLi4uYXJncykpLmZpbHRlcigobWVtYmVyc2hpcCkgPT4gcmVsYXRpb25NYXRjaChtZW1iZXJzaGlwLnVzZXIsIHVzZXJJZCkpO1xuICB9XG5cbiAgYXN5bmMgbGlzdFRlbmFudFVzZXJzKHRlbmFudElkOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxUZW5hbnRNZW1iZXJzaGlwW10+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMubGlzdEFsbCguLi5hcmdzKSkuZmlsdGVyKChtZW1iZXJzaGlwKSA9PiBzYW1lVGVuYW50KG1lbWJlcnNoaXAudGVuYW50LCB0ZW5hbnRJZCkpO1xuICB9XG5cbiAgYXN5bmMgcmVtb3ZlVXNlckZyb21UZW5hbnQobWVtYmVyc2hpcElkOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5kZWxldGVCeUlkKG1lbWJlcnNoaXBJZCwgLi4uYXJncyk7XG4gIH1cbn1cbiJdfQ==
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1lbWJlcnNoaXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlbmFudC1tZW1iZXJzaGlwLnNlcnZpY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBQTRFO0FBQzVFLDRDQUFpRDtBQUNqRCwrRUFBcUU7QUFDckUsTUFBYSx1QkFBd0IsU0FBUSwyQkFBZ0I7SUFDekQ7UUFDSSxLQUFLLENBQUMsMENBQWdCLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRywyQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJO1FBQzdFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNmLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTTtTQUNULEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQ0QsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSTtRQUN6QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJO1FBQ2pDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBQSx3QkFBYSxFQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBQ0QsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJO1FBQ25DLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBQSxxQkFBVSxFQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBQ0QsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxHQUFHLElBQUk7UUFDNUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FDSjtBQXZCRCwwREF1QkM7QUFDRCxra0hBQWtrSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbFNlcnZpY2UsIHJlbGF0aW9uTWF0Y2gsIHNhbWVUZW5hbnQgfSBmcm9tIFwiLi8uLi91dGlscy5qc1wiO1xuaW1wb3J0IHsgTWVtYmVyc2hpcFN0YXR1cyB9IGZyb20gXCIuLy4uL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyBUZW5hbnRNZW1iZXJzaGlwIH0gZnJvbSBcIi4uL21vZGVscy90ZW5hbnQtbWVtYmVyc2hpcC5tb2RlbFwiO1xuZXhwb3J0IGNsYXNzIFRlbmFudE1lbWJlcnNoaXBTZXJ2aWNlIGV4dGVuZHMgQmFzZU1vZGVsU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKFRlbmFudE1lbWJlcnNoaXApO1xuICAgIH1cbiAgICBhc3luYyBhZGRVc2VyVG9UZW5hbnQodGVuYW50SWQsIHVzZXJJZCwgc3RhdHVzID0gTWVtYmVyc2hpcFN0YXR1cy5BY3RpdmUsIC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtcbiAgICAgICAgICAgIHRlbmFudDogdGVuYW50SWQsXG4gICAgICAgICAgICB1c2VyOiB1c2VySWQsXG4gICAgICAgICAgICBzdGF0dXMsXG4gICAgICAgIH0sIC4uLmFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyBzZXRTdGF0dXMobWVtYmVyc2hpcElkLCBzdGF0dXMsIC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlT25lKG1lbWJlcnNoaXBJZCwgeyBzdGF0dXMgfSwgLi4uYXJncyk7XG4gICAgfVxuICAgIGFzeW5jIGxpc3RVc2VyVGVuYW50cyh1c2VySWQsIC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmxpc3RBbGwoLi4uYXJncykpLmZpbHRlcigobWVtYmVyc2hpcCkgPT4gcmVsYXRpb25NYXRjaChtZW1iZXJzaGlwLnVzZXIsIHVzZXJJZCkpO1xuICAgIH1cbiAgICBhc3luYyBsaXN0VGVuYW50VXNlcnModGVuYW50SWQsIC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmxpc3RBbGwoLi4uYXJncykpLmZpbHRlcigobWVtYmVyc2hpcCkgPT4gc2FtZVRlbmFudChtZW1iZXJzaGlwLnRlbmFudCwgdGVuYW50SWQpKTtcbiAgICB9XG4gICAgYXN5bmMgcmVtb3ZlVXNlckZyb21UZW5hbnQobWVtYmVyc2hpcElkLCAuLi5hcmdzKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuZGVsZXRlQnlJZChtZW1iZXJzaGlwSWQsIC4uLmFyZ3MpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRHVnVZVzUwTFcxbGJXSmxjbk5vYVhBdWMyVnlkbWxqWlM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1TDNOeVl5OXVZVzFsYzNCaFkyVnpMM05sY25acFkyVnpMM1JsYm1GdWRDMXRaVzFpWlhKemFHbHdMbk5sY25acFkyVXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1QwRkJUeXhGUVVGRkxHZENRVUZuUWl4RlFVRkZMR0ZCUVdFc1JVRkJSU3hWUVVGVkxFVkJRVVVzYzBKQlFXbENPMEZCUTNaRkxFOUJRVThzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3h6UWtGQmFVSTdRVUZETlVNc1QwRkJUeXhGUVVGRkxHZENRVUZuUWl4RlFVRkZMRTFCUVUwc2JVTkJRVzFETEVOQlFVTTdRVUZGY2tVc1RVRkJUU3hQUVVGUExIVkNRVUYzUWl4VFFVRlJMR2RDUVVGclF6dEpRVU0zUlR0UlFVTkZMRXRCUVVzc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RFFVRkRPMGxCUXpGQ0xFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVTnVRaXhSUVVGblFpeEZRVU5vUWl4TlFVRmpMRVZCUTJRc1UwRkJNa0lzWjBKQlFXZENMRU5CUVVNc1RVRkJUU3hGUVVOc1JDeEhRVUZITEVsQlFWYzdVVUZGWkN4UFFVRlBMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRMmhDTzFsQlEwVXNUVUZCVFN4RlFVRkZMRkZCUVZFN1dVRkRhRUlzU1VGQlNTeEZRVUZGTEUxQlFVMDdXVUZEV2l4TlFVRk5PMU5CUTFBc1JVRkRSQ3hIUVVGSExFbEJRVWtzUTBGRFVpeERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zV1VGQmIwSXNSVUZCUlN4TlFVRjNRaXhGUVVGRkxFZEJRVWNzU1VGQlZ6dFJRVU0xUlN4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zV1VGQldTeEZRVUZGTEVWQlFVVXNUVUZCVFN4RlFVRkZMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU16UkN4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHVkJRV1VzUTBGQlF5eE5RVUZqTEVWQlFVVXNSMEZCUnl4SlFVRlhPMUZCUTJ4RUxFOUJRVThzUTBGQlF5eE5RVUZOTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRlZCUVZVc1JVRkJSU3hGUVVGRkxFTkJRVU1zWVVGQllTeERRVUZETEZWQlFWVXNRMEZCUXl4SlFVRkpMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU4wUnl4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHVkJRV1VzUTBGQlF5eFJRVUZuUWl4RlFVRkZMRWRCUVVjc1NVRkJWenRSUVVOd1JDeFBRVUZQTEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhWUVVGVkxFVkJRVVVzUlVGQlJTeERRVUZETEZWQlFWVXNRMEZCUXl4VlFVRlZMRU5CUVVNc1RVRkJUU3hGUVVGRkxGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEZGtjc1EwRkJRenRKUVVWRUxFdEJRVXNzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhaUVVGdlFpeEZRVUZGTEVkQlFVY3NTVUZCVnp0UlFVTTNSQ3hOUVVGTkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNXVUZCV1N4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGREwwTXNRMEZCUXp0RFFVTkdJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnUW1GelpVMXZaR1ZzVTJWeWRtbGpaU3dnY21Wc1lYUnBiMjVOWVhSamFDd2djMkZ0WlZSbGJtRnVkQ0I5SUdaeWIyMGdYQ0l1TGk5MWRHbHNjMXdpTzF4dWFXMXdiM0owSUhzZ1RXVnRZbVZ5YzJocGNGTjBZWFIxY3lCOUlHWnliMjBnWENJdUxpOTBlWEJsYzF3aU8xeHVhVzF3YjNKMElIc2dWR1Z1WVc1MFRXVnRZbVZ5YzJocGNDQjlJR1p5YjIwZ1hDSXVMaTl0YjJSbGJITXZkR1Z1WVc1MExXMWxiV0psY25Ob2FYQXViVzlrWld4Y0lqdGNibHh1Wlhod2IzSjBJR05zWVhOeklGUmxibUZ1ZEUxbGJXSmxjbk5vYVhCVFpYSjJhV05sSUdWNGRHVnVaSE1nUW1GelpVMXZaR1ZzVTJWeWRtbGpaVHhVWlc1aGJuUk5aVzFpWlhKemFHbHdQaUI3WEc0Z0lHTnZibk4wY25WamRHOXlLQ2tnZTF4dUlDQWdJSE4xY0dWeUtGUmxibUZ1ZEUxbGJXSmxjbk5vYVhBcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ1lXUmtWWE5sY2xSdlZHVnVZVzUwS0Z4dUlDQWdJSFJsYm1GdWRFbGtPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2RYTmxja2xrT2lCemRISnBibWNzWEc0Z0lDQWdjM1JoZEhWek9pQk5aVzFpWlhKemFHbHdVM1JoZEhWeklEMGdUV1Z0WW1WeWMyaHBjRk4wWVhSMWN5NUJZM1JwZG1Vc1hHNGdJQ0FnTGk0dVlYSm5jem9nWVc1NVcxMWNiaUFnS1RvZ1VISnZiV2x6WlR4VVpXNWhiblJOWlcxaVpYSnphR2x3UGlCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkzSmxZWFJsS0Z4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMFpXNWhiblE2SUhSbGJtRnVkRWxrTEZ4dUlDQWdJQ0FnSUNCMWMyVnlPaUIxYzJWeVNXUXNYRzRnSUNBZ0lDQWdJSE4wWVhSMWN5eGNiaUFnSUNBZ0lIMHNYRzRnSUNBZ0lDQXVMaTVoY21kelhHNGdJQ0FnS1R0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUhObGRGTjBZWFIxY3lodFpXMWlaWEp6YUdsd1NXUTZJSE4wY21sdVp5d2djM1JoZEhWek9pQk5aVzFpWlhKemFHbHdVM1JoZEhWekxDQXVMaTVoY21kek9pQmhibmxiWFNrNklGQnliMjFwYzJVOFZHVnVZVzUwVFdWdFltVnljMmhwY0Q0Z2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuVndaR0YwWlU5dVpTaHRaVzFpWlhKemFHbHdTV1FzSUhzZ2MzUmhkSFZ6SUgwc0lDNHVMbUZ5WjNNcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ2JHbHpkRlZ6WlhKVVpXNWhiblJ6S0hWelpYSkpaRG9nYzNSeWFXNW5MQ0F1TGk1aGNtZHpPaUJoYm5sYlhTazZJRkJ5YjIxcGMyVThWR1Z1WVc1MFRXVnRZbVZ5YzJocGNGdGRQaUI3WEc0Z0lDQWdjbVYwZFhKdUlDaGhkMkZwZENCMGFHbHpMbXhwYzNSQmJHd29MaTR1WVhKbmN5a3BMbVpwYkhSbGNpZ29iV1Z0WW1WeWMyaHBjQ2tnUFQ0Z2NtVnNZWFJwYjI1TllYUmphQ2h0WlcxaVpYSnphR2x3TG5WelpYSXNJSFZ6WlhKSlpDa3BPMXh1SUNCOVhHNWNiaUFnWVhONWJtTWdiR2x6ZEZSbGJtRnVkRlZ6WlhKektIUmxibUZ1ZEVsa09pQnpkSEpwYm1jc0lDNHVMbUZ5WjNNNklHRnVlVnRkS1RvZ1VISnZiV2x6WlR4VVpXNWhiblJOWlcxaVpYSnphR2x3VzEwK0lIdGNiaUFnSUNCeVpYUjFjbTRnS0dGM1lXbDBJSFJvYVhNdWJHbHpkRUZzYkNndUxpNWhjbWR6S1NrdVptbHNkR1Z5S0NodFpXMWlaWEp6YUdsd0tTQTlQaUJ6WVcxbFZHVnVZVzUwS0cxbGJXSmxjbk5vYVhBdWRHVnVZVzUwTENCMFpXNWhiblJKWkNrcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ2NtVnRiM1psVlhObGNrWnliMjFVWlc1aGJuUW9iV1Z0WW1WeWMyaHBjRWxrT2lCemRISnBibWNzSUM0dUxtRnlaM002SUdGdWVWdGRLVG9nVUhKdmJXbHpaVHgyYjJsa1BpQjdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NWtaV3hsZEdWQ2VVbGtLRzFsYldKbGNuTm9hWEJKWkN3Z0xpNHVZWEpuY3lrN1hHNGdJSDFjYm4xY2JpSmRmUT09Il19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TenantProfileService = void 0;
|
|
4
|
+
const utils_js_1 = require("./../utils.cjs");
|
|
5
|
+
const tenant_profile_model_1 = require("../models/tenant-profile.model");
|
|
6
|
+
class TenantProfileService extends utils_js_1.BaseModelService {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(tenant_profile_model_1.TenantProfile);
|
|
9
|
+
}
|
|
10
|
+
async createProfile(tenantId, profileKey, metadata, ...args) {
|
|
11
|
+
return this.create({
|
|
12
|
+
tenant: tenantId,
|
|
13
|
+
profileKey,
|
|
14
|
+
metadata,
|
|
15
|
+
}, ...args);
|
|
16
|
+
}
|
|
17
|
+
async listForTenant(tenantId, ...args) {
|
|
18
|
+
return (await this.listAll(...args)).filter((profile) => (0, utils_js_1.sameTenant)(profile.tenant, tenantId));
|
|
19
|
+
}
|
|
20
|
+
async deleteForTenant(tenantId, ...args) {
|
|
21
|
+
for (const row of await this.listForTenant(tenantId, ...args)) {
|
|
22
|
+
await this.deleteById(row.id, ...args);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.TenantProfileService = TenantProfileService;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXByb2ZpbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uYW1lc3BhY2VzL3NlcnZpY2VzL3RlbmFudC1wcm9maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFrQixVQUFVLEVBQUUsc0JBQWlCO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUvRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQStCO0lBQ3ZFO1FBQ0UsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUNqQixRQUFnQixFQUNoQixVQUFrQixFQUNsQixRQUFrQyxFQUNsQyxHQUFHLElBQVc7UUFFZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCO1lBQ0UsTUFBTSxFQUFFLFFBQVE7WUFDaEIsVUFBVTtZQUNWLFFBQVE7U0FDVCxFQUNELEdBQUcsSUFBSSxDQUNSLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFnQixFQUFFLEdBQUcsSUFBVztRQUNsRCxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBZ0IsRUFBRSxHQUFHLElBQVc7UUFDcEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5RCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTW9kZWxTZXJ2aWNlLCBpZCwgcmVsYXRpb25JZCwgc2FtZVRlbmFudCB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgVGVuYW50UHJvZmlsZSB9IGZyb20gXCIuLi9tb2RlbHMvdGVuYW50LXByb2ZpbGUubW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIFRlbmFudFByb2ZpbGVTZXJ2aWNlIGV4dGVuZHMgQmFzZU1vZGVsU2VydmljZTxUZW5hbnRQcm9maWxlPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFRlbmFudFByb2ZpbGUpO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlUHJvZmlsZShcbiAgICB0ZW5hbnRJZDogc3RyaW5nLFxuICAgIHByb2ZpbGVLZXk6IHN0cmluZyxcbiAgICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8VGVuYW50UHJvZmlsZT4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHtcbiAgICAgICAgdGVuYW50OiB0ZW5hbnRJZCxcbiAgICAgICAgcHJvZmlsZUtleSxcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICB9LFxuICAgICAgLi4uYXJnc1xuICAgICk7XG4gIH1cblxuICBhc3luYyBsaXN0Rm9yVGVuYW50KHRlbmFudElkOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxUZW5hbnRQcm9maWxlW10+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMubGlzdEFsbCguLi5hcmdzKSkuZmlsdGVyKChwcm9maWxlKSA9PiBzYW1lVGVuYW50KHByb2ZpbGUudGVuYW50LCB0ZW5hbnRJZCkpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlRm9yVGVuYW50KHRlbmFudElkOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCByb3cgb2YgYXdhaXQgdGhpcy5saXN0Rm9yVGVuYW50KHRlbmFudElkLCAuLi5hcmdzKSkge1xuICAgICAgYXdhaXQgdGhpcy5kZWxldGVCeUlkKHJvdy5pZCwgLi4uYXJncyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXByb2ZpbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlbmFudC1wcm9maWxlLnNlcnZpY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBQTZEO0FBQzdELHlFQUErRDtBQUMvRCxNQUFhLG9CQUFxQixTQUFRLDJCQUFnQjtJQUN0RDtRQUNJLEtBQUssQ0FBQyxvQ0FBYSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNmLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFVBQVU7WUFDVixRQUFRO1NBQ1gsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFDRCxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUk7UUFDakMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHFCQUFVLEVBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFDRCxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUk7UUFDbkMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM1RCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFuQkQsb0RBbUJDO0FBQ0Qsc21GQUFzbUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTW9kZWxTZXJ2aWNlLCBzYW1lVGVuYW50IH0gZnJvbSBcIi4vLi4vdXRpbHMuanNcIjtcbmltcG9ydCB7IFRlbmFudFByb2ZpbGUgfSBmcm9tIFwiLi4vbW9kZWxzL3RlbmFudC1wcm9maWxlLm1vZGVsXCI7XG5leHBvcnQgY2xhc3MgVGVuYW50UHJvZmlsZVNlcnZpY2UgZXh0ZW5kcyBCYXNlTW9kZWxTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoVGVuYW50UHJvZmlsZSk7XG4gICAgfVxuICAgIGFzeW5jIGNyZWF0ZVByb2ZpbGUodGVuYW50SWQsIHByb2ZpbGVLZXksIG1ldGFkYXRhLCAuLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZSh7XG4gICAgICAgICAgICB0ZW5hbnQ6IHRlbmFudElkLFxuICAgICAgICAgICAgcHJvZmlsZUtleSxcbiAgICAgICAgICAgIG1ldGFkYXRhLFxuICAgICAgICB9LCAuLi5hcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgbGlzdEZvclRlbmFudCh0ZW5hbnRJZCwgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMubGlzdEFsbCguLi5hcmdzKSkuZmlsdGVyKChwcm9maWxlKSA9PiBzYW1lVGVuYW50KHByb2ZpbGUudGVuYW50LCB0ZW5hbnRJZCkpO1xuICAgIH1cbiAgICBhc3luYyBkZWxldGVGb3JUZW5hbnQodGVuYW50SWQsIC4uLmFyZ3MpIHtcbiAgICAgICAgZm9yIChjb25zdCByb3cgb2YgYXdhaXQgdGhpcy5saXN0Rm9yVGVuYW50KHRlbmFudElkLCAuLi5hcmdzKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5kZWxldGVCeUlkKHJvdy5pZCwgLi4uYXJncyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkR1Z1WVc1MExYQnliMlpwYkdVdWMyVnlkbWxqWlM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1TDNOeVl5OXVZVzFsYzNCaFkyVnpMM05sY25acFkyVnpMM1JsYm1GdWRDMXdjbTltYVd4bExuTmxjblpwWTJVdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVDBGQlR5eEZRVUZGTEdkQ1FVRm5RaXhGUVVGclFpeFZRVUZWTEVWQlFVVXNjMEpCUVdsQ08wRkJRM2hGTEU5QlFVOHNSVUZCUlN4aFFVRmhMRVZCUVVVc1RVRkJUU3huUTBGQlowTXNRMEZCUXp0QlFVVXZSQ3hOUVVGTkxFOUJRVThzYjBKQlFYRkNMRk5CUVZFc1owSkJRU3RDTzBsQlEzWkZPMUZCUTBVc1MwRkJTeXhEUVVGRExHRkJRV0VzUTBGQlF5eERRVUZETzBsQlEzWkNMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zWVVGQllTeERRVU5xUWl4UlFVRm5RaXhGUVVOb1FpeFZRVUZyUWl4RlFVTnNRaXhSUVVGclF5eEZRVU5zUXl4SFFVRkhMRWxCUVZjN1VVRkZaQ3hQUVVGUExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlEyaENPMWxCUTBVc1RVRkJUU3hGUVVGRkxGRkJRVkU3V1VGRGFFSXNWVUZCVlR0WlFVTldMRkZCUVZFN1UwRkRWQ3hGUVVORUxFZEJRVWNzU1VGQlNTeERRVU5TTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHRkJRV0VzUTBGQlF5eFJRVUZuUWl4RlFVRkZMRWRCUVVjc1NVRkJWenRSUVVOc1JDeFBRVUZQTEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJTeERRVUZETEZWQlFWVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEYWtjc1EwRkJRenRKUVVWRUxFdEJRVXNzUTBGQlF5eGxRVUZsTEVOQlFVTXNVVUZCWjBJc1JVRkJSU3hIUVVGSExFbEJRVmM3VVVGRGNFUXNTMEZCU3l4TlFVRk5MRWRCUVVjc1NVRkJTU3hOUVVGTkxFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTXNVVUZCVVN4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU01UkN4TlFVRk5MRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNSVUZCUlN4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRM3BETEVOQlFVTTdTVUZEU0N4RFFVRkRPME5CUTBZaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QkNZWE5sVFc5a1pXeFRaWEoyYVdObExDQnBaQ3dnY21Wc1lYUnBiMjVKWkN3Z2MyRnRaVlJsYm1GdWRDQjlJR1p5YjIwZ1hDSXVMaTkxZEdsc2Mxd2lPMXh1YVcxd2IzSjBJSHNnVkdWdVlXNTBVSEp2Wm1sc1pTQjlJR1p5YjIwZ1hDSXVMaTl0YjJSbGJITXZkR1Z1WVc1MExYQnliMlpwYkdVdWJXOWtaV3hjSWp0Y2JseHVaWGh3YjNKMElHTnNZWE56SUZSbGJtRnVkRkJ5YjJacGJHVlRaWEoyYVdObElHVjRkR1Z1WkhNZ1FtRnpaVTF2WkdWc1UyVnlkbWxqWlR4VVpXNWhiblJRY205bWFXeGxQaUI3WEc0Z0lHTnZibk4wY25WamRHOXlLQ2tnZTF4dUlDQWdJSE4xY0dWeUtGUmxibUZ1ZEZCeWIyWnBiR1VwTzF4dUlDQjlYRzVjYmlBZ1lYTjVibU1nWTNKbFlYUmxVSEp2Wm1sc1pTaGNiaUFnSUNCMFpXNWhiblJKWkRvZ2MzUnlhVzVuTEZ4dUlDQWdJSEJ5YjJacGJHVkxaWGs2SUhOMGNtbHVaeXhjYmlBZ0lDQnRaWFJoWkdGMFlUODZJRkpsWTI5eVpEeHpkSEpwYm1jc0lIVnVhMjV2ZDI0K0xGeHVJQ0FnSUM0dUxtRnlaM002SUdGdWVWdGRYRzRnSUNrNklGQnliMjFwYzJVOFZHVnVZVzUwVUhKdlptbHNaVDRnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OeVpXRjBaU2hjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZEdWdVlXNTBPaUIwWlc1aGJuUkpaQ3hjYmlBZ0lDQWdJQ0FnY0hKdlptbHNaVXRsZVN4Y2JpQWdJQ0FnSUNBZ2JXVjBZV1JoZEdFc1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0xpNHVZWEpuYzF4dUlDQWdJQ2s3WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJzYVhOMFJtOXlWR1Z1WVc1MEtIUmxibUZ1ZEVsa09pQnpkSEpwYm1jc0lDNHVMbUZ5WjNNNklHRnVlVnRkS1RvZ1VISnZiV2x6WlR4VVpXNWhiblJRY205bWFXeGxXMTArSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLR0YzWVdsMElIUm9hWE11YkdsemRFRnNiQ2d1TGk1aGNtZHpLU2t1Wm1sc2RHVnlLQ2h3Y205bWFXeGxLU0E5UGlCellXMWxWR1Z1WVc1MEtIQnliMlpwYkdVdWRHVnVZVzUwTENCMFpXNWhiblJKWkNrcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ1pHVnNaWFJsUm05eVZHVnVZVzUwS0hSbGJtRnVkRWxrT2lCemRISnBibWNzSUM0dUxtRnlaM002SUdGdWVWdGRLVG9nVUhKdmJXbHpaVHgyYjJsa1BpQjdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQnliM2NnYjJZZ1lYZGhhWFFnZEdocGN5NXNhWE4wUm05eVZHVnVZVzUwS0hSbGJtRnVkRWxrTENBdUxpNWhjbWR6S1NrZ2UxeHVJQ0FnSUNBZ1lYZGhhWFFnZEdocGN5NWtaV3hsZEdWQ2VVbGtLSEp2ZHk1cFpDd2dMaTR1WVhKbmN5azdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNGlYWDA9Il19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TenantService = void 0;
|
|
4
|
+
const utils_js_1 = require("./../utils.cjs");
|
|
5
|
+
const types_js_1 = require("./../types.cjs");
|
|
6
|
+
const tenant_model_1 = require("../models/tenant.model");
|
|
7
|
+
class TenantService extends utils_js_1.BaseModelService {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(tenant_model_1.Tenant);
|
|
10
|
+
}
|
|
11
|
+
async createTenant(input, ...args) {
|
|
12
|
+
return this.create({
|
|
13
|
+
slug: input.slug,
|
|
14
|
+
name: input.name,
|
|
15
|
+
isolationTier: input.isolationTier ?? types_js_1.IsolationTier.Pooled,
|
|
16
|
+
}, ...args);
|
|
17
|
+
}
|
|
18
|
+
async getBySlug(slug, ...args) {
|
|
19
|
+
return this.findOneBy("slug", slug, ...args);
|
|
20
|
+
}
|
|
21
|
+
async renameTenant(tenantId, name, ...args) {
|
|
22
|
+
return this.updateOne(tenantId, { name }, ...args);
|
|
23
|
+
}
|
|
24
|
+
async changeSlug(tenantId, slug, ...args) {
|
|
25
|
+
return this.updateOne(tenantId, { slug }, ...args);
|
|
26
|
+
}
|
|
27
|
+
async setIsolationTier(tenantId, isolationTier, ...args) {
|
|
28
|
+
return this.updateOne(tenantId, { isolationTier }, ...args);
|
|
29
|
+
}
|
|
30
|
+
async deleteTenantControlled(tenantId, ...args) {
|
|
31
|
+
await this.deleteById(tenantId, ...args);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.TenantService = TenantService;
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmFtZXNwYWNlcy9zZXJ2aWNlcy90ZW5hbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQWlCO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQXFCLHNCQUFpQjtBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxnQkFBd0I7SUFDekQ7UUFDRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBd0IsRUFBRSxHQUFHLElBQVc7UUFDekQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQjtZQUNFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhLElBQUksYUFBYSxDQUFDLE1BQU07U0FDM0QsRUFDRCxHQUFHLElBQUksQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBWSxFQUFFLEdBQUcsSUFBVztRQUMxQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQWdCLEVBQUUsSUFBWSxFQUFFLEdBQUcsSUFBVztRQUMvRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFnQixFQUFFLElBQVksRUFBRSxHQUFHLElBQVc7UUFDN0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FDcEIsUUFBZ0IsRUFDaEIsYUFBNEIsRUFDNUIsR0FBRyxJQUFXO1FBRWQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLGFBQWEsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxRQUFnQixFQUFFLEdBQUcsSUFBVztRQUMzRCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsU2VydmljZSB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgSXNvbGF0aW9uVGllciwgQ3JlYXRlVGVuYW50SW5wdXQgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IFRlbmFudCB9IGZyb20gXCIuLi9tb2RlbHMvdGVuYW50Lm1vZGVsXCI7XG5cbmV4cG9ydCBjbGFzcyBUZW5hbnRTZXJ2aWNlIGV4dGVuZHMgQmFzZU1vZGVsU2VydmljZTxUZW5hbnQ+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoVGVuYW50KTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVRlbmFudChpbnB1dDogQ3JlYXRlVGVuYW50SW5wdXQsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxUZW5hbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB7XG4gICAgICAgIHNsdWc6IGlucHV0LnNsdWcsXG4gICAgICAgIG5hbWU6IGlucHV0Lm5hbWUsXG4gICAgICAgIGlzb2xhdGlvblRpZXI6IGlucHV0Lmlzb2xhdGlvblRpZXIgPz8gSXNvbGF0aW9uVGllci5Qb29sZWQsXG4gICAgICB9LFxuICAgICAgLi4uYXJnc1xuICAgICk7XG4gIH1cblxuICBhc3luYyBnZXRCeVNsdWcoc2x1Zzogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8VGVuYW50PiB7XG4gICAgcmV0dXJuIHRoaXMuZmluZE9uZUJ5KFwic2x1Z1wiLCBzbHVnIGFzIG5ldmVyLCAuLi5hcmdzKTtcbiAgfVxuXG4gIGFzeW5jIHJlbmFtZVRlbmFudCh0ZW5hbnRJZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxUZW5hbnQ+IHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVPbmUodGVuYW50SWQsIHsgbmFtZSB9LCAuLi5hcmdzKTtcbiAgfVxuXG4gIGFzeW5jIGNoYW5nZVNsdWcodGVuYW50SWQ6IHN0cmluZywgc2x1Zzogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8VGVuYW50PiB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlT25lKHRlbmFudElkLCB7IHNsdWcgfSwgLi4uYXJncyk7XG4gIH1cblxuICBhc3luYyBzZXRJc29sYXRpb25UaWVyKFxuICAgIHRlbmFudElkOiBzdHJpbmcsXG4gICAgaXNvbGF0aW9uVGllcjogSXNvbGF0aW9uVGllcixcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFRlbmFudD4ge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZU9uZSh0ZW5hbnRJZCwgeyBpc29sYXRpb25UaWVyIH0sIC4uLmFyZ3MpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlVGVuYW50Q29udHJvbGxlZCh0ZW5hbnRJZDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZGVsZXRlQnlJZCh0ZW5hbnRJZCwgLi4uYXJncyk7XG4gIH1cbn1cbiJdfQ==
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZW5hbnQuc2VydmljZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBaUQ7QUFDakQsNENBQThDO0FBQzlDLHlEQUFnRDtBQUNoRCxNQUFhLGFBQWMsU0FBUSwyQkFBZ0I7SUFDL0M7UUFDSSxLQUFLLENBQUMscUJBQU0sQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUk7UUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2YsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsSUFBSSx3QkFBYSxDQUFDLE1BQU07U0FDN0QsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFDRCxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLElBQUk7UUFDekIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSTtRQUN0QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSTtRQUNwQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSTtRQUMxQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNKO0FBMUJELHNDQTBCQztBQUNELHMrR0FBcytHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsU2VydmljZSB9IGZyb20gXCIuLy4uL3V0aWxzLmpzXCI7XG5pbXBvcnQgeyBJc29sYXRpb25UaWVyIH0gZnJvbSBcIi4vLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IFRlbmFudCB9IGZyb20gXCIuLi9tb2RlbHMvdGVuYW50Lm1vZGVsXCI7XG5leHBvcnQgY2xhc3MgVGVuYW50U2VydmljZSBleHRlbmRzIEJhc2VNb2RlbFNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcihUZW5hbnQpO1xuICAgIH1cbiAgICBhc3luYyBjcmVhdGVUZW5hbnQoaW5wdXQsIC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtcbiAgICAgICAgICAgIHNsdWc6IGlucHV0LnNsdWcsXG4gICAgICAgICAgICBuYW1lOiBpbnB1dC5uYW1lLFxuICAgICAgICAgICAgaXNvbGF0aW9uVGllcjogaW5wdXQuaXNvbGF0aW9uVGllciA/PyBJc29sYXRpb25UaWVyLlBvb2xlZCxcbiAgICAgICAgfSwgLi4uYXJncyk7XG4gICAgfVxuICAgIGFzeW5jIGdldEJ5U2x1ZyhzbHVnLCAuLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmRPbmVCeShcInNsdWdcIiwgc2x1ZywgLi4uYXJncyk7XG4gICAgfVxuICAgIGFzeW5jIHJlbmFtZVRlbmFudCh0ZW5hbnRJZCwgbmFtZSwgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVPbmUodGVuYW50SWQsIHsgbmFtZSB9LCAuLi5hcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgY2hhbmdlU2x1Zyh0ZW5hbnRJZCwgc2x1ZywgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVPbmUodGVuYW50SWQsIHsgc2x1ZyB9LCAuLi5hcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgc2V0SXNvbGF0aW9uVGllcih0ZW5hbnRJZCwgaXNvbGF0aW9uVGllciwgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVPbmUodGVuYW50SWQsIHsgaXNvbGF0aW9uVGllciB9LCAuLi5hcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgZGVsZXRlVGVuYW50Q29udHJvbGxlZCh0ZW5hbnRJZCwgLi4uYXJncykge1xuICAgICAgICBhd2FpdCB0aGlzLmRlbGV0ZUJ5SWQodGVuYW50SWQsIC4uLmFyZ3MpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRHVnVZVzUwTG5ObGNuWnBZMlV1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdmJtRnRaWE53WVdObGN5OXpaWEoyYVdObGN5OTBaVzVoYm5RdWMyVnlkbWxqWlM1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hQUVVGUExFVkJRVVVzWjBKQlFXZENMRVZCUVVVc2MwSkJRV2xDTzBGQlF6VkRMRTlCUVU4c1JVRkJSU3hoUVVGaExFVkJRWEZDTEhOQ1FVRnBRanRCUVVNMVJDeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMRTFCUVUwc2QwSkJRWGRDTEVOQlFVTTdRVUZGYUVRc1RVRkJUU3hQUVVGUExHRkJRV01zVTBGQlVTeG5Ra0ZCZDBJN1NVRkRla1E3VVVGRFJTeExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkRhRUlzUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUXl4WlFVRlpMRU5CUVVNc1MwRkJkMElzUlVGQlJTeEhRVUZITEVsQlFWYzdVVUZEZWtRc1QwRkJUeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVU5vUWp0WlFVTkZMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zU1VGQlNUdFpRVU5vUWl4SlFVRkpMRVZCUVVVc1MwRkJTeXhEUVVGRExFbEJRVWs3V1VGRGFFSXNZVUZCWVN4RlFVRkZMRXRCUVVzc1EwRkJReXhoUVVGaExFbEJRVWtzWVVGQllTeERRVUZETEUxQlFVMDdVMEZETTBRc1JVRkRSQ3hIUVVGSExFbEJRVWtzUTBGRFVpeERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQldTeEZRVUZGTEVkQlFVY3NTVUZCVnp0UlFVTXhReXhQUVVGUExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNUVUZCVFN4RlFVRkZMRWxCUVdFc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlEzaEVMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zV1VGQldTeERRVUZETEZGQlFXZENMRVZCUVVVc1NVRkJXU3hGUVVGRkxFZEJRVWNzU1VGQlZ6dFJRVU12UkN4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVVVGQlVTeEZRVUZGTEVWQlFVVXNTVUZCU1N4RlFVRkZMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU55UkN4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExGVkJRVlVzUTBGQlF5eFJRVUZuUWl4RlFVRkZMRWxCUVZrc1JVRkJSU3hIUVVGSExFbEJRVmM3VVVGRE4wUXNUMEZCVHl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExGRkJRVkVzUlVGQlJTeEZRVUZGTEVsQlFVa3NSVUZCUlN4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRGNrUXNRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXhuUWtGQlowSXNRMEZEY0VJc1VVRkJaMElzUlVGRGFFSXNZVUZCTkVJc1JVRkROVUlzUjBGQlJ5eEpRVUZYTzFGQlJXUXNUMEZCVHl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExGRkJRVkVzUlVGQlJTeEZRVUZGTEdGQlFXRXNSVUZCUlN4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRE9VUXNRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4UlFVRm5RaXhGUVVGRkxFZEJRVWNzU1VGQlZ6dFJRVU16UkN4TlFVRk5MRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zVVVGQlVTeEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRNME1zUTBGQlF6dERRVU5HSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhzZ1FtRnpaVTF2WkdWc1UyVnlkbWxqWlNCOUlHWnliMjBnWENJdUxpOTFkR2xzYzF3aU8xeHVhVzF3YjNKMElIc2dTWE52YkdGMGFXOXVWR2xsY2l3Z1EzSmxZWFJsVkdWdVlXNTBTVzV3ZFhRZ2ZTQm1jbTl0SUZ3aUxpNHZkSGx3WlhOY0lqdGNibWx0Y0c5eWRDQjdJRlJsYm1GdWRDQjlJR1p5YjIwZ1hDSXVMaTl0YjJSbGJITXZkR1Z1WVc1MExtMXZaR1ZzWENJN1hHNWNibVY0Y0c5eWRDQmpiR0Z6Y3lCVVpXNWhiblJUWlhKMmFXTmxJR1Y0ZEdWdVpITWdRbUZ6WlUxdlpHVnNVMlZ5ZG1salpUeFVaVzVoYm5RK0lIdGNiaUFnWTI5dWMzUnlkV04wYjNJb0tTQjdYRzRnSUNBZ2MzVndaWElvVkdWdVlXNTBLVHRjYmlBZ2ZWeHVYRzRnSUdGemVXNWpJR055WldGMFpWUmxibUZ1ZENocGJuQjFkRG9nUTNKbFlYUmxWR1Z1WVc1MFNXNXdkWFFzSUM0dUxtRnlaM002SUdGdWVWdGRLVG9nVUhKdmJXbHpaVHhVWlc1aGJuUStJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqY21WaGRHVW9YRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSE5zZFdjNklHbHVjSFYwTG5Oc2RXY3NYRzRnSUNBZ0lDQWdJRzVoYldVNklHbHVjSFYwTG01aGJXVXNYRzRnSUNBZ0lDQWdJR2x6YjJ4aGRHbHZibFJwWlhJNklHbHVjSFYwTG1semIyeGhkR2x2YmxScFpYSWdQejhnU1hOdmJHRjBhVzl1VkdsbGNpNVFiMjlzWldRc1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0xpNHVZWEpuYzF4dUlDQWdJQ2s3WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJuWlhSQ2VWTnNkV2NvYzJ4MVp6b2djM1J5YVc1bkxDQXVMaTVoY21kek9pQmhibmxiWFNrNklGQnliMjFwYzJVOFZHVnVZVzUwUGlCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVptbHVaRTl1WlVKNUtGd2ljMngxWjF3aUxDQnpiSFZuSUdGeklHNWxkbVZ5TENBdUxpNWhjbWR6S1R0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUhKbGJtRnRaVlJsYm1GdWRDaDBaVzVoYm5SSlpEb2djM1J5YVc1bkxDQnVZVzFsT2lCemRISnBibWNzSUM0dUxtRnlaM002SUdGdWVWdGRLVG9nVUhKdmJXbHpaVHhVWlc1aGJuUStJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUxY0dSaGRHVlBibVVvZEdWdVlXNTBTV1FzSUhzZ2JtRnRaU0I5TENBdUxpNWhjbWR6S1R0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUdOb1lXNW5aVk5zZFdjb2RHVnVZVzUwU1dRNklITjBjbWx1Wnl3Z2MyeDFaem9nYzNSeWFXNW5MQ0F1TGk1aGNtZHpPaUJoYm5sYlhTazZJRkJ5YjIxcGMyVThWR1Z1WVc1MFBpQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkWEJrWVhSbFQyNWxLSFJsYm1GdWRFbGtMQ0I3SUhOc2RXY2dmU3dnTGk0dVlYSm5jeWs3WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJ6WlhSSmMyOXNZWFJwYjI1VWFXVnlLRnh1SUNBZ0lIUmxibUZ1ZEVsa09pQnpkSEpwYm1jc1hHNGdJQ0FnYVhOdmJHRjBhVzl1VkdsbGNqb2dTWE52YkdGMGFXOXVWR2xsY2l4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJoYm5sYlhWeHVJQ0FwT2lCUWNtOXRhWE5sUEZSbGJtRnVkRDRnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5Wd1pHRjBaVTl1WlNoMFpXNWhiblJKWkN3Z2V5QnBjMjlzWVhScGIyNVVhV1Z5SUgwc0lDNHVMbUZ5WjNNcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ1pHVnNaWFJsVkdWdVlXNTBRMjl1ZEhKdmJHeGxaQ2gwWlc1aGJuUkpaRG9nYzNSeWFXNW5MQ0F1TGk1aGNtZHpPaUJoYm5sYlhTazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdGM1lXbDBJSFJvYVhNdVpHVnNaWFJsUW5sSlpDaDBaVzVoYm5SSlpDd2dMaTR1WVhKbmN5azdYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UserService = void 0;
|
|
4
|
+
const utils_js_1 = require("./../utils.cjs");
|
|
5
|
+
const user_model_1 = require("../models/user.model");
|
|
6
|
+
class UserService extends utils_js_1.BaseModelService {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(user_model_1.User);
|
|
9
|
+
}
|
|
10
|
+
async createUser(input, ...args) {
|
|
11
|
+
return this.create({
|
|
12
|
+
email: input.email,
|
|
13
|
+
phone: input.phone,
|
|
14
|
+
displayName: input.displayName,
|
|
15
|
+
}, ...args);
|
|
16
|
+
}
|
|
17
|
+
async getByEmail(email, ...args) {
|
|
18
|
+
return (await this.listAll(...args)).find((user) => user.email === email);
|
|
19
|
+
}
|
|
20
|
+
async updateDisplayName(userId, displayName, ...args) {
|
|
21
|
+
return this.updateOne(userId, { displayName }, ...args);
|
|
22
|
+
}
|
|
23
|
+
async updateEmail(userId, email, ...args) {
|
|
24
|
+
return this.updateOne(userId, { email }, ...args);
|
|
25
|
+
}
|
|
26
|
+
async updatePhone(userId, phone, ...args) {
|
|
27
|
+
return this.updateOne(userId, { phone }, ...args);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.UserService = UserService;
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25hbWVzcGFjZXMvc2VydmljZXMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxzQkFBaUI7QUFFNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTVDLE1BQU0sT0FBTyxXQUFZLFNBQVEsZ0JBQXNCO0lBQ3JEO1FBQ0UsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBc0IsRUFBRSxHQUFHLElBQVc7UUFDckQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQjtZQUNFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1NBQy9CLEVBQ0QsR0FBRyxJQUFJLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQWEsRUFBRSxHQUFHLElBQVc7UUFDNUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBUyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBYyxFQUFFLFdBQW1CLEVBQUUsR0FBRyxJQUFXO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQWMsRUFBRSxLQUF5QixFQUFFLEdBQUcsSUFBVztRQUN6RSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFjLEVBQUUsS0FBeUIsRUFBRSxHQUFHLElBQVc7UUFDekUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsU2VydmljZSB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgQ3JlYXRlVXNlcklucHV0IH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSBcIi4uL21vZGVscy91c2VyLm1vZGVsXCI7XG5cbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSBleHRlbmRzIEJhc2VNb2RlbFNlcnZpY2U8VXNlcj4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihVc2VyKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVVzZXIoaW5wdXQ6IENyZWF0ZVVzZXJJbnB1dCwgLi4uYXJnczogYW55W10pOiBQcm9taXNlPFVzZXI+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB7XG4gICAgICAgIGVtYWlsOiBpbnB1dC5lbWFpbCxcbiAgICAgICAgcGhvbmU6IGlucHV0LnBob25lLFxuICAgICAgICBkaXNwbGF5TmFtZTogaW5wdXQuZGlzcGxheU5hbWUsXG4gICAgICB9LFxuICAgICAgLi4uYXJnc1xuICAgICk7XG4gIH1cblxuICBhc3luYyBnZXRCeUVtYWlsKGVtYWlsOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmxpc3RBbGwoLi4uYXJncykpLmZpbmQoKHVzZXIpID0+IHVzZXIuZW1haWwgPT09IGVtYWlsKSBhcyBVc2VyO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlRGlzcGxheU5hbWUodXNlcklkOiBzdHJpbmcsIGRpc3BsYXlOYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlT25lKHVzZXJJZCwgeyBkaXNwbGF5TmFtZSB9LCAuLi5hcmdzKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZUVtYWlsKHVzZXJJZDogc3RyaW5nLCBlbWFpbDogc3RyaW5nIHwgdW5kZWZpbmVkLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZU9uZSh1c2VySWQsIHsgZW1haWwgfSwgLi4uYXJncyk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVQaG9uZSh1c2VySWQ6IHN0cmluZywgcGhvbmU6IHN0cmluZyB8IHVuZGVmaW5lZCwgLi4uYXJnczogYW55W10pOiBQcm9taXNlPFVzZXI+IHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVPbmUodXNlcklkLCB7IHBob25lIH0sIC4uLmFyZ3MpO1xuICB9XG59XG4iXX0=
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidXNlci5zZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRDQUFpRDtBQUNqRCxxREFBNEM7QUFDNUMsTUFBYSxXQUFZLFNBQVEsMkJBQWdCO0lBQzdDO1FBQ0ksS0FBSyxDQUFDLGlCQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQ0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJO1FBQzNCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNmLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1NBQ2pDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQ0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJO1FBQzNCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBQ0QsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDSjtBQXZCRCxrQ0F1QkM7QUFDRCw4a0dBQThrRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbFNlcnZpY2UgfSBmcm9tIFwiLi8uLi91dGlscy5qc1wiO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gXCIuLi9tb2RlbHMvdXNlci5tb2RlbFwiO1xuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIGV4dGVuZHMgQmFzZU1vZGVsU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKFVzZXIpO1xuICAgIH1cbiAgICBhc3luYyBjcmVhdGVVc2VyKGlucHV0LCAuLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZSh7XG4gICAgICAgICAgICBlbWFpbDogaW5wdXQuZW1haWwsXG4gICAgICAgICAgICBwaG9uZTogaW5wdXQucGhvbmUsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogaW5wdXQuZGlzcGxheU5hbWUsXG4gICAgICAgIH0sIC4uLmFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyBnZXRCeUVtYWlsKGVtYWlsLCAuLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5saXN0QWxsKC4uLmFyZ3MpKS5maW5kKCh1c2VyKSA9PiB1c2VyLmVtYWlsID09PSBlbWFpbCk7XG4gICAgfVxuICAgIGFzeW5jIHVwZGF0ZURpc3BsYXlOYW1lKHVzZXJJZCwgZGlzcGxheU5hbWUsIC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlT25lKHVzZXJJZCwgeyBkaXNwbGF5TmFtZSB9LCAuLi5hcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgdXBkYXRlRW1haWwodXNlcklkLCBlbWFpbCwgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVPbmUodXNlcklkLCB7IGVtYWlsIH0sIC4uLmFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyB1cGRhdGVQaG9uZSh1c2VySWQsIHBob25lLCAuLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZU9uZSh1c2VySWQsIHsgcGhvbmUgfSwgLi4uYXJncyk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZFhObGNpNXpaWEoyYVdObExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dmMzSmpMMjVoYldWemNHRmpaWE12YzJWeWRtbGpaWE12ZFhObGNpNXpaWEoyYVdObExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEU5QlFVOHNSVUZCUlN4blFrRkJaMElzUlVGQlJTeHpRa0ZCYVVJN1FVRkZOVU1zVDBGQlR5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MSE5DUVVGelFpeERRVUZETzBGQlJUVkRMRTFCUVUwc1QwRkJUeXhYUVVGWkxGTkJRVkVzWjBKQlFYTkNPMGxCUTNKRU8xRkJRMFVzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRUxFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNTMEZCYzBJc1JVRkJSU3hIUVVGSExFbEJRVmM3VVVGRGNrUXNUMEZCVHl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVOb1FqdFpRVU5GTEV0QlFVc3NSVUZCUlN4TFFVRkxMRU5CUVVNc1MwRkJTenRaUVVOc1FpeExRVUZMTEVWQlFVVXNTMEZCU3l4RFFVRkRMRXRCUVVzN1dVRkRiRUlzVjBGQlZ5eEZRVUZGTEV0QlFVc3NRMEZCUXl4WFFVRlhPMU5CUXk5Q0xFVkJRMFFzUjBGQlJ5eEpRVUZKTEVOQlExSXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFXRXNSVUZCUlN4SFFVRkhMRWxCUVZjN1VVRkROVU1zVDBGQlR5eERRVUZETEUxQlFVMHNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4TFFVRkxMRXRCUVVzc1EwRkJVeXhEUVVGRE8wbEJRM0JHTEVOQlFVTTdTVUZGUkN4TFFVRkxMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNUVUZCWXl4RlFVRkZMRmRCUVcxQ0xFVkJRVVVzUjBGQlJ5eEpRVUZYTzFGQlEzcEZMRTlCUVU4c1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eE5RVUZOTEVWQlFVVXNSVUZCUlN4WFFVRlhMRVZCUVVVc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6RkVMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zVjBGQlZ5eERRVUZETEUxQlFXTXNSVUZCUlN4TFFVRjVRaXhGUVVGRkxFZEJRVWNzU1VGQlZ6dFJRVU42UlN4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU53UkN4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExGZEJRVmNzUTBGQlF5eE5RVUZqTEVWQlFVVXNTMEZCZVVJc1JVRkJSU3hIUVVGSExFbEJRVmM3VVVGRGVrVXNUMEZCVHl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRGNFUXNRMEZCUXp0RFFVTkdJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnUW1GelpVMXZaR1ZzVTJWeWRtbGpaU0I5SUdaeWIyMGdYQ0l1TGk5MWRHbHNjMXdpTzF4dWFXMXdiM0owSUhzZ1EzSmxZWFJsVlhObGNrbHVjSFYwSUgwZ1puSnZiU0JjSWk0dUwzUjVjR1Z6WENJN1hHNXBiWEJ2Y25RZ2V5QlZjMlZ5SUgwZ1puSnZiU0JjSWk0dUwyMXZaR1ZzY3k5MWMyVnlMbTF2WkdWc1hDSTdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QlZjMlZ5VTJWeWRtbGpaU0JsZUhSbGJtUnpJRUpoYzJWTmIyUmxiRk5sY25acFkyVThWWE5sY2o0Z2UxeHVJQ0JqYjI1emRISjFZM1J2Y2lncElIdGNiaUFnSUNCemRYQmxjaWhWYzJWeUtUdGNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklHTnlaV0YwWlZWelpYSW9hVzV3ZFhRNklFTnlaV0YwWlZWelpYSkpibkIxZEN3Z0xpNHVZWEpuY3pvZ1lXNTVXMTBwT2lCUWNtOXRhWE5sUEZWelpYSStJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqY21WaGRHVW9YRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJR1Z0WVdsc09pQnBibkIxZEM1bGJXRnBiQ3hjYmlBZ0lDQWdJQ0FnY0dodmJtVTZJR2x1Y0hWMExuQm9iMjVsTEZ4dUlDQWdJQ0FnSUNCa2FYTndiR0Y1VG1GdFpUb2dhVzV3ZFhRdVpHbHpjR3hoZVU1aGJXVXNYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdMaTR1WVhKbmMxeHVJQ0FnSUNrN1hHNGdJSDFjYmx4dUlDQmhjM2x1WXlCblpYUkNlVVZ0WVdsc0tHVnRZV2xzT2lCemRISnBibWNzSUM0dUxtRnlaM002SUdGdWVWdGRLVG9nVUhKdmJXbHpaVHhWYzJWeVBpQjdYRzRnSUNBZ2NtVjBkWEp1SUNoaGQyRnBkQ0IwYUdsekxteHBjM1JCYkd3b0xpNHVZWEpuY3lrcExtWnBibVFvS0hWelpYSXBJRDArSUhWelpYSXVaVzFoYVd3Z1BUMDlJR1Z0WVdsc0tTQmhjeUJWYzJWeU8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ2RYQmtZWFJsUkdsemNHeGhlVTVoYldVb2RYTmxja2xrT2lCemRISnBibWNzSUdScGMzQnNZWGxPWVcxbE9pQnpkSEpwYm1jc0lDNHVMbUZ5WjNNNklHRnVlVnRkS1RvZ1VISnZiV2x6WlR4VmMyVnlQaUI3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZFhCa1lYUmxUMjVsS0hWelpYSkpaQ3dnZXlCa2FYTndiR0Y1VG1GdFpTQjlMQ0F1TGk1aGNtZHpLVHRjYmlBZ2ZWeHVYRzRnSUdGemVXNWpJSFZ3WkdGMFpVVnRZV2xzS0hWelpYSkpaRG9nYzNSeWFXNW5MQ0JsYldGcGJEb2djM1J5YVc1bklId2dkVzVrWldacGJtVmtMQ0F1TGk1aGNtZHpPaUJoYm5sYlhTazZJRkJ5YjIxcGMyVThWWE5sY2o0Z2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuVndaR0YwWlU5dVpTaDFjMlZ5U1dRc0lIc2daVzFoYVd3Z2ZTd2dMaTR1WVhKbmN5azdYRzRnSUgxY2JseHVJQ0JoYzNsdVl5QjFjR1JoZEdWUWFHOXVaU2gxYzJWeVNXUTZJSE4wY21sdVp5d2djR2h2Ym1VNklITjBjbWx1WnlCOElIVnVaR1ZtYVc1bFpDd2dMaTR1WVhKbmN6b2dZVzU1VzEwcE9pQlFjbTl0YVhObFBGVnpaWEkrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MWNHUmhkR1ZQYm1Vb2RYTmxja2xrTENCN0lIQm9iMjVsSUgwc0lDNHVMbUZ5WjNNcE8xeHVJQ0I5WEc1OVhHNGlYWDA9Il19
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StorageBindingKindOptions = exports.StorageKindOptions = exports.ResourceVisibilityOptions = exports.PermissionCategoryOptions = exports.ScopeKindOptions = exports.PrincipalKindOptions = exports.MembershipStatusOptions = exports.IsolationTierOptions = exports.StorageBindingKind = exports.StorageKind = exports.ResourceVisibility = exports.PermissionCategory = exports.ScopeKind = exports.PrincipalKind = exports.MembershipStatus = exports.IsolationTier = void 0;
|
|
4
|
+
(function (IsolationTier) {
|
|
5
|
+
IsolationTier["Pooled"] = "pooled";
|
|
6
|
+
IsolationTier["Bridge"] = "bridge";
|
|
7
|
+
IsolationTier["Silo"] = "silo";
|
|
8
|
+
})(exports.IsolationTier || (exports.IsolationTier = {}));
|
|
9
|
+
(function (MembershipStatus) {
|
|
10
|
+
MembershipStatus["Invited"] = "invited";
|
|
11
|
+
MembershipStatus["Active"] = "active";
|
|
12
|
+
MembershipStatus["Suspended"] = "suspended";
|
|
13
|
+
MembershipStatus["Removed"] = "removed";
|
|
14
|
+
})(exports.MembershipStatus || (exports.MembershipStatus = {}));
|
|
15
|
+
(function (PrincipalKind) {
|
|
16
|
+
PrincipalKind["User"] = "user";
|
|
17
|
+
PrincipalKind["Group"] = "group";
|
|
18
|
+
PrincipalKind["ServiceAccount"] = "service_account";
|
|
19
|
+
PrincipalKind["Agent"] = "agent";
|
|
20
|
+
PrincipalKind["ApiKey"] = "api_key";
|
|
21
|
+
})(exports.PrincipalKind || (exports.PrincipalKind = {}));
|
|
22
|
+
(function (ScopeKind) {
|
|
23
|
+
ScopeKind["Tenant"] = "tenant";
|
|
24
|
+
ScopeKind["OrgUnit"] = "org_unit";
|
|
25
|
+
ScopeKind["Resource"] = "resource";
|
|
26
|
+
})(exports.ScopeKind || (exports.ScopeKind = {}));
|
|
27
|
+
(function (PermissionCategory) {
|
|
28
|
+
PermissionCategory["Admin"] = "admin";
|
|
29
|
+
PermissionCategory["ContentRead"] = "content_read";
|
|
30
|
+
PermissionCategory["ContentWrite"] = "content_write";
|
|
31
|
+
PermissionCategory["Memory"] = "memory";
|
|
32
|
+
PermissionCategory["Graph"] = "graph";
|
|
33
|
+
PermissionCategory["Vector"] = "vector";
|
|
34
|
+
PermissionCategory["Export"] = "export";
|
|
35
|
+
PermissionCategory["Billing"] = "billing";
|
|
36
|
+
PermissionCategory["Audit"] = "audit";
|
|
37
|
+
PermissionCategory["Security"] = "security";
|
|
38
|
+
PermissionCategory["Data"] = "data";
|
|
39
|
+
PermissionCategory["Automation"] = "automation";
|
|
40
|
+
})(exports.PermissionCategory || (exports.PermissionCategory = {}));
|
|
41
|
+
(function (ResourceVisibility) {
|
|
42
|
+
ResourceVisibility["Private"] = "private";
|
|
43
|
+
ResourceVisibility["ResourceAcl"] = "resource_acl";
|
|
44
|
+
ResourceVisibility["OrgUnit"] = "org_unit";
|
|
45
|
+
ResourceVisibility["OrgSubtree"] = "org_subtree";
|
|
46
|
+
ResourceVisibility["Tenant"] = "tenant";
|
|
47
|
+
})(exports.ResourceVisibility || (exports.ResourceVisibility = {}));
|
|
48
|
+
(function (StorageKind) {
|
|
49
|
+
StorageKind["Postgres"] = "postgres";
|
|
50
|
+
StorageKind["Arango"] = "arango";
|
|
51
|
+
StorageKind["Qdrant"] = "qdrant";
|
|
52
|
+
StorageKind["ObjectStorage"] = "object_storage";
|
|
53
|
+
})(exports.StorageKind || (exports.StorageKind = {}));
|
|
54
|
+
(function (StorageBindingKind) {
|
|
55
|
+
StorageBindingKind["Shared"] = "shared";
|
|
56
|
+
StorageBindingKind["Dedicated"] = "dedicated";
|
|
57
|
+
})(exports.StorageBindingKind || (exports.StorageBindingKind = {}));
|
|
58
|
+
exports.IsolationTierOptions = Object.values(exports.IsolationTier);
|
|
59
|
+
exports.MembershipStatusOptions = Object.values(exports.MembershipStatus);
|
|
60
|
+
exports.PrincipalKindOptions = Object.values(exports.PrincipalKind);
|
|
61
|
+
exports.ScopeKindOptions = Object.values(exports.ScopeKind);
|
|
62
|
+
exports.PermissionCategoryOptions = Object.values(exports.PermissionCategory);
|
|
63
|
+
exports.ResourceVisibilityOptions = Object.values(exports.ResourceVisibility);
|
|
64
|
+
exports.StorageKindOptions = Object.values(exports.StorageKind);
|
|
65
|
+
exports.StorageBindingKindOptions = Object.values(exports.StorageBindingKind);
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmFtZXNwYWNlcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLGtDQUFpQixDQUFBO0lBQ2pCLGtDQUFpQixDQUFBO0lBQ2pCLDhCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQzFCLHVDQUFtQixDQUFBO0lBQ25CLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0lBQ3ZCLHVDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCO0FBRUQsTUFBTSxDQUFOLElBQVksYUFNWDtBQU5ELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2IsZ0NBQWUsQ0FBQTtJQUNmLG1EQUFrQyxDQUFBO0lBQ2xDLGdDQUFlLENBQUE7SUFDZixtQ0FBa0IsQ0FBQTtBQUNwQixDQUFDLEVBTlcsYUFBYSxLQUFiLGFBQWEsUUFNeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLGlDQUFvQixDQUFBO0lBQ3BCLGtDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxTQUFTLEtBQVQsU0FBUyxRQUlwQjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQWFYO0FBYkQsV0FBWSxrQkFBa0I7SUFDNUIscUNBQWUsQ0FBQTtJQUNmLGtEQUE0QixDQUFBO0lBQzVCLG9EQUE4QixDQUFBO0lBQzlCLHVDQUFpQixDQUFBO0lBQ2pCLHFDQUFlLENBQUE7SUFDZix1Q0FBaUIsQ0FBQTtJQUNqQix1Q0FBaUIsQ0FBQTtJQUNqQix5Q0FBbUIsQ0FBQTtJQUNuQixxQ0FBZSxDQUFBO0lBQ2YsMkNBQXFCLENBQUE7SUFDckIsbUNBQWEsQ0FBQTtJQUNiLCtDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFiVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBYTdCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBTVg7QUFORCxXQUFZLGtCQUFrQjtJQUM1Qix5Q0FBbUIsQ0FBQTtJQUNuQixrREFBNEIsQ0FBQTtJQUM1QiwwQ0FBb0IsQ0FBQTtJQUNwQixnREFBMEIsQ0FBQTtJQUMxQix1Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQU03QjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBS1g7QUFMRCxXQUFZLFdBQVc7SUFDckIsb0NBQXFCLENBQUE7SUFDckIsZ0NBQWlCLENBQUE7SUFDakIsZ0NBQWlCLENBQUE7SUFDakIsK0NBQWdDLENBQUE7QUFDbEMsQ0FBQyxFQUxXLFdBQVcsS0FBWCxXQUFXLFFBS3RCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUM1Qix1Q0FBaUIsQ0FBQTtJQUNqQiw2Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUc3QjtBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDN0QsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSXNvbGF0aW9uVGllciB7XG4gIFBvb2xlZCA9IFwicG9vbGVkXCIsXG4gIEJyaWRnZSA9IFwiYnJpZGdlXCIsXG4gIFNpbG8gPSBcInNpbG9cIixcbn1cblxuZXhwb3J0IGVudW0gTWVtYmVyc2hpcFN0YXR1cyB7XG4gIEludml0ZWQgPSBcImludml0ZWRcIixcbiAgQWN0aXZlID0gXCJhY3RpdmVcIixcbiAgU3VzcGVuZGVkID0gXCJzdXNwZW5kZWRcIixcbiAgUmVtb3ZlZCA9IFwicmVtb3ZlZFwiLFxufVxuXG5leHBvcnQgZW51bSBQcmluY2lwYWxLaW5kIHtcbiAgVXNlciA9IFwidXNlclwiLFxuICBHcm91cCA9IFwiZ3JvdXBcIixcbiAgU2VydmljZUFjY291bnQgPSBcInNlcnZpY2VfYWNjb3VudFwiLFxuICBBZ2VudCA9IFwiYWdlbnRcIixcbiAgQXBpS2V5ID0gXCJhcGlfa2V5XCIsXG59XG5cbmV4cG9ydCBlbnVtIFNjb3BlS2luZCB7XG4gIFRlbmFudCA9IFwidGVuYW50XCIsXG4gIE9yZ1VuaXQgPSBcIm9yZ191bml0XCIsXG4gIFJlc291cmNlID0gXCJyZXNvdXJjZVwiLFxufVxuXG5leHBvcnQgZW51bSBQZXJtaXNzaW9uQ2F0ZWdvcnkge1xuICBBZG1pbiA9IFwiYWRtaW5cIixcbiAgQ29udGVudFJlYWQgPSBcImNvbnRlbnRfcmVhZFwiLFxuICBDb250ZW50V3JpdGUgPSBcImNvbnRlbnRfd3JpdGVcIixcbiAgTWVtb3J5ID0gXCJtZW1vcnlcIixcbiAgR3JhcGggPSBcImdyYXBoXCIsXG4gIFZlY3RvciA9IFwidmVjdG9yXCIsXG4gIEV4cG9ydCA9IFwiZXhwb3J0XCIsXG4gIEJpbGxpbmcgPSBcImJpbGxpbmdcIixcbiAgQXVkaXQgPSBcImF1ZGl0XCIsXG4gIFNlY3VyaXR5ID0gXCJzZWN1cml0eVwiLFxuICBEYXRhID0gXCJkYXRhXCIsXG4gIEF1dG9tYXRpb24gPSBcImF1dG9tYXRpb25cIixcbn1cblxuZXhwb3J0IGVudW0gUmVzb3VyY2VWaXNpYmlsaXR5IHtcbiAgUHJpdmF0ZSA9IFwicHJpdmF0ZVwiLFxuICBSZXNvdXJjZUFjbCA9IFwicmVzb3VyY2VfYWNsXCIsXG4gIE9yZ1VuaXQgPSBcIm9yZ191bml0XCIsXG4gIE9yZ1N1YnRyZWUgPSBcIm9yZ19zdWJ0cmVlXCIsXG4gIFRlbmFudCA9IFwidGVuYW50XCIsXG59XG5cbmV4cG9ydCBlbnVtIFN0b3JhZ2VLaW5kIHtcbiAgUG9zdGdyZXMgPSBcInBvc3RncmVzXCIsXG4gIEFyYW5nbyA9IFwiYXJhbmdvXCIsXG4gIFFkcmFudCA9IFwicWRyYW50XCIsXG4gIE9iamVjdFN0b3JhZ2UgPSBcIm9iamVjdF9zdG9yYWdlXCIsXG59XG5cbmV4cG9ydCBlbnVtIFN0b3JhZ2VCaW5kaW5nS2luZCB7XG4gIFNoYXJlZCA9IFwic2hhcmVkXCIsXG4gIERlZGljYXRlZCA9IFwiZGVkaWNhdGVkXCIsXG59XG5cbmV4cG9ydCBjb25zdCBJc29sYXRpb25UaWVyT3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoSXNvbGF0aW9uVGllcik7XG5leHBvcnQgY29uc3QgTWVtYmVyc2hpcFN0YXR1c09wdGlvbnMgPSBPYmplY3QudmFsdWVzKE1lbWJlcnNoaXBTdGF0dXMpO1xuZXhwb3J0IGNvbnN0IFByaW5jaXBhbEtpbmRPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhQcmluY2lwYWxLaW5kKTtcbmV4cG9ydCBjb25zdCBTY29wZUtpbmRPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhTY29wZUtpbmQpO1xuZXhwb3J0IGNvbnN0IFBlcm1pc3Npb25DYXRlZ29yeU9wdGlvbnMgPSBPYmplY3QudmFsdWVzKFBlcm1pc3Npb25DYXRlZ29yeSk7XG5leHBvcnQgY29uc3QgUmVzb3VyY2VWaXNpYmlsaXR5T3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoUmVzb3VyY2VWaXNpYmlsaXR5KTtcbmV4cG9ydCBjb25zdCBTdG9yYWdlS2luZE9wdGlvbnMgPSBPYmplY3QudmFsdWVzKFN0b3JhZ2VLaW5kKTtcbmV4cG9ydCBjb25zdCBTdG9yYWdlQmluZGluZ0tpbmRPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhTdG9yYWdlQmluZGluZ0tpbmQpO1xuXG5leHBvcnQgdHlwZSBUeEFyZ3MgPSBhbnlbXTtcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVUZW5hbnRJbnB1dCB7XG4gIHNsdWc6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBpc29sYXRpb25UaWVyPzogSXNvbGF0aW9uVGllcjtcbiAgcHJvZmlsZUtleT86IHN0cmluZztcbiAgcHJvZmlsZU1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlVXNlcklucHV0IHtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHBob25lPzogc3RyaW5nO1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU9yZ1VuaXRJbnB1dCB7XG4gIHRlbmFudElkOiBzdHJpbmc7XG4gIHBhcmVudE9yZ1VuaXRJZD86IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBwcm9maWxlS2V5Pzogc3RyaW5nO1xuICBwcm9maWxlTWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVSb2xlSW5wdXQge1xuICB0ZW5hbnRJZD86IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlUGVybWlzc2lvbklucHV0IHtcbiAga2V5OiBzdHJpbmc7XG4gIGNhdGVnb3J5OiBQZXJtaXNzaW9uQ2F0ZWdvcnk7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lnblJvbGVJbnB1dCB7XG4gIHRlbmFudElkOiBzdHJpbmc7XG4gIHByaW5jaXBhbElkOiBzdHJpbmc7XG4gIHJvbGVJZDogc3RyaW5nO1xuICBzY29wZUtpbmQ6IFNjb3BlS2luZDtcbiAgc2NvcGVJZDogc3RyaW5nO1xuICBpbmhlcml0RG93bj86IGJvb2xlYW47XG4gIHN0YXJ0c0F0PzogRGF0ZTtcbiAgZXhwaXJlc0F0PzogRGF0ZTtcbiAgY29uZGl0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyUmVzb3VyY2VJbnB1dCB7XG4gIHRlbmFudElkOiBzdHJpbmc7XG4gIG9yZ1VuaXRJZDogc3RyaW5nO1xuICByZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgcmVzb3VyY2VJZDogc3RyaW5nO1xuICB2aXNpYmlsaXR5OiBSZXNvdXJjZVZpc2liaWxpdHk7XG4gIG93bmVyUHJpbmNpcGFsSWQ/OiBzdHJpbmc7XG4gIHNlbnNpdGl2aXR5Pzogc3RyaW5nO1xuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYW50UmVzb3VyY2VJbnB1dCB7XG4gIHRlbmFudElkOiBzdHJpbmc7XG4gIHJlc291cmNlSWQ6IHN0cmluZztcbiAgcHJpbmNpcGFsSWQ6IHN0cmluZztcbiAgcGVybWlzc2lvbktleTogc3RyaW5nO1xuICBzdGFydHNBdD86IERhdGU7XG4gIGV4cGlyZXNBdD86IERhdGU7XG4gIGNvbmRpdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY3JlYXRlZEJ5UHJpbmNpcGFsSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuQWNjZXNzSW5wdXQge1xuICB0ZW5hbnRJZDogc3RyaW5nO1xuICBwcmluY2lwYWxJZDogc3RyaW5nO1xuICBwZXJtaXNzaW9uS2V5OiBzdHJpbmc7XG4gIHJlc291cmNlUHJvdGVjdGVkSWQ/OiBzdHJpbmc7XG4gIHNjb3BlS2luZD86IFNjb3BlS2luZDtcbiAgc2NvcGVJZD86IHN0cmluZztcbiAgYXQ/OiBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc0NvbnRleHQge1xuICB0ZW5hbnRJZDogc3RyaW5nO1xuICBwcmluY2lwYWxJZDogc3RyaW5nO1xuICBwZXJtaXNzaW9uc0J5U2NvcGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPjtcbiAgYWxsb3dlZE9yZ1VuaXRJZHNCeVBlcm1pc3Npb246IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPjtcbiAgcmVzb3VyY2VHcmFudHM6IEFycmF5PHsgcmVzb3VyY2VJZDogc3RyaW5nOyBwZXJtaXNzaW9uS2V5OiBzdHJpbmcgfT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJhbmdvQXV0aENvbnRleHQge1xuICB0ZW5hbnRJZDogc3RyaW5nO1xuICBwcmluY2lwYWxJZDogc3RyaW5nO1xuICBwZXJtaXNzaW9uS2V5OiBzdHJpbmc7XG4gIGFsbG93ZWRPcmdVbml0SWRzOiBzdHJpbmdbXTtcbiAgYWxsb3dlZFJlc291cmNlSWRzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRZHJhbnRBdXRoRmlsdGVyIHtcbiAgbXVzdDogQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICBtdXN0X25vdD86IEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVTdG9yYWdlQmluZGluZ0lucHV0IHtcbiAgdGVuYW50SWQ6IHN0cmluZztcbiAgc3RvcmFnZUtpbmQ6IFN0b3JhZ2VLaW5kO1xuICBiaW5kaW5nS2luZDogU3RvcmFnZUJpbmRpbmdLaW5kO1xuICBiaW5kaW5nS2V5OiBzdHJpbmc7XG4gIHJlZ2lvbjogc3RyaW5nO1xuICBjb25maWc/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb290c3RyYXBQZXJtaXNzaW9uIHtcbiAga2V5OiBzdHJpbmc7XG4gIGNhdGVnb3J5OiBQZXJtaXNzaW9uQ2F0ZWdvcnk7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RzdHJhcFJvbGUge1xuICBrZXk6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcGVybWlzc2lvbktleXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RzdHJhcE9yZ1VuaXQge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb2ZpbGVLZXk/OiBzdHJpbmc7XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNoaWxkcmVuPzogQm9vdHN0cmFwT3JnVW5pdFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RzdHJhcFRlbXBsYXRlIHtcbiAgdGVuYW50OiBDcmVhdGVUZW5hbnRJbnB1dDtcbiAgcm9vdE9yZ1VuaXQ6IEJvb3RzdHJhcE9yZ1VuaXQ7XG4gIHBlcm1pc3Npb25zOiBCb290c3RyYXBQZXJtaXNzaW9uW107XG4gIHJvbGVzOiBCb290c3RyYXBSb2xlW107XG4gIG93bmVyVXNlcjogQ3JlYXRlVXNlcklucHV0O1xuICBvd25lclJvbGVLZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVNuYXBzaG90IHtcbiAgaWQ6IHN0cmluZztcbiAgdGVuYW50SWQ6IHN0cmluZztcbiAgb3JnVW5pdElkOiBzdHJpbmc7XG4gIHJlc291cmNlVHlwZTogc3RyaW5nO1xuICByZXNvdXJjZUlkOiBzdHJpbmc7XG4gIHZpc2liaWxpdHk6IFJlc291cmNlVmlzaWJpbGl0eTtcbiAgb3duZXJQcmluY2lwYWxJZD86IHN0cmluZztcbiAgc2Vuc2l0aXZpdHk/OiBzdHJpbmc7XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhbnRTbmFwc2hvdCB7XG4gIGlkOiBzdHJpbmc7XG4gIHRlbmFudElkOiBzdHJpbmc7XG4gIHJlc291cmNlSWQ6IHN0cmluZztcbiAgcHJpbmNpcGFsSWQ6IHN0cmluZztcbiAgcGVybWlzc2lvbktleTogc3RyaW5nO1xuICBzdGFydHNBdD86IERhdGU7XG4gIGV4cGlyZXNBdD86IERhdGU7XG4gIGNvbmRpdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY3JlYXRlZEJ5UHJpbmNpcGFsSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0aXZlUGVybWlzc2lvblNuYXBzaG90IHtcbiAgaWQ6IHN0cmluZztcbiAgdGVuYW50SWQ6IHN0cmluZztcbiAgcHJpbmNpcGFsSWQ6IHN0cmluZztcbiAgcGVybWlzc2lvbktleTogc3RyaW5nO1xuICBzY29wZUtpbmQ6IFNjb3BlS2luZDtcbiAgc2NvcGVJZDogc3RyaW5nO1xuICBzb3VyY2VLaW5kOiBzdHJpbmc7XG4gIHNvdXJjZUlkOiBzdHJpbmc7XG4gIHN0YXJ0c0F0PzogRGF0ZTtcbiAgZXhwaXJlc0F0PzogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoekRhdGFTb3VyY2VzIHtcbiAgbG9hZFJlc291cmNlPzogKHRlbmFudElkOiBzdHJpbmcsIHByb3RlY3RlZFJlc291cmNlSWQ6IHN0cmluZykgPT4gUHJvbWlzZTxSZXNvdXJjZVNuYXBzaG90IHwgdW5kZWZpbmVkPjtcbiAgbGlzdFJlc291cmNlR3JhbnRzPzogKHRlbmFudElkOiBzdHJpbmcsIHByb3RlY3RlZFJlc291cmNlSWQ6IHN0cmluZykgPT4gUHJvbWlzZTxHcmFudFNuYXBzaG90W10+O1xuICBsaXN0UHJpbmNpcGFsR3JhbnRzPzogKHRlbmFudElkOiBzdHJpbmcsIHByaW5jaXBhbElkOiBzdHJpbmcpID0+IFByb21pc2U8R3JhbnRTbmFwc2hvdFtdPjtcbiAgbGlzdEVmZmVjdGl2ZVBlcm1pc3Npb25zPzogKFxuICAgIHRlbmFudElkOiBzdHJpbmcsXG4gICAgcHJpbmNpcGFsSWQ6IHN0cmluZ1xuICApID0+IFByb21pc2U8RWZmZWN0aXZlUGVybWlzc2lvblNuYXBzaG90W10+O1xuICBsaXN0RWZmZWN0aXZlUGVybWlzc2lvbnNGb3JTY29wZT86IChcbiAgICB0ZW5hbnRJZDogc3RyaW5nLFxuICAgIHNjb3BlS2luZDogU2NvcGVLaW5kLFxuICAgIHNjb3BlSWQ6IHN0cmluZ1xuICApID0+IFByb21pc2U8RWZmZWN0aXZlUGVybWlzc2lvblNuYXBzaG90W10+O1xufVxuIl19
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxDQUFDLFVBQVUsYUFBYTtJQUNwQixhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ25DLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUM7SUFDbkMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxxQkFBYSxJQUFJLENBQUMscUJBQWEsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRTFDLENBQUMsVUFBVSxnQkFBZ0I7SUFDdkIsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ3hDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUN0QyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxXQUFXLENBQUM7SUFDNUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDLHdCQUFnQixJQUFJLENBQUMsd0JBQWdCLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVoRCxDQUFDLFVBQVUsYUFBYTtJQUNwQixhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQy9CLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDakMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsaUJBQWlCLENBQUM7SUFDcEQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUNqQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsU0FBUyxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxDQUFDLHFCQUFhLElBQUksQ0FBQyxxQkFBYSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFMUMsQ0FBQyxVQUFVLFNBQVM7SUFDaEIsU0FB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QUMsTUFBTSxDQUFDLDBCQUFrQixDQUFDLENBQUM7QUFDOUQsUUFBQSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLDBCQUFrQixDQUFDLENBQUM7QUFDOUQsUUFBQSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLG1CQUFXLENBQUMsQ0FBQztBQUNoRCxRQUFBLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQWtCLENBQUMsQ0FBQztBQUMzRSwwcFdBQTBwVyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB2YXIgSXNvbGF0aW9uVGllcjtcbihmdW5jdGlvbiAoSXNvbGF0aW9uVGllcikge1xuICAgIElzb2xhdGlvblRpZXJbXCJQb29sZWRcIl0gPSBcInBvb2xlZFwiO1xuICAgIElzb2xhdGlvblRpZXJbXCJCcmlkZ2VcIl0gPSBcImJyaWRnZVwiO1xuICAgIElzb2xhdGlvblRpZXJbXCJTaWxvXCJdID0gXCJzaWxvXCI7XG59KShJc29sYXRpb25UaWVyIHx8IChJc29sYXRpb25UaWVyID0ge30pKTtcbmV4cG9ydCB2YXIgTWVtYmVyc2hpcFN0YXR1cztcbihmdW5jdGlvbiAoTWVtYmVyc2hpcFN0YXR1cykge1xuICAgIE1lbWJlcnNoaXBTdGF0dXNbXCJJbnZpdGVkXCJdID0gXCJpbnZpdGVkXCI7XG4gICAgTWVtYmVyc2hpcFN0YXR1c1tcIkFjdGl2ZVwiXSA9IFwiYWN0aXZlXCI7XG4gICAgTWVtYmVyc2hpcFN0YXR1c1tcIlN1c3BlbmRlZFwiXSA9IFwic3VzcGVuZGVkXCI7XG4gICAgTWVtYmVyc2hpcFN0YXR1c1tcIlJlbW92ZWRcIl0gPSBcInJlbW92ZWRcIjtcbn0pKE1lbWJlcnNoaXBTdGF0dXMgfHwgKE1lbWJlcnNoaXBTdGF0dXMgPSB7fSkpO1xuZXhwb3J0IHZhciBQcmluY2lwYWxLaW5kO1xuKGZ1bmN0aW9uIChQcmluY2lwYWxLaW5kKSB7XG4gICAgUHJpbmNpcGFsS2luZFtcIlVzZXJcIl0gPSBcInVzZXJcIjtcbiAgICBQcmluY2lwYWxLaW5kW1wiR3JvdXBcIl0gPSBcImdyb3VwXCI7XG4gICAgUHJpbmNpcGFsS2luZFtcIlNlcnZpY2VBY2NvdW50XCJdID0gXCJzZXJ2aWNlX2FjY291bnRcIjtcbiAgICBQcmluY2lwYWxLaW5kW1wiQWdlbnRcIl0gPSBcImFnZW50XCI7XG4gICAgUHJpbmNpcGFsS2luZFtcIkFwaUtleVwiXSA9IFwiYXBpX2tleVwiO1xufSkoUHJpbmNpcGFsS2luZCB8fCAoUHJpbmNpcGFsS2luZCA9IHt9KSk7XG5leHBvcnQgdmFyIFNjb3BlS2luZDtcbihmdW5jdGlvbiAoU2NvcGVLaW5kKSB7XG4gICAgU2NvcGVLaW5kW1wiVGVuYW50XCJdID0gXCJ0ZW5hbnRcIjtcbiAgICBTY29wZUtpbmRbXCJPcmdVbml0XCJdID0gXCJvcmdfdW5pdFwiO1xuICAgIFNjb3BlS2luZFtcIlJlc291cmNlXCJdID0gXCJyZXNvdXJjZVwiO1xufSkoU2NvcGVLaW5kIHx8IChTY29wZUtpbmQgPSB7fSkpO1xuZXhwb3J0IHZhciBQZXJtaXNzaW9uQ2F0ZWdvcnk7XG4oZnVuY3Rpb24gKFBlcm1pc3Npb25DYXRlZ29yeSkge1xuICAgIFBlcm1pc3Npb25DYXRlZ29yeVtcIkFkbWluXCJdID0gXCJhZG1pblwiO1xuICAgIFBlcm1pc3Npb25DYXRlZ29yeVtcIkNvbnRlbnRSZWFkXCJdID0gXCJjb250ZW50X3JlYWRcIjtcbiAgICBQZXJtaXNzaW9uQ2F0ZWdvcnlbXCJDb250ZW50V3JpdGVcIl0gPSBcImNvbnRlbnRfd3JpdGVcIjtcbiAgICBQZXJtaXNzaW9uQ2F0ZWdvcnlbXCJNZW1vcnlcIl0gPSBcIm1lbW9yeVwiO1xuICAgIFBlcm1pc3Npb25DYXRlZ29yeVtcIkdyYXBoXCJdID0gXCJncmFwaFwiO1xuICAgIFBlcm1pc3Npb25DYXRlZ29yeVtcIlZlY3RvclwiXSA9IFwidmVjdG9yXCI7XG4gICAgUGVybWlzc2lvbkNhdGVnb3J5W1wiRXhwb3J0XCJdID0gXCJleHBvcnRcIjtcbiAgICBQZXJtaXNzaW9uQ2F0ZWdvcnlbXCJCaWxsaW5nXCJdID0gXCJiaWxsaW5nXCI7XG4gICAgUGVybWlzc2lvbkNhdGVnb3J5W1wiQXVkaXRcIl0gPSBcImF1ZGl0XCI7XG4gICAgUGVybWlzc2lvbkNhdGVnb3J5W1wiU2VjdXJpdHlcIl0gPSBcInNlY3VyaXR5XCI7XG4gICAgUGVybWlzc2lvbkNhdGVnb3J5W1wiRGF0YVwiXSA9IFwiZGF0YVwiO1xuICAgIFBlcm1pc3Npb25DYXRlZ29yeVtcIkF1dG9tYXRpb25cIl0gPSBcImF1dG9tYXRpb25cIjtcbn0pKFBlcm1pc3Npb25DYXRlZ29yeSB8fCAoUGVybWlzc2lvbkNhdGVnb3J5ID0ge30pKTtcbmV4cG9ydCB2YXIgUmVzb3VyY2VWaXNpYmlsaXR5O1xuKGZ1bmN0aW9uIChSZXNvdXJjZVZpc2liaWxpdHkpIHtcbiAgICBSZXNvdXJjZVZpc2liaWxpdHlbXCJQcml2YXRlXCJdID0gXCJwcml2YXRlXCI7XG4gICAgUmVzb3VyY2VWaXNpYmlsaXR5W1wiUmVzb3VyY2VBY2xcIl0gPSBcInJlc291cmNlX2FjbFwiO1xuICAgIFJlc291cmNlVmlzaWJpbGl0eVtcIk9yZ1VuaXRcIl0gPSBcIm9yZ191bml0XCI7XG4gICAgUmVzb3VyY2VWaXNpYmlsaXR5W1wiT3JnU3VidHJlZVwiXSA9IFwib3JnX3N1YnRyZWVcIjtcbiAgICBSZXNvdXJjZVZpc2liaWxpdHlbXCJUZW5hbnRcIl0gPSBcInRlbmFudFwiO1xufSkoUmVzb3VyY2VWaXNpYmlsaXR5IHx8IChSZXNvdXJjZVZpc2liaWxpdHkgPSB7fSkpO1xuZXhwb3J0IHZhciBTdG9yYWdlS2luZDtcbihmdW5jdGlvbiAoU3RvcmFnZUtpbmQpIHtcbiAgICBTdG9yYWdlS2luZFtcIlBvc3RncmVzXCJdID0gXCJwb3N0Z3Jlc1wiO1xuICAgIFN0b3JhZ2VLaW5kW1wiQXJhbmdvXCJdID0gXCJhcmFuZ29cIjtcbiAgICBTdG9yYWdlS2luZFtcIlFkcmFudFwiXSA9IFwicWRyYW50XCI7XG4gICAgU3RvcmFnZUtpbmRbXCJPYmplY3RTdG9yYWdlXCJdID0gXCJvYmplY3Rfc3RvcmFnZVwiO1xufSkoU3RvcmFnZUtpbmQgfHwgKFN0b3JhZ2VLaW5kID0ge30pKTtcbmV4cG9ydCB2YXIgU3RvcmFnZUJpbmRpbmdLaW5kO1xuKGZ1bmN0aW9uIChTdG9yYWdlQmluZGluZ0tpbmQpIHtcbiAgICBTdG9yYWdlQmluZGluZ0tpbmRbXCJTaGFyZWRcIl0gPSBcInNoYXJlZFwiO1xuICAgIFN0b3JhZ2VCaW5kaW5nS2luZFtcIkRlZGljYXRlZFwiXSA9IFwiZGVkaWNhdGVkXCI7XG59KShTdG9yYWdlQmluZGluZ0tpbmQgfHwgKFN0b3JhZ2VCaW5kaW5nS2luZCA9IHt9KSk7XG5leHBvcnQgY29uc3QgSXNvbGF0aW9uVGllck9wdGlvbnMgPSBPYmplY3QudmFsdWVzKElzb2xhdGlvblRpZXIpO1xuZXhwb3J0IGNvbnN0IE1lbWJlcnNoaXBTdGF0dXNPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhNZW1iZXJzaGlwU3RhdHVzKTtcbmV4cG9ydCBjb25zdCBQcmluY2lwYWxLaW5kT3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoUHJpbmNpcGFsS2luZCk7XG5leHBvcnQgY29uc3QgU2NvcGVLaW5kT3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoU2NvcGVLaW5kKTtcbmV4cG9ydCBjb25zdCBQZXJtaXNzaW9uQ2F0ZWdvcnlPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhQZXJtaXNzaW9uQ2F0ZWdvcnkpO1xuZXhwb3J0IGNvbnN0IFJlc291cmNlVmlzaWJpbGl0eU9wdGlvbnMgPSBPYmplY3QudmFsdWVzKFJlc291cmNlVmlzaWJpbGl0eSk7XG5leHBvcnQgY29uc3QgU3RvcmFnZUtpbmRPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhTdG9yYWdlS2luZCk7XG5leHBvcnQgY29uc3QgU3RvcmFnZUJpbmRpbmdLaW5kT3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoU3RvcmFnZUJpbmRpbmdLaW5kKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRIbHdaWE11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOXpjbU12Ym1GdFpYTndZV05sY3k5MGVYQmxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeE5RVUZOTEVOQlFVNHNTVUZCV1N4aFFVbFlPMEZCU2tRc1YwRkJXU3hoUVVGaE8wbEJRM1pDTEd0RFFVRnBRaXhEUVVGQk8wbEJRMnBDTEd0RFFVRnBRaXhEUVVGQk8wbEJRMnBDTERoQ1FVRmhMRU5CUVVFN1FVRkRaaXhEUVVGRExFVkJTbGNzWVVGQllTeExRVUZpTEdGQlFXRXNVVUZKZUVJN1FVRkZSQ3hOUVVGTkxFTkJRVTRzU1VGQldTeG5Ra0ZMV0R0QlFVeEVMRmRCUVZrc1owSkJRV2RDTzBsQlF6RkNMSFZEUVVGdFFpeERRVUZCTzBsQlEyNUNMSEZEUVVGcFFpeERRVUZCTzBsQlEycENMREpEUVVGMVFpeERRVUZCTzBsQlEzWkNMSFZEUVVGdFFpeERRVUZCTzBGQlEzSkNMRU5CUVVNc1JVRk1WeXhuUWtGQlowSXNTMEZCYUVJc1owSkJRV2RDTEZGQlN6TkNPMEZCUlVRc1RVRkJUU3hEUVVGT0xFbEJRVmtzWVVGTldEdEJRVTVFTEZkQlFWa3NZVUZCWVR0SlFVTjJRaXc0UWtGQllTeERRVUZCTzBsQlEySXNaME5CUVdVc1EwRkJRVHRKUVVObUxHMUVRVUZyUXl4RFFVRkJPMGxCUTJ4RExHZERRVUZsTEVOQlFVRTdTVUZEWml4dFEwRkJhMElzUTBGQlFUdEJRVU53UWl4RFFVRkRMRVZCVGxjc1lVRkJZU3hMUVVGaUxHRkJRV0VzVVVGTmVFSTdRVUZGUkN4TlFVRk5MRU5CUVU0c1NVRkJXU3hUUVVsWU8wRkJTa1FzVjBGQldTeFRRVUZUTzBsQlEyNUNMRGhDUVVGcFFpeERRVUZCTzBsQlEycENMR2xEUVVGdlFpeERRVUZCTzBsQlEzQkNMR3REUVVGeFFpeERRVUZCTzBGQlEzWkNMRU5CUVVNc1JVRktWeXhUUVVGVExFdEJRVlFzVTBGQlV5eFJRVWx3UWp0QlFVVkVMRTFCUVUwc1EwRkJUaXhKUVVGWkxHdENRV0ZZTzBGQllrUXNWMEZCV1N4clFrRkJhMEk3U1VGRE5VSXNjVU5CUVdVc1EwRkJRVHRKUVVObUxHdEVRVUUwUWl4RFFVRkJPMGxCUXpWQ0xHOUVRVUU0UWl4RFFVRkJPMGxCUXpsQ0xIVkRRVUZwUWl4RFFVRkJPMGxCUTJwQ0xIRkRRVUZsTEVOQlFVRTdTVUZEWml4MVEwRkJhVUlzUTBGQlFUdEpRVU5xUWl4MVEwRkJhVUlzUTBGQlFUdEpRVU5xUWl4NVEwRkJiVUlzUTBGQlFUdEpRVU51UWl4eFEwRkJaU3hEUVVGQk8wbEJRMllzTWtOQlFYRkNMRU5CUVVFN1NVRkRja0lzYlVOQlFXRXNRMEZCUVR0SlFVTmlMQ3REUVVGNVFpeERRVUZCTzBGQlF6TkNMRU5CUVVNc1JVRmlWeXhyUWtGQmEwSXNTMEZCYkVJc2EwSkJRV3RDTEZGQllUZENPMEZCUlVRc1RVRkJUU3hEUVVGT0xFbEJRVmtzYTBKQlRWZzdRVUZPUkN4WFFVRlpMR3RDUVVGclFqdEpRVU0xUWl4NVEwRkJiVUlzUTBGQlFUdEpRVU51UWl4clJFRkJORUlzUTBGQlFUdEpRVU0xUWl3d1EwRkJiMElzUTBGQlFUdEpRVU53UWl4blJFRkJNRUlzUTBGQlFUdEpRVU14UWl4MVEwRkJhVUlzUTBGQlFUdEJRVU51UWl4RFFVRkRMRVZCVGxjc2EwSkJRV3RDTEV0QlFXeENMR3RDUVVGclFpeFJRVTAzUWp0QlFVVkVMRTFCUVUwc1EwRkJUaXhKUVVGWkxGZEJTMWc3UVVGTVJDeFhRVUZaTEZkQlFWYzdTVUZEY2tJc2IwTkJRWEZDTEVOQlFVRTdTVUZEY2tJc1owTkJRV2xDTEVOQlFVRTdTVUZEYWtJc1owTkJRV2xDTEVOQlFVRTdTVUZEYWtJc0swTkJRV2RETEVOQlFVRTdRVUZEYkVNc1EwRkJReXhGUVV4WExGZEJRVmNzUzBGQldDeFhRVUZYTEZGQlMzUkNPMEZCUlVRc1RVRkJUU3hEUVVGT0xFbEJRVmtzYTBKQlIxZzdRVUZJUkN4WFFVRlpMR3RDUVVGclFqdEpRVU0xUWl4MVEwRkJhVUlzUTBGQlFUdEpRVU5xUWl3MlEwRkJkVUlzUTBGQlFUdEJRVU42UWl4RFFVRkRMRVZCU0Zjc2EwSkJRV3RDTEV0QlFXeENMR3RDUVVGclFpeFJRVWMzUWp0QlFVVkVMRTFCUVUwc1EwRkJReXhOUVVGTkxHOUNRVUZ2UWl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zWVVGQllTeERRVUZETEVOQlFVTTdRVUZEYWtVc1RVRkJUU3hEUVVGRExFMUJRVTBzZFVKQlFYVkNMRWRCUVVjc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhEUVVGRE8wRkJRM1pGTEUxQlFVMHNRMEZCUXl4TlFVRk5MRzlDUVVGdlFpeEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU03UVVGRGFrVXNUVUZCVFN4RFFVRkRMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dEJRVU42UkN4TlFVRk5MRU5CUVVNc1RVRkJUU3g1UWtGQmVVSXNSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNN1FVRkRNMFVzVFVGQlRTeERRVUZETEUxQlFVMHNlVUpCUVhsQ0xFZEJRVWNzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4clFrRkJhMElzUTBGQlF5eERRVUZETzBGQlF6TkZMRTFCUVUwc1EwRkJReXhOUVVGTkxHdENRVUZyUWl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTTdRVUZETjBRc1RVRkJUU3hEUVVGRExFMUJRVTBzZVVKQlFYbENMRWRCUVVjc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2laWGh3YjNKMElHVnVkVzBnU1hOdmJHRjBhVzl1VkdsbGNpQjdYRzRnSUZCdmIyeGxaQ0E5SUZ3aWNHOXZiR1ZrWENJc1hHNGdJRUp5YVdSblpTQTlJRndpWW5KcFpHZGxYQ0lzWEc0Z0lGTnBiRzhnUFNCY0luTnBiRzljSWl4Y2JuMWNibHh1Wlhod2IzSjBJR1Z1ZFcwZ1RXVnRZbVZ5YzJocGNGTjBZWFIxY3lCN1hHNGdJRWx1ZG1sMFpXUWdQU0JjSW1sdWRtbDBaV1JjSWl4Y2JpQWdRV04wYVhabElEMGdYQ0poWTNScGRtVmNJaXhjYmlBZ1UzVnpjR1Z1WkdWa0lEMGdYQ0p6ZFhOd1pXNWtaV1JjSWl4Y2JpQWdVbVZ0YjNabFpDQTlJRndpY21WdGIzWmxaRndpTEZ4dWZWeHVYRzVsZUhCdmNuUWdaVzUxYlNCUWNtbHVZMmx3WVd4TGFXNWtJSHRjYmlBZ1ZYTmxjaUE5SUZ3aWRYTmxjbHdpTEZ4dUlDQkhjbTkxY0NBOUlGd2laM0p2ZFhCY0lpeGNiaUFnVTJWeWRtbGpaVUZqWTI5MWJuUWdQU0JjSW5ObGNuWnBZMlZmWVdOamIzVnVkRndpTEZ4dUlDQkJaMlZ1ZENBOUlGd2lZV2RsYm5SY0lpeGNiaUFnUVhCcFMyVjVJRDBnWENKaGNHbGZhMlY1WENJc1hHNTlYRzVjYm1WNGNHOXlkQ0JsYm5WdElGTmpiM0JsUzJsdVpDQjdYRzRnSUZSbGJtRnVkQ0E5SUZ3aWRHVnVZVzUwWENJc1hHNGdJRTl5WjFWdWFYUWdQU0JjSW05eVoxOTFibWwwWENJc1hHNGdJRkpsYzI5MWNtTmxJRDBnWENKeVpYTnZkWEpqWlZ3aUxGeHVmVnh1WEc1bGVIQnZjblFnWlc1MWJTQlFaWEp0YVhOemFXOXVRMkYwWldkdmNua2dlMXh1SUNCQlpHMXBiaUE5SUZ3aVlXUnRhVzVjSWl4Y2JpQWdRMjl1ZEdWdWRGSmxZV1FnUFNCY0ltTnZiblJsYm5SZmNtVmhaRndpTEZ4dUlDQkRiMjUwWlc1MFYzSnBkR1VnUFNCY0ltTnZiblJsYm5SZmQzSnBkR1ZjSWl4Y2JpQWdUV1Z0YjNKNUlEMGdYQ0p0WlcxdmNubGNJaXhjYmlBZ1IzSmhjR2dnUFNCY0ltZHlZWEJvWENJc1hHNGdJRlpsWTNSdmNpQTlJRndpZG1WamRHOXlYQ0lzWEc0Z0lFVjRjRzl5ZENBOUlGd2laWGh3YjNKMFhDSXNYRzRnSUVKcGJHeHBibWNnUFNCY0ltSnBiR3hwYm1kY0lpeGNiaUFnUVhWa2FYUWdQU0JjSW1GMVpHbDBYQ0lzWEc0Z0lGTmxZM1Z5YVhSNUlEMGdYQ0p6WldOMWNtbDBlVndpTEZ4dUlDQkVZWFJoSUQwZ1hDSmtZWFJoWENJc1hHNGdJRUYxZEc5dFlYUnBiMjRnUFNCY0ltRjFkRzl0WVhScGIyNWNJaXhjYm4xY2JseHVaWGh3YjNKMElHVnVkVzBnVW1WemIzVnlZMlZXYVhOcFltbHNhWFI1SUh0Y2JpQWdVSEpwZG1GMFpTQTlJRndpY0hKcGRtRjBaVndpTEZ4dUlDQlNaWE52ZFhKalpVRmpiQ0E5SUZ3aWNtVnpiM1Z5WTJWZllXTnNYQ0lzWEc0Z0lFOXlaMVZ1YVhRZ1BTQmNJbTl5WjE5MWJtbDBYQ0lzWEc0Z0lFOXlaMU4xWW5SeVpXVWdQU0JjSW05eVoxOXpkV0owY21WbFhDSXNYRzRnSUZSbGJtRnVkQ0E5SUZ3aWRHVnVZVzUwWENJc1hHNTlYRzVjYm1WNGNHOXlkQ0JsYm5WdElGTjBiM0poWjJWTGFXNWtJSHRjYmlBZ1VHOXpkR2R5WlhNZ1BTQmNJbkJ2YzNSbmNtVnpYQ0lzWEc0Z0lFRnlZVzVuYnlBOUlGd2lZWEpoYm1kdlhDSXNYRzRnSUZGa2NtRnVkQ0E5SUZ3aWNXUnlZVzUwWENJc1hHNGdJRTlpYW1WamRGTjBiM0poWjJVZ1BTQmNJbTlpYW1WamRGOXpkRzl5WVdkbFhDSXNYRzU5WEc1Y2JtVjRjRzl5ZENCbGJuVnRJRk4wYjNKaFoyVkNhVzVrYVc1blMybHVaQ0I3WEc0Z0lGTm9ZWEpsWkNBOUlGd2ljMmhoY21Wa1hDSXNYRzRnSUVSbFpHbGpZWFJsWkNBOUlGd2laR1ZrYVdOaGRHVmtYQ0lzWEc1OVhHNWNibVY0Y0c5eWRDQmpiMjV6ZENCSmMyOXNZWFJwYjI1VWFXVnlUM0IwYVc5dWN5QTlJRTlpYW1WamRDNTJZV3gxWlhNb1NYTnZiR0YwYVc5dVZHbGxjaWs3WEc1bGVIQnZjblFnWTI5dWMzUWdUV1Z0WW1WeWMyaHBjRk4wWVhSMWMwOXdkR2x2Ym5NZ1BTQlBZbXBsWTNRdWRtRnNkV1Z6S0UxbGJXSmxjbk5vYVhCVGRHRjBkWE1wTzF4dVpYaHdiM0owSUdOdmJuTjBJRkJ5YVc1amFYQmhiRXRwYm1SUGNIUnBiMjV6SUQwZ1QySnFaV04wTG5aaGJIVmxjeWhRY21sdVkybHdZV3hMYVc1a0tUdGNibVY0Y0c5eWRDQmpiMjV6ZENCVFkyOXdaVXRwYm1SUGNIUnBiMjV6SUQwZ1QySnFaV04wTG5aaGJIVmxjeWhUWTI5d1pVdHBibVFwTzF4dVpYaHdiM0owSUdOdmJuTjBJRkJsY20xcGMzTnBiMjVEWVhSbFoyOXllVTl3ZEdsdmJuTWdQU0JQWW1wbFkzUXVkbUZzZFdWektGQmxjbTFwYzNOcGIyNURZWFJsWjI5eWVTazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1VtVnpiM1Z5WTJWV2FYTnBZbWxzYVhSNVQzQjBhVzl1Y3lBOUlFOWlhbVZqZEM1MllXeDFaWE1vVW1WemIzVnlZMlZXYVhOcFltbHNhWFI1S1R0Y2JtVjRjRzl5ZENCamIyNXpkQ0JUZEc5eVlXZGxTMmx1WkU5d2RHbHZibk1nUFNCUFltcGxZM1F1ZG1Gc2RXVnpLRk4wYjNKaFoyVkxhVzVrS1R0Y2JtVjRjRzl5ZENCamIyNXpkQ0JUZEc5eVlXZGxRbWx1WkdsdVowdHBibVJQY0hScGIyNXpJRDBnVDJKcVpXTjBMblpoYkhWbGN5aFRkRzl5WVdkbFFtbHVaR2x1WjB0cGJtUXBPMXh1WEc1bGVIQnZjblFnZEhsd1pTQlVlRUZ5WjNNZ1BTQmhibmxiWFR0Y2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkRjbVZoZEdWVVpXNWhiblJKYm5CMWRDQjdYRzRnSUhOc2RXYzZJSE4wY21sdVp6dGNiaUFnYm1GdFpUb2djM1J5YVc1bk8xeHVJQ0JwYzI5c1lYUnBiMjVVYVdWeVB6b2dTWE52YkdGMGFXOXVWR2xsY2p0Y2JpQWdjSEp2Wm1sc1pVdGxlVDg2SUhOMGNtbHVaenRjYmlBZ2NISnZabWxzWlUxbGRHRmtZWFJoUHpvZ1VtVmpiM0prUEhOMGNtbHVaeXdnZFc1cmJtOTNiajQ3WEc1OVhHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRM0psWVhSbFZYTmxja2x1Y0hWMElIdGNiaUFnWlcxaGFXdy9PaUJ6ZEhKcGJtYzdYRzRnSUhCb2IyNWxQem9nYzNSeWFXNW5PMXh1SUNCa2FYTndiR0Y1VG1GdFpUb2djM1J5YVc1bk8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVOeVpXRjBaVTl5WjFWdWFYUkpibkIxZENCN1hHNGdJSFJsYm1GdWRFbGtPaUJ6ZEhKcGJtYzdYRzRnSUhCaGNtVnVkRTl5WjFWdWFYUkpaRDg2SUhOMGNtbHVaenRjYmlBZ2JtRnRaVG9nYzNSeWFXNW5PMXh1SUNCdFpYUmhaR0YwWVQ4NklGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrTzF4dUlDQndjbTltYVd4bFMyVjVQem9nYzNSeWFXNW5PMXh1SUNCd2NtOW1hV3hsVFdWMFlXUmhkR0UvT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0IxYm10dWIzZHVQanRjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkRjbVZoZEdWU2IyeGxTVzV3ZFhRZ2UxeHVJQ0IwWlc1aGJuUkpaRDg2SUhOMGNtbHVaenRjYmlBZ2EyVjVPaUJ6ZEhKcGJtYzdYRzRnSUc1aGJXVTZJSE4wY21sdVp6dGNiaUFnWkdWelkzSnBjSFJwYjI0L09pQnpkSEpwYm1jN1hHNGdJRzFsZEdGa1lYUmhQem9nVW1WamIzSmtQSE4wY21sdVp5d2dkVzVyYm05M2JqNDdYRzU5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1EzSmxZWFJsVUdWeWJXbHpjMmx2YmtsdWNIVjBJSHRjYmlBZ2EyVjVPaUJ6ZEhKcGJtYzdYRzRnSUdOaGRHVm5iM0o1T2lCUVpYSnRhWE56YVc5dVEyRjBaV2R2Y25rN1hHNGdJR1JsYzJOeWFYQjBhVzl1UHpvZ2MzUnlhVzVuTzF4dWZWeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUZ6YzJsbmJsSnZiR1ZKYm5CMWRDQjdYRzRnSUhSbGJtRnVkRWxrT2lCemRISnBibWM3WEc0Z0lIQnlhVzVqYVhCaGJFbGtPaUJ6ZEhKcGJtYzdYRzRnSUhKdmJHVkpaRG9nYzNSeWFXNW5PMXh1SUNCelkyOXdaVXRwYm1RNklGTmpiM0JsUzJsdVpEdGNiaUFnYzJOdmNHVkpaRG9nYzNSeWFXNW5PMXh1SUNCcGJtaGxjbWwwUkc5M2JqODZJR0p2YjJ4bFlXNDdYRzRnSUhOMFlYSjBjMEYwUHpvZ1JHRjBaVHRjYmlBZ1pYaHdhWEpsYzBGMFB6b2dSR0YwWlR0Y2JpQWdZMjl1WkdsMGFXOXVjejg2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJSFZ1YTI1dmQyNCtPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGSmxaMmx6ZEdWeVVtVnpiM1Z5WTJWSmJuQjFkQ0I3WEc0Z0lIUmxibUZ1ZEVsa09pQnpkSEpwYm1jN1hHNGdJRzl5WjFWdWFYUkpaRG9nYzNSeWFXNW5PMXh1SUNCeVpYTnZkWEpqWlZSNWNHVTZJSE4wY21sdVp6dGNiaUFnY21WemIzVnlZMlZKWkRvZ2MzUnlhVzVuTzF4dUlDQjJhWE5wWW1sc2FYUjVPaUJTWlhOdmRYSmpaVlpwYzJsaWFXeHBkSGs3WEc0Z0lHOTNibVZ5VUhKcGJtTnBjR0ZzU1dRL09pQnpkSEpwYm1jN1hHNGdJSE5sYm5OcGRHbDJhWFI1UHpvZ2MzUnlhVzVuTzF4dUlDQnRaWFJoWkdGMFlUODZJRkpsWTI5eVpEeHpkSEpwYm1jc0lIVnVhMjV2ZDI0K08xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVkeVlXNTBVbVZ6YjNWeVkyVkpibkIxZENCN1hHNGdJSFJsYm1GdWRFbGtPaUJ6ZEhKcGJtYzdYRzRnSUhKbGMyOTFjbU5sU1dRNklITjBjbWx1Wnp0Y2JpQWdjSEpwYm1OcGNHRnNTV1E2SUhOMGNtbHVaenRjYmlBZ2NHVnliV2x6YzJsdmJrdGxlVG9nYzNSeWFXNW5PMXh1SUNCemRHRnlkSE5CZEQ4NklFUmhkR1U3WEc0Z0lHVjRjR2x5WlhOQmREODZJRVJoZEdVN1hHNGdJR052Ym1ScGRHbHZibk0vT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0IxYm10dWIzZHVQanRjYmlBZ1kzSmxZWFJsWkVKNVVISnBibU5wY0dGc1NXUS9PaUJ6ZEhKcGJtYzdYRzU5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1EyRnVRV05qWlhOelNXNXdkWFFnZTF4dUlDQjBaVzVoYm5SSlpEb2djM1J5YVc1bk8xeHVJQ0J3Y21sdVkybHdZV3hKWkRvZ2MzUnlhVzVuTzF4dUlDQndaWEp0YVhOemFXOXVTMlY1T2lCemRISnBibWM3WEc0Z0lISmxjMjkxY21ObFVISnZkR1ZqZEdWa1NXUS9PaUJ6ZEhKcGJtYzdYRzRnSUhOamIzQmxTMmx1WkQ4NklGTmpiM0JsUzJsdVpEdGNiaUFnYzJOdmNHVkpaRDg2SUhOMGNtbHVaenRjYmlBZ1lYUS9PaUJFWVhSbE8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVGalkyVnpjME52Ym5SbGVIUWdlMXh1SUNCMFpXNWhiblJKWkRvZ2MzUnlhVzVuTzF4dUlDQndjbWx1WTJsd1lXeEpaRG9nYzNSeWFXNW5PMXh1SUNCd1pYSnRhWE56YVc5dWMwSjVVMk52Y0dVNklGSmxZMjl5WkR4emRISnBibWNzSUhOMGNtbHVaMXRkUGp0Y2JpQWdZV3hzYjNkbFpFOXlaMVZ1YVhSSlpITkNlVkJsY20xcGMzTnBiMjQ2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJSE4wY21sdVoxdGRQanRjYmlBZ2NtVnpiM1Z5WTJWSGNtRnVkSE02SUVGeWNtRjVQSHNnY21WemIzVnlZMlZKWkRvZ2MzUnlhVzVuT3lCd1pYSnRhWE56YVc5dVMyVjVPaUJ6ZEhKcGJtY2dmVDQ3WEc1OVhHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWEpoYm1kdlFYVjBhRU52Ym5SbGVIUWdlMXh1SUNCMFpXNWhiblJKWkRvZ2MzUnlhVzVuTzF4dUlDQndjbWx1WTJsd1lXeEpaRG9nYzNSeWFXNW5PMXh1SUNCd1pYSnRhWE56YVc5dVMyVjVPaUJ6ZEhKcGJtYzdYRzRnSUdGc2JHOTNaV1JQY21kVmJtbDBTV1J6T2lCemRISnBibWRiWFR0Y2JpQWdZV3hzYjNkbFpGSmxjMjkxY21ObFNXUnpPaUJ6ZEhKcGJtZGJYVHRjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlJaSEpoYm5SQmRYUm9SbWxzZEdWeUlIdGNiaUFnYlhWemREb2dRWEp5WVhrOFVtVmpiM0prUEhOMGNtbHVaeXdnZFc1cmJtOTNiajQrTzF4dUlDQnRkWE4wWDI1dmREODZJRUZ5Y21GNVBGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrUGp0Y2JuMWNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JEY21WaGRHVlRkRzl5WVdkbFFtbHVaR2x1WjBsdWNIVjBJSHRjYmlBZ2RHVnVZVzUwU1dRNklITjBjbWx1Wnp0Y2JpQWdjM1J2Y21GblpVdHBibVE2SUZOMGIzSmhaMlZMYVc1a08xeHVJQ0JpYVc1a2FXNW5TMmx1WkRvZ1UzUnZjbUZuWlVKcGJtUnBibWRMYVc1a08xeHVJQ0JpYVc1a2FXNW5TMlY1T2lCemRISnBibWM3WEc0Z0lISmxaMmx2YmpvZ2MzUnlhVzVuTzF4dUlDQmpiMjVtYVdjL09pQlNaV052Y21ROGMzUnlhVzVuTENCMWJtdHViM2R1UGp0Y2JuMWNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JDYjI5MGMzUnlZWEJRWlhKdGFYTnphVzl1SUh0Y2JpQWdhMlY1T2lCemRISnBibWM3WEc0Z0lHTmhkR1ZuYjNKNU9pQlFaWEp0YVhOemFXOXVRMkYwWldkdmNuazdYRzRnSUdSbGMyTnlhWEIwYVc5dVB6b2djM1J5YVc1bk8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVKdmIzUnpkSEpoY0ZKdmJHVWdlMXh1SUNCclpYazZJSE4wY21sdVp6dGNiaUFnYm1GdFpUb2djM1J5YVc1bk8xeHVJQ0JrWlhOamNtbHdkR2x2Ymo4NklITjBjbWx1Wnp0Y2JpQWdjR1Z5YldsemMybHZia3RsZVhNNklITjBjbWx1WjF0ZE8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVKdmIzUnpkSEpoY0U5eVoxVnVhWFFnZTF4dUlDQnVZVzFsT2lCemRISnBibWM3WEc0Z0lIQnliMlpwYkdWTFpYay9PaUJ6ZEhKcGJtYzdYRzRnSUcxbGRHRmtZWFJoUHpvZ1VtVmpiM0prUEhOMGNtbHVaeXdnZFc1cmJtOTNiajQ3WEc0Z0lHTm9hV3hrY21WdVB6b2dRbTl2ZEhOMGNtRndUM0puVlc1cGRGdGRPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFSnZiM1J6ZEhKaGNGUmxiWEJzWVhSbElIdGNiaUFnZEdWdVlXNTBPaUJEY21WaGRHVlVaVzVoYm5SSmJuQjFkRHRjYmlBZ2NtOXZkRTl5WjFWdWFYUTZJRUp2YjNSemRISmhjRTl5WjFWdWFYUTdYRzRnSUhCbGNtMXBjM05wYjI1ek9pQkNiMjkwYzNSeVlYQlFaWEp0YVhOemFXOXVXMTA3WEc0Z0lISnZiR1Z6T2lCQ2IyOTBjM1J5WVhCU2IyeGxXMTA3WEc0Z0lHOTNibVZ5VlhObGNqb2dRM0psWVhSbFZYTmxja2x1Y0hWME8xeHVJQ0J2ZDI1bGNsSnZiR1ZMWlhrNklITjBjbWx1Wnp0Y2JuMWNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JTWlhOdmRYSmpaVk51WVhCemFHOTBJSHRjYmlBZ2FXUTZJSE4wY21sdVp6dGNiaUFnZEdWdVlXNTBTV1E2SUhOMGNtbHVaenRjYmlBZ2IzSm5WVzVwZEVsa09pQnpkSEpwYm1jN1hHNGdJSEpsYzI5MWNtTmxWSGx3WlRvZ2MzUnlhVzVuTzF4dUlDQnlaWE52ZFhKalpVbGtPaUJ6ZEhKcGJtYzdYRzRnSUhacGMybGlhV3hwZEhrNklGSmxjMjkxY21ObFZtbHphV0pwYkdsMGVUdGNiaUFnYjNkdVpYSlFjbWx1WTJsd1lXeEpaRDg2SUhOMGNtbHVaenRjYmlBZ2MyVnVjMmwwYVhacGRIay9PaUJ6ZEhKcGJtYzdYRzRnSUcxbGRHRmtZWFJoUHpvZ1VtVmpiM0prUEhOMGNtbHVaeXdnZFc1cmJtOTNiajQ3WEc1OVhHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdSM0poYm5SVGJtRndjMmh2ZENCN1hHNGdJR2xrT2lCemRISnBibWM3WEc0Z0lIUmxibUZ1ZEVsa09pQnpkSEpwYm1jN1hHNGdJSEpsYzI5MWNtTmxTV1E2SUhOMGNtbHVaenRjYmlBZ2NISnBibU5wY0dGc1NXUTZJSE4wY21sdVp6dGNiaUFnY0dWeWJXbHpjMmx2Ymt0bGVUb2djM1J5YVc1bk8xeHVJQ0J6ZEdGeWRITkJkRDg2SUVSaGRHVTdYRzRnSUdWNGNHbHlaWE5CZEQ4NklFUmhkR1U3WEc0Z0lHTnZibVJwZEdsdmJuTS9PaUJTWldOdmNtUThjM1J5YVc1bkxDQjFibXR1YjNkdVBqdGNiaUFnWTNKbFlYUmxaRUo1VUhKcGJtTnBjR0ZzU1dRL09pQnpkSEpwYm1jN1hHNTlYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUldabVpXTjBhWFpsVUdWeWJXbHpjMmx2YmxOdVlYQnphRzkwSUh0Y2JpQWdhV1E2SUhOMGNtbHVaenRjYmlBZ2RHVnVZVzUwU1dRNklITjBjbWx1Wnp0Y2JpQWdjSEpwYm1OcGNHRnNTV1E2SUhOMGNtbHVaenRjYmlBZ2NHVnliV2x6YzJsdmJrdGxlVG9nYzNSeWFXNW5PMXh1SUNCelkyOXdaVXRwYm1RNklGTmpiM0JsUzJsdVpEdGNiaUFnYzJOdmNHVkpaRG9nYzNSeWFXNW5PMXh1SUNCemIzVnlZMlZMYVc1a09pQnpkSEpwYm1jN1hHNGdJSE52ZFhKalpVbGtPaUJ6ZEhKcGJtYzdYRzRnSUhOMFlYSjBjMEYwUHpvZ1JHRjBaVHRjYmlBZ1pYaHdhWEpsYzBGMFB6b2dSR0YwWlR0Y2JuMWNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JCZFhSb2VrUmhkR0ZUYjNWeVkyVnpJSHRjYmlBZ2JHOWhaRkpsYzI5MWNtTmxQem9nS0hSbGJtRnVkRWxrT2lCemRISnBibWNzSUhCeWIzUmxZM1JsWkZKbGMyOTFjbU5sU1dRNklITjBjbWx1WnlrZ1BUNGdVSEp2YldselpUeFNaWE52ZFhKalpWTnVZWEJ6YUc5MElId2dkVzVrWldacGJtVmtQanRjYmlBZ2JHbHpkRkpsYzI5MWNtTmxSM0poYm5SelB6b2dLSFJsYm1GdWRFbGtPaUJ6ZEhKcGJtY3NJSEJ5YjNSbFkzUmxaRkpsYzI5MWNtTmxTV1E2SUhOMGNtbHVaeWtnUFQ0Z1VISnZiV2x6WlR4SGNtRnVkRk51WVhCemFHOTBXMTArTzF4dUlDQnNhWE4wVUhKcGJtTnBjR0ZzUjNKaGJuUnpQem9nS0hSbGJtRnVkRWxrT2lCemRISnBibWNzSUhCeWFXNWphWEJoYkVsa09pQnpkSEpwYm1jcElEMCtJRkJ5YjIxcGMyVThSM0poYm5SVGJtRndjMmh2ZEZ0ZFBqdGNiaUFnYkdsemRFVm1abVZqZEdsMlpWQmxjbTFwYzNOcGIyNXpQem9nS0Z4dUlDQWdJSFJsYm1GdWRFbGtPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2NISnBibU5wY0dGc1NXUTZJSE4wY21sdVoxeHVJQ0FwSUQwK0lGQnliMjFwYzJVOFJXWm1aV04wYVhabFVHVnliV2x6YzJsdmJsTnVZWEJ6YUc5MFcxMCtPMXh1SUNCc2FYTjBSV1ptWldOMGFYWmxVR1Z5YldsemMybHZibk5HYjNKVFkyOXdaVDg2SUNoY2JpQWdJQ0IwWlc1aGJuUkpaRG9nYzNSeWFXNW5MRnh1SUNBZ0lITmpiM0JsUzJsdVpEb2dVMk52Y0dWTGFXNWtMRnh1SUNBZ0lITmpiM0JsU1dRNklITjBjbWx1WjF4dUlDQXBJRDArSUZCeWIyMXBjMlU4UldabVpXTjBhWFpsVUdWeWJXbHpjMmx2YmxOdVlYQnphRzkwVzEwK08xeHVmVnh1SWwxOSJdfQ==
|