studiokit-scaffolding-js 7.0.12-next.1.4 → 7.0.12-next.2.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 (258) hide show
  1. package/lib/components/ActionList.js +170 -34
  2. package/lib/components/AlertDialog.js +133 -9
  3. package/lib/components/AlertWithIcon.js +92 -25
  4. package/lib/components/ConnectedModal.js +43 -13
  5. package/lib/components/Dropdowns/GroupsDropdown.js +69 -44
  6. package/lib/components/Dropdowns/ManagedNavDropdown.js +100 -67
  7. package/lib/components/Dropdowns/UserDropdown.js +111 -21
  8. package/lib/components/Dropdowns/index.js +27 -9
  9. package/lib/components/EntityOwnerList.js +52 -18
  10. package/lib/components/Error.js +106 -11
  11. package/lib/components/ErrorBoundary.js +134 -35
  12. package/lib/components/ErrorMessage.js +44 -9
  13. package/lib/components/Forms/DateField.js +61 -42
  14. package/lib/components/Forms/TimeField.js +81 -42
  15. package/lib/components/Forms/index.js +27 -4
  16. package/lib/components/Groups/CreateEditCopySaveButtons.js +114 -11
  17. package/lib/components/Groups/ExternalGroups/Attach.js +212 -148
  18. package/lib/components/Groups/ExternalGroups/Table.js +181 -45
  19. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +5 -1
  20. package/lib/components/Groups/RosterSyncInfo.js +147 -20
  21. package/lib/components/HOC/AccessibleAppComponent.js +98 -73
  22. package/lib/components/HOC/ActivityRequiredComponent.js +92 -49
  23. package/lib/components/HOC/AsyncComponent.js +54 -39
  24. package/lib/components/HOC/AuthenticatedComponent.js +58 -38
  25. package/lib/components/HOC/CollectionComponent.js +170 -110
  26. package/lib/components/HOC/CollectionFirstItemComponent.js +51 -38
  27. package/lib/components/HOC/CollectionItemComponent.js +168 -106
  28. package/lib/components/HOC/ConnectedModalComponent.js +109 -80
  29. package/lib/components/HOC/DataDependentComponent.js +29 -21
  30. package/lib/components/HOC/EntityComponent.js +71 -57
  31. package/lib/components/HOC/FullscreenModalComponent.js +163 -123
  32. package/lib/components/HOC/GroupActivityRequiredComponent.js +45 -31
  33. package/lib/components/HOC/GuidComponent.js +29 -22
  34. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +41 -31
  35. package/lib/components/HOC/ModelErrorRedirectComponent.js +51 -47
  36. package/lib/components/HOC/SearchPersistorComponent.js +240 -166
  37. package/lib/components/HOC/UnauthenticatedComponent.js +37 -25
  38. package/lib/components/HOC/UserComponent.js +12 -7
  39. package/lib/components/Icons/IconAlphaList.js +33 -5
  40. package/lib/components/Icons/IconExternalUser.js +33 -5
  41. package/lib/components/Icons/IconImpersonation.js +33 -5
  42. package/lib/components/Icons/IconStopImpersonating.js +33 -5
  43. package/lib/components/Icons/IconTable.js +35 -7
  44. package/lib/components/Icons/IconTableDeleteCol.js +33 -5
  45. package/lib/components/Icons/IconTableDeleteRow.js +33 -5
  46. package/lib/components/Icons/IconTableInsertCol.js +33 -5
  47. package/lib/components/Icons/IconTableInsertRow.js +33 -5
  48. package/lib/components/Impersonation/Button.js +77 -13
  49. package/lib/components/Impersonation/Link.js +77 -13
  50. package/lib/components/Impersonation/UserDetail.js +66 -9
  51. package/lib/components/Loading.js +26 -4
  52. package/lib/components/LockDownBrowser/Check.js +194 -49
  53. package/lib/components/LockDownBrowser/ExitButton.js +26 -9
  54. package/lib/components/LockDownBrowser/Launch.js +70 -62
  55. package/lib/components/Lti/Confirm.js +152 -11
  56. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +170 -33
  57. package/lib/components/Lti/Launch.js +105 -24
  58. package/lib/components/Lti/LaunchGroup.js +85 -13
  59. package/lib/components/ManageTable.js +309 -87
  60. package/lib/components/ManageTableNoDataComponent.js +42 -4
  61. package/lib/components/NewVersionAlert.js +82 -46
  62. package/lib/components/NotFound.js +86 -10
  63. package/lib/components/Notifications.js +185 -126
  64. package/lib/components/PaginationNextButton.js +33 -6
  65. package/lib/components/PaginationPreviousButton.js +33 -6
  66. package/lib/components/Quill/CustomToolbar.js +432 -218
  67. package/lib/components/Quill/Formats/Image.js +73 -63
  68. package/lib/components/Quill/Formats/List.js +45 -45
  69. package/lib/components/Quill/Formats/Video.js +28 -24
  70. package/lib/components/Quill/ImageDropModule.js +147 -117
  71. package/lib/components/Quill/ImageWarning.js +47 -9
  72. package/lib/components/Quill/ImageWithAltTextModal.js +425 -86
  73. package/lib/components/Quill/Specs/CustomImageSpec.js +42 -34
  74. package/lib/components/Quill/Specs/CustomVideoSpec.js +34 -28
  75. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +98 -98
  76. package/lib/components/Quill/TableModule/Blots/TableBlot.js +52 -47
  77. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +53 -48
  78. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +224 -221
  79. package/lib/components/Quill/TableModule/Blots/TableContainer.js +80 -83
  80. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +75 -70
  81. package/lib/components/Quill/TableModule/constants.js +45 -41
  82. package/lib/components/Quill/TableModule/index.js +362 -301
  83. package/lib/components/Quill/TableModule/utils.js +42 -38
  84. package/lib/components/Quill/accessibilityFix.js +234 -232
  85. package/lib/components/Quill/index.js +34 -28
  86. package/lib/components/RefreshIndicator/Bordered.js +47 -6
  87. package/lib/components/RefreshIndicator/Inline.js +47 -8
  88. package/lib/components/RefreshIndicator/index.js +263 -59
  89. package/lib/components/SearchControls.js +216 -11
  90. package/lib/components/SentryRoute.js +11 -6
  91. package/lib/components/Tables/RoleFilter.js +69 -32
  92. package/lib/components/Tables/TextFilter.js +62 -13
  93. package/lib/components/UserRoles/Add.js +199 -96
  94. package/lib/components/UserRoles/Context.js +11 -7
  95. package/lib/components/UserRoles/RoleCell.js +181 -72
  96. package/lib/components/UserRoles/Select.js +157 -17
  97. package/lib/components/UserRoles/Table.js +221 -80
  98. package/lib/components/UserRoles/index.js +534 -384
  99. package/lib/config/eslint/index.js +32 -28
  100. package/lib/config/eslint/lib/order.js +26 -27
  101. package/lib/config/eslint/lib/prettier.js +20 -18
  102. package/lib/config/eslint/lib/typescript.js +93 -112
  103. package/lib/config/eslint/react.js +24 -14
  104. package/lib/constants/baseActivity.js +30 -26
  105. package/lib/constants/baseRole.js +14 -10
  106. package/lib/constants/configuration.js +33 -29
  107. package/lib/constants/externalProviderType.js +10 -6
  108. package/lib/constants/fetchErrorData.js +15 -11
  109. package/lib/constants/index.js +137 -14
  110. package/lib/constants/lockDownBrowser.js +28 -24
  111. package/lib/constants/mockData.js +382 -297
  112. package/lib/constants/modelStatus.js +15 -11
  113. package/lib/constants/notificationType.js +12 -8
  114. package/lib/constants/operatingSystem.js +12 -8
  115. package/lib/constants/shard.js +11 -7
  116. package/lib/constants/table.js +21 -21
  117. package/lib/constants/tier.js +12 -8
  118. package/lib/constants/userRole.js +15 -5
  119. package/lib/endpointMappings.js +197 -181
  120. package/lib/hooks/useCollection.js +82 -62
  121. package/lib/hooks/useCollectionConfiguration.js +228 -83
  122. package/lib/hooks/useCollectionItem.js +154 -54
  123. package/lib/hooks/useGuid.js +20 -8
  124. package/lib/hooks/usePrevious.js +19 -13
  125. package/lib/index.js +157 -25
  126. package/lib/redux/actionCreator.js +50 -28
  127. package/lib/redux/actions/AuthAction.js +44 -31
  128. package/lib/redux/actions/ModalAction.js +10 -6
  129. package/lib/redux/actions/ModelAction.js +77 -39
  130. package/lib/redux/actions/NotificationAction.js +10 -6
  131. package/lib/redux/actions/SearchAction.js +9 -5
  132. package/lib/redux/actions/index.js +60 -7
  133. package/lib/redux/configureReducers.js +60 -49
  134. package/lib/redux/configureStore.js +83 -87
  135. package/lib/redux/helpers.js +6 -2
  136. package/lib/redux/reducers/authReducer.js +50 -43
  137. package/lib/redux/reducers/index.js +41 -13
  138. package/lib/redux/reducers/modalsReducer.js +47 -29
  139. package/lib/redux/reducers/modelsReducer.js +178 -173
  140. package/lib/redux/reducers/notificationsReducer.js +24 -18
  141. package/lib/redux/reducers/searchReducer.js +25 -19
  142. package/lib/redux/sagas/appInsightsSaga.js +22 -18
  143. package/lib/redux/sagas/authSaga.js +253 -218
  144. package/lib/redux/sagas/caliperSaga.js +159 -143
  145. package/lib/redux/sagas/clockOffsetSaga.js +34 -31
  146. package/lib/redux/sagas/configurationSaga.js +11 -7
  147. package/lib/redux/sagas/downtimeApiErrorSaga.js +20 -17
  148. package/lib/redux/sagas/errorSaga.js +27 -21
  149. package/lib/redux/sagas/googleAnalyticsSaga.js +28 -24
  150. package/lib/redux/sagas/identityProviderSaga.js +22 -18
  151. package/lib/redux/sagas/initialDataLoadSaga.js +37 -28
  152. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +29 -20
  153. package/lib/redux/sagas/modelFetchSaga.js +355 -322
  154. package/lib/redux/sagas/noStoreSaga.js +61 -48
  155. package/lib/redux/sagas/postLoginDataSaga.js +45 -34
  156. package/lib/redux/sagas/postLoginRedirectSaga.js +27 -27
  157. package/lib/redux/sagas/rootSaga.js +82 -57
  158. package/lib/redux/sagas/sentrySaga.js +29 -25
  159. package/lib/redux/sagas/userIdSaga.js +16 -12
  160. package/lib/services/codeProviderService.js +25 -19
  161. package/lib/services/dateService.js +12 -7
  162. package/lib/services/documentService.js +17 -12
  163. package/lib/services/fetchService.js +129 -112
  164. package/lib/services/persistenceService.js +33 -29
  165. package/lib/services/ticketProviderService.js +29 -23
  166. package/lib/services/tokenPersistenceService.js +12 -8
  167. package/lib/services/windowService.js +18 -14
  168. package/lib/startup.js +132 -114
  169. package/lib/types/AppConfiguration.js +5 -1
  170. package/lib/types/Artifact.js +11 -7
  171. package/lib/types/BaseReduxState.js +5 -1
  172. package/lib/types/Client.js +5 -1
  173. package/lib/types/Collection.js +5 -1
  174. package/lib/types/Configuration.js +5 -1
  175. package/lib/types/DeepLinkingResponseRequest.js +5 -1
  176. package/lib/types/DeletableModel.js +5 -1
  177. package/lib/types/Event.js +5 -1
  178. package/lib/types/ExternalGroup.js +5 -1
  179. package/lib/types/ExternalProvider.js +5 -1
  180. package/lib/types/ExternalTerm.js +5 -1
  181. package/lib/types/Group.js +5 -1
  182. package/lib/types/IdentityProvider.js +5 -1
  183. package/lib/types/LtiLaunch.js +5 -1
  184. package/lib/types/NameOnlyEntity.js +5 -1
  185. package/lib/types/Notification.js +5 -1
  186. package/lib/types/OptionalRecord.js +5 -1
  187. package/lib/types/OwnerSchedule.js +5 -1
  188. package/lib/types/PropertyOfType.js +5 -1
  189. package/lib/types/Quill.js +5 -1
  190. package/lib/types/RoleDescription.js +5 -1
  191. package/lib/types/Search.js +5 -1
  192. package/lib/types/SimpleLocation.js +5 -1
  193. package/lib/types/UniTime.js +5 -1
  194. package/lib/types/User.js +5 -1
  195. package/lib/types/UserRole.js +5 -1
  196. package/lib/types/auth/AuthState.js +5 -1
  197. package/lib/types/auth/CasV1LoginRequestBody.js +5 -1
  198. package/lib/types/auth/ClientCredentials.js +5 -1
  199. package/lib/types/auth/CodeProviderService.js +5 -1
  200. package/lib/types/auth/LocalLoginRequestBody.js +5 -1
  201. package/lib/types/auth/TicketProviderService.js +5 -1
  202. package/lib/types/auth/TokenPersistenceService.js +5 -1
  203. package/lib/types/auth/index.js +82 -9
  204. package/lib/types/externals.d.js +2 -0
  205. package/lib/types/index.js +313 -30
  206. package/lib/types/net/EndpointConfig.js +5 -1
  207. package/lib/types/net/EndpointMapping.js +5 -1
  208. package/lib/types/net/EndpointMappings.js +5 -1
  209. package/lib/types/net/ErrorHandler.js +5 -1
  210. package/lib/types/net/FetchConfig.js +5 -1
  211. package/lib/types/net/FetchErrorData.js +10 -6
  212. package/lib/types/net/FetchResult.js +5 -1
  213. package/lib/types/net/HTTPMethod.js +5 -1
  214. package/lib/types/net/HTTPStatusCode.js +16 -12
  215. package/lib/types/net/Metadata.js +5 -1
  216. package/lib/types/net/Model.js +5 -1
  217. package/lib/types/net/ModelCollection.js +5 -1
  218. package/lib/types/net/ModelsState.js +5 -1
  219. package/lib/types/net/OAuthToken.js +5 -1
  220. package/lib/types/net/OAuthTokenOrNull.js +5 -1
  221. package/lib/types/net/TokenAccessFunction.js +5 -1
  222. package/lib/types/net/index.js +181 -18
  223. package/lib/utils/baseActivity.js +133 -123
  224. package/lib/utils/baseRole.js +37 -33
  225. package/lib/utils/collection.js +425 -298
  226. package/lib/utils/cookies.js +22 -19
  227. package/lib/utils/date.js +303 -279
  228. package/lib/utils/dom.js +176 -165
  229. package/lib/utils/domainIdentifier.js +9 -5
  230. package/lib/utils/entityUserRole.js +6 -2
  231. package/lib/utils/error.js +17 -15
  232. package/lib/utils/events.js +40 -31
  233. package/lib/utils/externalGroup.js +22 -18
  234. package/lib/utils/externalProviders.js +8 -4
  235. package/lib/utils/externalTerms.js +10 -3
  236. package/lib/utils/fetch.js +179 -180
  237. package/lib/utils/group.js +18 -7
  238. package/lib/utils/groupDates.js +37 -33
  239. package/lib/utils/groupRoles.js +25 -21
  240. package/lib/utils/lockDownBrowser.js +15 -11
  241. package/lib/utils/logger.js +26 -22
  242. package/lib/utils/lti.js +9 -4
  243. package/lib/utils/model.js +36 -41
  244. package/lib/utils/number.js +21 -18
  245. package/lib/utils/promise.js +28 -21
  246. package/lib/utils/quill.js +65 -62
  247. package/lib/utils/route.js +58 -55
  248. package/lib/utils/search.js +76 -80
  249. package/lib/utils/shard.js +37 -37
  250. package/lib/utils/sort.js +50 -42
  251. package/lib/utils/string.js +13 -8
  252. package/lib/utils/table.js +38 -33
  253. package/lib/utils/timezone.js +10 -6
  254. package/lib/utils/url.js +142 -142
  255. package/lib/utils/user.js +58 -55
  256. package/lib/utils/userAgent.js +10 -10
  257. package/lib/utils/userRole.js +57 -49
  258. package/package.json +17 -3
