@acorex/modules 1.0.0 → 1.0.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 (134) hide show
  1. package/auth/index.d.ts +1 -0
  2. package/auth/lib/account/account.module.d.ts +1 -1
  3. package/auth/lib/account/app-chooser/app-chooser-slot.component.d.ts +1 -1
  4. package/auth/lib/account/app-chooser/app-chooser.component.d.ts +1 -1
  5. package/auth/lib/account/profile/profile-slot.component.d.ts +6 -1
  6. package/auth/lib/account/tenant-chooser/tenant-chooser-dropdown.component.d.ts +1 -1
  7. package/auth/lib/auth.config.d.ts +5 -5
  8. package/auth/lib/error-handler.d.ts +1 -1
  9. package/auth/lib/login/password/password.component.d.ts +1 -1
  10. package/backend/index.d.ts +2 -0
  11. package/backend/lib/auth/oidc/application.loader.d.ts +2 -2
  12. package/backend/lib/auth/oidc/configuration.service.d.ts +60 -0
  13. package/backend/lib/auth/oidc/feature.loader.d.ts +1 -0
  14. package/backend/lib/auth/oidc/index.d.ts +3 -0
  15. package/backend/lib/auth/oidc/oidc.strategy.d.ts +5 -3
  16. package/backend/lib/auth/oidc/permission.loader.d.ts +11 -2
  17. package/backend/lib/auth/oidc/signincallback.component.d.ts +1 -0
  18. package/backend/lib/auth/oidc/tenant.loader.d.ts +2 -2
  19. package/backend/lib/auth/oidc/usermanager.service.d.ts +4 -1
  20. package/backend/lib/backend.configs.d.ts +0 -5
  21. package/backend/lib/data/api/data-provider.d.ts +4 -0
  22. package/backend/lib/data/index.d.ts +3 -0
  23. package/backend/lib/data/local/data-Conditioner.d.ts +6 -0
  24. package/backend/lib/data/local/local-data-provider.d.ts +23 -0
  25. package/esm2022/auth/index.mjs +2 -1
  26. package/esm2022/auth/lib/account/account.module.mjs +12 -12
  27. package/esm2022/auth/lib/account/app-chooser/app-chooser-list.component.mjs +6 -6
  28. package/esm2022/auth/lib/account/app-chooser/app-chooser-slot.component.mjs +7 -6
  29. package/esm2022/auth/lib/account/app-chooser/app-chooser.component.mjs +7 -6
  30. package/esm2022/auth/lib/account/profile/profile-slot.component.mjs +45 -18
  31. package/esm2022/auth/lib/account/tenant-chooser/tenant-chooser-dropdown.component.mjs +6 -5
  32. package/esm2022/auth/lib/account/tenant-chooser/tenant-chooser.component.mjs +7 -7
  33. package/esm2022/auth/lib/auth.config.mjs +7 -6
  34. package/esm2022/auth/lib/auth.module.mjs +4 -4
  35. package/esm2022/auth/lib/auth.routes.mjs +7 -6
  36. package/esm2022/auth/lib/error-handler.mjs +14 -7
  37. package/esm2022/auth/lib/forgot/password/password.component.mjs +4 -4
  38. package/esm2022/auth/lib/login/login.module.mjs +5 -6
  39. package/esm2022/auth/lib/login/password/password.component.mjs +26 -11
  40. package/esm2022/auth/lib/shared/layouts/blank/blank.layout.mjs +3 -3
  41. package/esm2022/auth/lib/shared/layouts/master/master.layout.mjs +8 -7
  42. package/esm2022/auth/lib/shared/services/idle.service.mjs +3 -3
  43. package/esm2022/auth/lib/store/auth.effects.mjs +3 -3
  44. package/esm2022/auth/lib/two-factor/two-factor-code/two-factor-code.component.mjs +4 -4
  45. package/esm2022/auth/lib/two-factor/two-factor.module.mjs +4 -4
  46. package/esm2022/backend/index.mjs +3 -1
  47. package/esm2022/backend/lib/auth/oidc/application.loader.mjs +15 -13
  48. package/esm2022/backend/lib/auth/oidc/configuration.service.mjs +53 -0
  49. package/esm2022/backend/lib/auth/oidc/feature.loader.mjs +16 -2
  50. package/esm2022/backend/lib/auth/oidc/index.mjs +4 -1
  51. package/esm2022/backend/lib/auth/oidc/oidc.strategy.mjs +59 -39
  52. package/esm2022/backend/lib/auth/oidc/permission.loader.mjs +31 -4
  53. package/esm2022/backend/lib/auth/oidc/signincallback.component.mjs +27 -7
  54. package/esm2022/backend/lib/auth/oidc/tenant.loader.mjs +16 -14
  55. package/esm2022/backend/lib/auth/oidc/usermanager.service.mjs +8 -6
  56. package/esm2022/backend/lib/backend.configs.mjs +2 -3
  57. package/esm2022/backend/lib/backend.module.mjs +9 -23
  58. package/esm2022/backend/lib/data/api/data-provider.mjs +49 -13
  59. package/esm2022/backend/lib/data/index.mjs +4 -0
  60. package/esm2022/backend/lib/data/local/data-Conditioner.mjs +76 -0
  61. package/esm2022/backend/lib/data/local/local-data-provider.mjs +84 -0
  62. package/esm2022/log-management/acorex-modules-log-management.mjs +5 -0
  63. package/esm2022/log-management/index.mjs +3 -0
  64. package/esm2022/log-management/lib/audit-logs.entity.mjs +392 -0
  65. package/esm2022/log-management/lib/log-management.module.mjs +16 -0
  66. package/esm2022/notification/index.mjs +3 -1
  67. package/esm2022/notification/lib/notification.module.mjs +4 -4
  68. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-3tiGzryz.mjs → acorex-modules-auth-acorex-modules-auth-jEqtVhBE.mjs} +143 -109
  69. package/fesm2022/acorex-modules-auth-acorex-modules-auth-jEqtVhBE.mjs.map +1 -0
  70. package/fesm2022/acorex-modules-auth-app-chooser.component-BbtMSwfI.mjs +72 -0
  71. package/fesm2022/acorex-modules-auth-app-chooser.component-BbtMSwfI.mjs.map +1 -0
  72. package/fesm2022/{acorex-modules-auth-blank.layout-0xNRyD5z.mjs → acorex-modules-auth-blank.layout-BOdRxDNv.mjs} +4 -4
  73. package/fesm2022/{acorex-modules-auth-blank.layout-0xNRyD5z.mjs.map → acorex-modules-auth-blank.layout-BOdRxDNv.mjs.map} +1 -1
  74. package/fesm2022/{acorex-modules-auth-login.module-lGs54nBU.mjs → acorex-modules-auth-login.module-Drm4fC1I.mjs} +13 -12
  75. package/fesm2022/acorex-modules-auth-login.module-Drm4fC1I.mjs.map +1 -0
  76. package/fesm2022/{acorex-modules-auth-master.layout-ytopPv2z.mjs → acorex-modules-auth-master.layout-cAm6TYeA.mjs} +12 -10
  77. package/fesm2022/acorex-modules-auth-master.layout-cAm6TYeA.mjs.map +1 -0
  78. package/fesm2022/{acorex-modules-auth-password.component-Q9Me4kkK.mjs → acorex-modules-auth-password.component-Ch2Wqi2W.mjs} +12 -10
  79. package/fesm2022/{acorex-modules-auth-password.component-Q9Me4kkK.mjs.map → acorex-modules-auth-password.component-Ch2Wqi2W.mjs.map} +1 -1
  80. package/fesm2022/acorex-modules-auth-password.component-D4CkGaq0.mjs +127 -0
  81. package/fesm2022/acorex-modules-auth-password.component-D4CkGaq0.mjs.map +1 -0
  82. package/fesm2022/{acorex-modules-auth-routes-jgo2XGe0.mjs → acorex-modules-auth-routes-DyjibH6l.mjs} +2 -2
  83. package/fesm2022/{acorex-modules-auth-routes-jgo2XGe0.mjs.map → acorex-modules-auth-routes-DyjibH6l.mjs.map} +1 -1
  84. package/fesm2022/acorex-modules-auth-tenant-chooser.component-CJu2Lfbf.mjs +84 -0
  85. package/fesm2022/acorex-modules-auth-tenant-chooser.component-CJu2Lfbf.mjs.map +1 -0
  86. package/fesm2022/{acorex-modules-auth-two-factor-code.component-fP6CLq9T.mjs → acorex-modules-auth-two-factor-code.component-B41iXHoT.mjs} +5 -5
  87. package/fesm2022/{acorex-modules-auth-two-factor-code.component-fP6CLq9T.mjs.map → acorex-modules-auth-two-factor-code.component-B41iXHoT.mjs.map} +1 -1
  88. package/fesm2022/{acorex-modules-auth-two-factor.module--fcoNW-s.mjs → acorex-modules-auth-two-factor.module-A0hevYO2.mjs} +12 -10
  89. package/fesm2022/acorex-modules-auth-two-factor.module-A0hevYO2.mjs.map +1 -0
  90. package/fesm2022/acorex-modules-auth.mjs +7 -5
  91. package/fesm2022/acorex-modules-auth.mjs.map +1 -1
  92. package/fesm2022/acorex-modules-backend.mjs +432 -227
  93. package/fesm2022/acorex-modules-backend.mjs.map +1 -1
  94. package/fesm2022/acorex-modules-log-management.mjs +415 -0
  95. package/fesm2022/acorex-modules-log-management.mjs.map +1 -0
  96. package/fesm2022/acorex-modules-notification.mjs +7 -4
  97. package/fesm2022/acorex-modules-notification.mjs.map +1 -1
  98. package/log-management/README.md +4 -0
  99. package/log-management/index.d.ts +2 -0
  100. package/log-management/lib/audit-logs.entity.d.ts +3 -0
  101. package/log-management/lib/log-management.module.d.ts +6 -0
  102. package/package.json +9 -3
  103. package/auth/lib/register/email/email.component.d.ts +0 -5
  104. package/auth/lib/register/register.module.d.ts +0 -7
  105. package/auth/lib/register/result/result.component.d.ts +0 -5
  106. package/backend/lib/auth/userpass/application.loader.d.ts +0 -6
  107. package/backend/lib/auth/userpass/index.d.ts +0 -4
  108. package/backend/lib/auth/userpass/permission.loader.d.ts +0 -5
  109. package/backend/lib/auth/userpass/tenant.loader.d.ts +0 -6
  110. package/backend/lib/auth/userpass/userpass.strategy.d.ts +0 -12
  111. package/esm2022/auth/lib/register/email/email.component.mjs +0 -42
  112. package/esm2022/auth/lib/register/register.module.mjs +0 -59
  113. package/esm2022/auth/lib/register/result/result.component.mjs +0 -33
  114. package/esm2022/backend/lib/auth/userpass/application.loader.mjs +0 -30
  115. package/esm2022/backend/lib/auth/userpass/index.mjs +0 -5
  116. package/esm2022/backend/lib/auth/userpass/permission.loader.mjs +0 -12
  117. package/esm2022/backend/lib/auth/userpass/tenant.loader.mjs +0 -26
  118. package/esm2022/backend/lib/auth/userpass/userpass.strategy.mjs +0 -40
  119. package/fesm2022/acorex-modules-auth-acorex-modules-auth-3tiGzryz.mjs.map +0 -1
  120. package/fesm2022/acorex-modules-auth-app-chooser.component-Hh2T5orM.mjs +0 -70
  121. package/fesm2022/acorex-modules-auth-app-chooser.component-Hh2T5orM.mjs.map +0 -1
  122. package/fesm2022/acorex-modules-auth-email.component-ZbTwT8iu.mjs +0 -45
  123. package/fesm2022/acorex-modules-auth-email.component-ZbTwT8iu.mjs.map +0 -1
  124. package/fesm2022/acorex-modules-auth-login.module-lGs54nBU.mjs.map +0 -1
  125. package/fesm2022/acorex-modules-auth-master.layout-ytopPv2z.mjs.map +0 -1
  126. package/fesm2022/acorex-modules-auth-password.component-p1Ks9S5q.mjs +0 -110
  127. package/fesm2022/acorex-modules-auth-password.component-p1Ks9S5q.mjs.map +0 -1
  128. package/fesm2022/acorex-modules-auth-register.module-ckbVm-yf.mjs +0 -77
  129. package/fesm2022/acorex-modules-auth-register.module-ckbVm-yf.mjs.map +0 -1
  130. package/fesm2022/acorex-modules-auth-result.component-ORUU7lkV.mjs +0 -36
  131. package/fesm2022/acorex-modules-auth-result.component-ORUU7lkV.mjs.map +0 -1
  132. package/fesm2022/acorex-modules-auth-tenant-chooser.component-PeGg21Im.mjs +0 -84
  133. package/fesm2022/acorex-modules-auth-tenant-chooser.component-PeGg21Im.mjs.map +0 -1
  134. package/fesm2022/acorex-modules-auth-two-factor.module--fcoNW-s.mjs.map +0 -1
