studiokit-scaffolding-js 7.0.12-next.1.3 → 7.0.12-next.2.1

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 (258) hide show
  1. package/lib/components/ActionList.js +164 -37
  2. package/lib/components/AlertDialog.js +128 -12
  3. package/lib/components/AlertWithIcon.js +88 -29
  4. package/lib/components/ConnectedModal.js +35 -12
  5. package/lib/components/Dropdowns/GroupsDropdown.js +63 -45
  6. package/lib/components/Dropdowns/ManagedNavDropdown.js +92 -67
  7. package/lib/components/Dropdowns/UserDropdown.js +105 -24
  8. package/lib/components/Dropdowns/index.js +4 -10
  9. package/lib/components/EntityOwnerList.js +47 -21
  10. package/lib/components/Error.js +101 -12
  11. package/lib/components/ErrorBoundary.js +127 -38
  12. package/lib/components/ErrorMessage.js +39 -12
  13. package/lib/components/Forms/DateField.js +56 -45
  14. package/lib/components/Forms/TimeField.js +76 -45
  15. package/lib/components/Forms/index.js +3 -5
  16. package/lib/components/Groups/CreateEditCopySaveButtons.js +109 -14
  17. package/lib/components/Groups/ExternalGroups/Attach.js +206 -151
  18. package/lib/components/Groups/ExternalGroups/Table.js +176 -48
  19. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
  20. package/lib/components/Groups/RosterSyncInfo.js +142 -23
  21. package/lib/components/HOC/AccessibleAppComponent.js +88 -72
  22. package/lib/components/HOC/ActivityRequiredComponent.js +68 -33
  23. package/lib/components/HOC/AsyncComponent.js +49 -41
  24. package/lib/components/HOC/AuthenticatedComponent.js +55 -44
  25. package/lib/components/HOC/CollectionComponent.js +154 -104
  26. package/lib/components/HOC/CollectionFirstItemComponent.js +45 -40
  27. package/lib/components/HOC/CollectionItemComponent.js +152 -100
  28. package/lib/components/HOC/ConnectedModalComponent.js +87 -69
  29. package/lib/components/HOC/DataDependentComponent.js +26 -27
  30. package/lib/components/HOC/EntityComponent.js +57 -53
  31. package/lib/components/HOC/FullscreenModalComponent.js +139 -108
  32. package/lib/components/HOC/GroupActivityRequiredComponent.js +27 -20
  33. package/lib/components/HOC/GuidComponent.js +20 -20
  34. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +32 -29
  35. package/lib/components/HOC/ModelErrorRedirectComponent.js +37 -39
  36. package/lib/components/HOC/SearchPersistorComponent.js +237 -173
  37. package/lib/components/HOC/UnauthenticatedComponent.js +32 -30
  38. package/lib/components/HOC/UserComponent.js +6 -8
  39. package/lib/components/Icons/IconAlphaList.js +28 -8
  40. package/lib/components/Icons/IconExternalUser.js +28 -8
  41. package/lib/components/Icons/IconImpersonation.js +28 -8
  42. package/lib/components/Icons/IconStopImpersonating.js +28 -8
  43. package/lib/components/Icons/IconTable.js +29 -9
  44. package/lib/components/Icons/IconTableDeleteCol.js +28 -8
  45. package/lib/components/Icons/IconTableDeleteRow.js +28 -8
  46. package/lib/components/Icons/IconTableInsertCol.js +28 -8
  47. package/lib/components/Icons/IconTableInsertRow.js +28 -8
  48. package/lib/components/Impersonation/Button.js +71 -16
  49. package/lib/components/Impersonation/Link.js +72 -16
  50. package/lib/components/Impersonation/UserDetail.js +60 -11
  51. package/lib/components/Loading.js +23 -8
  52. package/lib/components/LockDownBrowser/Check.js +188 -51
  53. package/lib/components/LockDownBrowser/ExitButton.js +22 -13
  54. package/lib/components/LockDownBrowser/Launch.js +64 -64
  55. package/lib/components/Lti/Confirm.js +147 -14
  56. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +165 -36
  57. package/lib/components/Lti/Launch.js +99 -25
  58. package/lib/components/Lti/LaunchGroup.js +81 -16
  59. package/lib/components/ManageTable.js +304 -90
  60. package/lib/components/ManageTableNoDataComponent.js +38 -7
  61. package/lib/components/NewVersionAlert.js +76 -49
  62. package/lib/components/NotFound.js +81 -11
  63. package/lib/components/Notifications.js +179 -129
  64. package/lib/components/PaginationNextButton.js +28 -9
  65. package/lib/components/PaginationPreviousButton.js +28 -9
  66. package/lib/components/Quill/CustomToolbar.js +427 -222
  67. package/lib/components/Quill/Formats/Image.js +67 -67
  68. package/lib/components/Quill/Formats/List.js +38 -47
  69. package/lib/components/Quill/Formats/Video.js +23 -26
  70. package/lib/components/Quill/ImageDropModule.js +136 -114
  71. package/lib/components/Quill/ImageWarning.js +41 -12
  72. package/lib/components/Quill/ImageWithAltTextModal.js +420 -89
  73. package/lib/components/Quill/Specs/CustomImageSpec.js +32 -31
  74. package/lib/components/Quill/Specs/CustomVideoSpec.js +22 -23
  75. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +89 -97
  76. package/lib/components/Quill/TableModule/Blots/TableBlot.js +47 -50
  77. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +48 -51
  78. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +219 -224
  79. package/lib/components/Quill/TableModule/Blots/TableContainer.js +75 -86
  80. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +70 -73
  81. package/lib/components/Quill/TableModule/constants.js +40 -42
  82. package/lib/components/Quill/TableModule/index.js +357 -305
  83. package/lib/components/Quill/TableModule/utils.js +39 -48
  84. package/lib/components/Quill/accessibilityFix.js +219 -223
  85. package/lib/components/Quill/index.js +30 -33
  86. package/lib/components/RefreshIndicator/Bordered.js +44 -10
  87. package/lib/components/RefreshIndicator/Inline.js +43 -12
  88. package/lib/components/RefreshIndicator/index.js +257 -62
  89. package/lib/components/SearchControls.js +211 -14
  90. package/lib/components/SentryRoute.js +5 -7
  91. package/lib/components/Tables/RoleFilter.js +66 -38
  92. package/lib/components/Tables/TextFilter.js +58 -18
  93. package/lib/components/UserRoles/Add.js +193 -99
  94. package/lib/components/UserRoles/Context.js +3 -6
  95. package/lib/components/UserRoles/RoleCell.js +176 -75
  96. package/lib/components/UserRoles/Select.js +151 -20
  97. package/lib/components/UserRoles/Table.js +215 -82
  98. package/lib/components/UserRoles/index.js +526 -386
  99. package/lib/config/eslint/index.js +26 -29
  100. package/lib/config/eslint/lib/order.js +21 -28
  101. package/lib/config/eslint/lib/prettier.js +15 -19
  102. package/lib/config/eslint/lib/typescript.js +87 -113
  103. package/lib/config/eslint/react.js +18 -15
  104. package/lib/constants/baseActivity.js +26 -28
  105. package/lib/constants/baseRole.js +10 -12
  106. package/lib/constants/configuration.js +43 -55
  107. package/lib/constants/externalProviderType.js +6 -8
  108. package/lib/constants/fetchErrorData.js +10 -12
  109. package/lib/constants/index.js +13 -15
  110. package/lib/constants/lockDownBrowser.js +23 -25
  111. package/lib/constants/mockData.js +370 -300
  112. package/lib/constants/modelStatus.js +11 -13
  113. package/lib/constants/notificationType.js +8 -10
  114. package/lib/constants/operatingSystem.js +8 -10
  115. package/lib/constants/shard.js +7 -9
  116. package/lib/constants/table.js +18 -22
  117. package/lib/constants/tier.js +8 -10
  118. package/lib/constants/userRole.js +11 -8
  119. package/lib/endpointMappings.js +191 -182
  120. package/lib/hooks/useCollection.js +79 -65
  121. package/lib/hooks/useCollectionConfiguration.js +220 -80
  122. package/lib/hooks/useCollectionItem.js +151 -57
  123. package/lib/hooks/useGuid.js +16 -9
  124. package/lib/hooks/usePrevious.js +14 -13
  125. package/lib/index.js +11 -26
  126. package/lib/redux/actionCreator.js +44 -35
  127. package/lib/redux/actions/AuthAction.js +45 -32
  128. package/lib/redux/actions/ModalAction.js +6 -8
  129. package/lib/redux/actions/ModelAction.js +95 -43
  130. package/lib/redux/actions/NotificationAction.js +6 -8
  131. package/lib/redux/actions/SearchAction.js +5 -7
  132. package/lib/redux/actions/index.js +6 -8
  133. package/lib/redux/configureReducers.js +48 -46
  134. package/lib/redux/configureStore.js +77 -91
  135. package/lib/redux/helpers.js +2 -5
  136. package/lib/redux/reducers/authReducer.js +44 -43
  137. package/lib/redux/reducers/index.js +7 -14
  138. package/lib/redux/reducers/modalsReducer.js +43 -31
  139. package/lib/redux/reducers/modelsReducer.js +131 -137
  140. package/lib/redux/reducers/notificationsReducer.js +20 -20
  141. package/lib/redux/reducers/searchReducer.js +13 -13
  142. package/lib/redux/sagas/appInsightsSaga.js +19 -21
  143. package/lib/redux/sagas/authSaga.js +248 -234
  144. package/lib/redux/sagas/caliperSaga.js +142 -131
  145. package/lib/redux/sagas/clockOffsetSaga.js +29 -32
  146. package/lib/redux/sagas/configurationSaga.js +8 -10
  147. package/lib/redux/sagas/downtimeApiErrorSaga.js +16 -19
  148. package/lib/redux/sagas/errorSaga.js +23 -24
  149. package/lib/redux/sagas/googleAnalyticsSaga.js +24 -27
  150. package/lib/redux/sagas/identityProviderSaga.js +19 -21
  151. package/lib/redux/sagas/initialDataLoadSaga.js +34 -31
  152. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +25 -22
  153. package/lib/redux/sagas/modelFetchSaga.js +302 -286
  154. package/lib/redux/sagas/noStoreSaga.js +60 -61
  155. package/lib/redux/sagas/postLoginDataSaga.js +37 -32
  156. package/lib/redux/sagas/postLoginRedirectSaga.js +22 -27
  157. package/lib/redux/sagas/rootSaga.js +77 -60
  158. package/lib/redux/sagas/sentrySaga.js +25 -28
  159. package/lib/redux/sagas/userIdSaga.js +13 -15
  160. package/lib/services/codeProviderService.js +21 -21
  161. package/lib/services/dateService.js +6 -8
  162. package/lib/services/documentService.js +10 -11
  163. package/lib/services/fetchService.js +103 -95
  164. package/lib/services/persistenceService.js +27 -30
  165. package/lib/services/ticketProviderService.js +25 -25
  166. package/lib/services/tokenPersistenceService.js +8 -10
  167. package/lib/services/windowService.js +14 -16
  168. package/lib/startup.js +110 -101
  169. package/lib/types/AppConfiguration.js +2 -2
  170. package/lib/types/Artifact.js +7 -9
  171. package/lib/types/BaseReduxState.js +2 -2
  172. package/lib/types/Client.js +2 -2
  173. package/lib/types/Collection.js +2 -2
  174. package/lib/types/Configuration.js +2 -2
  175. package/lib/types/DeepLinkingResponseRequest.js +2 -2
  176. package/lib/types/DeletableModel.js +2 -2
  177. package/lib/types/Event.js +2 -2
  178. package/lib/types/ExternalGroup.js +2 -2
  179. package/lib/types/ExternalProvider.js +2 -2
  180. package/lib/types/ExternalTerm.js +2 -2
  181. package/lib/types/Group.js +2 -2
  182. package/lib/types/IdentityProvider.js +2 -2
  183. package/lib/types/LtiLaunch.js +2 -2
  184. package/lib/types/NameOnlyEntity.js +2 -2
  185. package/lib/types/Notification.js +2 -2
  186. package/lib/types/OptionalRecord.js +2 -2
  187. package/lib/types/OwnerSchedule.js +2 -2
  188. package/lib/types/PropertyOfType.js +2 -2
  189. package/lib/types/Quill.js +2 -2
  190. package/lib/types/RoleDescription.js +2 -2
  191. package/lib/types/Search.js +2 -2
  192. package/lib/types/SimpleLocation.js +2 -2
  193. package/lib/types/UniTime.js +2 -2
  194. package/lib/types/User.js +2 -2
  195. package/lib/types/UserRole.js +2 -2
  196. package/lib/types/auth/AuthState.js +2 -2
  197. package/lib/types/auth/CasV1LoginRequestBody.js +2 -2
  198. package/lib/types/auth/ClientCredentials.js +2 -2
  199. package/lib/types/auth/CodeProviderService.js +2 -2
  200. package/lib/types/auth/LocalLoginRequestBody.js +2 -2
  201. package/lib/types/auth/TicketProviderService.js +2 -2
  202. package/lib/types/auth/TokenPersistenceService.js +2 -2
  203. package/lib/types/auth/index.js +8 -10
  204. package/lib/types/externals.d.js +2 -0
  205. package/lib/types/index.js +29 -31
  206. package/lib/types/net/EndpointConfig.js +2 -2
  207. package/lib/types/net/EndpointMapping.js +2 -2
  208. package/lib/types/net/EndpointMappings.js +2 -2
  209. package/lib/types/net/ErrorHandler.js +2 -2
  210. package/lib/types/net/FetchConfig.js +2 -2
  211. package/lib/types/net/FetchErrorData.js +6 -8
  212. package/lib/types/net/FetchResult.js +2 -2
  213. package/lib/types/net/HTTPMethod.js +2 -2
  214. package/lib/types/net/HTTPStatusCode.js +12 -14
  215. package/lib/types/net/Metadata.js +2 -2
  216. package/lib/types/net/Model.js +2 -2
  217. package/lib/types/net/ModelCollection.js +2 -2
  218. package/lib/types/net/ModelsState.js +2 -2
  219. package/lib/types/net/OAuthToken.js +2 -2
  220. package/lib/types/net/OAuthTokenOrNull.js +2 -2
  221. package/lib/types/net/TokenAccessFunction.js +2 -2
  222. package/lib/types/net/index.js +17 -19
  223. package/lib/utils/baseActivity.js +83 -85
  224. package/lib/utils/baseRole.js +32 -36
  225. package/lib/utils/collection.js +403 -297
  226. package/lib/utils/cookies.js +19 -23
  227. package/lib/utils/date.js +188 -205
  228. package/lib/utils/dom.js +130 -131
  229. package/lib/utils/domainIdentifier.js +4 -8
  230. package/lib/utils/entityUserRole.js +2 -5
  231. package/lib/utils/error.js +14 -19
  232. package/lib/utils/events.js +32 -31
  233. package/lib/utils/externalGroup.js +20 -25
  234. package/lib/utils/externalProviders.js +4 -7
  235. package/lib/utils/externalTerms.js +6 -6
  236. package/lib/utils/fetch.js +168 -176
  237. package/lib/utils/group.js +14 -11
  238. package/lib/utils/groupDates.js +38 -46
  239. package/lib/utils/groupRoles.js +23 -32
  240. package/lib/utils/lockDownBrowser.js +12 -15
  241. package/lib/utils/logger.js +23 -28
  242. package/lib/utils/lti.js +4 -7
  243. package/lib/utils/model.js +28 -43
  244. package/lib/utils/number.js +9 -13
  245. package/lib/utils/promise.js +23 -26
  246. package/lib/utils/quill.js +55 -60
  247. package/lib/utils/route.js +52 -60
  248. package/lib/utils/search.js +72 -87
  249. package/lib/utils/shard.js +33 -42
  250. package/lib/utils/sort.js +47 -50
  251. package/lib/utils/string.js +10 -12
  252. package/lib/utils/table.js +29 -33
  253. package/lib/utils/timezone.js +7 -12
  254. package/lib/utils/url.js +130 -144
  255. package/lib/utils/user.js +54 -64
  256. package/lib/utils/userAgent.js +7 -14
  257. package/lib/utils/userRole.js +36 -39
  258. package/package.json +17 -3