@@ -1,28 +1,109 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LtiLaunch = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const react_helmet_1 = require("react-helmet");
7
- const react_router_1 = require("react-router");
8
- const Loading_1 = require("../../components/Loading");
9
- const modelStatus_1 = require("../../constants/modelStatus");
10
- const useCollectionItem_1 = require("../../hooks/useCollectionItem");
11
- const lti_1 = require("../../utils/lti");
12
- const LaunchGroup_1 = require("./LaunchGroup");
13
- const LtiLaunch = ({ GroupCreateOrEdit, ChooseGradable }) => {
14
- var _a;
15
- const [newGroupId, setNewGroupId] = (0, react_1.useState)(undefined);
16
- const { ltiLaunchId } = (0, react_router_1.useParams)();
17
- const { model: ltiLaunch, modelStatus: ltiLaunchStatus } = (0, useCollectionItem_1.useCollectionItem)({
18
- modelName: 'ltiLaunches',
19
- pathParams: [ltiLaunchId]
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.LtiLaunch = void 0;
7
+ var _reactCompilerRuntime = require("react-compiler-runtime");
8
+ var _react = require("react");
9
+ var _reactHelmet = require("react-helmet");
10
+ var _reactRouter = require("react-router");
11
+ var _Loading = require("../../components/Loading");
12
+ var _modelStatus = require("../../constants/modelStatus");
13
+ var _useCollectionItem = require("../../hooks/useCollectionItem");
14
+ var _lti = require("../../utils/lti");
15
+ var _LaunchGroup = require("./LaunchGroup");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ const LtiLaunch = t0 => {
18
+ const $ = (0, _reactCompilerRuntime.c)(19);
19
+ const {
20
+ GroupCreateOrEdit,
21
+ ChooseGradable
22
+ } = t0;
23
+ const [newGroupId, setNewGroupId] = (0, _react.useState)(undefined);
24
+ const {
25
+ ltiLaunchId
26
+ } = (0, _reactRouter.useParams)();
27
+ let t1;
28
+ if ($[0] !== ltiLaunchId) {
29
+ t1 = {
30
+ modelName: "ltiLaunches",
31
+ pathParams: [ltiLaunchId]
32
+ };
33
+ $[0] = ltiLaunchId;
34
+ $[1] = t1;
35
+ } else {
36
+ t1 = $[1];
37
+ }
38
+ const {
39
+ model: ltiLaunch,
40
+ modelStatus: ltiLaunchStatus
41
+ } = (0, _useCollectionItem.useCollectionItem)(t1);
42
+ const launchGroupId = ltiLaunch.groupId ?? newGroupId;
43
+ let t2;
44
+ if ($[2] !== ltiLaunch) {
45
+ t2 = (0, _lti.isBasicLaunch)(ltiLaunch);
46
+ $[2] = ltiLaunch;
47
+ $[3] = t2;
48
+ } else {
49
+ t2 = $[3];
50
+ }
51
+ const isBasicLtiLaunch = t2;
52
+ const t3 = `LTI ${isBasicLtiLaunch ? "Launch" : "Link"}`;
53
+ let t4;
54
+ if ($[4] !== t3) {
55
+ t4 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHelmet.Helmet, {
56
+ title: t3
20
57
  });
21
- const launchGroupId = (_a = ltiLaunch.groupId) !== null && _a !== void 0 ? _a : newGroupId;
22
- const isBasicLtiLaunch = (0, lti_1.isBasicLaunch)(ltiLaunch);
23
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_helmet_1.Helmet, { title: `LTI ${isBasicLtiLaunch ? 'Launch' : 'Link'}` }), ltiLaunchStatus !== modelStatus_1.MODEL_STATUS.READY && (0, jsx_runtime_1.jsx)(Loading_1.Loading, {}), ltiLaunchStatus === modelStatus_1.MODEL_STATUS.READY &&
24
- (isBasicLtiLaunch || !launchGroupId ? ((0, jsx_runtime_1.jsx)(LaunchGroup_1.LtiLaunchGroup, { ltiLaunch: ltiLaunch, setNewGroupId: !isBasicLtiLaunch ? setNewGroupId : undefined, GroupCreateOrEdit: GroupCreateOrEdit })) : ((0, jsx_runtime_1.jsx)(ChooseGradable, { ltiLaunch: ltiLaunch, groupId: launchGroupId })))] }));
58
+ $[4] = t3;
59
+ $[5] = t4;
60
+ } else {
61
+ t4 = $[5];
62
+ }
63
+ let t5;
64
+ if ($[6] !== ltiLaunchStatus) {
65
+ t5 = ltiLaunchStatus !== _modelStatus.MODEL_STATUS.READY && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Loading.Loading, {});
66
+ $[6] = ltiLaunchStatus;
67
+ $[7] = t5;
68
+ } else {
69
+ t5 = $[7];
70
+ }
71
+ let t6;
72
+ if ($[8] !== ChooseGradable || $[9] !== GroupCreateOrEdit || $[10] !== isBasicLtiLaunch || $[11] !== launchGroupId || $[12] !== ltiLaunch || $[13] !== ltiLaunchStatus) {
73
+ t6 = ltiLaunchStatus === _modelStatus.MODEL_STATUS.READY && (isBasicLtiLaunch || !launchGroupId ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_LaunchGroup.LtiLaunchGroup, {
74
+ ltiLaunch: ltiLaunch,
75
+ setNewGroupId: !isBasicLtiLaunch ? setNewGroupId : undefined,
76
+ GroupCreateOrEdit: GroupCreateOrEdit
77
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(ChooseGradable, {
78
+ ltiLaunch: ltiLaunch,
79
+ groupId: launchGroupId
80
+ }));
81
+ $[8] = ChooseGradable;
82
+ $[9] = GroupCreateOrEdit;
83
+ $[10] = isBasicLtiLaunch;
84
+ $[11] = launchGroupId;
85
+ $[12] = ltiLaunch;
86
+ $[13] = ltiLaunchStatus;
87
+ $[14] = t6;
88
+ } else {
89
+ t6 = $[14];
90
+ }
91
+ let t7;
92
+ if ($[15] !== t4 || $[16] !== t5 || $[17] !== t6) {
93
+ t7 = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
94
+ children: [t4, t5, t6]
95
+ });
96
+ $[15] = t4;
97
+ $[16] = t5;
98
+ $[17] = t6;
99
+ $[18] = t7;
100
+ } else {
101
+ t7 = $[18];
102
+ }
103
+ return t7;
25
104
  };