@@ -0,0 +1,392 @@
1
+ import { AXPDataProvider } from '@acorex/platform/common';
2
+ import { convertPropertiesToColumns, widgetSchemas, } from '@acorex/platform/layouts';
3
+ const properties = [
4
+ {
5
+ name: 'executionTime',
6
+ title: 'Execution Time',
7
+ schema: widgetSchemas.dateTime,
8
+ canEdit: false,
9
+ canInsert: true,
10
+ formats: {
11
+ default: 'HH:mm:ss dd MMM YYYY',
12
+ },
13
+ canInlineFilter: true,
14
+ validationRules: [],
15
+ },
16
+ {
17
+ name: 'httpMethod',
18
+ title: 'HTTP Method',
19
+ schema: widgetSchemas.text,
20
+ canEdit: false,
21
+ canInsert: true,
22
+ canInlineFilter: true,
23
+ validationRules: [],
24
+ },
25
+ {
26
+ name: 'url',
27
+ title: 'URL',
28
+ schema: widgetSchemas.text,
29
+ canEdit: false,
30
+ canInsert: true,
31
+ canInlineFilter: true,
32
+ validationRules: [],
33
+ },
34
+ {
35
+ name: 'httpStatusCode',
36
+ title: 'HTTP Status Code',
37
+ schema: widgetSchemas.number,
38
+ canEdit: false,
39
+ canInsert: true,
40
+ canInlineFilter: true,
41
+ validationRules: [],
42
+ },
43
+ {
44
+ name: 'exceptions',
45
+ title: 'Exceptions',
46
+ schema: widgetSchemas.largetext,
47
+ canEdit: false,
48
+ canInsert: true,
49
+ canInlineFilter: true,
50
+ validationRules: [],
51
+ },
52
+ {
53
+ name: 'browserInfo',
54
+ title: 'Browser Info',
55
+ schema: widgetSchemas.text,
56
+ canEdit: false,
57
+ canInsert: true,
58
+ canInlineFilter: true,
59
+ validationRules: [],
60
+ },
61
+ {
62
+ name: 'comments',
63
+ title: 'Comments',
64
+ schema: widgetSchemas.text,
65
+ canEdit: true,
66
+ canInsert: true,
67
+ canInlineFilter: true,
68
+ validationRules: [],
69
+ },
70
+ {
71
+ name: 'applicationName',
72
+ title: 'Application Name',
73
+ schema: widgetSchemas.text,
74
+ canEdit: true,
75
+ canInsert: true,
76
+ canInlineFilter: true,
77
+ validationRules: [],
78
+ },
79
+ {
80
+ name: 'axApplicationName',
81
+ title: 'AX Application Name',
82
+ schema: widgetSchemas.text,
83
+ canEdit: true,
84
+ canInsert: true,
85
+ canInlineFilter: true,
86
+ validationRules: [],
87
+ },
88
+ {
89
+ name: 'executionDuration',
90
+ title: 'Execution Duration',
91
+ schema: widgetSchemas.number,
92
+ canEdit: false,
93
+ canInsert: true,
94
+ canInlineFilter: true,
95
+ validationRules: [],
96
+ },
97
+ {
98
+ name: 'clientIpAddress',
99
+ title: 'Client IP Address',
100
+ schema: widgetSchemas.text,
101
+ canEdit: false,
102
+ canInsert: true,
103
+ canInlineFilter: true,
104
+ validationRules: [],
105
+ },
106
+ {
107
+ name: 'correlationId',
108
+ title: 'Correlation ID',
109
+ schema: widgetSchemas.text,
110
+ canEdit: false,
111
+ canInsert: true,
112
+ canInlineFilter: true,
113
+ validationRules: [],
114
+ },
115
+ {
116
+ name: 'entityChanges',
117
+ title: 'Entity Changes',
118
+ schema: widgetSchemas.richText,
119
+ canEdit: true,
120
+ canInsert: true,
121
+ canInlineFilter: true,
122
+ validationRules: [],
123
+ component: {
124
+ common: {
125
+ options: {
126
+ reference: 'entityChanges',
127
+ referenceField: 'entityChangeId',
128
+ textField: 'changeType',
129
+ valueField: 'id',
130
+ multiple: true,
131
+ },
132
+ },
133
+ },
134
+ },
135
+ {
136
+ name: 'actions',
137
+ title: 'Actions',
138
+ schema: widgetSchemas.richText,
139
+ canEdit: true,
140
+ canInsert: true,
141
+ canInlineFilter: true,
142
+ validationRules: [],
143
+ component: {
144
+ common: {
145
+ options: {
146
+ reference: 'actions',
147
+ referenceField: 'actionId',
148
+ textField: 'methodName',
149
+ valueField: 'id',
150
+ multiple: true,
151
+ },
152
+ },
153
+ },
154
+ },
155
+ {
156
+ name: 'userId',
157
+ title: 'User ID',
158
+ schema: widgetSchemas.text,
159
+ canEdit: false,
160
+ canInsert: false,
161
+ canInlineFilter: true,
162
+ validationRules: [],
163
+ },
164
+ {
165
+ name: 'userName',
166
+ title: 'Username',
167
+ schema: widgetSchemas.text,
168
+ canEdit: false,
169
+ canInsert: true,
170
+ canInlineFilter: true,
171
+ validationRules: [
172
+ {
173
+ rule: 'required',
174
+ },
175
+ ],
176
+ },
177
+ {
178
+ name: 'tenantId',
179
+ title: 'Tenant ID',
180
+ schema: widgetSchemas.text,
181
+ canEdit: false,
182
+ canInsert: false,
183
+ canInlineFilter: true,
184
+ validationRules: [],
185
+ },
186
+ {
187
+ name: 'tenantName',
188
+ title: 'Tenant Name',
189
+ schema: widgetSchemas.text,
190
+ canEdit: true,
191
+ canInsert: true,
192
+ canInlineFilter: true,
193
+ validationRules: [],
194
+ },
195
+ {
196
+ name: 'impersonatorUserId',
197
+ title: 'Impersonator User ID',
198
+ schema: widgetSchemas.text,
199
+ canEdit: false,
200
+ canInsert: false,
201
+ canInlineFilter: true,
202
+ validationRules: [],
203
+ },
204
+ {
205
+ name: 'impersonatorUserName',
206
+ title: 'Impersonator Username',
207
+ schema: widgetSchemas.text,
208
+ canEdit: false,
209
+ canInsert: true,
210
+ canInlineFilter: true,
211
+ validationRules: [],
212
+ },
213
+ {
214
+ name: 'impersonatorTenantId',
215
+ title: 'Impersonator Tenant ID',
216
+ schema: widgetSchemas.text,
217
+ canEdit: false,
218
+ canInsert: false,
219
+ canInlineFilter: true,
220
+ validationRules: [],
221
+ },
222
+ {
223
+ name: 'impersonatorTenantName',
224
+ title: 'Impersonator Tenant Name',
225
+ schema: widgetSchemas.text,
226
+ canEdit: true,
227
+ canInsert: true,
228
+ canInlineFilter: true,
229
+ validationRules: [],
230
+ },
231
+ {
232
+ name: 'clientName',
233
+ title: 'Client Name',
234
+ schema: widgetSchemas.text,
235
+ canEdit: false,
236
+ canInsert: true,
237
+ canInlineFilter: true,
238
+ validationRules: [],
239
+ },
240
+ {
241
+ name: 'clientId',
242
+ title: 'Client ID',
243
+ schema: widgetSchemas.text,
244
+ canEdit: false,
245
+ canInsert: true,
246
+ canInlineFilter: true,
247
+ validationRules: [],
248
+ },
249
+ {
250
+ name: 'id',
251
+ title: 'ID',
252
+ schema: widgetSchemas.text,
253
+ canEdit: false,
254
+ canInsert: false,
255
+ canInlineFilter: true,
256
+ validationRules: [],
257
+ },
258
+ ];
259
+ const columns = convertPropertiesToColumns(...properties);
260
+ const entityName = 'logs';
261
+ export async function entityFactory(injector) {
262
+ const dataService = injector.get(AXPDataProvider);
263
+ const entity = {
264
+ module: 'log-management',
265
+ name: entityName,
266
+ title: 'Logs',
267
+ properties: properties,
268
+ editOptions: {
269
+ create: false,
270
+ delete: false,
271
+ update: false,
272
+ },
273
+ formats: {
274
+ default: 'Log Information',
275
+ },
276
+ dataSource: {
277
+ key: 'id',
278
+ pageSize: 20,
279
+ load: async (e) => {
280
+ return dataService.getMany(entity, e);
281
+ },
282
+ byKey: async (id) => {
283
+ return dataService.getOne(entity, id);
284
+ },
285
+ },
286
+ views: {
287
+ list: {
288
+ title: 'Audit Logs',
289
+ views: [
290
+ {
291
+ name: 'all',
292
+ title: 'All Items',
293
+ fixed: true,
294
+ sorts: [
295
+ {
296
+ name: 'executionTime',
297
+ dir: 'asc',
298
+ },
299
+ ],
300
+ columns: columns.slice(0, 6),
301
+ conditions: [],
302
+ },
303
+ ],
304
+ },
305
+ quickView: {
306
+ root: {
307
+ properties: [],
308
+ sections: [
309
+ {
310
+ title: 'Execution Details',
311
+ name: 'executionDetails',
312
+ properties: properties.slice(0, 5).map((c) => c.name),
313
+ },
314
+ {
315
+ title: 'Client Info',
316
+ name: 'clientInfo',
317
+ properties: properties.slice(5, 10).map((c) => c.name),
318
+ },
319
+ ],
320
+ },
321
+ },
322
+ detailView: {
323
+ root: {
324
+ properties: [],
325
+ sections: [
326
+ {
327
+ title: 'General Information',
328
+ name: 'generalInformation',
329
+ properties: [],
330
+ sections: [
331
+ {
332
+ title: 'Identifier',
333
+ name: 'identifier',
334
+ properties: ['id'],
335
+ },
336
+ {
337
+ title: 'Execution Details',
338
+ description: 'Details about the execution of the audit log.',
339
+ name: 'executionDetails',
340
+ properties: ['executionTime', 'httpMethod', 'url', 'httpStatusCode', 'exceptions'],
341
+ },
342
+ {
343
+ title: 'Client Info',
344
+ description: 'Information about the client involved in the audit.',
345
+ name: 'clientInfo',
346
+ properties: ['browserInfo', 'comments', 'clientIpAddress', 'clientName', 'clientId'],
347
+ },
348
+ {
349
+ title: 'Application Info',
350
+ name: 'applicationInfo',
351
+ properties: ['applicationName', 'axApplicationName'],
352
+ },
353
+ {
354
+ title: 'Execution Metrics',
355
+ name: 'executionMetrics',
356
+ properties: ['executionDuration', 'correlationId'],
357
+ },
358
+ {
359
+ title: 'User Info',
360
+ name: 'userInfo',
361
+ properties: ['userId', 'userName', 'tenantId', 'tenantName'],
362
+ },
363
+ {
364
+ title: 'Impersonator Info',
365
+ name: 'impersonatorInfo',
366
+ properties: ['impersonatorUserId', 'impersonatorUserName', 'impersonatorTenantId', 'impersonatorTenantName'],
367
+ },
368
+ {
369
+ title: 'Entity Changes',
370
+ name: 'entityChanges',
371
+ properties: ['entityChanges'],
372
+ },
373
+ {
374
+ title: 'Actions',
375
+ name: 'actions',
376
+ properties: ['actions'],
377
+ },
378
+ ],
379
+ },
380
+ ],
381
+ },
382
+ },
383
+ createView: {
384
+ root: {
385
+ properties: properties.map((c) => c.name),
386
+ },
387
+ },
388
+ },
389
+ };
390
+ return entity;
391
+ }
392
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9ncy5lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvbG9nLW1hbmFnZW1lbnQvc3JjL2xpYi9hdWRpdC1sb2dzLmVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUlMLDBCQUEwQixFQUMxQixhQUFhLEdBQ2QsTUFBTSwwQkFBMEIsQ0FBQztBQUdsQyxNQUFNLFVBQVUsR0FBd0I7SUFDdEM7UUFDRSxJQUFJLEVBQUUsZUFBZTtRQUNyQixLQUFLLEVBQUUsZ0JBQWdCO1FBQ3ZCLE1BQU0sRUFBRSxhQUFhLENBQUMsUUFBUTtRQUM5QixPQUFPLEVBQUUsS0FBSztRQUNkLFNBQVMsRUFBRSxJQUFJO1FBQ2YsT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLHNCQUFzQjtTQUNoQztRQUNELGVBQWUsRUFBRSxJQUFJO1FBQ3JCLGVBQWUsRUFBRSxFQUFFO0tBQ3BCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsWUFBWTtRQUNsQixLQUFLLEVBQUUsYUFBYTtRQUNwQixNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUk7UUFDMUIsT0FBTyxFQUFFLEtBQUs7UUFDZCxTQUFTLEVBQUUsSUFBSTtRQUNmLGVBQWUsRUFBRSxJQUFJO1FBQ3JCLGVBQWUsRUFBRSxFQUFFO0tBQ3BCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsS0FBSztRQUNYLEtBQUssRUFBRSxLQUFLO1FBQ1osTUFBTSxFQUFFLGFBQWEsQ0FBQyxJQUFJO1FBQzFCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsU0FBUyxFQUFFLElBQUk7UUFDZixlQUFlLEVBQUUsSUFBSTtRQUNyQixlQUFlLEVBQUUsRUFBRTtLQUNwQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLE1BQU0sRUFBRSxhQUFh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O2lDQUM3RDtnQ0FDRDtvQ0FDRSxLQUFLLEVBQUUsbUJBQW1CO29DQUMxQixJQUFJLEVBQUUsa0JBQWtCO29DQUN4QixVQUFVLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSx3QkFBd0IsQ0FBQztpQ0FDN0c7Z0NBQ0Q7b0NBQ0UsS0FBSyxFQUFFLGdCQUFnQjtvQ0FDdkIsSUFBSSxFQUFFLGVBQWU7b0NBQ3JCLFVBQVUsRUFBRSxDQUFDLGVBQWUsQ0FBQztpQ0FDOUI7Z0NBQ0Q7b0NBQ0UsS0FBSyxFQUFFLFNBQVM7b0NBQ2hCLElBQUksRUFBRSxTQUFTO29DQUNmLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztpQ0FDeEI7NkJBQ0Y7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7YUFDRjtZQUNELFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUU7b0JBQ0osVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7aUJBQzFDO2FBQ0Y7U0FDRjtLQUNGLENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRhU291cmNlUXVlcnkgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYUERhdGFQcm92aWRlciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7XG4gIEFYUEVudGl0eUNvbmZpZyxcbiAgQVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWcsXG4gIEFYUEVudGl0eVByb3BlcnR5LFxuICBjb252ZXJ0UHJvcGVydGllc1RvQ29sdW1ucyxcbiAgd2lkZ2V0U2NoZW1hcyxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXRzJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNvbnN0IHByb3BlcnRpZXM6IEFYUEVudGl0eVByb3BlcnR5W10gPSBbXG4gIHtcbiAgICBuYW1lOiAnZXhlY3V0aW9uVGltZScsXG4gICAgdGl0bGU6ICdFeGVjdXRpb24gVGltZScsXG4gICAgc2NoZW1hOiB3aWRnZXRTY2hlbWFzLmRhdGVUaW1lLFxuICAgIGNhbkVkaXQ6IGZhbHNlLFxuICAgIGNhbkluc2VydDogdHJ1ZSxcbiAgICBmb3JtYXRzOiB7XG4gICAgICBkZWZhdWx0OiAnSEg6bW06c3MgZGQgTU1NIFlZWVknLFxuICAgIH0sXG4gICAgY2FuSW5saW5lRmlsdGVyOiB0cnVlLFxuICAgIHZhbGlkYXRpb25SdWxlczogW10sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnaHR0cE1ldGhvZCcsXG4gICAgdGl0bGU6ICdIVFRQIE1ldGhvZCcsXG4gICAgc2NoZW1hOiB3aWRnZXRTY2hlbWFzLnRleHQsXG4gICAgY2FuRWRpdDogZmFsc2UsXG4gICAgY2FuSW5zZXJ0OiB0cnVlLFxuICAgIGNhbklubGluZUZpbHRlcjogdHJ1ZSxcbiAgICB2YWxpZGF0aW9uUnVsZXM6IFtdLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ3VybCcsXG4gICAgdGl0bGU6ICdVUkwnLFxuICAgIHNjaGVtYTogd2lkZ2V0U2NoZW1hcy50ZXh0LFxuICAgIGNhbkVkaXQ6IGZhbHNlLFxuICAgIGNhbkluc2VydDogdHJ1ZSxcbiAgICBjYW5JbmxpbmVGaWx0ZXI6IHRydWUsXG4gICAgdmFsaWRhdGlvblJ1bGVzOiBbXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdodHRwU3RhdHVzQ29kZScsXG4gICAgdGl0bGU6ICdIVFRQIFN0YXR1cyBDb2RlJyxcbiAgICBzY2hlbWE6IHdpZGdldFNjaGVtYXMubnVtYmVyLFxuICAgIGNhbkVkaXQ6IGZhbHNlLFxuICAgIGNhbkluc2VydDogdHJ1ZSxcbiAgICBjYW5JbmxpbmVGaWx0ZXI6IHRydWUsXG4gICAgdmFsaWRhdGlvblJ1bGVzOiBbXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdleGNlcHRpb25zJyxcbiAgICB0aXRsZTogJ0V4Y2VwdGlvbnMnLFxuICAgIHNjaGVtYTogd2lkZ2V0U2NoZW1hcy5sYXJnZXRleHQsXG4gICAgY2FuRWRpdDogZmFsc2UsXG4gICAgY2FuSW5zZXJ0OiB0cnVlLFxuICAgIGNhbklubGluZUZpbHRlcjogdHJ1ZSxcbiAgICB2YWxpZGF0aW9uUnVsZXM6IFtdLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ2Jyb3dzZXJJbmZvJyxcbiAgICB0aXRsZTogJ0Jyb3dzZXIgSW5mbycsXG4gICAgc2NoZW1hOiB3aWRnZXRTY2hlbWFzLnRleHQsXG4gICAgY2FuRWRpdDogZmFsc2UsXG4gICAgY2FuSW5zZXJ0OiB0cnVlLFxuICAgIGNhbklubGluZUZpbHRlcjogdHJ1ZSxcbiAgICB2YWxpZGF0aW9uUnVsZXM6IFtdLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ2NvbW1lbnRzJyxcbiAgICB0aXRsZTogJ0NvbW1lbnRzJyxcbiAgICBzY2hlbWE6IHdpZGdldFNjaGVtYXMudGV4dCxcbiAgICBjYW5FZGl0OiB0cnVlLFxuICAgIGNhbkluc2VydDogdHJ1ZSxcbiAgICBjYW5JbmxpbmVGaWx0ZXI6IHRydWUsXG4gICAgdmFsaWRhdGlvblJ1bGVzOiBbXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdhcHBsaWNhdGlvbk5hbWUnLFxuICAgIHRpdGxlOiAnQXBwbGljYXRpb24gTmFtZScsXG4gICAgc2NoZW1hOiB3aWRnZXRTY2hlbWFzLnRleHQsXG4gICAgY2FuRWRpdDogdHJ1ZSxcbiAgICBjYW5JbnNlcnQ6IHRydWUsXG4gICAgY2FuSW5saW5lRmlsdGVyOiB0cnVlLFxuICAgIHZhbGlkYXRpb25SdWxlczogW10sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnYXhBcHBsaWNhdGlvbk5hbWUnLFxuICAgIHRpdGxlOiAnQVggQXBwbGljYXRpb24gTmFtZScsXG4gICAgc2NoZW1hOiB3aWRnZXRTY2hlbWFzLnRleHQsXG4gICAgY2FuRWRpdDogdHJ1ZSxcbiAgICBjYW5JbnNlcnQ6IHRydWUsXG4gICAgY2FuSW5saW5lRmlsdGVyOiB0cnVlLFxuICAgIHZhbGlkYXRpb25SdWxlczogW10sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnZXhlY3V0aW9uRHVyYXRpb24nLFxuICAgIHRpdGxlOiAnRXhlY3V0aW9uIER1cmF0aW9uJyxcbiAgICBzY2hlbWE6IHdpZGdldFNjaGVtYXMubnVtYmVyLFxuICAgIGNhbkVkaXQ6IGZhbHNlLFxuICAgIGNhbkluc2VydDogdHJ1ZSxcbiAgICBjYW5JbmxpbmVGaWx0ZXI6IHRydWUsXG4gICAgdmFsaWRhdGlvblJ1bGVzOiBbXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdjbGllbnRJcEFkZHJlc3MnLFxuICAgIHRpdGxlOiAnQ2xpZW50IElQIEFkZHJlc3MnLFxuICAgIHNjaGVtYTogd2lkZ2V0U2NoZW1hcy50ZXh0LFxuICAgIGNhbkVkaXQ6IGZhbHNlLFxuICAgIGNhbkluc2VydDogdHJ1ZSxcbiAgICBjYW5JbmxpbmVGaWx0ZXI6IHRydWUsXG4gICAgdmFsaWRhdGlvblJ1bGVzOiBbXSxcbiAgfSxcblxuICB7XG4gICAgbmFtZTogJ2NvcnJlbGF0aW9uSWQnLFxuICAgIHRpdGxlOiAnQ29ycmVsYXRpb24gSUQnLFxuICAgIHNjaGVtYTogd2lkZ2V0U2NoZW1hcy50ZXh0LFxuICAgIGNhbkVkaXQ6IGZhbHNlLFxuICAgIGNhbkluc2VydDogdHJ1ZSxcbiAgICBjYW5JbmxpbmVGaWx0ZXI6IHRydWUsXG4gICAgdmFsaWRhdGlvblJ1bGVzOiBbXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdlbnRpdHlDaGFuZ2VzJyxcbiAgICB0aXRsZTogJ0VudGl0eSBDaGFuZ2VzJyxcbiAgICBzY2hlbWE6IHdpZGdldFNjaGVtYXMucmljaFRleHQsXG4gICAgY2FuRWRpdDogdHJ1ZSxcbiAgICBjYW5JbnNlcnQ6IHRydWUsXG4gICAgY2FuSW5saW5lRmlsdGVyOiB0cnVlLFxuICAgIHZhbGlkYXRpb25SdWxlczogW10sXG4gICAgY29tcG9uZW50OiB7XG4gICAgICBjb21tb246IHtcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHJlZmVyZW5jZTogJ2VudGl0eUNoYW5nZXMnLFxuICAgICAgICAgIHJlZmVyZW5jZUZpZWxkOiAnZW50aXR5Q2hhbmdlSWQnLFxuICAgICAgICAgIHRleHRGaWVsZDogJ2NoYW5nZVR5cGUnLFxuICAgICAgICAgIHZhbHVlRmllbGQ6ICdpZCcsXG4gICAgICAgICAgbXVsdGlwbGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgdGl0bGU6ICdBY3Rpb25zJyxcbiAgICBzY2hlbWE6IHdpZGdldFNjaGVtYXMucmljaFRleHQsXG4gICAgY2FuRWRpdDogdHJ1ZSxcbiAgICBjYW5JbnNlcnQ6IHRydWUsXG4gICAgY2FuSW5saW5lRmlsdGVyOiB0cnVlLFxuICAgIHZhbGlkYXRpb25SdWxlczogW10sXG4gICAgY29tcG9uZW50OiB7XG4gICAgICBjb21tb246IHtcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHJlZmVyZW5jZTogJ2FjdGlvbnMnLFxuICAgICAgICAgIHJlZmVyZW5jZUZpZWxkOiAnYWN0aW9uSWQnLFxuICAgICAgICAgIHRleHRGaWVsZDogJ21ldGhvZE5hbWUnLFxuICAgICAgICAgIHZhbHVlRmllbGQ6ICdpZCcsXG4gICAgICAgICAgbXVsdGlwbGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAndXNlcklkJyxcbiAgICB0aXRsZTogJ1VzZXIgSUQnLFxuICAgIHNjaGVtYTogd2lkZ2V0U2NoZW1hcy50ZXh0LFxuICAgIGNhbkVkaXQ6IGZhbHNlLFxuICAgIGNhbkluc2VydDogZmFsc2UsXG4gICAgY2FuSW5saW5lRmlsdGVyOiB0cnVlLFxuICAgIHZhbGlkYXRpb25SdWxlczogW10sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAndXNlck5hbWUnLFxuICAgIHRpdGxlOiAnVXNlcm5hbWUnLFxuICAgIHNjaGVtYTogd2lkZ2V0U2NoZW1hcy50ZXh0LFxuICAgIGNhbkVkaXQ6IGZhbHNlLFxuICAgIGNhbkluc2VydDogdHJ1ZSxcbiAgICBjYW5JbmxpbmVGaWx0ZXI6IHRydWUsXG4gICAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAndGVuYW50SWQnLFxuICAgIHRpdGxlOiAnVGVuYW50IElEJyxcbiAgICBzY2hlbWE6IHdpZGdldFNjaGVtYXMudGV4dCxcbiAgICBjYW5FZGl0OiBmYWxzZSxcbiAgICBjYW5JbnNlcnQ6IGZhbHNlLFxuICAgIGNhbklubGluZUZpbHRlcjogdHJ1ZSxcbiAgICB2YWxpZGF0aW9uUnVsZXM6IFtdLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ3RlbmFudE5hbWUnLFxuICAgIHRpdGxlOiAnVGVuYW50IE5hbWUnLFxuICAgIHNjaGVtYTogd2lkZ2V0U2NoZW1hcy50ZXh0LFxuICAgIGNhbkVkaXQ6IHRydWUsXG4gICAgY2FuSW5zZXJ0OiB0cnVlLFxuICAgIGNhbklubGluZUZpbHRlcjogdHJ1ZSxcbiAgICB2YWxpZGF0aW9uUnVsZXM6IFtdLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ2ltcGVyc29uYXRvclVzZXJJZCcsXG4gICAgdGl0bGU6ICdJbXBlcnNvbmF0b3IgVXNlciBJRCcsXG4gICAgc2NoZW1hOiB3aWRnZXRTY2hlbWFzLnRleHQsXG4gICAgY2FuRWRpdDogZmFsc2UsXG4gICAgY2FuSW5zZXJ0OiBmYWxzZSxcbiAgICBjYW5JbmxpbmVGaWx0ZXI6IHRydWUsXG4gICAgdmFsaWRhdGlvblJ1bGVzOiBbXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdpbXBlcnNvbmF0b3JVc2VyTmFtZScsXG4gICAgdGl0bGU6ICdJbXBlcnNvbmF0b3IgVXNlcm5hbWUnLFxuICAgIHNjaGVtYTogd2lkZ2V0U2NoZW1hcy50ZXh0LFxuICAgIGNhbkVkaXQ6IGZhbHNlLFxuICAgIGNhbkluc2VydDogdHJ1ZSxcbiAgICBjYW5JbmxpbmVGaWx0ZXI6IHRydWUsXG4gICAgdmFsaWRhdGlvblJ1bGVzOiBbXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdpbXBlcnNvbmF0b3JUZW5hbnRJZCcsXG4gICAgdGl0bGU6ICdJbXBlcnNvbmF0b3IgVGVuYW50IElEJyxcbiAgICBzY2hlbWE6IHdpZGdldFNjaGVtYXMudGV4dCxcbiAgICBjYW5FZGl0OiBmYWxzZSxcbiAgICBjYW5JbnNlcnQ6IGZhbHNlLFxuICAgIGNhbklubGluZUZpbHRlcjogdHJ1ZSxcbiAgICB2YWxpZGF0aW9uUnVsZXM6IFtdLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ2ltcGVyc29uYXRvclRlbmFudE5hbWUnLFxuICAgIHRpdGxlOiAnSW1wZXJzb25hdG9yIFRlbmFudCBOYW1lJyxcbiAgICBzY2hlbWE6IHdpZGdldFNjaGVtYXMudGV4dCxcbiAgICBjYW5FZGl0OiB0cnVlLFxuICAgIGNhbkluc2VydDogdHJ1ZSxcbiAgICBjYW5JbmxpbmVGaWx0ZXI6IHRydWUsXG4gICAgdmFsaWRhdGlvblJ1bGVzOiBbXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdjbGllbnROYW1lJyxcbiAgICB0aXRsZTogJ0NsaWVudCBOYW1lJyxcbiAgICBzY2hlbWE6IHdpZGdldFNjaGVtYXMudGV4dCxcbiAgICBjYW5FZGl0OiBmYWxzZSxcbiAgICBjYW5JbnNlcnQ6IHRydWUsXG4gICAgY2FuSW5saW5lRmlsdGVyOiB0cnVlLFxuICAgIHZhbGlkYXRpb25SdWxlczogW10sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnY2xpZW50SWQnLFxuICAgIHRpdGxlOiAnQ2xpZW50IElEJyxcbiAgICBzY2hlbWE6IHdpZGdldFNjaGVtYXMudGV4dCxcbiAgICBjYW5FZGl0OiBmYWxzZSxcbiAgICBjYW5JbnNlcnQ6IHRydWUsXG4gICAgY2FuSW5saW5lRmlsdGVyOiB0cnVlLFxuICAgIHZhbGlkYXRpb25SdWxlczogW10sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnaWQnLFxuICAgIHRpdGxlOiAnSUQnLFxuICAgIHNjaGVtYTogd2lkZ2V0U2NoZW1hcy50ZXh0LFxuICAgIGNhbkVkaXQ6IGZhbHNlLFxuICAgIGNhbkluc2VydDogZmFsc2UsXG4gICAgY2FuSW5saW5lRmlsdGVyOiB0cnVlLFxuICAgIHZhbGlkYXRpb25SdWxlczogW10sXG4gIH0sXG5dO1xuXG5jb25zdCBjb2x1bW5zOiBBWFBFbnRpdHlMaXN0RGlzcGxheUNvbHVtbkNvbmZpZ1tdID0gY29udmVydFByb3BlcnRpZXNUb0NvbHVtbnMoLi4ucHJvcGVydGllcyk7XG5cbmNvbnN0IGVudGl0eU5hbWUgPSAnbG9ncyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbnRpdHlGYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8QVhQRW50aXR5Q29uZmlnPiB7XG4gIGNvbnN0IGRhdGFTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KEFYUERhdGFQcm92aWRlcik7XG5cbiAgY29uc3QgZW50aXR5OiBBWFBFbnRpdHlDb25maWcgPSB7XG4gICAgbW9kdWxlOiAnbG9nLW1hbmFnZW1lbnQnLFxuICAgIG5hbWU6IGVudGl0eU5hbWUsXG4gICAgdGl0bGU6ICdMb2dzJyxcbiAgICBwcm9wZXJ0aWVzOiBwcm9wZXJ0aWVzLFxuICAgIGVkaXRPcHRpb25zOiB7XG4gICAgICBjcmVhdGU6IGZhbHNlLFxuICAgICAgZGVsZXRlOiBmYWxzZSxcbiAgICAgIHVwZGF0ZTogZmFsc2UsXG4gICAgfSxcbiAgICBmb3JtYXRzOiB7XG4gICAgICBkZWZhdWx0OiAnTG9nIEluZm9ybWF0aW9uJyxcbiAgICB9LFxuICAgIGRhdGFTb3VyY2U6IHtcbiAgICAgIGtleTogJ2lkJyxcbiAgICAgIHBhZ2VTaXplOiAyMCxcbiAgICAgIGxvYWQ6IGFzeW5jIChlOiBBWERhdGFTb3VyY2VRdWVyeSkgPT4ge1xuICAgICAgICByZXR1cm4gZGF0YVNlcnZpY2UuZ2V0TWFueShlbnRpdHksIGUpO1xuICAgICAgfSxcbiAgICAgIGJ5S2V5OiBhc3luYyAoaWQ6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gZGF0YVNlcnZpY2UuZ2V0T25lKGVudGl0eSwgaWQpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHZpZXdzOiB7XG4gICAgICBsaXN0OiB7XG4gICAgICAgIHRpdGxlOiAnQXVkaXQgTG9ncycsXG4gICAgICAgIHZpZXdzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2FsbCcsXG4gICAgICAgICAgICB0aXRsZTogJ0FsbCBJdGVtcycsXG4gICAgICAgICAgICBmaXhlZDogdHJ1ZSxcbiAgICAgICAgICAgIHNvcnRzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnZXhlY3V0aW9uVGltZScsXG4gICAgICAgICAgICAgICAgZGlyOiAnYXNjJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zLnNsaWNlKDAsIDYpLFxuICAgICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBxdWlja1ZpZXc6IHtcbiAgICAgICAgcm9vdDoge1xuICAgICAgICAgIHByb3BlcnRpZXM6IFtdLFxuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnRXhlY3V0aW9uIERldGFpbHMnLFxuICAgICAgICAgICAgICBuYW1lOiAnZXhlY3V0aW9uRGV0YWlscycsXG4gICAgICAgICAgICAgIHByb3BlcnRpZXM6IHByb3BlcnRpZXMuc2xpY2UoMCwgNSkubWFwKChjKSA9PiBjLm5hbWUpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdDbGllbnQgSW5mbycsXG4gICAgICAgICAgICAgIG5hbWU6ICdjbGllbnRJbmZvJyxcbiAgICAgICAgICAgICAgcHJvcGVydGllczogcHJvcGVydGllcy5zbGljZSg1LCAxMCkubWFwKChjKSA9PiBjLm5hbWUpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGRldGFpbFZpZXc6IHtcbiAgICAgICAgcm9vdDoge1xuICAgICAgICAgIHByb3BlcnRpZXM6IFtdLFxuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnR2VuZXJhbCBJbmZvcm1hdGlvbicsXG4gICAgICAgICAgICAgIG5hbWU6ICdnZW5lcmFsSW5mb3JtYXRpb24nLFxuICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXSxcbiAgICAgICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0aXRsZTogJ0lkZW50aWZpZXInLFxuICAgICAgICAgICAgICAgICAgbmFtZTogJ2lkZW50aWZpZXInLFxuICAgICAgICAgICAgICAgICAgcHJvcGVydGllczogWydpZCddLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdGl0bGU6ICdFeGVjdXRpb24gRGV0YWlscycsXG4gICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0RldGFpbHMgYWJvdXQgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgYXVkaXQgbG9nLicsXG4gICAgICAgICAgICAgICAgICBuYW1lOiAnZXhlY3V0aW9uRGV0YWlscycsXG4gICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbJ2V4ZWN1dGlvblRpbWUnLCAnaHR0cE1ldGhvZCcsICd1cmwnLCAnaHR0cFN0YXR1c0NvZGUnLCAnZXhjZXB0aW9ucyddLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdGl0bGU6ICdDbGllbnQgSW5mbycsXG4gICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0luZm9ybWF0aW9uIGFib3V0IHRoZSBjbGllbnQgaW52b2x2ZWQgaW4gdGhlIGF1ZGl0LicsXG4gICAgICAgICAgICAgICAgICBuYW1lOiAnY2xpZW50SW5mbycsXG4gICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbJ2Jyb3dzZXJJbmZvJywgJ2NvbW1lbnRzJywgJ2NsaWVudElwQWRkcmVzcycsICdjbGllbnROYW1lJywgJ2NsaWVudElkJ10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0aXRsZTogJ0FwcGxpY2F0aW9uIEluZm8nLFxuICAgICAgICAgICAgICAgICAgbmFtZTogJ2FwcGxpY2F0aW9uSW5mbycsXG4gICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbJ2FwcGxpY2F0aW9uTmFtZScsICdheEFwcGxpY2F0aW9uTmFtZSddLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdGl0bGU6ICdFeGVjdXRpb24gTWV0cmljcycsXG4gICAgICAgICAgICAgICAgICBuYW1lOiAnZXhlY3V0aW9uTWV0cmljcycsXG4gICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbJ2V4ZWN1dGlvbkR1cmF0aW9uJywgJ2NvcnJlbGF0aW9uSWQnXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiAnVXNlciBJbmZvJyxcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICd1c2VySW5mbycsXG4gICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbJ3VzZXJJZCcsICd1c2VyTmFtZScsICd0ZW5hbnRJZCcsICd0ZW5hbnROYW1lJ10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0aXRsZTogJ0ltcGVyc29uYXRvciBJbmZvJyxcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdpbXBlcnNvbmF0b3JJbmZvJyxcbiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IFsnaW1wZXJzb25hdG9yVXNlcklkJywgJ2ltcGVyc29uYXRvclVzZXJOYW1lJywgJ2ltcGVyc29uYXRvclRlbmFudElkJywgJ2ltcGVyc29uYXRvclRlbmFudE5hbWUnXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiAnRW50aXR5IENoYW5nZXMnLFxuICAgICAgICAgICAgICAgICAgbmFtZTogJ2VudGl0eUNoYW5nZXMnLFxuICAgICAgICAgICAgICAgICAgcHJvcGVydGllczogWydlbnRpdHlDaGFuZ2VzJ10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0aXRsZTogJ0FjdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgbmFtZTogJ2FjdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgcHJvcGVydGllczogWydhY3Rpb25zJ10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBjcmVhdGVWaWV3OiB7XG4gICAgICAgIHJvb3Q6IHtcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBwcm9wZXJ0aWVzLm1hcCgoYykgPT4gYy5uYW1lKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbiAgcmV0dXJuIGVudGl0eTtcbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { NgModule } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class AXMLogManagementModule {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMLogManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: AXMLogManagementModule }); }
6
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMLogManagementModule }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMLogManagementModule, decorators: [{
9
+ type: NgModule,
10
+ args: [{
11
+ imports: [],
12
+ exports: [],
13
+ declarations: [],
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2xvZy1tYW5hZ2VtZW50L3NyYy9saWIvbG9nLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXpDLE1BQU0sT0FBTyxzQkFBc0I7OEdBQXRCLHNCQUFzQjsrR0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBTGxDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBleHBvcnRzOiBbXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1Mb2dNYW5hZ2VtZW50TW9kdWxlIHtcbn1cbiAgICAgICAgICAgICAgICAgICAgIl19
@@ -1,2 +1,4 @@
1
+ // export * from './lib/admin-notification/admin-notification-item.component';
2
+ // export * from './lib/admin-notification/admin-notification.component';
1
3
  export * from './lib/notification.module';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvbm90aWZpY2F0aW9uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24ubW9kdWxlJztcbiAgICAgICAgICAgICAgICAiXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvbm90aWZpY2F0aW9uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSw4RUFBOEU7QUFDOUUseUVBQXlFO0FBQ3pFLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2FkbWluLW5vdGlmaWNhdGlvbi9hZG1pbi1ub3RpZmljYXRpb24taXRlbS5jb21wb25lbnQnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvYWRtaW4tbm90aWZpY2F0aW9uL2FkbWluLW5vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpY2F0aW9uLm1vZHVsZSc7XG4iXX0=
@@ -1,11 +1,11 @@
1
1
  import { NgModule } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export class AXMNotificationModule {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXMNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: AXMNotificationModule }); }
6
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXMNotificationModule }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: AXMNotificationModule }); }
6
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMNotificationModule }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXMNotificationModule, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMNotificationModule, decorators: [{
9
9
  type: NgModule,
10
10
  args: [{
11
11
  imports: [],