@@ -1,87 +1,220 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UserRolesTable = void 0;
4
- const tslib_1 = require("tslib");
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- const lodash_1 = require("lodash");
7
- const react_1 = tslib_1.__importStar(require("react"));
8
- const react_table_1 = tslib_1.__importDefault(require("react-table"));
9
- const userRole_1 = require("../../utils/userRole");
10
- const RoleFilter_1 = require("../Tables/RoleFilter");
11
- const TextFilter_1 = require("../Tables/TextFilter");
12
- const Context_1 = require("./Context");
13
- const RoleCell_1 = require("./RoleCell");
14
- const UserRolesTableComponent = ({ id, users }) => {
15
- const { roles, requiredRole, textForRole } = (0, react_1.useContext)(Context_1.UserRolesContext);
16
- const hasExternal = users.some(r => r.roles.some(r => (0, userRole_1.isExternal)(r)));
17
- const columns = [
18
- {
19
- Header: 'First Name',
20
- accessor: 'firstName',
21
- filterMethod: TextFilter_1.textFilterMethod,
22
- Filter: TextFilter_1.TextFilter
23
- },
24
- {
25
- Header: 'Last Name',
26
- accessor: 'lastName',
27
- filterMethod: TextFilter_1.textFilterMethod,
28
- Filter: TextFilter_1.TextFilter
29
- },
30
- {
31
- Header: 'Email',
32
- accessor: 'email',
33
- filterMethod: TextFilter_1.textFilterMethod,
34
- Filter: TextFilter_1.TextFilter
35
- }
36
- ];
1
+ import { c as _c } from "react-compiler-runtime";
2
+ import { isEqual, merge } from 'lodash';
3
+ import React, { useContext, useEffect, useState } from 'react';
4
+ import ReactTable from 'react-table';
5
+ import { isExternal, sortByHighestAccessRole } from '../../utils/userRole';
6
+ import { RoleFilter, roleFilterMethod, roleUserRoleFilterMethod } from '../Tables/RoleFilter';
7
+ import { TextFilter, textFilterMethod } from '../Tables/TextFilter';
8
+ import { UserRolesContext } from './Context';
9
+ import { RoleCell } from './RoleCell';
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ const UserRolesTableComponent = t0 => {
12
+ const $ = _c(30);
13
+ const {
14
+ id,
15
+ users
16
+ } = t0;
17
+ const {
18
+ roles,
19
+ requiredRole,
20
+ textForRole
21
+ } = useContext(UserRolesContext);
22
+ let columns;
23
+ if ($[0] !== requiredRole || $[1] !== roles || $[2] !== textForRole || $[3] !== users) {
24
+ const hasExternal = users.some(_temp2);
25
+ let t1;
26
+ let t2;
27
+ let t3;
28
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
29
+ t1 = {
30
+ Header: "First Name",
31
+ accessor: "firstName",
32
+ filterMethod: textFilterMethod,
33
+ Filter: TextFilter
34
+ };
35
+ t2 = {
36
+ Header: "Last Name",
37
+ accessor: "lastName",
38
+ filterMethod: textFilterMethod,
39
+ Filter: TextFilter
40
+ };
41
+ t3 = {
42
+ Header: "Email",
43
+ accessor: "email",
44
+ filterMethod: textFilterMethod,
45
+ Filter: TextFilter
46
+ };
47
+ $[5] = t1;
48
+ $[6] = t2;
49
+ $[7] = t3;
50
+ } else {
51
+ t1 = $[5];
52
+ t2 = $[6];
53
+ t3 = $[7];
54
+ }
55
+ columns = [t1, t2, t3];
37
56
  if (roles.length > 0) {
38
- columns.push({
39
- id: 'role',
40
- Header: 'Role',
41
- accessor: u => u,
42
- Cell: cell => {
43
- const user = cell.value;
44
- return ((0, jsx_runtime_1.jsx)(RoleCell_1.RoleCell, { user: user, requiredRoleCount: requiredRole
45
- ? users.filter(u => u.roles.some(r => r.role === requiredRole)).length
46
- : undefined }));
47
- },
48
- filterMethod: RoleFilter_1.roleFilterMethod,
49
- Filter: (0, RoleFilter_1.RoleFilter)(roles, textForRole, hasExternal),
50
- sortMethod: (0, userRole_1.sortByHighestAccessRole)(roles),
51
- style: { padding: '4px' }
52
- });
57
+ let t4;
58
+ if ($[8] !== requiredRole || $[9] !== users) {
59
+ t4 = cell => {
60
+ const user = cell.value;
61
+ return /*#__PURE__*/_jsx(RoleCell, {
62
+ user: user,
63
+ requiredRoleCount: requiredRole ? users.filter(u_0 => u_0.roles.some(r_1 => r_1.role === requiredRole)).length : undefined
64
+ });
65
+ };
66
+ $[8] = requiredRole;
67
+ $[9] = users;
68
+ $[10] = t4;
69
+ } else {
70
+ t4 = $[10];
71
+ }
72
+ const t5 = RoleFilter(roles, textForRole, hasExternal);
73
+ let t6;
74
+ if ($[11] !== roles) {
75
+ t6 = sortByHighestAccessRole(roles);
76
+ $[11] = roles;
77
+ $[12] = t6;
78
+ } else {
79
+ t6 = $[12];
80
+ }
81
+ let t7;
82
+ if ($[13] === Symbol.for("react.memo_cache_sentinel")) {
83
+ t7 = {
84
+ padding: "4px"
85
+ };
86
+ $[13] = t7;
87
+ } else {
88
+ t7 = $[13];
89
+ }
90
+ columns.push({
91
+ id: "role",
92
+ Header: "Role",
93
+ accessor: _temp3,
94
+ Cell: t4,
95
+ filterMethod: roleFilterMethod,
96
+ Filter: t5,
97
+ sortMethod: t6,
98
+ style: t7
99
+ });
53
100
  }
54
- const [usersState, setUsersState] = (0, react_1.useState)(users);
55
- const [roleFilter, setRoleFilter] = (0, react_1.useState)();
56
- const onFilteredChange = (newFiltering) => {
57
- const newRoleFilter = newFiltering.find(f => f.id === 'role');
58
- setRoleFilter(newRoleFilter);
101
+ $[0] = requiredRole;
102
+ $[1] = roles;
103
+ $[2] = textForRole;
104
+ $[3] = users;
105
+ $[4] = columns;
106
+ } else {
107
+ columns = $[4];
108
+ }
109
+ const [usersState, setUsersState] = useState(users);
110
+ const [roleFilter, setRoleFilter] = useState();
111
+ let t1;
112
+ if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
113
+ t1 = newFiltering => {
114
+ const newRoleFilter = newFiltering.find(_temp4);
115
+ setRoleFilter(newRoleFilter);
116
+ };
117
+ $[14] = t1;
118
+ } else {
119
+ t1 = $[14];
120
+ }
121
+ const onFilteredChange = t1;
122
+ let t2;
123
+ let t3;
124
+ if ($[15] !== roleFilter || $[16] !== users || $[17] !== usersState) {
125
+ t2 = () => {
126
+ let usersToDisplay = users;
127
+ if (roleFilter) {
128
+ usersToDisplay = users.map(u_1 => {
129
+ const newUser = merge({}, u_1);
130
+ newUser.roles = u_1.roles.filter(r_2 => roleUserRoleFilterMethod(roleFilter, r_2));
131
+ return newUser;
132
+ });
133
+ }
134
+ if (!isEqual(usersToDisplay, usersState)) {
135
+ setUsersState(usersToDisplay);
136
+ }
59
137
  };
60
- // update `usersState` when `users` or `roleFilter` changes
61
- (0, react_1.useEffect)(() => {
62
- let usersToDisplay = users;
63
- // when the role filter is set, only show the matching userRoles in the table
64
- if (roleFilter) {
65
- usersToDisplay = users.map(u => {
66
- const newUser = (0, lodash_1.merge)({}, u);
67
- newUser.roles = u.roles.filter(r => (0, RoleFilter_1.roleUserRoleFilterMethod)(roleFilter, r));
68
- return newUser;
69
- });
70
- }
71
- if (!(0, lodash_1.isEqual)(usersToDisplay, usersState)) {
72
- setUsersState(usersToDisplay);
73
- }
74
- }, [users, roleFilter, usersState]);
75
- return ((0, jsx_runtime_1.jsx)("div", { id: id, className: "table-container", children: (0, jsx_runtime_1.jsx)(react_table_1.default, { className: `-striped`, columns: columns, data: usersState, resizable: false, filterable: true, onFilteredChange: onFilteredChange, defaultSorted: [
76
- {
77
- id: 'lastName',
78
- desc: false
79
- },
80
- {
81
- id: 'firstName',
82
- desc: false
83
- }
84
- ], pageSize: Object.keys(usersState).length, showPagination: false }) }));
138
+ t3 = [users, roleFilter, usersState];
139
+ $[15] = roleFilter;
140
+ $[16] = users;
141
+ $[17] = usersState;
142
+ $[18] = t2;
143
+ $[19] = t3;
144
+ } else {
145
+ t2 = $[18];
146
+ t3 = $[19];
147
+ }
148
+ useEffect(t2, t3);
149
+ let t4;
150
+ if ($[20] === Symbol.for("react.memo_cache_sentinel")) {
151
+ t4 = [{
152
+ id: "lastName",
153
+ desc: false
154
+ }, {
155
+ id: "firstName",
156
+ desc: false
157
+ }];
158
+ $[20] = t4;
159
+ } else {
160
+ t4 = $[20];
161
+ }
162
+ let t5;
163
+ if ($[21] !== usersState) {
164
+ t5 = Object.keys(usersState);
165
+ $[21] = usersState;
166
+ $[22] = t5;
167
+ } else {
168
+ t5 = $[22];
169
+ }
170
+ let t6;
171
+ if ($[23] !== columns || $[24] !== t5.length || $[25] !== usersState) {
172
+ t6 = /*#__PURE__*/_jsx(ReactTable, {
173
+ className: "-striped",
174
+ columns: columns,
175
+ data: usersState,
176
+ resizable: false,
177
+ filterable: true,
178
+ onFilteredChange: onFilteredChange,
179
+ defaultSorted: t4,
180
+ pageSize: t5.length,
181
+ showPagination: false
182
+ });
183
+ $[23] = columns;
184
+ $[24] = t5.length;
185
+ $[25] = usersState;
186
+ $[26] = t6;
187
+ } else {
188
+ t6 = $[26];
189
+ }
190
+ let t7;
191
+ if ($[27] !== id || $[28] !== t6) {
192
+ t7 = /*#__PURE__*/_jsx("div", {
193
+ id: id,
194
+ className: "table-container",
195
+ children: t6
196
+ });
197
+ $[27] = id;
198
+ $[28] = t6;
199
+ $[29] = t7;
200
+ } else {
201
+ t7 = $[29];
202
+ }
203
+ return t7;
85
204
  };
