@tomei/sso 0.66.1-test.1 → 0.66.1-test.2

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.
Files changed (25) hide show
  1. package/__tests__/unit/components/group-reporting-user/group-reporting-user.spec.ts +8 -12
  2. package/__tests__/unit/components/login-user/login.spec.ts +75 -44
  3. package/coverage/cobertura-coverage.xml +6647 -47
  4. package/coverage/test-report.xml +153 -25
  5. package/dist/__tests__/unit/components/group-reporting-user/group-reporting-user.spec.js +2 -6
  6. package/dist/__tests__/unit/components/group-reporting-user/group-reporting-user.spec.js.map +1 -1
  7. package/dist/__tests__/unit/components/login-user/login.spec.js +72 -33
  8. package/dist/__tests__/unit/components/login-user/login.spec.js.map +1 -1
  9. package/dist/src/components/login-user/login-user.js +62 -61
  10. package/dist/src/components/login-user/login-user.js.map +1 -1
  11. package/dist/src/components/login-user/user.d.ts +5 -0
  12. package/dist/src/components/login-user/user.js +39 -0
  13. package/dist/src/components/login-user/user.js.map +1 -1
  14. package/dist/src/components/user-password-history/user-password-history.d.ts +1 -0
  15. package/dist/src/components/user-password-history/user-password-history.js +41 -2
  16. package/dist/src/components/user-password-history/user-password-history.js.map +1 -1
  17. package/dist/src/index.d.ts +0 -1
  18. package/dist/src/index.js +0 -1
  19. package/dist/src/index.js.map +1 -1
  20. package/dist/tsconfig.tsbuildinfo +1 -1
  21. package/package.json +1 -2
  22. package/src/components/login-user/login-user.ts +87 -88
  23. package/src/components/login-user/user.ts +68 -0
  24. package/src/components/user-password-history/user-password-history.ts +57 -6
  25. package/src/index.ts +0 -1
@@ -1,33 +1,161 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testExecutions version="1">
3
- <file path="C:\Users\Diaz\Master\Workplaces\Projects\tomei-projects\sso\__tests__\unit\components\login-user\login.spec.ts">
4
- <testCase name="LoginUser init should initialize LoginUser with valid userId" duration="134"/>
5
- <testCase name="LoginUser init should throw an error when user is not found" duration="39"/>
6
- <testCase name="LoginUser shouldReleaseLock should return true if autoReleaseYN is &quot;Y&quot; and time difference is greater than minuteToAutoRelease" duration="3"/>
7
- <testCase name="LoginUser shouldReleaseLock should return false if autoReleaseYN is &quot;Y&quot; and time difference is less than or equal to minuteToAutoRelease" duration="2"/>
8
- <testCase name="LoginUser shouldReleaseLock should return false if autoReleaseYN is &quot;N&quot;" duration="2"/>
9
- <testCase name="LoginUser releaseLock should release the lock for a user" duration="2"/>
10
- <testCase name="LoginUser checkUserInfoDuplicated should throw an error if duplicate user info is found" duration="109"/>
3
+ <file path="C:\Work\sso\__tests__\unit\components\group-reporting-user\group-reporting-user.spec.ts">
4
+ <testCase name="GroupReportingUser init should initialize GroupReportingUser without GroupReportingUserId" duration="5"/>
5
+ <testCase name="GroupReportingUser init should initialize GroupReportingUser with valid GroupReportingUserId" duration="3"/>
6
+ <testCase name="GroupReportingUser init should throw ClassError when GroupReportingUser is not found" duration="12"/>
7
+ <testCase name="GroupReportingUser init should throw ClassError when failed to initialize GroupReportingUser" duration="4"/>
8
+ </file>
9
+ <file path="C:\Work\sso\__tests__\unit\components\login-user\login.spec.ts">
10
+ <testCase name="LoginUser init should initialize LoginUser with valid userId" duration="12"/>
11
+ <testCase name="LoginUser init should throw an error when user is not found" duration="12"/>
12
+ <testCase name="LoginUser shouldReleaseLock should return true if autoReleaseYN is &quot;Y&quot; and time difference is greater than minuteToAutoRelease" duration="2"/>
13
+ <testCase name="LoginUser shouldReleaseLock should return false if autoReleaseYN is &quot;Y&quot; and time difference is less than or equal to minuteToAutoRelease" duration="1"/>
14
+ <testCase name="LoginUser shouldReleaseLock should return false if autoReleaseYN is &quot;N&quot;" duration="1"/>
15
+ <testCase name="LoginUser releaseLock should release the lock for a user" duration="1"/>
16
+ <testCase name="LoginUser checkUserInfoDuplicated should throw an error if duplicate user info is found" duration="37"/>
11
17
  <testCase name="LoginUser checkUserInfoDuplicated should not throw an error if duplicate user info is not found" duration="1"/>
12
- <testCase name="LoginUser generateDefaultPassword should generate a default password with the specified length" duration="3"/>
18
+ <testCase name="LoginUser generateDefaultPassword should generate a default password with the specified length" duration="2"/>
13
19
  <testCase name="LoginUser generateDefaultPassword should generate a default password with at least one capital letter" duration="1"/>
14
20
  <testCase name="LoginUser generateDefaultPassword should generate a default password with at least one number" duration="1"/>
15
21
  <testCase name="LoginUser generateDefaultPassword should generate a default password with at least one special character" duration="1"/>