26
- exports.LtiLaunch = LtiLaunch;
105
+
27
106
  // required for use in Routes / AsyncComponent
28
- exports.default = exports.LtiLaunch;
107
+ exports.LtiLaunch = LtiLaunch;
108
+ var _default = exports.default = LtiLaunch;
109
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlYWN0SGVsbWV0IiwiX3JlYWN0Um91dGVyIiwiX0xvYWRpbmciLCJfbW9kZWxTdGF0dXMiLCJfdXNlQ29sbGVjdGlvbkl0ZW0iLCJfbHRpIiwiX0xhdW5jaEdyb3VwIiwiX2pzeFJ1bnRpbWUiLCJMdGlMYXVuY2giLCJ0MCIsIiQiLCJfcmVhY3RDb21waWxlclJ1bnRpbWUiLCJjIiwiR3JvdXBDcmVhdGVPckVkaXQiLCJDaG9vc2VHcmFkYWJsZSIsIm5ld0dyb3VwSWQiLCJzZXROZXdHcm91cElkIiwidXNlU3RhdGUiLCJ1bmRlZmluZWQiLCJsdGlMYXVuY2hJZCIsInVzZVBhcmFtcyIsInQxIiwibW9kZWxOYW1lIiwicGF0aFBhcmFtcyIsIm1vZGVsIiwibHRpTGF1bmNoIiwibW9kZWxTdGF0dXMiLCJsdGlMYXVuY2hTdGF0dXMiLCJ1c2VDb2xsZWN0aW9uSXRlbSIsImxhdW5jaEdyb3VwSWQiLCJncm91cElkIiwidDIiLCJpc0Jhc2ljTGF1bmNoIiwiaXNCYXNpY0x0aUxhdW5jaCIsInQzIiwidDQiLCJqc3giLCJIZWxtZXQiLCJ0aXRsZSIsInQ1IiwiTU9ERUxfU1RBVFVTIiwiUkVBRFkiLCJMb2FkaW5nIiwidDYiLCJMdGlMYXVuY2hHcm91cCIsInQ3IiwianN4cyIsIkZyYWdtZW50IiwiY2hpbGRyZW4iLCJleHBvcnRzIiwiX2RlZmF1bHQiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvTHRpL0xhdW5jaC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSwgRnVuY3Rpb25Db21wb25lbnQsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IEhlbG1ldCB9IGZyb20gJ3JlYWN0LWhlbG1ldCdcclxuaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyJ1xyXG5pbXBvcnQgeyBMb2FkaW5nIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9Mb2FkaW5nJ1xyXG5pbXBvcnQgeyBNT0RFTF9TVEFUVVMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbW9kZWxTdGF0dXMnXHJcbmltcG9ydCB7IHVzZUNvbGxlY3Rpb25JdGVtIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlQ29sbGVjdGlvbkl0ZW0nXHJcbmltcG9ydCB7IEx0aUxhdW5jaCBhcyBMdGlMYXVuY2hNb2RlbCB9IGZyb20gJy4uLy4uL3R5cGVzL0x0aUxhdW5jaCdcclxuaW1wb3J0IHsgaXNCYXNpY0xhdW5jaCB9IGZyb20gJy4uLy4uL3V0aWxzL2x0aSdcclxuaW1wb3J0IHsgR3JvdXBDcmVhdGVPckVkaXRDb21tb25Qcm9wcyB9IGZyb20gJy4uL0dyb3Vwcy9Hcm91cENyZWF0ZU9yRWRpdENvbW1vblByb3BzJ1xyXG5pbXBvcnQgeyBMdGlMYXVuY2hHcm91cCB9IGZyb20gJy4vTGF1bmNoR3JvdXAnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEx0aUxhdW5jaE1hdGNoUGFyYW1zIHtcclxuXHRsdGlMYXVuY2hJZDogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hvb3NlR3JhZGFibGVQcm9wcyB7XHJcblx0bHRpTGF1bmNoOiBMdGlMYXVuY2hNb2RlbFxyXG5cdC8qKlxyXG5cdCAqIFdlIGFjY2VwdCB0aGlzIGFzIGEgcGFyYW1ldGVyIGV2ZW4gdGhvdWdoIGl0J3MgYSBtZW1iZXIgb2YgTHRpTGF1bmNoIGJlY2F1c2UgaW4gdGhpcyBjb250ZXh0XHJcblx0ICogaXQgc2hvdWxkIG5ldmVyIGJlIG51bGwgLSBpdCB3aWxsIGVpdGhlciBhbHJlYWR5IGhhdmUgZXhpc3RlZCBvciBpdCB3YXMganVzdCBjcmVhdGVkIHByaW9yIHRvXHJcblx0ICogcmVuZGVyaW5nIHRoaXMgY29tcG9uZW50XHJcblx0ICovXHJcblx0Z3JvdXBJZDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGF1bmNoUHJvcHMge1xyXG5cdEdyb3VwQ3JlYXRlT3JFZGl0OiBDb21wb25lbnRUeXBlPEdyb3VwQ3JlYXRlT3JFZGl0Q29tbW9uUHJvcHM+XHJcblx0Q2hvb3NlR3JhZGFibGU6IENvbXBvbmVudFR5cGU8Q2hvb3NlR3JhZGFibGVQcm9wcz5cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEx0aUxhdW5jaDogRnVuY3Rpb25Db21wb25lbnQ8TGF1bmNoUHJvcHM+ID0gKHsgR3JvdXBDcmVhdGVPckVkaXQsIENob29zZUdyYWRhYmxlIH0pID0+IHtcclxuXHRjb25zdCBbbmV3R3JvdXBJZCwgc2V0TmV3R3JvdXBJZF0gPSB1c2VTdGF0ZTxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcclxuXHRjb25zdCB7IGx0aUxhdW5jaElkIH0gPSB1c2VQYXJhbXM8THRpTGF1bmNoTWF0Y2hQYXJhbXM+KClcclxuXHJcblx0Y29uc3QgeyBtb2RlbDogbHRpTGF1bmNoLCBtb2RlbFN0YXR1czogbHRpTGF1bmNoU3RhdHVzIH0gPSB1c2VDb2xsZWN0aW9uSXRlbTxMdGlMYXVuY2hNb2RlbD4oe1xyXG5cdFx0bW9kZWxOYW1lOiAnbHRpTGF1bmNoZXMnLFxyXG5cdFx0cGF0aFBhcmFtczogW2x0aUxhdW5jaElkXVxyXG5cdH0pXHJcblxyXG5cdGNvbnN0IGxhdW5jaEdyb3VwSWQgPSBsdGlMYXVuY2guZ3JvdXBJZCA/PyBuZXdHcm91cElkXHJcblx0Y29uc3QgaXNCYXNpY0x0aUxhdW5jaCA9IGlzQmFzaWNMYXVuY2gobHRpTGF1bmNoKVxyXG5cclxuXHRyZXR1cm4gKFxyXG5cdFx0PD5cclxuXHRcdFx0PEhlbG1ldCB0aXRsZT17YExUSSAke2lzQmFzaWNMdGlMYXVuY2ggPyAnTGF1bmNoJyA6ICdMaW5rJ31gfSAvPlxyXG5cdFx0XHR7bHRpTGF1bmNoU3RhdHVzICE9PSBNT0RFTF9TVEFUVVMuUkVBRFkgJiYgPExvYWRpbmcgLz59XHJcblx0XHRcdHtsdGlMYXVuY2hTdGF0dXMgPT09IE1PREVMX1NUQVRVUy5SRUFEWSAmJlxyXG5cdFx0XHRcdChpc0Jhc2ljTHRpTGF1bmNoIHx8ICFsYXVuY2hHcm91cElkID8gKFxyXG5cdFx0XHRcdFx0PEx0aUxhdW5jaEdyb3VwXHJcblx0XHRcdFx0XHRcdGx0aUxhdW5jaD17bHRpTGF1bmNofVxyXG5cdFx0XHRcdFx0XHRzZXROZXdHcm91cElkPXshaXNCYXNpY0x0aUxhdW5jaCA/IHNldE5ld0dyb3VwSWQgOiB1bmRlZmluZWR9XHJcblx0XHRcdFx0XHRcdEdyb3VwQ3JlYXRlT3JFZGl0PXtHcm91cENyZWF0ZU9yRWRpdH1cclxuXHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0KSA6IChcclxuXHRcdFx0XHRcdDxDaG9vc2VHcmFkYWJsZSBsdGlMYXVuY2g9e2x0aUxhdW5jaH0gZ3JvdXBJZD17bGF1bmNoR3JvdXBJZH0gLz5cclxuXHRcdFx0XHQpKX1cclxuXHRcdDwvPlxyXG5cdClcclxufVxyXG5cclxuLy8gcmVxdWlyZWQgZm9yIHVzZSBpbiBSb3V0ZXMgLyBBc3luY0NvbXBvbmVudFxyXG5leHBvcnQgZGVmYXVsdCBMdGlMYXVuY2hcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsWUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsUUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksWUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssa0JBQUEsR0FBQUwsT0FBQTtBQUVBLElBQUFNLElBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLFlBQUEsR0FBQVAsT0FBQTtBQUE4QyxJQUFBUSxXQUFBLEdBQUFSLE9BQUE7QUFxQnZDLE1BQU1TLFNBQXlDLEdBQUdDLEVBQUE7RUFBQSxNQUFBQyxDQUFBLE9BQUFDLHFCQUFBLENBQUFDLENBQUE7RUFBQztJQUFBQyxpQkFBQTtJQUFBQztFQUFBLElBQUFMLEVBQXFDO0VBQzlGLE9BQUFNLFVBQUEsRUFBQUMsYUFBQSxJQUFvQyxJQUFBQyxlQUFRLEVBQXFCQyxTQUFTLENB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
@@ -1,19 +1,91 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.LtiLaunchGroup = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const react_bootstrap_1 = require("react-bootstrap");
7
- const react_router_1 = require("react-router");
8
- const lti_1 = require("../../utils/lti");
9
- const Confirm_1 = require("./Confirm");
7
+ var _reactCompilerRuntime = require("react-compiler-runtime");
8
+ var _react = require("react");
9
+ var _reactBootstrap = require("react-bootstrap");
10
+ var _reactRouter = require("react-router");
11
+ var _lti = require("../../utils/lti");
12
+ var _Confirm = require("./Confirm");
13
+ var _jsxRuntime = require("react/jsx-runtime");
10
14
  const onCancel = (ltiLaunch, history) => {
11
- ltiLaunch.returnUrl ? (window.location.href = ltiLaunch.returnUrl) : history.push('/');
15
+ ltiLaunch.returnUrl ? window.location.href = ltiLaunch.returnUrl : history.push('/');
12
16
  };