205
+
86
206
  // similar to "shouldComponentUpdate", prevent unnecessary renders
87
- exports.UserRolesTable = react_1.default.memo(UserRolesTableComponent, (prevProps, nextProps) => (0, lodash_1.isEqual)(prevProps, nextProps));
207
+ export const UserRolesTable = /*#__PURE__*/React.memo(UserRolesTableComponent, (prevProps, nextProps) => isEqual(prevProps, nextProps));
208
+ function _temp(r_0) {
209
+ return isExternal(r_0);
210
+ }
211
+ function _temp2(r) {
212
+ return r.roles.some(_temp);
213
+ }
214
+ function _temp3(u) {
215
+ return u;
216
+ }
217
+ function _temp4(f) {
218
+ return f.id === "role";
219
+ }
220
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc0VxdWFsIiwibWVyZ2UiLCJSZWFjdCIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlJlYWN0VGFibGUiLCJpc0V4dGVybmFsIiwic29ydEJ5SGlnaGVzdEFjY2Vzc1JvbGUiLCJSb2xlRmlsdGVyIiwicm9sZUZpbHRlck1ldGhvZCIsInJvbGVVc2VyUm9sZUZpbHRlck1ldGhvZCIsIlRleHRGaWx0ZXIiLCJ0ZXh0RmlsdGVyTWV0aG9kIiwiVXNlclJvbGVzQ29udGV4dCIsIlJvbGVDZWxsIiwianN4IiwiX2pzeCIsIlVzZXJSb2xlc1RhYmxlQ29tcG9uZW50IiwidDAiLCIkIiwiX2MiLCJpZCIsInVzZXJzIiwicm9sZXMiLCJyZXF1aXJlZFJvbGUiLCJ0ZXh0Rm9yUm9sZSIsImNvbHVtbnMiLCJoYXNFeHRlcm5hbCIsInNvbWUiLCJfdGVtcDIiLCJ0MSIsInQyIiwidDMiLCJTeW1ib2wiLCJmb3IiLCJIZWFkZXIiLCJhY2Nlc3NvciIsImZpbHRlck1ldGhvZCIsIkZpbHRlciIsImxlbmd0aCIsInQ0IiwiY2VsbCIsInVzZXIiLCJ2YWx1ZSIsInJlcXVpcmVkUm9sZUNvdW50IiwiZmlsdGVyIiwidV8wIiwidSIsInJfMSIsInIiLCJyb2xlIiwidW5kZWZpbmVkIiwidDUiLCJ0NiIsInQ3IiwicGFkZGluZyIsInB1c2giLCJfdGVtcDMiLCJDZWxsIiwic29ydE1ldGhvZCIsInN0eWxlIiwidXNlcnNTdGF0ZSIsInNldFVzZXJzU3RhdGUiLCJyb2xlRmlsdGVyIiwic2V0Um9sZUZpbHRlciIsIm5ld0ZpbHRlcmluZyIsIm5ld1JvbGVGaWx0ZXIiLCJmaW5kIiwiX3RlbXA0Iiwib25GaWx0ZXJlZENoYW5nZSIsInVzZXJzVG9EaXNwbGF5IiwibWFwIiwidV8xIiwibmV3VXNlciIsInJfMiIsImRlc2MiLCJPYmplY3QiLCJrZXlzIiwiY2xhc3NOYW1lIiwicmVzaXphYmxlIiwiZmlsdGVyYWJsZSIsImRlZmF1bHRTb3J0ZWQiLCJwYWdlU2l6ZSIsInNob3dQYWdpbmF0aW9uIiwiY2hpbGRyZW4iLCJVc2VyUm9sZXNUYWJsZSIsIm1lbW8iLCJwcmV2UHJvcHMiLCJuZXh0UHJvcHMiLCJfdGVtcCIsInJfMCIsImYiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Vc2VyUm9sZXMvVGFibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRXF1YWwsIG1lcmdlIH0gZnJvbSAnbG9kYXNoJ1xuaW1wb3J0IFJlYWN0LCB7IEZ1bmN0aW9uQ29tcG9uZW50LCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgUmVhY3RUYWJsZSwgeyBDb2x1bW4sIEZpbHRlciB9IGZyb20gJ3JlYWN0LXRhYmxlJ1xuaW1wb3J0IHsgVXNlcldpdGhSb2xlcyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgaXNFeHRlcm5hbCwgc29ydEJ5SGlnaGVzdEFjY2Vzc1JvbGUgfSBmcm9tICcuLi8uLi91dGlscy91c2VyUm9sZSdcbmltcG9ydCB7IFJvbGVGaWx0ZXIsIHJvbGVGaWx0ZXJNZXRob2QsIHJvbGVVc2VyUm9sZUZpbHRlck1ldGhvZCB9IGZyb20gJy4uL1RhYmxlcy9Sb2xlRmlsdGVyJ1xuaW1wb3J0IHsgVGV4dEZpbHRlciwgdGV4dEZpbHRlck1ldGhvZCB9IGZyb20gJy4uL1RhYmxlcy9UZXh0RmlsdGVyJ1xuaW1wb3J0IHsgVXNlclJvbGVzQ29udGV4dCB9IGZyb20gJy4vQ29udGV4dCdcbmltcG9ydCB7IFJvbGVDZWxsIH0gZnJvbSAnLi9Sb2xlQ2VsbCdcblxuZXhwb3J0IGludGVyZmFjZSBVc2VyUm9sZXNUYWJsZVByb3BzIHtcblx0aWQ/OiBzdHJpbmdcblx0dXNlcnM6IFVzZXJXaXRoUm9sZXNbXVxufVxuXG5jb25zdCBVc2VyUm9sZXNUYWJsZUNvbXBvbmVudDogRnVuY3Rpb25Db21wb25lbnQ8VXNlclJvbGVzVGFibGVQcm9wcz4gPSAoeyBpZCwgdXNlcnMgfSkgPT4ge1xuXHRjb25zdCB7IHJvbGVzLCByZXF1aXJlZFJvbGUsIHRleHRGb3JSb2xlIH0gPSB1c2VDb250ZXh0KFVzZXJSb2xlc0NvbnRleHQpXG5cblx0Y29uc3QgaGFzRXh0ZXJuYWwgPSB1c2Vycy5zb21lKHIgPT4gci5yb2xlcy5zb21lKHIgPT4gaXNFeHRlcm5hbChyKSkpXG5cdGNvbnN0IGNvbHVtbnM6IENvbHVtbltdID0gW1xuXHRcdHtcblx0XHRcdEhlYWRlcjogJ0ZpcnN0IE5hbWUnLFxuXHRcdFx0YWNjZXNzb3I6ICdmaXJzdE5hbWUnLFxuXHRcdFx0ZmlsdGVyTWV0aG9kOiB0ZXh0RmlsdGVyTWV0aG9kLFxuXHRcdFx0RmlsdGVyOiBUZXh0RmlsdGVyXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRIZWFkZXI6ICdMYXN0IE5hbWUnLFxuXHRcdFx0YWNjZXNzb3I6ICdsYXN0TmFtZScsXG5cdFx0XHRmaWx0ZXJNZXRob2Q6IHRleHRGaWx0ZXJNZXRob2QsXG5cdFx0XHRGaWx0ZXI6IFRleHRGaWx0ZXJcblx0XHR9LFxuXHRcdHtcblx0XHRcdEhlYWRlcjogJ0VtYWlsJyxcblx0XHRcdGFjY2Vzc29yOiAnZW1haWwnLFxuXHRcdFx0ZmlsdGVyTWV0aG9kOiB0ZXh0RmlsdGVyTWV0aG9kLFxuXHRcdFx0RmlsdGVyOiBUZXh0RmlsdGVyXG5cdFx0fVxuXHRdXG5cdGlmIChyb2xlcy5sZW5ndGggPiAwKSB7XG5cdFx0Y29sdW1ucy5wdXNoKHtcblx0XHRcdGlkOiAncm9sZScsXG5cdFx0XHRIZWFkZXI6ICdSb2xlJyxcblx0XHRcdGFjY2Vzc29yOiB1ID0+IHUsXG5cdFx0XHRDZWxsOiBjZWxsID0+IHtcblx0XHRcdFx0Y29uc3QgdXNlcjogVXNlcldpdGhSb2xlcyA9IGNlbGwudmFsdWVcblx0XHRcdFx0cmV0dXJuIChcblx0XHRcdFx0XHQ8Um9sZUNlbGxcblx0XHRcdFx0XHRcdHVzZXI9e3VzZXJ9XG5cdFx0XHRcdFx0XHRyZXF1aXJlZFJvbGVDb3VudD17XG5cdFx0XHRcdFx0XHRcdHJlcXVpcmVkUm9sZVxuXHRcdFx0XHRcdFx0XHRcdD8gdXNlcnMuZmlsdGVyKHUgPT4gdS5yb2xlcy5zb21lKHIgPT4gci5yb2xlID09PSByZXF1aXJlZFJvbGUpKS5sZW5ndGhcblx0XHRcdFx0XHRcdFx0XHQ6IHVuZGVmaW5lZFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC8+XG5cdFx0XHRcdClcblx0XHRcdH0sXG5cdFx0XHRmaWx0ZXJNZXRob2Q6IHJvbGVGaWx0ZXJNZXRob2QsXG5cdFx0XHRGaWx0ZXI6IFJvbGVGaWx0ZXIocm9sZXMsIHRleHRGb3JSb2xlLCBoYXNFeHRlcm5hbCksXG5cdFx0XHRzb3J0TWV0aG9kOiBzb3J0QnlIaWdoZXN0QWNjZXNzUm9sZShyb2xlcyksXG5cdFx0XHRzdHlsZTogeyBwYWRkaW5nOiAnNHB4JyB9XG5cdFx0fSlcblx0fVxuXG5cdGNvbnN0IFt1c2Vyc1N0YXRlLCBzZXRVc2Vyc1N0YXRlXSA9IHVzZVN0YXRlKHVzZXJzKVxuXHRjb25zdCBbcm9sZUZpbHRlciwgc2V0Um9sZUZpbHRlcl0gPSB1c2VTdGF0ZTxGaWx0ZXIgfCB1bmRlZmluZWQ+KClcblxuXHRjb25zdCBvbkZpbHRlcmVkQ2hhbmdlID0gKG5ld0ZpbHRlcmluZzogRmlsdGVyW10pID0+IHtcblx0XHRjb25zdCBuZXdSb2xlRmlsdGVyID0gbmV3RmlsdGVyaW5nLmZpbmQoZiA9PiBmLmlkID09PSAncm9sZScpXG5cdFx0c2V0Um9sZUZpbHRlcihuZXdSb2xlRmlsdGVyKVxuXHR9XG5cblx0Ly8gdXBkYXRlIGB1c2Vyc1N0YXRlYCB3aGVuIGB1c2Vyc2Agb3IgYHJvbGVGaWx0ZXJgIGNoYW5nZXNcblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRsZXQgdXNlcnNUb0Rpc3BsYXkgPSB1c2Vyc1xuXHRcdC8vIHdoZW4gdGhlIHJvbGUgZmlsdGVyIGlzIHNldCwgb25seSBzaG93IHRoZSBtYXRjaGluZyB1c2VyUm9sZXMgaW4gdGhlIHRhYmxlXG5cdFx0aWYgKHJvbGVGaWx0ZXIpIHtcblx0XHRcdHVzZXJzVG9EaXNwbGF5ID0gdXNlcnMubWFwKHUgPT4ge1xuXHRcdFx0XHRjb25zdCBuZXdVc2VyID0gbWVyZ2Uoe30sIHUpXG5cdFx0XHRcdG5ld1VzZXIucm9sZXMgPSB1LnJvbGVzLmZpbHRlcihyID0+IHJvbGVVc2VyUm9sZUZpbHRlck1ldGhvZChyb2xlRmlsdGVyLCByKSlcblx0XHRcdFx0cmV0dXJuIG5ld1VzZXJcblx0XHRcdH0pXG5cdFx0fVxuXHRcdGlmICghaXNFcXVhbCh1c2Vyc1RvRGlzcGxheSwgdXNlcnNTdGF0ZSkpIHtcblx0XHRcdHNldFVzZXJzU3RhdGUodXNlcnNUb0Rpc3BsYXkpXG5cdFx0fVxuXHR9LCBbdXNlcnMsIHJvbGVGaWx0ZXIsIHVzZXJzU3RhdGVdKVxuXG5cdHJldHVybiAoXG5cdFx0PGRpdiBpZD17aWR9IGNsYXNzTmFtZT1cInRhYmxlLWNvbnRhaW5lclwiPlxuXHRcdFx0PFJlYWN0VGFibGVcblx0XHRcdFx0Y2xhc3NOYW1lPXtgLXN0cmlwZWRgfVxuXHRcdFx0XHRjb2x1bW5zPXtjb2x1bW5zfVxuXHRcdFx0XHRkYXRhPXt1c2Vyc1N0YXRlfVxuXHRcdFx0XHRyZXNpemFibGU9e2ZhbHNlfVxuXHRcdFx0XHRmaWx0ZXJhYmxlXG5cdFx0XHRcdG9uRmlsdGVyZWRDaGFuZ2U9e29uRmlsdGVyZWRDaGFuZ2V9XG5cdFx0XHRcdGRlZmF1bHRTb3J0ZWQ9e1tcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRpZDogJ2xhc3ROYW1lJyxcblx0XHRcdFx0XHRcdGRlc2M6IGZhbHNlXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRpZDogJ2ZpcnN0TmFtZScsXG5cdFx0XHRcdFx0XHRkZXNjOiBmYWxzZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XX1cblx0XHRcdFx0cGFnZVNpemU9e09iamVjdC5rZXlzKHVzZXJzU3RhdGUpLmxlbmd0aH1cblx0XHRcdFx0c2hvd1BhZ2luYXRpb249e2ZhbHNlfVxuXHRcdFx0Lz5cblx0XHQ8L2Rpdj5cblx0KVxufVxuXG4vLyBzaW1pbGFyIHRvIFwic2hvdWxkQ29tcG9uZW50VXBkYXRlXCIsIHByZXZlbnQgdW5uZWNlc3NhcnkgcmVuZGVyc1xuZXhwb3J0IGNvbnN0IFVzZXJSb2xlc1RhYmxlID0gUmVhY3QubWVtbyhcblx0VXNlclJvbGVzVGFibGVDb21wb25lbnQsXG5cdChwcmV2UHJvcHM6IFVzZXJSb2xlc1RhYmxlUHJvcHMsIG5leHRQcm9wczogVXNlclJvbGVzVGFibGVQcm9wcykgPT4gaXNFcXVhbChwcmV2UHJvcHMsIG5leHRQcm9wcylcbilcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLE9BQU8sRUFBRUMsS0FBSyxRQUFRLFFBQVE7QUFDdkMsT0FBT0MsS0FBSyxJQUF1QkMsVUFBVSxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ2pGLE9BQU9DLFVBQVUsTUFBMEIsYUFBYTtBQUV4RCxTQUFTQyxVQUFVLEVBQUVDLHVCQUF1QixRQUFRLHNCQUFzQjtBQUMxRSxTQUFTQyxVQUFVLEVBQUVDLGdCQUFnQixFQUFFQyx3QkFBd0IsUUFBUSxzQkFBc0I7QUFDN0YsU0FBU0MsVUFBVSxFQUFFQyxnQkFBZ0IsUUFBUSxzQkFBc0I7QUFDbkUsU0FBU0MsZ0JBQWdCLFFBQVEsV0FBVztBQUM1QyxTQUFTQyxRQUFRLFFBQVEsWUFBWTtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQU9yQyxNQUFNQyx1QkFBK0QsR0FBR0MsRUFBQTtFQUFBLE1BQUFDLENBQUEsR0FBQUMsRUFBQTtFQUFDO0lBQUFDLEVBQUE7SUFBQUM7RUFBQSxJQUFBSixFQUFhO0VBQ3JGO0lBQUFLLEtBQUE7SUFBQUMsWUFBQTtJQUFBQztFQUFBLElBQTZDdkIsVUFBVSxDQUFDVyxnQkFBZ0IsQ0FBQztFQUFBLElBQUFhLE9BQUE7RUFBQSxJQUFBUCxDQUFBLFFBQUFLLFlBQUEsSUFBQUwsQ0FBQSxRQUFBSSxLQUFBLElBQUFKLENBQUEsUUFBQU0sV0FBQSxJQUFBTixDQUFBLFFBQUFHLEtBQUE7SUFFekUsTUFBQUssV0FBQSxHQUFvQkwsS0FBSyxDQUFBTSxJQUFLLENBQUNDLE1BQXFDLENBQUM7SUFBQSxJQUFBQyxFQUFBO0lBQUEsSUFBQUMsRUFBQTtJQUFBLElBQUFDLEVBQUE7SUFBQSxJQUFBYixDQUFBLFFBQUFjLE1BQUEsQ0FBQUMsR0FBQTtNQUVwRUosRUFBQTtRQUFBSyxNQUFBLEVBQ1MsWUFBWTtRQUFBQyxRQUFBLEVBQ1YsV0FBVztRQUFBQyxZQUFBLEVBQ1B6QixnQkFBZ0I7UUFBQTBCLE1BQUEsRUFDdEIzQjtNQUNULENBQUM7TUFDRG9CLEVBQUE7UUFBQUksTUFBQSxFQUNTLFdBQVc7UUFBQUMsUUFBQSxFQUNULFVBQVU7UUFBQUMsWUFBQSxFQUNOekIsZ0JBQWdCO1FBQUEwQixNQUFBLEVBQ3RCM0I7TUFDVCxDQUFDO01BQ0RxQixFQUFBO1FBQUFHLE1BQUEsRUFDUyxPQUFPO1FBQUFDLFFBQUEsRUFDTCxPQUFPO1FBQUFDLFlBQUEsRUFDSHpCLGdCQUFnQjtRQUFBMEIsTUFBQSxFQUN0QjNCO01BQ1QsQ0FBQztNQUFBUSxDQUFBLE1BQUFXLEVBQUE7TUFBQVgsQ0FBQSxNQUFBWSxFQUFBO01BQUFaLENBQUEsTUFBQWEsRUFBQTtJQUFBO01BQUFGLEVBQUEsR0FBQVgsQ0FBQTtNQUFBWSxFQUFBLEdBQUFaLENBQUE7TUFBQWEsRUFBQSxHQUFBYixDQUFBO0lBQUE7SUFsQkZPLE9BQUEsR0FBMEIsQ0FDekJJLEVBS0MsRUFDREMsRUFLQyxFQUNEQyxFQUtDLENBQ0Q7SUFDRCxJQUFJVCxLQUFLLENBQUFnQixNQUFPLEdBQUcsQ0FBQztNQUFBLElBQUFDLEVBQUE7TUFBQSxJQUFBckIsQ0FBQSxRQUFBSyxZQUFBLElBQUFMLENBQUEsUUFBQUcsS0FBQTtRQUtaa0IsRUFBQSxHQUFBQyxJQUFBO1VBQ0wsTUFBQUMsSUFBQSxHQUE0QkQsSUFBSSxDQUFBRSxLQUFNO1VBQUEsb0JBRXJDM0IsSUFBQSxDQUFDRixRQUFRO1lBQ0Y0QixJQUFJLEVBQUpBLElBQUk7WUFFVEUsaUJBRVksRUFGWnBCLFlBQVksR0FDVEYsS0FBSyxDQUFBdUIsTUFBTyxDQUFDQyxHQUFBLElBQUtDLEdBQUMsQ0FBQXhCLEtBQU0sQ0FBQUssSUFBSyxDQUFDb0IsR0FBQSxJQUFLQyxHQUFDLENBQUFDLElBQUssS0FBSzFCLFlBQVksQ0FBQyxDQUFDLENBQUFlLE1BQ3BELEdBRlpZO1VBRVksQ0FFYixDQUFDO1FBQUEsQ0FFSDtRQUFBaEMsQ0FBQSxNQUFBSyxZQUFBO1FBQUFMLENBQUEsTUFBQUcsS0FBQTtRQUFBSCxDQUFBLE9BQUFxQixFQUFBO01BQUE7UUFBQUEsRUFBQSxHQUFBckIsQ0FBQTtNQUFBO01BRU8sTUFBQWlDLEVBQUEsR0FBQTVDLFVBQVUsQ0FBQ2UsS0FBSyxFQUFFRSxXQUFXLEVBQUVFLFdBQVcsQ0FBQztNQUFBLElBQUEwQixFQUFBO01BQUEsSUFBQWxDLENBQUEsU0FBQUksS0FBQTtRQUN2QzhCLEVBQUEsR0FBQTlDLHVCQUF1QixDQUFDZ0IsS0FBSyxDQUFDO1FBQUFKLENBQUEsT0FBQUksS0FBQTtRQUFBSixDQUFBLE9BQUFrQyxFQUFBO01BQUE7UUFBQUEsRUFBQSxHQUFBbEMsQ0FBQTtNQUFBO01BQUEsSUFBQW1DLEVBQUE7TUFBQSxJQUFBbkMsQ0FBQSxTQUFBYyxNQUFBLENBQUFDLEdBQUE7UUFDbkNvQixFQUFBO1VBQUFDLE9BQUEsRUFBVztRQUFNLENBQUM7UUFBQXBDLENBQUEsT0FBQW1DLEVBQUE7TUFBQTtRQUFBQSxFQUFBLEdBQUFuQyxDQUFBO01BQUE7TUFwQjFCTyxPQUFPLENBQUE4QixJQUFLLENBQUM7UUFBQW5DLEVBQUEsRUFDUixNQUFNO1FBQUFjLE1BQUEsRUFDRixNQUFNO1FBQUFDLFFBQUEsRUFDSnFCLE1BQU07UUFBQUMsSUFBQSxFQUNWbEIsRUFZTDtRQUFBSCxZQUFBLEVBQ2E1QixnQkFBZ0I7UUFBQTZCLE1BQUEsRUFDdEJjLEVBQTJDO1FBQUFPLFVBQUEsRUFDdkNOLEVBQThCO1FBQUFPLEtBQUEsRUFDbkNOO01BQ1IsQ0FBQyxDQUFDO0lBQUE7SUFDRm5DLENBQUEsTUFBQUssWUFBQTtJQUFBTCxDQUFBLE1BQUFJLEtBQUE7SUFBQUosQ0FBQSxNQUFBTSxXQUFBO0lBQUFOLENBQUEsTUFBQUcsS0FBQTtJQUFBSCxDQUFBLE1BQUFPLE9BQUE7RUFBQTtJQUFBQSxPQUFBLEdBQUFQLENBQUE7RUFBQTtFQUVELE9BQUEwQyxVQUFBLEVBQUFDLGFBQUEsSUFBb0MxRCxRQUFRLENBQUNrQixLQUFLLENBQUM7RUFDbkQsT0FBQXlDLFVBQUEsRUFBQUMsYUFBQSxJQUFvQzVELFFBQVEsQ0FBcUIsQ0FBQztFQUFBLElBQUEwQixFQUFBO0VBQUEsSUFBQVgsQ0FBQSxTQUFBYyxNQUFBLENBQUFDLEdBQUE7SUFFekNKLEVBQUEsR0FBQW1DLFlBQUE7TUFDeEIsTUFBQUMsYUFBQSxHQUFzQkQsWUFBWSxDQUFBRSxJQUFLLENBQUNDLE1BQW9CLENBQUM7TUFDN0RKLGFBQWEsQ0FBQ0UsYUFBYSxDQUFDO0lBQUEsQ0FDNUI7SUFBQS9DLENBQUEsT0FBQVcsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQVgsQ0FBQTtFQUFBO0VBSEQsTUFBQWtELGdCQUFBLEdBQXlCdkMsRUFHeEI7RUFBQSxJQUFBQyxFQUFBO0VBQUEsSUFBQUMsRUFBQTtFQUFBLElBQUFiLENBQUEsU0FBQTRDLFVBQUEsSUFBQTVDLENBQUEsU0FBQUcsS0FBQSxJQUFBSCxDQUFBLFNBQUEwQyxVQUFBO0lBR1M5QixFQUFBLEdBQUFBLENBQUE7TUFDVCxJQUFBdUMsY0FBQSxHQUFxQmhELEtBQUs7TUFFMUIsSUFBSXlDLFVBQVU7UUFDYk8sY0FBQSxDQUFBQSxDQUFBLENBQWlCaEQsS0FBSyxDQUFBaUQsR0FBSSxDQUFDQyxHQUFBO1VBQzFCLE1BQUFDLE9BQUEsR0FBZ0J6RSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUrQyxHQUFDLENBQUM7VUFDNUIwQixPQUFPLENBQUFsRCxLQUFBLEdBQVN3QixHQUFDLENBQUF4QixLQUFNLENBQUFzQixNQUFPLENBQUM2QixHQUFBLElBQUtoRSx3QkFBd0IsQ0FBQ3FELFVBQVUsRUFBRWQsR0FBQyxDQUFDLENBQTlEO1VBQUEsT0FDTndCLE9BQU87UUFBQSxDQUNkLENBQUM7TUFKWTtNQU1mLElBQUksQ0FBQzFFLE9BQU8sQ0FBQ3VFLGNBQWMsRUFBRVQsVUFBVSxDQUFDO1FBQ3ZDQyxhQUFhLENBQUNRLGNBQWMsQ0FBQztNQUFBO0lBQzdCLENBQ0Q7SUFBRXRDLEVBQUEsSUFBQ1YsS0FBSyxFQUFFeUMsVUFBVSxFQUFFRixVQUFVLENBQUM7SUFBQTFDLENBQUEsT0FBQTRDLFVBQUE7SUFBQTVDLENBQUEsT0FBQUcsS0FBQTtJQUFBSCxDQUFBLE9BQUEwQyxVQUFBO0lBQUExQyxDQUFBLE9BQUFZLEVBQUE7SUFBQVosQ0FBQSxPQUFBYSxFQUFBO0VBQUE7SUFBQUQsRUFBQSxHQUFBWixDQUFBO0lBQUFhLEVBQUEsR0FBQWIsQ0FBQTtFQUFBO0VBYmxDaEIsU0FBUyxDQUFDNEIsRUFhVCxFQUFFQyxFQUErQixDQUFDO0VBQUEsSUFBQVEsRUFBQTtFQUFBLElBQUFyQixDQUFBLFNBQUFjLE1BQUEsQ0FBQUMsR0FBQTtJQVdqQk0sRUFBQSxJQUNkO01BQUFuQixFQUFBLEVBQ0ssVUFBVTtNQUFBc0QsSUFBQSxFQUNSO0lBQ1AsQ0FBQyxFQUNEO01BQUF0RCxFQUFBLEVBQ0ssV0FBVztNQUFBc0QsSUFBQSxFQUNUO0lBQ1AsQ0FBQyxDQUNEO0lBQUF4RCxDQUFBLE9BQUFxQixFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBckIsQ0FBQTtFQUFBO0VBQUEsSUFBQWlDLEVBQUE7RUFBQSxJQUFBakMsQ0FBQSxTQUFBMEMsVUFBQTtJQUNTVCxFQUFBLEdBQUF3QixNQUFNLENBQUFDLElBQUssQ0FBQ2hCLFVBQVUsQ0FBQztJQUFBMUMsQ0FBQSxPQUFBMEMsVUFBQTtJQUFBMUMsQ0FBQSxPQUFBaUMsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQWpDLENBQUE7RUFBQTtFQUFBLElBQUFrQyxFQUFBO0VBQUEsSUFBQWxDLENBQUEsU0FBQU8sT0FBQSxJQUFBUCxDQUFBLFNBQUFpQyxFQUFBLENBQUFiLE1BQUEsSUFBQXBCLENBQUEsU0FBQTBDLFVBQUE7SUFqQmxDUixFQUFBLGdCQUFBckMsSUFBQSxDQUFDWCxVQUFVO01BQ0N5RSxTQUFVLEVBQVYsVUFBVTtNQUNacEQsT0FBTyxFQUFQQSxPQUFPO01BQ1ZtQyxJQUFVLEVBQVZBLFVBQVU7TUFDTGtCLFNBQUssRUFBTCxLQUFLO01BQ2hCQyxVQUFVLEVBQVYsSUFBVTtNQUNRWCxnQkFBZ0IsRUFBaEJBLGdCQUFnQjtNQUNuQlksYUFTZCxFQVRjekMsRUFTZDtNQUNTMEMsUUFBOEIsRUFBOUI5QixFQUF1QixDQUFBYixNQUFPO01BQ3hCNEMsY0FBSyxFQUFMO0lBQUssQ0FDckIsQ0FBQztJQUFBaEUsQ0FBQSxPQUFBTyxPQUFBO0lBQUFQLENBQUEsT0FBQWlDLEVBQUEsQ0FBQWIsTUFBQTtJQUFBcEIsQ0FBQSxPQUFBMEMsVUFBQTtJQUFBMUMsQ0FBQSxPQUFBa0MsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQWxDLENBQUE7RUFBQTtFQUFBLElBQUFtQyxFQUFBO0VBQUEsSUFBQW5DLENBQUEsU0FBQUUsRUFBQSxJQUFBRixDQUFBLFNBQUFrQyxFQUFBO0lBcEJIQyxFQUFBLGdCQUFBdEMsSUFBQTtNQUFTSyxFQUFFLEVBQUZBLEVBQUU7TUFBWXlELFNBQWlCLEVBQWpCLGlCQUFpQjtNQUFBTSxRQUFBLEVBQ3ZDL0I7SUFtQkUsQ0FDRSxDQUFDO0lBQUFsQyxDQUFBLE9BQUFFLEVBQUE7SUFBQUYsQ0FBQSxPQUFBa0MsRUFBQTtJQUFBbEMsQ0FBQSxPQUFBbUMsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQW5DLENBQUE7RUFBQTtFQUFBLE9BckJObUMsRUFxQk07QUFBQSxDQUVQOztBQUVEO0FBQ0EsT0FBTyxNQUFNK0IsY0FBYyxnQkFBR3BGLEtBQUssQ0FBQ3FGLElBQUksQ0FDdkNyRSx1QkFBdUIsRUFDdkIsQ0FBQ3NFLFNBQThCLEVBQUVDLFNBQThCLEtBQUt6RixPQUFPLENBQUN3RixTQUFTLEVBQUVDLFNBQVMsQ0FDakcsQ0FBQztBQXZHdUUsU0FBQUMsTUFBQUMsR0FBQTtFQUFBLE9BR2pCcEYsVUFBVSxDQUFDMkMsR0FBQyxDQUFDO0FBQUE7QUFISSxTQUFBcEIsT0FBQW9CLENBQUE7RUFBQSxPQUduQ0EsQ0FBQyxDQUFBMUIsS0FBTSxDQUFBSyxJQUFLLENBQUM2RCxLQUFrQixDQUFDO0FBQUE7QUFIRyxTQUFBaEMsT0FBQVYsQ0FBQTtFQUFBLE9BNEJ0REEsQ0FBQztBQUFBO0FBNUJxRCxTQUFBcUIsT0FBQXVCLENBQUE7RUFBQSxPQXFEekJBLENBQUMsQ0FBQXRFLEVBQUcsS0FBSyxNQUFNO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=