16
- <testCase name="LoginUser generateDefaultPassword should generate a default password without any non-acceptable characters" duration="1"/>
17
- <testCase name="LoginUser setPassword should set the password for the user" duration="312"/>
18
- <testCase name="LoginUser setPassword should throw an error if the password does not meet the security requirements" duration="48"/>
19
- <testCase name="LoginUser incrementFailedLoginAttemptCount should increment FailedLoginAttemptCount and update user status" duration="8"/>
20
- <testCase name="LoginUser incrementFailedLoginAttemptCount should throw an error if maxFailedLoginAttempts or autoReleaseYN is missing" duration="6"/>
21
- <testCase name="LoginUser incrementFailedLoginAttemptCount should lock the user account if the failed login attempts exceed the maximum allowed" duration="5"/>
22
- <testCase name="LoginUser incrementFailedLoginAttemptCount should permanently lock the user account if the failed login attempts exceed the maximum allowed and autoReleaseYN is N" duration="7"/>
23
- <testCase name="LoginUser combineSystemAccess should combine user and group system access and remove duplicates" duration="5"/>
24
- <testCase name="LoginUser checkPrivileges should return true if user has the specified privilege" duration="10"/>
25
- <testCase name="LoginUser checkPrivileges should return false if user does not have the specified privilege" duration="5"/>
26
- <testCase name="LoginUser checkPrivileges should throw an error if ObjectId is not set" duration="9"/>
27
- <testCase name="LoginUser getObjectPrivileges should return an array of privileges" duration="5"/>
28
- <testCase name="LoginUser getObjectPrivileges should throw an error if an exception occurs" duration="8"/>
29
- <testCase name="LoginUser getUserPersonalPrivileges should return an array of privileges" duration="4"/>
30
- <testCase name="LoginUser getUserPersonalPrivileges should throw an error if an error occurs" duration="4"/>
31
- <testCase name="LoginUser getInheritedSystemAccess should return group system access with its parent group system access if applicable" duration="32"/>
22
+ <testCase name="LoginUser generateDefaultPassword should generate a default password without any non-acceptable characters" duration="6"/>
23
+ <testCase name="LoginUser setPassword should set the password for the user" duration="167"/>
24
+ <testCase name="LoginUser setPassword should throw an error if the password does not meet the security requirements" duration="10"/>
25
+ <testCase name="LoginUser incrementFailedLoginAttemptCount should increment FailedLoginAttemptCount and update user status" duration="2"/>
26
+ <testCase name="LoginUser incrementFailedLoginAttemptCount should throw an error if maxFailedLoginAttempts or autoReleaseYN is missing" duration="2"/>
27
+ <testCase name="LoginUser incrementFailedLoginAttemptCount should lock the user account if the failed login attempts exceed the maximum allowed" duration="1"/>
28
+ <testCase name="LoginUser incrementFailedLoginAttemptCount should permanently lock the user account if the failed login attempts exceed the maximum allowed and autoReleaseYN is N" duration="2"/>
29
+ <testCase name="LoginUser combineSystemAccess should combine user and group system access and remove duplicates" duration="2"/>
30
+ <testCase name="LoginUser checkPrivileges should return true if user has the specified privilege" duration="2"/>
31
+ <testCase name="LoginUser checkPrivileges should return false if user does not have the specified privilege" duration="1"/>
32
+ <testCase name="LoginUser checkPrivileges should throw an error if ObjectId is not set" duration="1"/>
33
+ <testCase name="LoginUser getObjectPrivileges should return an array of privileges" duration="2"/>
34
+ <testCase name="LoginUser getObjectPrivileges should throw an error if an exception occurs" duration="2"/>
35
+ <testCase name="LoginUser getUserPersonalPrivileges should return an array of privileges" duration="1"/>
36
+ <testCase name="LoginUser getUserPersonalPrivileges should throw an error if an error occurs" duration="2"/>
37
+ <testCase name="LoginUser getInheritedSystemAccess should return group system access with its parent group system access if applicable" duration="3"/>
38
+ </file>
39
+ <file path="C:\Work\sso\__tests__\unit\components\system\system.spec.ts">
40
+ <testCase name="System init should initialize a system when SystemCode is provided" duration="7"/>
41
+ <testCase name="System init should throw an error when SystemCode is not found" duration="12"/>
42
+ <testCase name="System init should initialize a new system when SystemCode is not provided" duration="2"/>
43
+ <testCase name="System createSystem should create a new system" duration="4"/>
44
+ <testCase name="System createSystem should throw an error when user does not have permission" duration="2"/>
45
+ <testCase name="System createSystem should throw an error when SystemCode is missing" duration="2"/>
46
+ <testCase name="System createSystem should throw an error when Name is missing" duration="5"/>
47
+ <testCase name="System createSystem should throw an error when Description is missing" duration="2"/>
48
+ <testCase name="System createSystem should throw an error when failed to create system" duration="6"/>
49
+ <testCase name="System setSystemCode should set the SystemCode when there is no duplicate" duration="2"/>
50
+ <testCase name="System setSystemCode should throw an error when SystemCode already exists" duration="1"/>
51
+ <testCase name="System setSystemCode should throw an error when failed to check duplicate SystemCode" duration="1"/>
52
+ <testCase name="System findAll should find all systems based on filter" duration="2"/>
53
+ <testCase name="System findAll should find all systems without pagination when page and rows are not provided" duration="2"/>
54
+ </file>
55
+ <file path="C:\Work\sso\__tests__\unit\components\group-privilege\group-privilege.spec.ts">
56
+ <testCase name="GroupPrivilege should initialize with GroupPrivilegeAttr" duration="5"/>
57
+ <testCase name="GroupPrivilege should throw ClassError when GroupPrivilegeAttr is not found" duration="34"/>
58
+ <testCase name="GroupPrivilege should initialize with default values" duration="2"/>
59
+ </file>
60
+ <file path="C:\Work\sso\__tests__\unit\components\api-key\api-key.spec.ts">
61
+ <testCase name="APIKey init should return a new APIKey instance when no ApiKeyId is provided" duration="3"/>
62
+ <testCase name="APIKey init should initialize APIKey with valid ApiKeyId" duration="2"/>
63
+ <testCase name="APIKey init should throw ClassError when ApiKeyId is not found" duration="13"/>
64
+ <testCase name="APIKey generate should throw when user lacks API_KEY_CREATE privilege" duration="2"/>
65
+ <testCase name="APIKey generate should generate an API key successfully" duration="4"/>
66
+ <testCase name="APIKey findAll should throw when user lacks API_KEY_VIEW privilege" duration="1"/>
67
+ <testCase name="APIKey findAll should return paginated API keys" duration="2"/>
68
+ <testCase name="APIKey findAll should apply filters correctly" duration="1"/>
69
+ <testCase name="APIKey revoke should throw when API key is not found" duration="2"/>
70
+ <testCase name="APIKey revoke should revoke an API key successfully" duration="3"/>
71
+ </file>
72
+ <file path="C:\Work\sso\__tests__\unit\components\group\group.spec.ts">
73
+ <testCase name="Group should initialize a group with valid GroupCode" duration="6"/>
74
+ <testCase name="Group should throw an error when initializing a group with invalid GroupCode" duration="30"/>
75
+ <testCase name="Group should throw an error when initializing a group with an error" duration="1"/>
76
+ </file>
77
+ <file path="C:\Work\sso\__tests__\unit\components\system-privilege\system-privilege.spec.ts">
78
+ <testCase name="SystemPrivilege constructor should create a new SystemPrivilege instance" duration="3"/>
79
+ <testCase name="SystemPrivilege init should initialize SystemPrivilege without PrivilegeCode" duration="2"/>
80
+ <testCase name="SystemPrivilege init should initialize SystemPrivilege with PrivilegeCode" duration="7"/>
81
+ <testCase name="SystemPrivilege init should throw an error if PrivilegeCode is not found" duration="13"/>
82
+ </file>
83
+ <file path="C:\Work\sso\__tests__\unit\components\user-group\user-group.spec.ts">
84
+ <testCase name="UserGroup constructor should create a new UserGroup instance" duration="3"/>
85
+ <testCase name="UserGroup init should initialize UserGroup with valid UserGroupId" duration="3"/>
86
+ <testCase name="UserGroup init should throw ClassError when UserGroupId is not found" duration="13"/>
87
+ </file>
88
+ <file path="C:\Work\sso\__tests__\unit\components\group-object-privilege\group-object-privilege.spec.ts">
89
+ <testCase name="GroupObjectPrivilege should create an instance of GroupObjectPrivilege" duration="2"/>
90
+ <testCase name="GroupObjectPrivilege should have the correct TableName" duration="1"/>
91
+ <testCase name="GroupObjectPrivilege should have the correct properties" duration="1"/>
92
+ <testCase name="GroupObjectPrivilege init should return an instance of GroupObjectPrivilege when GroupObjectPrivilegeId is provided" duration="2"/>
93
+ <testCase name="GroupObjectPrivilege init should throw an error when GroupObjectPrivilegeId is provided but no GroupObjectPrivilege is found" duration="9"/>
94
+ <testCase name="GroupObjectPrivilege init should return a new instance of GroupObjectPrivilege when GroupObjectPrivilegeId is not provided" duration="4"/>
95
+ </file>
96
+ <file path="C:\Work\sso\__tests__\unit\components\user-reporting-hierarchy\user-reporting-hierarchy.spec.ts">
97
+ <testCase name="UserReportingHierarchy init should return a new instance when no id is provided" duration="3"/>
98
+ <testCase name="UserReportingHierarchy init should initialize with valid id" duration="1"/>
99
+ <testCase name="UserReportingHierarchy init should throw ClassError when id is not found" duration="11"/>
100
+ <testCase name="UserReportingHierarchy createUserReportingHierarchy should throw when user lacks USER_REPORTING_HIERARCHY_CREATE privilege" duration="3"/>
101
+ <testCase name="UserReportingHierarchy createUserReportingHierarchy should throw when relationship already exists" duration="2"/>
102
+ <testCase name="UserReportingHierarchy createUserReportingHierarchy should throw when rank already exists" duration="1"/>
103
+ <testCase name="UserReportingHierarchy createUserReportingHierarchy should throw when previous rank is not yet assigned (rank &gt; 1)" duration="1"/>
104
+ <testCase name="UserReportingHierarchy createUserReportingHierarchy should create hierarchy successfully" duration="2"/>
105
+ <testCase name="UserReportingHierarchy updateUserReportingHierarchy should throw when user lacks USER_REPORTING_HIERARCHY_UPDATE privilege" duration="2"/>
106
+ <testCase name="UserReportingHierarchy updateUserReportingHierarchy should update successfully" duration="2"/>
107
+ <testCase name="UserReportingHierarchy removeUserReportingHierarchy should throw when user lacks USER_REPORTING_HIERARCHY_REMOVE privilege" duration="1"/>
108
+ <testCase name="UserReportingHierarchy removeUserReportingHierarchy should remove hierarchy successfully" duration="2"/>
109
+ </file>
110
+ <file path="C:\Work\sso\__tests__\unit\components\user-privilege\user-privilege.spec.ts">
111
+ <testCase name="UserPrivilege constructor should create a new UserPrivilege instance" duration="3"/>
112
+ <testCase name="UserPrivilege init should initialize UserPrivilege with valid UserPrivilegeId" duration="4"/>
113
+ <testCase name="UserPrivilege init should throw ClassError when UserPrivilegeId is not found" duration="17"/>
114
+ </file>
115
+ <file path="C:\Work\sso\__tests__\unit\components\user-password-history\user-password-history.spec.ts">
116
+ <testCase name="UserPasswordHistory init should return new instance when no historyId is provided" duration="7"/>
117
+ <testCase name="UserPasswordHistory init should initialize UserPasswordHistory with valid historyId" duration="1"/>
118
+ <testCase name="UserPasswordHistory init should throw ClassError when historyId is not found" duration="8"/>
119
+ <testCase name="UserPasswordHistory validate should return null when no password history exists" duration="2"/>
120
+ <testCase name="UserPasswordHistory validate should throw ClassError when password matches history" duration="1"/>
121
+ <testCase name="UserPasswordHistory validate should not throw when password does not match any history" duration="1"/>
122
+ <testCase name="UserPasswordHistory create should create a new password history record" duration="2"/>
123
+ <testCase name="UserPasswordHistory create should purge oldest records when history exceeds policy limit" duration="2"/>
124
+ <testCase name="UserPasswordHistory create should not purge when history is within policy limit" duration="2"/>
125
+ </file>
126
+ <file path="C:\Work\sso\__tests__\unit\components\group-system-access\group-system-access.spec.ts">
127
+ <testCase name="GroupSystemAccess should create a new GroupSystemAccess instance" duration="3"/>
128
+ <testCase name="GroupSystemAccess init should initialize GroupSystemAccess without GroupSystemAccessId" duration="2"/>
129
+ <testCase name="GroupSystemAccess init should initialize GroupSystemAccess with GroupSystemAccessId" duration="3"/>
130
+ <testCase name="GroupSystemAccess init should throw an error if GroupSystemAccessId is not found" duration="34"/>
131
+ </file>
132
+ <file path="C:\Work\sso\__tests__\unit\components\user-system-access\user-system-access.spec.ts">
133
+ <testCase name="UserSystemAccess constructor should create a new UserSystemAccess instance" duration="4"/>
134
+ <testCase name="UserSystemAccess init should initialize UserSystemAccess with valid UserSystemAccessId" duration="4"/>
135
+ <testCase name="UserSystemAccess init should throw ClassError when UserSystemAccessId is not found" duration="6"/>
136
+ </file>
137
+ <file path="C:\Work\sso\__tests__\unit\components\user-object-privilege\user-object-privilege.spec.ts">
138
+ <testCase name="UserObjectPrivilege constructor should create a new UserObjectPrivilege instance" duration="7"/>
139
+ <testCase name="UserObjectPrivilege init should initialize UserObjectPrivilege with valid ObjectPrivilegeId" duration="3"/>
140
+ <testCase name="UserObjectPrivilege init should throw ClassError when ObjectPrivilegeId is not found" duration="7"/>
141
+ </file>
142
+ <file path="C:\Work\sso\__tests__\unit\session\session.service.spec.ts">
143
+ <testCase name="session.service should return session service when instansiated" duration="5"/>
144
+ <testCase name="session.service should able to write session data" duration="4"/>
145
+ <testCase name="session.service should able to refresh session data" duration="4"/>
146
+ </file>
147
+ <file path="C:\Work\sso\__tests__\unit\components\password-hash\password-hash.service.spec.ts">
148
+ <testCase name="password-hash.service should return hash password" duration="3"/>
149
+ <testCase name="password-hash.service should return true when verify password" duration="1"/>
150
+ </file>
151
+ <file path="C:\Work\sso\__tests__\unit\redis-client\redis.service.spec.ts">
152
+ <testCase name="redis.service should return redis service when instansiated" duration="3"/>
153
+ <testCase name="redis.service should able to write and read redis" duration="2"/>
154
+ </file>
155
+ <file path="C:\Work\sso\__tests__\unit\components\login-user\l.spec.ts">
156
+ <testCase name="SystemPrivilege should be true" duration="1"/>
157
+ </file>
158
+ <file path="C:\Work\sso\__tests__\unit\system-privilege\system-privilage.spec.ts">
159
+ <testCase name="SystemPrivilege should be true" duration="2"/>
32
160
  </file>