13
- const LtiLaunchGroup = ({ ltiLaunch, setNewGroupId, GroupCreateOrEdit }) => {
14
- const [didConfirm, setDidConfirm] = (0, react_1.useState)(false);
15
- const history = (0, react_router_1.useHistory)();
16
- const isWithinIFrame = (0, lti_1.isInsideIFrame)();
17
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!didConfirm && ((0, jsx_runtime_1.jsx)("div", { className: `${isWithinIFrame ? '' : 'pv5 '}nb4`, children: (0, jsx_runtime_1.jsxs)(react_bootstrap_1.Container, { className: "mw7", children: [!isWithinIFrame && ((0, jsx_runtime_1.jsx)(react_bootstrap_1.Row, { children: (0, jsx_runtime_1.jsx)(react_bootstrap_1.Col, { xs: 12, children: (0, jsx_runtime_1.jsx)("h1", { className: "tc", children: "Course Setup" }) }) })), (0, jsx_runtime_1.jsx)(Confirm_1.Confirm, { ltiLaunch: ltiLaunch, onConfirm: () => setDidConfirm(true), onCancel: () => onCancel(ltiLaunch, history) })] }) })), didConfirm && ((0, jsx_runtime_1.jsx)(GroupCreateOrEdit, { ltiLaunch: ltiLaunch, setNewGroupId: setNewGroupId, onCancel: () => setDidConfirm(false) }))] }));
17
+ const LtiLaunchGroup = t0 => {
18
+ const $ = (0, _reactCompilerRuntime.c)(13);
19
+ const {
20
+ ltiLaunch,
21
+ setNewGroupId,
22
+ GroupCreateOrEdit
23
+ } = t0;
24
+ const [didConfirm, setDidConfirm] = (0, _react.useState)(false);
25
+ const history = (0, _reactRouter.useHistory)();
26
+ let t1;
27
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
28
+ t1 = (0, _lti.isInsideIFrame)();
29
+ $[0] = t1;
30
+ } else {
31
+ t1 = $[0];
32
+ }
33
+ const isWithinIFrame = t1;
34
+ let t2;
35
+ if ($[1] !== didConfirm || $[2] !== history || $[3] !== ltiLaunch) {
36
+ t2 = !didConfirm && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
37
+ className: `${isWithinIFrame ? "" : "pv5 "}nb4`,
38
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Container, {
39
+ className: "mw7",
40
+ children: [!isWithinIFrame && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Row, {
41
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Col, {
42
+ xs: 12,
43
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("h1", {
44
+ className: "tc",
45
+ children: "Course Setup"
46
+ })
47
+ })
48
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Confirm.Confirm, {
49
+ ltiLaunch: ltiLaunch,
50
+ onConfirm: () => setDidConfirm(true),
51
+ onCancel: () => onCancel(ltiLaunch, history)
52
+ })]
53
+ })
54
+ });
55
+ $[1] = didConfirm;
56
+ $[2] = history;
57
+ $[3] = ltiLaunch;
58
+ $[4] = t2;
59
+ } else {
60
+ t2 = $[4];
61
+ }
62
+ let t3;
63
+ if ($[5] !== GroupCreateOrEdit || $[6] !== didConfirm || $[7] !== ltiLaunch || $[8] !== setNewGroupId) {
64
+ t3 = didConfirm && /*#__PURE__*/(0, _jsxRuntime.jsx)(GroupCreateOrEdit, {
65
+ ltiLaunch: ltiLaunch,
66
+ setNewGroupId: setNewGroupId,
67
+ onCancel: () => setDidConfirm(false)
68
+ });
69
+ $[5] = GroupCreateOrEdit;
70
+ $[6] = didConfirm;
71
+ $[7] = ltiLaunch;
72
+ $[8] = setNewGroupId;
73
+ $[9] = t3;
74
+ } else {
75
+ t3 = $[9];
76
+ }
77
+ let t4;
78
+ if ($[10] !== t2 || $[11] !== t3) {
79
+ t4 = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
80
+ children: [t2, t3]
81
+ });
82
+ $[10] = t2;
83
+ $[11] = t3;
84
+ $[12] = t4;
85
+ } else {
86
+ t4 = $[12];
87
+ }
88
+ return t4;
18
89
  };