33
161
  </testExecutions>
@@ -54,15 +54,11 @@ describe('GroupReportingUser', () => {
54
54
  });
55
55
  }));
56
56
  it('should throw ClassError when GroupReportingUser is not found', () => __awaiter(void 0, void 0, void 0, function* () {
57
- jest
58
- .spyOn(group_reporting_user_repository_1.GroupReportingUserRepository.prototype, 'findByPk')
59
- .mockResolvedValue(null);
57
+ jest.spyOn(group_reporting_user_repository_1.GroupReportingUserRepository.prototype, 'findByPk').mockResolvedValue(null);
60
58
  yield expect(group_reporting_user_1.GroupReportingUser.init(mockDbTransaction, '1')).rejects.toThrow(general_1.ClassError);
61
59
  }));
62
60
  it('should throw ClassError when failed to initialize GroupReportingUser', () => __awaiter(void 0, void 0, void 0, function* () {
63
- jest
64
- .spyOn(group_reporting_user_repository_1.GroupReportingUserRepository.prototype, 'findByPk')
65
- .mockRejectedValue(new Error());
61
+ jest.spyOn(group_reporting_user_repository_1.GroupReportingUserRepository.prototype, 'findByPk').mockRejectedValue(new Error());
66
62
  yield expect(group_reporting_user_1.GroupReportingUser.init(mockDbTransaction, '1')).rejects.toThrow(Error);
67
63
  }));