19
90
  exports.LtiLaunchGroup = LtiLaunchGroup;
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlYWN0Qm9vdHN0cmFwIiwiX3JlYWN0Um91dGVyIiwiX2x0aSIsIl9Db25maXJtIiwiX2pzeFJ1bnRpbWUiLCJvbkNhbmNlbCIsImx0aUxhdW5jaCIsImhpc3RvcnkiLCJyZXR1cm5VcmwiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJwdXNoIiwiTHRpTGF1bmNoR3JvdXAiLCJ0MCIsIiQiLCJfcmVhY3RDb21waWxlclJ1bnRpbWUiLCJjIiwic2V0TmV3R3JvdXBJZCIsIkdyb3VwQ3JlYXRlT3JFZGl0IiwiZGlkQ29uZmlybSIsInNldERpZENvbmZpcm0iLCJ1c2VTdGF0ZSIsInVzZUhpc3RvcnkiLCJ0MSIsIlN5bWJvbCIsImZvciIsImlzSW5zaWRlSUZyYW1lIiwiaXNXaXRoaW5JRnJhbWUiLCJ0MiIsImpzeCIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwianN4cyIsIkNvbnRhaW5lciIsIlJvdyIsIkNvbCIsInhzIiwiQ29uZmlybSIsIm9uQ29uZmlybSIsInQzIiwidDQiLCJGcmFnbWVudCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9MdGkvTGF1bmNoR3JvdXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhpc3RvcnkgfSBmcm9tICdoaXN0b3J5J1xyXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlLCBGdW5jdGlvbkNvbXBvbmVudCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcclxuaW1wb3J0IHsgQ29sLCBDb250YWluZXIsIFJvdyB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCdcclxuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlcidcclxuaW1wb3J0IHsgTHRpTGF1bmNoIH0gZnJvbSAnLi4vLi4vdHlwZXMvTHRpTGF1bmNoJ1xyXG5pbXBvcnQgeyBpc0luc2lkZUlGcmFtZSB9IGZyb20gJy4uLy4uL3V0aWxzL2x0aSdcclxuaW1wb3J0IHsgR3JvdXBDcmVhdGVPckVkaXRDb21tb25Qcm9wcyB9IGZyb20gJy4uL0dyb3Vwcy9Hcm91cENyZWF0ZU9yRWRpdENvbW1vblByb3BzJ1xyXG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi9Db25maXJtJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMdGlMYXVuY2hHcm91cFByb3BzIHtcclxuXHRsdGlMYXVuY2g6IEx0aUxhdW5jaFxyXG5cdHNldE5ld0dyb3VwSWQ/OiAoZXh0ZXJuYWxHcm91cElkOiBudW1iZXIpID0+IHZvaWRcclxuXHRHcm91cENyZWF0ZU9yRWRpdDogQ29tcG9uZW50VHlwZTxHcm91cENyZWF0ZU9yRWRpdENvbW1vblByb3BzPlxyXG59XHJcblxyXG5jb25zdCBvbkNhbmNlbCA9IChsdGlMYXVuY2g6IEx0aUxhdW5jaCwgaGlzdG9yeTogSGlzdG9yeTxhbnk+KSA9PiB7XHJcblx0bHRpTGF1bmNoLnJldHVyblVybCA/ICh3aW5kb3cubG9jYXRpb24uaHJlZiA9IGx0aUxhdW5jaC5yZXR1cm5VcmwpIDogaGlzdG9yeS5wdXNoKCcvJylcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEx0aUxhdW5jaEdyb3VwOiBGdW5jdGlvbkNvbXBvbmVudDxMdGlMYXVuY2hHcm91cFByb3BzPiA9ICh7XHJcblx0bHRpTGF1bmNoLFxyXG5cdHNldE5ld0dyb3VwSWQsXHJcblx0R3JvdXBDcmVhdGVPckVkaXRcclxufSkgPT4ge1xyXG5cdGNvbnN0IFtkaWRDb25maXJtLCBzZXREaWRDb25maXJtXSA9IHVzZVN0YXRlKGZhbHNlKVxyXG5cdGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KClcclxuXHRjb25zdCBpc1dpdGhpbklGcmFtZSA9IGlzSW5zaWRlSUZyYW1lKClcclxuXHJcblx0cmV0dXJuIChcclxuXHRcdDw+XHJcblx0XHRcdHshZGlkQ29uZmlybSAmJiAoXHJcblx0XHRcdFx0PGRpdiBjbGFzc05hbWU9e2Ake2lzV2l0aGluSUZyYW1lID8gJycgOiAncHY1ICd9bmI0YH0+XHJcblx0XHRcdFx0XHQ8Q29udGFpbmVyIGNsYXNzTmFtZT1cIm13N1wiPlxyXG5cdFx0XHRcdFx0XHR7IWlzV2l0aGluSUZyYW1lICYmIChcclxuXHRcdFx0XHRcdFx0XHQ8Um93PlxyXG5cdFx0XHRcdFx0XHRcdFx0PENvbCB4cz17MTJ9PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8aDEgY2xhc3NOYW1lPVwidGNcIj5Db3Vyc2UgU2V0dXA8L2gxPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC9Db2w+XHJcblx0XHRcdFx0XHRcdFx0PC9Sb3c+XHJcblx0XHRcdFx0XHRcdCl9XHJcblx0XHRcdFx0XHRcdDxDb25maXJtXHJcblx0XHRcdFx0XHRcdFx0bHRpTGF1bmNoPXtsdGlMYXVuY2h9XHJcblx0XHRcdFx0XHRcdFx0b25Db25maXJtPXsoKSA9PiBzZXREaWRDb25maXJtKHRydWUpfVxyXG5cdFx0XHRcdFx0XHRcdG9uQ2FuY2VsPXsoKSA9PiBvbkNhbmNlbChsdGlMYXVuY2gsIGhpc3RvcnkpfVxyXG5cdFx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0PC9Db250YWluZXI+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdCl9XHJcblx0XHRcdHtkaWRDb25maXJtICYmIChcclxuXHRcdFx0XHQ8R3JvdXBDcmVhdGVPckVkaXRcclxuXHRcdFx0XHRcdGx0aUxhdW5jaD17bHRpTGF1bmNofVxyXG5cdFx0XHRcdFx0c2V0TmV3R3JvdXBJZD17c2V0TmV3R3JvdXBJZH1cclxuXHRcdFx0XHRcdG9uQ2FuY2VsPXsoKSA9PiBzZXREaWRDb25maXJtKGZhbHNlKX1cclxuXHRcdFx0XHQvPlxyXG5cdFx0XHQpfVxyXG5cdFx0PC8+XHJcblx0KVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFlBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLElBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLFFB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