68
64
  });
@@ -1 +1 @@
1
- {"version":3,"file":"group-reporting-user.spec.js","sourceRoot":"","sources":["../../../../../__tests__/unit/components/group-reporting-user/group-reporting-user.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"group-reporting-user.spec.js","sourceRoot":"","sources":["../../../../../__tests__/unit/components/group-reporting-user/group-reporting-user.spec.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const session_service_1 = require("../../../../src/session/session.service");
13
13
  const login_user_1 = require("../../../../src/components/login-user/login-user");
14
14
  const config_1 = require("@tomei/config");
15
+ const user_repository_1 = require("../../../../src/components/login-user/user.repository");
15
16
  const general_1 = require("@tomei/general");
16
17
  const user_status_enum_1 = require("../../../../src/enum/user-status.enum");
17
18
  const system_privilege_entity_1 = require("../../../../src/models/system-privilege.entity");
18
19
  const group_system_access_repository_1 = require("../../../../src/components/group-system-access/group-system-access.repository");
19
20
  const group_repository_1 = require("../../../../src/components/group/group.repository");
20
- const axios_1 = require("axios");
21
21
  const mockUserData = {
22
22
  UserId: 1,
23
23
  FullName: 'John Doe',
@@ -61,18 +61,10 @@ describe('LoginUser', () => {
61
61
  let sessionService;
62
62
  let userId;
63
63
  let dbTransaction;
64
- const mockLoginApiEndpoint = {
65
- baseUrl: 'http://sso-api',
66
- getProfile: '/get-profile',
67
- apiKey: 'test-api-key',
68
- };
69
64
  beforeEach(() => {
70
65
  sessionService = {};
71
66
  userId = 1;
72
67
  dbTransaction = null;
73
- jest
74
- .spyOn(config_1.ComponentConfig, 'getComponentConfigValue')
75
- .mockReturnValue(mockLoginApiEndpoint);
76
68
  });
77
69
  it('should initialize LoginUser with valid userId', () => __awaiter(void 0, void 0, void 0, function* () {
78
70
  const user = {
@@ -101,24 +93,60 @@ describe('LoginUser', () => {
101
93
  Mobile: '1234567890',
102
94
  },
103
95
  };
104
- const axiosPostMock = jest
105
- .spyOn(axios_1.default, 'post')
106
- .mockResolvedValueOnce({ data: { loginUser: user } });
96
+ const findOneMock = jest
97
+ .spyOn(user_repository_1.UserRepository.prototype, 'findOne')
98
+ .mockResolvedValueOnce(user);
107
99
  const result = yield login_user_1.LoginUser.init(sessionService, userId, dbTransaction);
108
- expect(axiosPostMock).toHaveBeenCalledTimes(1);
109
- expect(axiosPostMock).toHaveBeenCalledWith(`${mockLoginApiEndpoint.baseUrl}${mockLoginApiEndpoint.getProfile}`, { UserId: userId }, { headers: { 'Content-Type': 'application/json', 'x-api-key': mockLoginApiEndpoint.apiKey } });
100
+ expect(findOneMock).toHaveBeenCalledTimes(1);
101
+ expect(findOneMock).toHaveBeenCalledWith({
102
+ where: {
103
+ UserId: userId,
104
+ },
105
+ include: [
106
+ {
107
+ model: expect.anything(),
108
+ },
109
+ ],
110
+ transaction: dbTransaction,
111
+ });
110
112
  expect(result).toBeInstanceOf(login_user_1.LoginUser);
111
113
  expect(result.UserId).toBe(user.UserId);
112
114
  expect(result.FullName).toBe(user.FullName);
113
115
  expect(result.Email).toBe(user.Email);
116
+ expect(result.Password).toBe(user.Password);
114
117
  expect(result.Status).toBe(user.Status);
118
+ expect(result.DefaultPasswordChangedYN).toBe(user.DefaultPasswordChangedYN);
119
+ expect(result.FirstLoginAt).toBe(user.FirstLoginAt);
120
+ expect(result.LastLoginAt).toBe(user.LastLoginAt);
121
+ expect(result.MFAEnabled).toBe(user.MFAEnabled);
122
+ expect(result.MFAConfig).toBe(user.MFAConfig);
123
+ expect(result.RecoveryEmail).toBe(user.RecoveryEmail);
124
+ expect(result.FailedLoginAttemptCount).toBe(user.FailedLoginAttemptCount);
125
+ expect(result.LastFailedLoginAt).toBe(user.LastFailedLoginAt);
126
+ expect(result.LastPasswordChangedAt).toBe(user.LastPasswordChangedAt);
127
+ expect(result.NeedToChangePasswordYN).toBe(user.NeedToChangePasswordYN);
128
+ expect(result.CreatedById).toBe(user.CreatedById);
129
+ expect(result.CreatedAt).toBe(user.CreatedAt);
130
+ expect(result.UpdatedById).toBe(user.UpdatedById);
131
+ expect(result.UpdatedAt).toBe(user.UpdatedAt);
115
132
  }));
116
133
  it('should throw an error when user is not found', () => __awaiter(void 0, void 0, void 0, function* () {
117
- const axiosPostMock = jest
118
- .spyOn(axios_1.default, 'post')
119
- .mockResolvedValueOnce({ data: { loginUser: null } });
134
+ const findOneMock = jest
135
+ .spyOn(user_repository_1.UserRepository.prototype, 'findOne')
136
+ .mockResolvedValueOnce(null);
120
137
  yield expect(login_user_1.LoginUser.init(sessionService, userId, dbTransaction)).rejects.toThrow(Error);
121
- expect(axiosPostMock).toHaveBeenCalledTimes(1);
138
+ expect(findOneMock).toHaveBeenCalledTimes(1);
139
+ expect(findOneMock).toHaveBeenCalledWith({
140
+ where: {
141
+ UserId: userId,
142
+ },
143
+ include: [
144
+ {
145
+ model: expect.anything(),
146
+ },
147
+ ],
148
+ transaction: dbTransaction,
149
+ });
122
150
  }));
123
151
  });
124
152
  describe('shouldReleaseLock', () => {
@@ -441,18 +469,10 @@ describe('LoginUser', () => {
441
469
  }));
442
470
  });
443
471
  describe('checkPrivileges', () => {
444
- const mockLoginApiEndpoint = {
445
- baseUrl: 'http://sso-api',
446
- checkPrivileges: '/check-privileges',
447
- apiKey: 'test-api-key',
448
- };
449
472
  beforeEach(() => {
450
473
  jest
451
474
  .spyOn(config_1.ApplicationConfig, 'getComponentConfigValue')
452
475
  .mockReturnValue('test-session');
453
- jest
454
- .spyOn(config_1.ComponentConfig, 'getComponentConfigValue')
455
- .mockReturnValue(mockLoginApiEndpoint);
456
476
  });
457
477
  it('should return true if user has the specified privilege', () => __awaiter(void 0, void 0, void 0, function* () {
458
478
  const systemCode = 'SS';
@@ -460,12 +480,21 @@ describe('LoginUser', () => {
460
480
  const sessionService = yield session_service_1.SessionService.init();
461
481
  const loginUser = yield login_user_1.LoginUser.init(sessionService);
462
482
  loginUser.ObjectId = '1';
463
- const axiosPostMock = jest
464
- .spyOn(axios_1.default, 'post')
465
- .mockResolvedValueOnce({ data: { hasPrivilege: true } });
483
+ const rus = jest
484
+ .spyOn(session_service_1.SessionService.prototype, 'retrieveUserSession')
485
+ .mockResolvedValueOnce({
486
+ systemLogins: [
487
+ {
488
+ id: '1',
489
+ sessionId: 'sessionId',
490
+ code: systemCode,
491
+ privileges: [privilegeName],
492
+ },
493
+ ],
494
+ });
466
495
  const hasPrivilege = yield loginUser.checkPrivileges(systemCode, privilegeName);
467
496
  expect(hasPrivilege).toBe(true);
468
- expect(axiosPostMock).toHaveBeenCalledWith(`${mockLoginApiEndpoint.baseUrl}${mockLoginApiEndpoint.checkPrivileges}`, { SystemCode: systemCode, SessionName: 'test-session', PrivilegeName: privilegeName, UserId: '1' }, { headers: { 'Content-Type': 'application/json', 'x-api-key': mockLoginApiEndpoint.apiKey } });
497
+ expect(rus).toHaveBeenCalledWith(loginUser.ObjectId, 'test-session');
469
498
  }));
470
499
  it('should return false if user does not have the specified privilege', () => __awaiter(void 0, void 0, void 0, function* () {
471
500
  const systemCode = 'SS';
@@ -473,11 +502,21 @@ describe('LoginUser', () => {
473
502
  const sessionService = yield session_service_1.SessionService.init();
474
503
  const loginUser = yield login_user_1.LoginUser.init(sessionService);
475
504
  loginUser.ObjectId = '1';
476
- const axiosPostMock = jest
477
- .spyOn(axios_1.default, 'post')
478
- .mockResolvedValueOnce({ data: { hasPrivilege: false } });
505
+ const rus = jest
506
+ .spyOn(session_service_1.SessionService.prototype, 'retrieveUserSession')
507
+ .mockResolvedValueOnce({
508
+ systemLogins: [
509
+ {
510
+ id: '1',
511
+ sessionId: 'sessionId',
512
+ code: systemCode,
513
+ privileges: [],
514
+ },
515
+ ],
516
+ });
479
517
  const hasPrivilege = yield loginUser.checkPrivileges(systemCode, privilegeName);
480
518
  expect(hasPrivilege).toBe(false);
519
+ expect(rus).toHaveBeenCalledWith(loginUser.ObjectId, 'test-session');
481
520
  }));
482
521
  it('should throw an error if ObjectId is not set', () => __awaiter(void 0, void 0, void 0, function* () {
483
522
  const systemCode = 'SS';
@@ -1 +1 @@
1
- {"version":3,"file":"login.spec.js","sourceRoot":"","sources":["../../../../../__tests__/unit/components/login-user/login.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6EAAyE;AACzE,iFAA6E;AAC7E,0CAAmE;AAEnE,4CAA4C;AAE5C,4EAAmE;AAEnE,4FAAkF;AAClF,kIAA4H;AAC5H,wFAAoF;AACpF,iCAA0B;AAE1B,MAAM,YAAY,GAAG;IACnB,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,sBAAsB;IAC7B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,wBAAwB,EAAE,GAAG;IAC7B,YAAY,EAAE,IAAI,IAAI,EAAE;IACxB,WAAW,EAAE,IAAI,IAAI,EAAE;IACvB,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,QAAQ;IACnB,aAAa,EAAE,sBAAsB;IACrC,uBAAuB,EAAE,CAAC;IAC1B,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,IAAI,IAAI,EAAE;IACjC,sBAAsB,EAAE,GAAG;IAC3B,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,IAAI,IAAI,EAAE;IACrB,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,IAAI,IAAI,EAAE;IACrB,KAAK,EAAE;QACL,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,YAAY;KACrB;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;IACzB,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE;IAC9B,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;CAC3B,CAAC;AAEF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,SAAS,CAAC,GAAG,EAAE;QAEb,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACZ,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,IAAI,cAAmB,CAAC;QACxB,IAAI,MAAc,CAAC;QACnB,IAAI,aAAkB,CAAC;QACvB,MAAM,oBAAoB,GAAG;YAC3B,OAAO,EAAE,gBAAgB;YACzB,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE,cAAc;SACvB,CAAC;QAEF,UAAU,CAAC,GAAG,EAAE;YACd,cAAc,GAAG,EAAE,CAAC;YACpB,MAAM,GAAG,CAAC,CAAC;YACX,aAAa,GAAG,IAAI,CAAC;YACrB,IAAI;iBACD,KAAK,CAAC,wBAAe,EAAE,yBAAyB,CAAC;iBACjD,eAAe,CAAC,oBAA2B,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;YAC7D,MAAM,IAAI,GAAG;gBACX,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,sBAAsB;gBAC7B,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,QAAQ;gBAChB,wBAAwB,EAAE,KAAK;gBAC/B,YAAY,EAAE,IAAI,IAAI,EAAE;gBACxB,WAAW,EAAE,IAAI,IAAI,EAAE;gBACvB,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,QAAQ;gBACnB,aAAa,EAAE,sBAAsB;gBACrC,uBAAuB,EAAE,CAAC;gBAC1B,iBAAiB,EAAE,IAAI;gBACvB,qBAAqB,EAAE,IAAI,IAAI,EAAE;gBACjC,sBAAsB,EAAE,IAAI;gBAC5B,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,YAAY;iBACrB;aACF,CAAC;YAEF,MAAM,aAAa,GAAG,IAAI;iBACvB,KAAK,CAAC,eAAK,EAAE,MAAM,CAAC;iBACpB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAS,CAAC,CAAC;YAE/D,MAAM,MAAM,GAAG,MAAM,sBAAS,CAAC,IAAI,CACjC,cAAc,EACd,MAAM,EACN,aAAa,CACd,CAAC;YAEF,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,GAAG,oBAAoB,CAAC,OAAO,GAAG,oBAAoB,CAAC,UAAU,EAAE,EACnE,EAAE,MAAM,EAAE,MAAM,EAAE,EAClB,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAC9F,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,sBAAS,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;YAC5D,MAAM,aAAa,GAAG,IAAI;iBACvB,KAAK,CAAC,eAAK,EAAE,MAAM,CAAC;iBACpB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAS,CAAC,CAAC;YAE/D,MAAM,MAAM,CACV,sBAAS,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,CAAC,CACtD,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEzB,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAoEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,MAAM,mBAAmB,GAAG,CAAC,CAAC;QAC9B,MAAM,aAAa,GAAG,GAAG,CAAC;QAE1B,UAAU,CAAC,GAAG,EAAE;YACd,IAAI;iBACD,KAAK,CAAC,wBAAe,EAAE,yBAAyB,CAAC;iBACjD,kBAAkB,CAAC,CAAC,aAAqB,EAAE,SAAiB,EAAE,EAAE;gBAC/D,IAAI,SAAS,KAAK,qBAAqB,EAAE,CAAC;oBACxC,OAAO,mBAA0B,CAAC;gBACpC,CAAC;gBACD,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;oBAClC,OAAO,aAAoB,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oGAAoG,EAAE,GAAS,EAAE;YAElH,MAAM,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;YACrC,iBAAiB,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;YAElE,MAAM,MAAM,GAAG,sBAAS,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAG9D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,8GAA8G,EAAE,GAAS,EAAE;YAE5H,MAAM,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;YACrC,iBAAiB,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;YAGjE,MAAM,MAAM,GAAG,sBAAS,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAG9D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;YAE3D,MAAM,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;YAGrC,MAAM,MAAM,GAAG,sBAAS,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAG9D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;YAElD,MAAM,MAAM,GAAG,CAAC,CAAC;YACjB,MAAM,aAAa,GAAG,IAAI,CAAC;YAE3B,MAAM,UAAU,GAAG,IAAI;iBACpB,KAAK,CAAC,sBAAS,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;iBACzC,sBAAsB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAQ,CAAC,CAAC;YAG5D,sBAAS,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAGhD,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CACrC;gBACE,uBAAuB,EAAE,CAAC;gBAC1B,MAAM,EAAE,QAAQ;aACjB,EACD;gBACE,KAAK,EAAE;oBACL,MAAM;iBACP;gBACD,WAAW,EAAE,aAAa;aAC3B,CACF,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,uDAAuD,EAAE,GAAS,EAAE;YAErE,MAAM,aAAa,GAAG,IAAI,CAAC;YAC3B,MAAM,KAAK,GAAG;gBACZ,KAAK,EAAE,kBAAkB;gBACzB,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,YAAY;aACxB,CAAC;YAGF,IAAI;iBACD,KAAK,CAAC,sBAAS,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC;iBAC1C,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAQ,CAAC,CAAC;YAG7C,MAAM,MAAM,CACV,sBAAS,CAAC,yBAAyB,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CAC3D,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,GAAS,EAAE;YAE7E,MAAM,aAAa,GAAG,IAAI,CAAC;YAC3B,MAAM,KAAK,GAAG;gBACZ,KAAK,EAAE,kBAAkB;gBACzB,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,YAAY;aACxB,CAAC;YAGF,IAAI,CAAC,KAAK,CAAC,sBAAS,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;YAG1E,MAAM,MAAM,CACV,sBAAS,CAAC,yBAAyB,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CAC3D,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,MAAM,cAAc,GAAG;YACrB,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,EAAE;YACV,iBAAiB,EAAE,OAAO;YAC1B,mBAAmB,EAAE,CAAC;YACtB,YAAY,EAAE,CAAC;YACf,iBAAiB,EAAE,CAAC;SACrB,CAAC;QACF,UAAU,CAAC,GAAG,EAAE;YACd,IAAI;iBACD,KAAK,CAAC,wBAAe,EAAE,yBAAyB,CAAC;iBACjD,kBAAkB,CAAC,CAAC,aAAqB,EAAE,SAAiB,EAAE,EAAE;gBAC/D,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;oBACnC,OAAO,cAAqB,CAAC;gBAC/B,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,QAAQ,GAAG,sBAAS,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC7E,MAAM,QAAQ,GAAG,sBAAS,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,QAAQ,GAAG,sBAAS,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;YAChF,MAAM,QAAQ,GAAG,sBAAS,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;YAClF,MAAM,QAAQ,GAAG,sBAAS,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACxD,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3C,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE,KAAK,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,MAAM,cAAc,GAAG;YACrB,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,EAAE;YACV,iBAAiB,EAAE,OAAO;YAC1B,mBAAmB,EAAE,CAAC;YACtB,YAAY,EAAE,CAAC;YACf,iBAAiB,EAAE,CAAC;SACrB,CAAC;QACF,UAAU,CAAC,GAAG,EAAE;YACd,IAAI;iBACD,KAAK,CAAC,wBAAe,EAAE,yBAAyB,CAAC;iBACjD,kBAAkB,CAAC,CAAC,aAAqB,EAAE,SAAiB,EAAE,EAAE;gBAC/D,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;oBACnC,OAAO,cAAqB,CAAC;gBAC/B,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAS,EAAE;YAEpD,MAAM,aAAa,GAAG,IAAI,CAAC;YAC3B,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,WAAW,CAAC;YAG7B,MAAM,MAAM,GAAG,MAAM,sBAAS,CAAC,aAAa,CAAC,CAC3C,aAAa,EACb,IAAI,EACJ,QAAQ,CACT,CAAC;YAGF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,sBAAS,CAAC,CAAC;YACzC,MAAM,MAAM,CACV,sBAAS,CAAC,aAAa,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,CACxD,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,+EAA+E,EAAE,GAAS,EAAE;YAE7F,MAAM,aAAa,GAAG,IAAI,CAAC;YAC3B,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,cAAc,CAAC;YAGhC,MAAM,MAAM,CACV,sBAAS,CAAC,aAAa,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,CACxD,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IA0MH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAChD,QAAQ,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,GAAS,EAAE;YAE/E,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvD,SAAS,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;YACzC,SAAS,CAAC,mBAAmB,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5C,SAAS,CAAC,QAAQ,CAAC,GAAG,6BAAU,CAAC,MAAM,CAAC;YAExC,MAAM,aAAa,GAAG,IAAI,CAAC;YAG3B,IAAI;iBACD,KAAK,CAAE,sBAAiB,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;iBAClD,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAE7B,IAAI;iBACD,KAAK,CAAC,wBAAe,EAAE,yBAAyB,CAAC;iBACjD,kBAAkB,CAAC,CAAC,aAAqB,EAAE,SAAiB,EAAE,EAAE;gBAC/D,IAAI,SAAS,KAAK,wBAAwB,EAAE,CAAC;oBAC3C,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;oBAClC,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC,CAAC,CAAC;YAGL,MAAM,SAAS,CAAC,kCAAkC,CAAC,CAAC,aAAa,CAAC,CAAC;YAGnE,MAAM,CAAC,sBAAS,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAC1D;gBACE,uBAAuB,EAAE,CAAC;gBAC1B,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;gBACnC,MAAM,EAAE,6BAAU,CAAC,MAAM;aAC1B,EACD;gBACE,KAAK,EAAE;oBACL,MAAM,EAAE,SAAS,CAAC,MAAM;iBACzB;gBACD,WAAW,EAAE,aAAa;aAC3B,CACF,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,GAAS,EAAE;YAE3F,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvD,SAAS,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;YACzC,SAAS,CAAC,mBAAmB,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5C,SAAS,CAAC,QAAQ,CAAC,GAAG,6BAAU,CAAC,MAAM,CAAC;YAExC,MAAM,aAAa,GAAG,IAAI,CAAC;YAG3B,IAAI;iBACD,KAAK,CAAE,sBAAiB,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;iBAClD,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAE7B,IAAI;iBACD,KAAK,CAAC,wBAAe,EAAE,yBAAyB,CAAC;iBACjD,sBAAsB,CAAC,CAAC,aAAqB,EAAE,SAAiB,EAAE,EAAE;gBACnE,IAAI,SAAS,KAAK,wBAAwB,EAAE,CAAC;oBAC3C,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;oBAClC,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC,CAAC;YAGL,MAAM,MAAM,CACV,SAAS,CAAC,kCAAkC,CAAC,CAAC,aAAa,CAAC,CAC7D,CAAC,OAAO,CAAC,OAAO,CACf,IAAI,oBAAU,CACZ,WAAW,EACX,mBAAmB,EACnB,iFAAiF,CAClF,CACF,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,sFAAsF,EAAE,GAAS,EAAE;YAEpG,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvD,SAAS,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;YACzC,SAAS,CAAC,mBAAmB,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5C,SAAS,CAAC,QAAQ,CAAC,GAAG,6BAAU,CAAC,MAAM,CAAC;YAExC,MAAM,aAAa,GAAG,IAAI,CAAC;YAG3B,IAAI;iBACD,KAAK,CAAE,sBAAiB,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;iBAClD,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAE7B,IAAI;iBACD,KAAK,CAAC,wBAAe,EAAE,yBAAyB,CAAC;iBACjD,kBAAkB,CAAC,CAAC,aAAqB,EAAE,SAAiB,EAAE,EAAE;gBAC/D,IAAI,SAAS,KAAK,wBAAwB,EAAE,CAAC;oBAC3C,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;oBAClC,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC,CAAC,CAAC;YAGL,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,kCAAkC,CAAC,CAAC,aAAa,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,MAAM,CAAC,sBAAS,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAC1D;oBACE,uBAAuB,EAAE,CAAC;oBAC1B,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;oBACnC,MAAM,EAAE,6BAAU,CAAC,MAAM;iBAC1B,EACD;oBACE,KAAK,EAAE;wBACL,MAAM,EAAE,SAAS,CAAC,MAAM;qBACzB;oBACD,WAAW,EAAE,aAAa;iBAC3B,CACF,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,oBAAU,CAAC,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CACxB,yGAAyG,CAC1G,CAAC;YACJ,CAAC;QACH,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,yHAAyH,EAAE,GAAS,EAAE;YAEvI,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvD,SAAS,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;YACzC,SAAS,CAAC,mBAAmB,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5C,SAAS,CAAC,QAAQ,CAAC,GAAG,6BAAU,CAAC,MAAM,CAAC;YAExC,MAAM,aAAa,GAAG,IAAI,CAAC;YAG3B,IAAI;iBACD,KAAK,CAAE,sBAAiB,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;iBAClD,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAE7B,IAAI;iBACD,KAAK,CAAC,wBAAe,EAAE,yBAAyB,CAAC;iBACjD,kBAAkB,CAAC,CAAC,aAAqB,EAAE,SAAiB,EAAE,EAAE;gBAC/D,IAAI,SAAS,KAAK,wBAAwB,EAAE,CAAC;oBAC3C,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;oBAClC,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC,CAAC,CAAC;YAGL,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,kCAAkC,CAAC,CAAC,aAAa,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,MAAM,CAAC,sBAAS,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAC1D;oBACE,uBAAuB,EAAE,CAAC;oBAC1B,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;oBACnC,MAAM,EAAE,6BAAU,CAAC,MAAM;iBAC1B,EACD;oBACE,KAAK,EAAE;wBACL,MAAM,EAAE,SAAS,CAAC,MAAM;qBACzB;oBACD,WAAW,EAAE,aAAa;iBAC3B,CACF,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,oBAAU,CAAC,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CACxB,8IAA8I,CAC/I,CAAC;YACJ,CAAC;QACH,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,mEAAmE,EAAE,GAAS,EAAE;YAEjF,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,IAAI,CAAC;YAC3B,MAAM,MAAM,GAAG;gBACb,EAAE,2BAA2B,EAAE,IAAI,EAAE;gBACrC,EAAE,2BAA2B,EAAE,KAAK,EAAE;aACvC,CAAC;YAGF,IAAI;iBACD,KAAK,CAAC,sBAAgB,EAAE,0BAA0B,CAAC;iBACnD,qBAAqB,CAAC;gBACrB,EAAE,UAAU,EAAE,SAAS,EAAE;gBACzB,EAAE,UAAU,EAAE,SAAS,EAAE;aAC1B,CAAC,CAAC;YACL,IAAI;iBACD,KAAK,CAAE,sBAAiB,CAAC,uBAAuB,CAAC,EAAE,SAAS,CAAC;iBAC7D,qBAAqB,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAGtD,MAAM,MAAM,GAAG,MAAM,sBAAS,CAAC,qBAAqB,CAAC,CACnD,SAAS,EACT,aAAa,EACb,MAAM,CACP,CAAC;YAGF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,EAAE,UAAU,EAAE,SAAS,EAAE;gBACzB,EAAE,UAAU,EAAE,SAAS,EAAE;gBACzB,EAAE,UAAU,EAAE,SAAS,EAAE;aAC1B,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,MAAM,oBAAoB,GAAG;YAC3B,OAAO,EAAE,gBAAgB;YACzB,eAAe,EAAE,mBAAmB;YACpC,MAAM,EAAE,cAAc;SACvB,CAAC;QAEF,UAAU,CAAC,GAAG,EAAE;YACd,IAAI;iBACD,KAAK,CAAC,0BAAiB,EAAE,yBAAyB,CAAC;iBACnD,eAAe,CAAC,cAAqB,CAAC,CAAC;YAC1C,IAAI;iBACD,KAAK,CAAC,wBAAe,EAAE,yBAAyB,CAAC;iBACjD,eAAe,CAAC,oBAA2B,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAS,EAAE;YAEtE,MAAM,UAAU,GAAG,IAAI,CAAC;YACxB,MAAM,aAAa,GAAG,aAAa,CAAC;YACpC,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvD,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC;YAEzB,MAAM,aAAa,GAAG,IAAI;iBACvB,KAAK,CAAC,eAAK,EAAE,MAAM,CAAC;iBACpB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAS,CAAC,CAAC;YAGlE,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAClD,UAAU,EACV,aAAa,CACd,CAAC;YAGF,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,GAAG,oBAAoB,CAAC,OAAO,GAAG,oBAAoB,CAAC,eAAe,EAAE,EACxE,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,EAClG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAC9F,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,GAAS,EAAE;YAEjF,MAAM,UAAU,GAAG,IAAI,CAAC;YACxB,MAAM,aAAa,GAAG,aAAa,CAAC;YACpC,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvD,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC;YAEzB,MAAM,aAAa,GAAG,IAAI;iBACvB,KAAK,CAAC,eAAK,EAAE,MAAM,CAAC;iBACpB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,EAAS,CAAC,CAAC;YAGnE,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAClD,UAAU,EACV,aAAa,CACd,CAAC;YAGF,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;YAE5D,MAAM,UAAU,GAAG,IAAI,CAAC;YACxB,MAAM,aAAa,GAAG,aAAa,CAAC;YACpC,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvD,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;YAG1B,MAAM,MAAM,CACV,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,aAAa,CAAC,CACrD,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,sCAAsC,EAAE,GAAS,EAAE;YAEpD,MAAM,UAAU,GAAG,SAAS,CAAC;YAC7B,MAAM,aAAa,GAAG,IAAI,CAAC;YAC3B,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAGvD,MAAM,WAAW,GAAG,IAAI;iBACrB,KAAK,CAAC,sBAAS,CAAC,0BAA0B,CAAC,EAAE,SAAS,CAAC;iBACvD,iBAAiB,CAAC;gBACjB;oBACE,aAAa,EAAE,YAAY;oBAC3B,SAAS,EAAE;wBACT,aAAa,EAAE,YAAY;wBAC3B,UAAU,EAAE,UAAU;wBACtB,IAAI,EAAE,YAAY;qBACnB;iBACF;gBACD;oBACE,aAAa,EAAE,YAAY;oBAC3B,SAAS,EAAE;wBACT,aAAa,EAAE,YAAY;wBAC3B,IAAI,EAAE,YAAY;qBACnB;iBACF;aACK,CAAC,CAAC;YAGZ,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CACnD,UAAU,EACV,aAAa,CACd,CAAC;YAGF,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC;gBACvC,KAAK,EAAE;oBACL,MAAM,EAAE,SAAS,CAAC,MAAM;iBACzB;gBACD,OAAO,EAAE;oBACP,KAAK,EAAE,iCAAoB;oBAC3B,KAAK,EAAE;wBACL,UAAU,EAAE,UAAU;wBACtB,MAAM,EAAE,QAAQ;qBACjB;iBACF;gBACD,WAAW,EAAE,aAAa;aAC3B,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QACvD,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;YAE5D,MAAM,UAAU,GAAG,SAAS,CAAC;YAC7B,MAAM,aAAa,GAAG,IAAI,CAAC;YAC3B,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAGvD,IAAI;iBACD,KAAK,CAAC,sBAAS,CAAC,0BAA0B,CAAC,EAAE,SAAS,CAAC;iBACvD,iBAAiB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAGlD,MAAM,MAAM,CACV,SAAS,CAAC,qBAAqB,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAC5D,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,sCAAsC,EAAE,GAAS,EAAE;YAEpD,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,SAAS,CAAC;YAC7B,MAAM,aAAa,GAAG,IAAI,CAAC;YAG3B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,sBAAS,CAAC,oBAAoB,CAAC,EAC/B,SAAS,CACV,CAAC;YACF,WAAW,CAAC,iBAAiB,CAAC;gBAC5B,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE;gBAC9C,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE;aACxC,CAAC,CAAC;YAGV,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,2BAA2B,CAAC,CAC7D,UAAU,EACV,aAAa,CACd,CAAC;YAGF,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC;gBACvC,KAAK,EAAE;oBACL,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,MAAM,EAAE,QAAQ;iBACjB;gBACD,OAAO,EAAE;oBACP,KAAK,EAAE,iCAAoB;oBAC3B,KAAK,EAAE;wBACL,UAAU,EAAE,UAAU;wBACtB,MAAM,EAAE,QAAQ;qBACjB;iBACF;gBACD,WAAW,EAAE,aAAa;aAC3B,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;YAExD,MAAM,cAAc,GAAG,MAAM,gCAAc,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,SAAS,CAAC;YAC7B,MAAM,aAAa,GAAG,IAAI,CAAC;YAG3B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,sBAAS,CAAC,oBAAoB,CAAC,EAC/B,SAAS,CACV,CAAC;YACF,WAAW,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAG3D,MAAM,MAAM,CACV,SAAS,CAAC,2BAA2B,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAClE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEzB,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC;gBACvC,KAAK,EAAE;oBACL,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,MAAM,EAAE,QAAQ;iBACjB;gBACD,OAAO,EAAE;oBACP,KAAK,EAAE,iCAAoB;oBAC3B,KAAK,EAAE;wBACL,UAAU,EAAE,UAAU;wBACtB,MAAM,EAAE,QAAQ;qBACjB;iBACF;gBACD,WAAW,EAAE,aAAa;aAC3B,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,qFAAqF,EAAE,GAAS,EAAE;YAEnG,MAAM,aAAa,GAAG,IAAI,CAAC;YAC3B,MAAM,KAAK,GAAG;gBACZ,SAAS,EAAE,QAAQ;gBACnB,2BAA2B,EAAE,GAAG;gBAChC,eAAe,EAAE,aAAa;aACxB,CAAC;YACT,MAAM,WAAW,GAAG;gBAClB,SAAS,EAAE,aAAa;gBACxB,2BAA2B,EAAE,GAAG;gBAChC,eAAe,EAAE,IAAI;aACf,CAAC;YAET,MAAM,YAAY,GAAG;gBACnB;oBACE,UAAU,EAAE,SAAS;oBACrB,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;iBAClC;gBACD;oBACE,UAAU,EAAE,SAAS;oBACrB,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;iBAClC;aACK,CAAC;YAET,MAAM,kBAAkB,GAAG;gBACzB;oBACE,UAAU,EAAE,SAAS;oBACrB,SAAS,EAAE,aAAa;oBACxB,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;iBAClC;aACK,CAAC;YAGT,MAAM,iBAAiB,GAAG,IAAI;iBAC3B,KAAK,CAAC,kCAAe,CAAC,SAAS,EAAE,UAAU,CAAC;iBAC5C,qBAAqB,CAAC,WAAkB,CAAC,CAAC;YAC7C,MAAM,uBAAuB,GAAG,IAAI;iBACjC,KAAK,CAAC,4DAA2B,CAAC,SAAS,EAAE,SAAS,CAAC;iBACvD,kBAAkB,CAAC,CAAC,OAAY,EAAE,EAAE;gBACnC,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;oBAChD,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACvC,CAAC;qBAAM,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,WAAW,CAAC,SAAS,EAAE,CAAC;oBAC7D,OAAO,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC,CAAC,CAAC;YAGL,MAAM,MAAM,GAAG,MAAM,sBAAS,CAAC,0BAA0B,CAAC,CACxD,aAAa,EACb,KAAK,CACN,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB;oBACE,UAAU,EAAE,SAAS;oBACrB,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;iBAClC;gBACD;oBACE,UAAU,EAAE,SAAS;oBACrB,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;iBAClC;gBACD;oBACE,UAAU,EAAE,SAAS;oBACrB,SAAS,EAAE,aAAa;oBACxB,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;iBAClC;aACF,CAAC,CAAC;YACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAC5C,KAAK,CAAC,eAAe,EACrB,aAAa,CACd,CAAC;YACF,MAAM,CAAC,uBAAuB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"login.spec.js","sourceRoot":"","sources":["../../../../../__tests__/unit/components/login-user/login.spec.ts"],"names":[],"mappings":"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"}