studiokit-scaffolding-js 7.0.12 → 7.1.0

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 (390) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +137 -137
  3. package/lib/components/ActionList.d.ts +2 -2
  4. package/lib/components/ActionList.js +166 -87
  5. package/lib/components/AlertDialog.d.ts +3 -3
  6. package/lib/components/AlertDialog.js +133 -18
  7. package/lib/components/AlertWithIcon.js +93 -52
  8. package/lib/components/ConnectedModal.d.ts +1 -2
  9. package/lib/components/ConnectedModal.js +43 -37
  10. package/lib/components/Dropdowns/GroupsDropdown.d.ts +4 -4
  11. package/lib/components/Dropdowns/GroupsDropdown.js +69 -82
  12. package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +2 -2
  13. package/lib/components/Dropdowns/ManagedNavDropdown.js +99 -111
  14. package/lib/components/Dropdowns/UserDropdown.js +109 -70
  15. package/lib/components/Dropdowns/index.js +27 -11
  16. package/lib/components/EntityOwnerList.d.ts +3 -3
  17. package/lib/components/EntityOwnerList.js +52 -60
  18. package/lib/components/Error.js +107 -27
  19. package/lib/components/ErrorBoundary.js +133 -94
  20. package/lib/components/ErrorMessage.d.ts +2 -2
  21. package/lib/components/ErrorMessage.js +44 -14
  22. package/lib/components/Forms/DateField.d.ts +2 -2
  23. package/lib/components/Forms/DateField.js +63 -95
  24. package/lib/components/Forms/TimeField.d.ts +2 -2
  25. package/lib/components/Forms/TimeField.js +84 -108
  26. package/lib/components/Forms/index.js +27 -13
  27. package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +2 -2
  28. package/lib/components/Groups/CreateEditCopySaveButtons.js +102 -14
  29. package/lib/components/Groups/ExternalGroups/Attach.d.ts +6 -7
  30. package/lib/components/Groups/ExternalGroups/Attach.js +213 -188
  31. package/lib/components/Groups/ExternalGroups/Table.js +183 -76
  32. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +5 -1
  33. package/lib/components/Groups/RosterSyncInfo.js +140 -49
  34. package/lib/components/HOC/AccessibleAppComponent.d.ts +2 -2
  35. package/lib/components/HOC/AccessibleAppComponent.js +101 -124
  36. package/lib/components/HOC/ActivityRequiredComponent.d.ts +14 -14
  37. package/lib/components/HOC/ActivityRequiredComponent.js +93 -107
  38. package/lib/components/HOC/AsyncComponent.d.ts +9 -9
  39. package/lib/components/HOC/AsyncComponent.js +53 -129
  40. package/lib/components/HOC/AuthenticatedComponent.d.ts +4 -4
  41. package/lib/components/HOC/AuthenticatedComponent.js +59 -96
  42. package/lib/components/HOC/CollectionComponent.d.ts +12 -12
  43. package/lib/components/HOC/CollectionComponent.js +171 -171
  44. package/lib/components/HOC/CollectionFirstItemComponent.d.ts +13 -13
  45. package/lib/components/HOC/CollectionFirstItemComponent.js +52 -94
  46. package/lib/components/HOC/CollectionItemComponent.d.ts +9 -9
  47. package/lib/components/HOC/CollectionItemComponent.js +169 -168
  48. package/lib/components/HOC/ConnectedModalComponent.d.ts +9 -9
  49. package/lib/components/HOC/ConnectedModalComponent.js +110 -140
  50. package/lib/components/HOC/DataDependentComponent.d.ts +3 -55
  51. package/lib/components/HOC/DataDependentComponent.js +30 -79
  52. package/lib/components/HOC/EntityComponent.d.ts +13 -13
  53. package/lib/components/HOC/EntityComponent.js +74 -112
  54. package/lib/components/HOC/FullscreenModalComponent.d.ts +9 -9
  55. package/lib/components/HOC/FullscreenModalComponent.js +165 -185
  56. package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +2 -2
  57. package/lib/components/HOC/GroupActivityRequiredComponent.js +48 -47
  58. package/lib/components/HOC/GuidComponent.d.ts +1 -1
  59. package/lib/components/HOC/GuidComponent.js +29 -68
  60. package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +28 -29
  61. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +42 -65
  62. package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +10 -10
  63. package/lib/components/HOC/ModelErrorRedirectComponent.js +51 -94
  64. package/lib/components/HOC/SearchPersistorComponent.d.ts +4 -4
  65. package/lib/components/HOC/SearchPersistorComponent.js +243 -216
  66. package/lib/components/HOC/UnauthenticatedComponent.d.ts +12 -12
  67. package/lib/components/HOC/UnauthenticatedComponent.js +37 -82
  68. package/lib/components/HOC/UserComponent.d.ts +1 -1
  69. package/lib/components/HOC/UserComponent.js +12 -11
  70. package/lib/components/Icons/IconAlphaList.js +34 -20
  71. package/lib/components/Icons/IconExternalUser.js +34 -20
  72. package/lib/components/Icons/IconImpersonation.js +34 -20
  73. package/lib/components/Icons/IconStopImpersonating.js +34 -20
  74. package/lib/components/Icons/IconTable.js +35 -21
  75. package/lib/components/Icons/IconTableDeleteCol.js +34 -20
  76. package/lib/components/Icons/IconTableDeleteRow.js +34 -20
  77. package/lib/components/Icons/IconTableInsertCol.js +34 -20
  78. package/lib/components/Icons/IconTableInsertRow.js +34 -20
  79. package/lib/components/Impersonation/Button.d.ts +2 -2
  80. package/lib/components/Impersonation/Button.js +76 -56
  81. package/lib/components/Impersonation/Link.d.ts +2 -2
  82. package/lib/components/Impersonation/Link.js +76 -53
  83. package/lib/components/Impersonation/UserDetail.css +22 -22
  84. package/lib/components/Impersonation/UserDetail.d.ts +2 -2
  85. package/lib/components/Impersonation/UserDetail.js +66 -17
  86. package/lib/components/Loading.js +27 -21
  87. package/lib/components/LockDownBrowser/Check.js +194 -107
  88. package/lib/components/LockDownBrowser/ExitButton.js +27 -14
  89. package/lib/components/LockDownBrowser/Launch.js +70 -85
  90. package/lib/components/Lti/Confirm.js +152 -33
  91. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +4 -2
  92. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +170 -78
  93. package/lib/components/Lti/Launch.js +105 -49
  94. package/lib/components/Lti/LaunchGroup.js +85 -39
  95. package/lib/components/ManageTable.d.ts +1 -2
  96. package/lib/components/ManageTable.js +309 -104
  97. package/lib/components/ManageTableNoDataComponent.js +42 -22
  98. package/lib/components/NewVersionAlert.d.ts +2 -2
  99. package/lib/components/NewVersionAlert.js +82 -91
  100. package/lib/components/NotFound.js +87 -28
  101. package/lib/components/Notifications.d.ts +4 -4
  102. package/lib/components/Notifications.js +187 -169
  103. package/lib/components/PaginationNextButton.js +33 -21
  104. package/lib/components/PaginationPreviousButton.js +33 -21
  105. package/lib/components/Quill/CustomToolbar.d.ts +2 -2
  106. package/lib/components/Quill/CustomToolbar.js +432 -257
  107. package/lib/components/Quill/Formats/Image.d.ts +10 -25
  108. package/lib/components/Quill/Formats/Image.js +80 -86
  109. package/lib/components/Quill/Formats/List.d.ts +6 -3
  110. package/lib/components/Quill/Formats/List.js +52 -74
  111. package/lib/components/Quill/Formats/Video.d.ts +2 -1
  112. package/lib/components/Quill/Formats/Video.js +31 -45
  113. package/lib/components/Quill/ImageDropModule.d.ts +1 -1
  114. package/lib/components/Quill/ImageDropModule.js +149 -122
  115. package/lib/components/Quill/ImageWarning.d.ts +2 -2
  116. package/lib/components/Quill/ImageWarning.js +45 -32
  117. package/lib/components/Quill/ImageWithAltTextModal.d.ts +0 -1
  118. package/lib/components/Quill/ImageWithAltTextModal.js +425 -141
  119. package/lib/components/Quill/Specs/CustomImageSpec.d.ts +1 -1
  120. package/lib/components/Quill/Specs/CustomImageSpec.js +43 -51
  121. package/lib/components/Quill/Specs/CustomVideoSpec.d.ts +1 -1
  122. package/lib/components/Quill/Specs/CustomVideoSpec.js +35 -44
  123. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.d.ts +2 -1
  124. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +105 -121
  125. package/lib/components/Quill/TableModule/Blots/TableBlot.js +53 -66
  126. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +54 -67
  127. package/lib/components/Quill/TableModule/Blots/TableCellBlot.d.ts +1 -1
  128. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +225 -241
  129. package/lib/components/Quill/TableModule/Blots/TableContainer.js +82 -99
  130. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +76 -87
  131. package/lib/components/Quill/TableModule/constants.js +45 -41
  132. package/lib/components/Quill/TableModule/index.css +171 -171
  133. package/lib/components/Quill/TableModule/index.d.ts +14 -5
  134. package/lib/components/Quill/TableModule/index.js +373 -313
  135. package/lib/components/Quill/TableModule/utils.js +45 -45
  136. package/lib/components/Quill/accessibilityFix.d.ts +0 -1
  137. package/lib/components/Quill/accessibilityFix.js +235 -251
  138. package/lib/components/Quill/index.js +36 -32
  139. package/lib/components/RefreshIndicator/Bordered.js +48 -32
  140. package/lib/components/RefreshIndicator/Inline.js +48 -33
  141. package/lib/components/RefreshIndicator/index.d.ts +2 -2
  142. package/lib/components/RefreshIndicator/index.js +263 -113
  143. package/lib/components/SearchControls.js +216 -31
  144. package/lib/components/SentryRoute.js +10 -23
  145. package/lib/components/Tables/RoleFilter.d.ts +3 -4
  146. package/lib/components/Tables/RoleFilter.js +71 -46
  147. package/lib/components/Tables/TextFilter.d.ts +2 -3
  148. package/lib/components/Tables/TextFilter.js +62 -20
  149. package/lib/components/UserRoles/Add.d.ts +3 -3
  150. package/lib/components/UserRoles/Add.js +199 -161
  151. package/lib/components/UserRoles/Context.js +11 -9
  152. package/lib/components/UserRoles/RoleCell.js +180 -100
  153. package/lib/components/UserRoles/Select.js +157 -51
  154. package/lib/components/UserRoles/Table.js +221 -102
  155. package/lib/components/UserRoles/index.d.ts +6 -6
  156. package/lib/components/UserRoles/index.js +537 -466
  157. package/lib/config/eslint/index.d.ts +2 -0
  158. package/lib/config/eslint/index.js +36 -0
  159. package/lib/config/eslint/lib/order.d.ts +3 -0
  160. package/lib/config/eslint/lib/order.js +30 -0
  161. package/lib/config/eslint/lib/prettier.d.ts +3 -0
  162. package/lib/config/eslint/lib/prettier.js +23 -0
  163. package/lib/config/eslint/lib/typescript.d.ts +2 -0
  164. package/lib/config/eslint/lib/typescript.js +98 -0
  165. package/lib/config/eslint/react.d.ts +2 -0
  166. package/lib/config/eslint/react.js +30 -0
  167. package/lib/constants/baseActivity.js +30 -26
  168. package/lib/constants/baseRole.js +14 -10
  169. package/lib/constants/configuration.d.ts +1 -1
  170. package/lib/constants/configuration.js +43 -39
  171. package/lib/constants/externalProviderType.js +10 -6
  172. package/lib/constants/fetchErrorData.js +15 -11
  173. package/lib/constants/index.js +137 -23
  174. package/lib/constants/lockDownBrowser.js +28 -24
  175. package/lib/constants/mockData.d.ts +4 -6
  176. package/lib/constants/mockData.js +385 -326
  177. package/lib/constants/modelStatus.js +15 -11
  178. package/lib/constants/notificationType.js +12 -8
  179. package/lib/constants/operatingSystem.js +12 -8
  180. package/lib/constants/shard.js +11 -7
  181. package/lib/constants/table.js +21 -21
  182. package/lib/constants/tier.js +12 -8
  183. package/lib/constants/userRole.d.ts +1 -2
  184. package/lib/constants/userRole.js +15 -17
  185. package/lib/css/base/_base.css +98 -98
  186. package/lib/css/base/_typography.css +130 -130
  187. package/lib/css/components/_alert.css +86 -86
  188. package/lib/css/components/_bootstrap-grid.css +28 -28
  189. package/lib/css/components/_buttons.css +397 -397
  190. package/lib/css/components/_forms.css +101 -101
  191. package/lib/css/components/_menu.css +56 -56
  192. package/lib/css/components/_modals.css +46 -46
  193. package/lib/css/components/_quill.css +315 -315
  194. package/lib/css/components/_tables.css +497 -497
  195. package/lib/css/components/_tags.css +12 -12
  196. package/lib/css/index-with-variables.css +15 -15
  197. package/lib/css/index.css +14 -14
  198. package/lib/css/utils/_border.css +463 -463
  199. package/lib/css/utils/_color.css +317 -317
  200. package/lib/css/utils/_display.css +305 -312
  201. package/lib/css/utils/_general.css +48 -48
  202. package/lib/css/utils/_icon.css +16 -16
  203. package/lib/css/utils/_text.css +25 -24
  204. package/lib/css/utils/_width.css +60 -60
  205. package/lib/css/variables.css +84 -84
  206. package/lib/endpointMappings.js +197 -193
  207. package/lib/hooks/useCollection.js +83 -65
  208. package/lib/hooks/useCollectionConfiguration.d.ts +0 -1
  209. package/lib/hooks/useCollectionConfiguration.js +185 -88
  210. package/lib/hooks/useCollectionItem.js +155 -58
  211. package/lib/hooks/useEventCalback.d.ts +14 -0
  212. package/lib/hooks/useEventCalback.js +51 -0
  213. package/lib/hooks/useGuid.js +21 -10
  214. package/lib/hooks/usePrevious.d.ts +24 -1
  215. package/lib/hooks/usePrevious.js +84 -14
  216. package/lib/index.js +156 -36
  217. package/lib/redux/actionCreator.d.ts +6 -6
  218. package/lib/redux/actionCreator.js +51 -40
  219. package/lib/redux/actions/AuthAction.js +44 -31
  220. package/lib/redux/actions/ModalAction.d.ts +1 -1
  221. package/lib/redux/actions/ModalAction.js +10 -6
  222. package/lib/redux/actions/ModelAction.d.ts +1 -1
  223. package/lib/redux/actions/ModelAction.js +77 -49
  224. package/lib/redux/actions/NotificationAction.js +10 -6
  225. package/lib/redux/actions/SearchAction.js +9 -5
  226. package/lib/redux/actions/index.js +60 -16
  227. package/lib/redux/configureReducers.d.ts +2 -5
  228. package/lib/redux/configureReducers.js +67 -78
  229. package/lib/redux/configureStore.d.ts +2 -2
  230. package/lib/redux/configureStore.js +83 -115
  231. package/lib/redux/helpers.js +7 -2
  232. package/lib/redux/reducers/authReducer.js +52 -46
  233. package/lib/redux/reducers/index.js +41 -15
  234. package/lib/redux/reducers/modalsReducer.js +49 -52
  235. package/lib/redux/reducers/modelsReducer.d.ts +2 -2
  236. package/lib/redux/reducers/modelsReducer.js +183 -182
  237. package/lib/redux/reducers/notificationsReducer.js +26 -21
  238. package/lib/redux/reducers/searchReducer.js +26 -20
  239. package/lib/redux/sagas/appInsightsSaga.js +24 -62
  240. package/lib/redux/sagas/authSaga.js +287 -414
  241. package/lib/redux/sagas/caliperSaga.js +169 -263
  242. package/lib/redux/sagas/clockOffsetSaga.js +36 -77
  243. package/lib/redux/sagas/configurationSaga.js +13 -46
  244. package/lib/redux/sagas/downtimeApiErrorSaga.d.ts +0 -1
  245. package/lib/redux/sagas/downtimeApiErrorSaga.js +23 -64
  246. package/lib/redux/sagas/errorSaga.d.ts +0 -1
  247. package/lib/redux/sagas/errorSaga.js +29 -63
  248. package/lib/redux/sagas/googleAnalyticsSaga.js +29 -69
  249. package/lib/redux/sagas/identityProviderSaga.js +24 -69
  250. package/lib/redux/sagas/initialDataLoadSaga.js +38 -29
  251. package/lib/redux/sagas/lockDownBrowserErrorSaga.d.ts +0 -1
  252. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +32 -81
  253. package/lib/redux/sagas/modelFetchSaga.js +379 -459
  254. package/lib/redux/sagas/noStoreSaga.d.ts +1 -1
  255. package/lib/redux/sagas/noStoreSaga.js +68 -101
  256. package/lib/redux/sagas/postLoginDataSaga.js +47 -79
  257. package/lib/redux/sagas/postLoginRedirectSaga.js +30 -71
  258. package/lib/redux/sagas/rootSaga.js +85 -137
  259. package/lib/redux/sagas/sentrySaga.js +29 -85
  260. package/lib/redux/sagas/userIdSaga.js +18 -54
  261. package/lib/services/codeProviderService.js +25 -29
  262. package/lib/services/dateService.js +14 -12
  263. package/lib/services/documentService.js +18 -13
  264. package/lib/services/fetchService.js +134 -168
  265. package/lib/services/persistenceService.d.ts +4 -4
  266. package/lib/services/persistenceService.js +45 -43
  267. package/lib/services/ticketProviderService.js +29 -33
  268. package/lib/services/tokenPersistenceService.js +13 -9
  269. package/lib/services/windowService.js +21 -17
  270. package/lib/startup.d.ts +1 -1
  271. package/lib/startup.js +132 -135
  272. package/lib/types/AppConfiguration.js +5 -1
  273. package/lib/types/Artifact.js +11 -7
  274. package/lib/types/BaseReduxState.js +5 -1
  275. package/lib/types/Client.js +5 -1
  276. package/lib/types/Collection.d.ts +3 -3
  277. package/lib/types/Collection.js +5 -1
  278. package/lib/types/Configuration.js +5 -1
  279. package/lib/types/DeepLinkingResponseRequest.js +5 -1
  280. package/lib/types/DeletableModel.js +5 -1
  281. package/lib/types/Event.js +5 -1
  282. package/lib/types/ExternalGroup.js +5 -1
  283. package/lib/types/ExternalProvider.js +5 -1
  284. package/lib/types/ExternalTerm.js +5 -1
  285. package/lib/types/Group.js +5 -1
  286. package/lib/types/IdentityProvider.js +5 -1
  287. package/lib/types/LtiLaunch.js +5 -1
  288. package/lib/types/NameOnlyEntity.js +5 -1
  289. package/lib/types/Notification.d.ts +2 -2
  290. package/lib/types/Notification.js +5 -1
  291. package/lib/types/OptionalRecord.d.ts +1 -1
  292. package/lib/types/OptionalRecord.js +5 -1
  293. package/lib/types/OwnerSchedule.d.ts +3 -1
  294. package/lib/types/OwnerSchedule.js +5 -1
  295. package/lib/types/PropertyOfType.d.ts +3 -3
  296. package/lib/types/PropertyOfType.js +5 -1
  297. package/lib/types/Quill.js +5 -1
  298. package/lib/types/RoleDescription.d.ts +0 -1
  299. package/lib/types/RoleDescription.js +5 -1
  300. package/lib/types/Search.js +5 -1
  301. package/lib/types/SimpleLocation.js +5 -1
  302. package/lib/types/UniTime.js +5 -1
  303. package/lib/types/User.js +5 -1
  304. package/lib/types/UserRole.js +5 -1
  305. package/lib/types/auth/AuthState.js +5 -1
  306. package/lib/types/auth/CasV1LoginRequestBody.js +5 -1
  307. package/lib/types/auth/ClientCredentials.js +5 -1
  308. package/lib/types/auth/CodeProviderService.js +5 -1
  309. package/lib/types/auth/LocalLoginRequestBody.js +5 -1
  310. package/lib/types/auth/TicketProviderService.js +5 -1
  311. package/lib/types/auth/TokenPersistenceService.js +5 -1
  312. package/lib/types/auth/index.js +82 -18
  313. package/lib/types/externals.d.js +2 -0
  314. package/lib/types/index.js +313 -39
  315. package/lib/types/net/EndpointConfig.js +5 -1
  316. package/lib/types/net/EndpointMapping.js +5 -1
  317. package/lib/types/net/EndpointMappings.js +5 -1
  318. package/lib/types/net/ErrorHandler.d.ts +1 -1
  319. package/lib/types/net/ErrorHandler.js +5 -1
  320. package/lib/types/net/FetchConfig.d.ts +1 -1
  321. package/lib/types/net/FetchConfig.js +5 -1
  322. package/lib/types/net/FetchErrorData.js +10 -6
  323. package/lib/types/net/FetchResult.d.ts +2 -2
  324. package/lib/types/net/FetchResult.js +5 -1
  325. package/lib/types/net/HTTPMethod.d.ts +1 -1
  326. package/lib/types/net/HTTPMethod.js +5 -1
  327. package/lib/types/net/HTTPStatusCode.js +16 -12
  328. package/lib/types/net/Metadata.js +5 -1
  329. package/lib/types/net/Model.js +5 -1
  330. package/lib/types/net/ModelCollection.js +5 -1
  331. package/lib/types/net/ModelsState.js +5 -1
  332. package/lib/types/net/OAuthToken.js +5 -1
  333. package/lib/types/net/OAuthTokenOrNull.d.ts +1 -1
  334. package/lib/types/net/OAuthTokenOrNull.js +5 -1
  335. package/lib/types/net/TokenAccessFunction.d.ts +1 -1
  336. package/lib/types/net/TokenAccessFunction.js +5 -1
  337. package/lib/types/net/index.js +181 -27
  338. package/lib/utils/baseActivity.d.ts +2 -2
  339. package/lib/utils/baseActivity.js +138 -136
  340. package/lib/utils/baseRole.js +37 -33
  341. package/lib/utils/collection.js +432 -310
  342. package/lib/utils/cookies.js +22 -37
  343. package/lib/utils/date.js +320 -320
  344. package/lib/utils/dom.js +186 -174
  345. package/lib/utils/domainIdentifier.js +9 -9
  346. package/lib/utils/entityUserRole.js +6 -2
  347. package/lib/utils/error.d.ts +1 -1
  348. package/lib/utils/error.js +18 -16
  349. package/lib/utils/events.js +40 -33
  350. package/lib/utils/externalGroup.js +25 -21
  351. package/lib/utils/externalProviders.js +8 -4
  352. package/lib/utils/externalTerms.js +9 -6
  353. package/lib/utils/fetch.d.ts +1 -1
  354. package/lib/utils/fetch.js +188 -185
  355. package/lib/utils/group.js +17 -9
  356. package/lib/utils/groupDates.d.ts +1 -1
  357. package/lib/utils/groupDates.js +43 -39
  358. package/lib/utils/groupRoles.js +28 -28
  359. package/lib/utils/lockDownBrowser.js +16 -12
  360. package/lib/utils/logger.js +30 -25
  361. package/lib/utils/lti.js +10 -5
  362. package/lib/utils/model.d.ts +2 -2
  363. package/lib/utils/model.js +39 -48
  364. package/lib/utils/number.js +23 -26
  365. package/lib/utils/promise.d.ts +6 -1
  366. package/lib/utils/promise.js +34 -15
  367. package/lib/utils/quill.js +66 -77
  368. package/lib/utils/route.d.ts +2 -2
  369. package/lib/utils/route.js +61 -60
  370. package/lib/utils/search.d.ts +1 -1
  371. package/lib/utils/search.js +78 -85
  372. package/lib/utils/shard.js +38 -41
  373. package/lib/utils/sort.d.ts +3 -3
  374. package/lib/utils/sort.js +62 -58
  375. package/lib/utils/string.js +14 -10
  376. package/lib/utils/table.d.ts +3 -3
  377. package/lib/utils/table.js +39 -36
  378. package/lib/utils/timezone.js +12 -26
  379. package/lib/utils/url.d.ts +2 -1
  380. package/lib/utils/url.js +146 -200
  381. package/lib/utils/user.js +59 -61
  382. package/lib/utils/userAgent.js +11 -11
  383. package/lib/utils/userRole.d.ts +3 -3
  384. package/lib/utils/userRole.js +58 -56
  385. package/package.json +224 -207
  386. package/lib/config/eslint/index.cjs +0 -21
  387. package/lib/config/eslint/lib/order.cjs +0 -22
  388. package/lib/config/eslint/lib/prettier.cjs +0 -18
  389. package/lib/config/eslint/lib/typescript.cjs +0 -86
  390. package/lib/config/eslint/react.cjs +0 -9
@@ -1,166 +1,204 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
18
- }) : (function(o, m, k, k2) {
19
- if (k2 === undefined) k2 = k;
20
- o[k2] = m[k];
21
- }));
22
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
- Object.defineProperty(o, "default", { enumerable: true, value: v });
24
- }) : function(o, v) {
25
- o["default"] = v;
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
26
6
  });
27
- var __importStar = (this && this.__importStar) || function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
7
  exports.UserRolesAdd = void 0;
39
- var Button_1 = __importDefault(require("@material-ui/core/Button"));
40
- var AddCircle_1 = __importDefault(require("@material-ui/icons/AddCircle"));
41
- var lodash_1 = __importDefault(require("lodash"));
42
- var react_1 = __importStar(require("react"));
43
- var react_bootstrap_1 = require("react-bootstrap");
44
- var AlertDialog_1 = require("../../components/AlertDialog");
45
- var Inline_1 = require("../../components/RefreshIndicator/Inline");
46
- var Select_1 = require("../../components/UserRoles/Select");
47
- var baseRole_1 = require("../../constants/baseRole");
48
- var configuration_1 = require("../../constants/configuration");
49
- var domainIdentifier_1 = require("../../utils/domainIdentifier");
50
- var shard_1 = require("../../utils/shard");
51
- var string_1 = require("../../utils/string");
52
- var AlertWithIcon_1 = require("../AlertWithIcon");
53
- var FERPA_ROLES = [baseRole_1.BASE_ROLE.SUPER_ADMIN, baseRole_1.BASE_ROLE.ADMIN, baseRole_1.BASE_ROLE.GROUP_OWNER, baseRole_1.BASE_ROLE.GROUP_GRADER];
54
- var UserRolesAdd = /** @class */ (function (_super) {
55
- __extends(UserRolesAdd, _super);
56
- function UserRolesAdd(props) {
57
- var _this = _super.call(this, props) || this;
58
- _this.updateRole = function (role) {
59
- _this.setState({
60
- role: role
61
- });
62
- };
63
- _this.handleSubmit = function () {
64
- var _a = _this.state, identifiers = _a.identifiers, role = _a.role;
65
- var identifiersArray = identifiers
66
- .split(/\r\n|\r|\n/g)
67
- .map(function (id) { return id.trim(); })
68
- .filter(function (id) { return id !== ''; }); // filter identifiers that are empty
69
- var errorMessage = _this.getValidationErrorMessage(identifiersArray);
70
- if (errorMessage) {
71
- _this.setState({
72
- showErrorAlert: true,
73
- errorMessage: errorMessage
74
- });
75
- }
76
- else {
77
- _this.props.addUserRoles(identifiersArray, role);
78
- }
79
- };
80
- _this.closeErrorAlert = function () {
81
- _this.setState({
82
- showErrorAlert: false,
83
- errorMessage: undefined
84
- });
85
- };
86
- _this.updateIdentifiers = function (e) {
87
- _this.setState({
88
- identifiers: e.target.value
89
- });
90
- };
91
- _this.getValidationErrorMessage = function (identifiers) {
92
- if (!identifiers || identifiers.length === 0) {
93
- return "Please enter at least one " + domainIdentifier_1.getDomainIdentifierTypeString() + ".";
94
- }
95
- var invalidIdentifiers;
96
- if (shard_1.isPurdueShard() && !identifiers.every(function (id) { return string_1.isPurdueAliasOrPuid(id); })) {
97
- invalidIdentifiers = identifiers.filter(function (id) { return !string_1.isPurdueAliasOrPuid(id); });
98
- }
99
- if (!shard_1.isPurdueShard() && !identifiers.every(function (id) { return string_1.isEmail(id); })) {
100
- invalidIdentifiers = identifiers.filter(function (id) { return !string_1.isEmail(id); });
101
- }
102
- if (invalidIdentifiers) {
103
- return "Please enter valid " + domainIdentifier_1.getDomainIdentifierTypePluralString() + ". The following are invalid:\r\n" + invalidIdentifiers.join('\r\n');
104
- }
105
- return undefined;
106
- };
107
- _this.state = {
108
- identifiers: '',
109
- role: _this.props.defaultRole,
110
- showErrorAlert: false,
111
- errorMessage: undefined
112
- };
113
- return _this;
114
- }
115
- UserRolesAdd.prototype.componentDidUpdate = function (prevProps) {
116
- var prevShouldReset = prevProps.shouldReset;
117
- var shouldReset = this.props.shouldReset;
118
- if (prevShouldReset === false && shouldReset === true) {
119
- this.setState({
120
- identifiers: '',
121
- role: this.props.defaultRole
122
- });
123
- }
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
10
+ var _AddCircle = _interopRequireDefault(require("@material-ui/icons/AddCircle"));
11
+ var _lodash = _interopRequireDefault(require("lodash"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _reactBootstrap = require("react-bootstrap");
14
+ var _AlertDialog = require("../../components/AlertDialog");
15
+ var _Inline = require("../../components/RefreshIndicator/Inline");
16
+ var _Select = require("../../components/UserRoles/Select");
17
+ var _baseRole = require("../../constants/baseRole");
18
+ var _configuration = require("../../constants/configuration");
19
+ var _domainIdentifier = require("../../utils/domainIdentifier");
20
+ var _shard = require("../../utils/shard");
21
+ var _string = require("../../utils/string");
22
+ var _AlertWithIcon = require("../AlertWithIcon");
23
+ var _jsxRuntime = require("react/jsx-runtime");
24
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
25
+ const FERPA_ROLES = [_baseRole.BASE_ROLE.SUPER_ADMIN, _baseRole.BASE_ROLE.ADMIN, _baseRole.BASE_ROLE.GROUP_OWNER, _baseRole.BASE_ROLE.GROUP_GRADER];
26
+ class UserRolesAdd extends _react.Component {
27
+ constructor(props) {
28
+ super(props);
29
+ (0, _defineProperty2.default)(this, "updateRole", role => {
30
+ this.setState({
31
+ role
32
+ });
33
+ });
34
+ (0, _defineProperty2.default)(this, "handleSubmit", () => {
35
+ const {
36
+ identifiers,
37
+ role
38
+ } = this.state;
39
+ const identifiersArray = identifiers.split(/\r\n|\r|\n/g).map(id => id.trim()).filter(id => id !== ''); // filter identifiers that are empty
40
+ const errorMessage = this.getValidationErrorMessage(identifiersArray);
41
+ if (errorMessage) {
42
+ this.setState({
43
+ showErrorAlert: true,
44
+ errorMessage
45
+ });
46
+ } else {
47
+ this.props.addUserRoles(identifiersArray, role);
48
+ }
49
+ });
50
+ (0, _defineProperty2.default)(this, "closeErrorAlert", () => {
51
+ this.setState({
52
+ showErrorAlert: false,
53
+ errorMessage: undefined
54
+ });
55
+ });
56
+ (0, _defineProperty2.default)(this, "updateIdentifiers", e => {
57
+ this.setState({
58
+ identifiers: e.target.value
59
+ });
60
+ });
61
+ (0, _defineProperty2.default)(this, "getValidationErrorMessage", identifiers => {
62
+ if (!identifiers || identifiers.length === 0) {
63
+ return `Please enter at least one ${(0, _domainIdentifier.getDomainIdentifierTypeString)()}.`;
64
+ }
65
+ let invalidIdentifiers;
66
+ if ((0, _shard.isPurdueShard)() && !identifiers.every(id => (0, _string.isPurdueAliasOrPuid)(id))) {
67
+ invalidIdentifiers = identifiers.filter(id => !(0, _string.isPurdueAliasOrPuid)(id));
68
+ }
69
+ if (!(0, _shard.isPurdueShard)() && !identifiers.every(id => (0, _string.isEmail)(id))) {
70
+ invalidIdentifiers = identifiers.filter(id => !(0, _string.isEmail)(id));
71
+ }
72
+ if (invalidIdentifiers) {
73
+ return `Please enter valid ${(0, _domainIdentifier.getDomainIdentifierTypePluralString)()}. The following are invalid:\r\n${invalidIdentifiers.join('\r\n')}`;
74
+ }
75
+ return undefined;
76
+ });
77
+ this.state = {
78
+ identifiers: '',
79
+ role: this.props.defaultRole,
80
+ showErrorAlert: false,
81
+ errorMessage: undefined
124
82
  };
125
- UserRolesAdd.prototype.render = function () {
126
- var _a = this.state, identifiers = _a.identifiers, role = _a.role, showErrorAlert = _a.showErrorAlert, errorMessage = _a.errorMessage;
127
- var _b = this.props, entityName = _b.entityName, isAddingUsersToRole = _b.isAddingUsersToRole, roleDescriptions = _b.roleDescriptions, renderAddDescription = _b.renderAddDescription, disabled = _b.disabled, textForRole = _b.textForRole;
128
- var roles = lodash_1.default.keys(roleDescriptions);
129
- var rolePopover = (react_1.default.createElement(react_bootstrap_1.Popover, { id: "role" },
130
- react_1.default.createElement("h3", null, "Role"),
131
- roles.map(function (r) { return (react_1.default.createElement(react_1.Fragment, { key: r }, roleDescriptions[r])); })));
132
- var appConfig = configuration_1.getAppConfig();
133
- var appName = appConfig.APP_NAME;
134
- var gradableDescriptor = appConfig.GRADABLE_DESCRIPTOR;
135
- return (react_1.default.createElement(react_bootstrap_1.Row, null,
136
- !!renderAddDescription && react_1.default.createElement(react_bootstrap_1.Col, { xs: 12 }, renderAddDescription(entityName)),
137
- react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 6 },
138
- react_1.default.createElement(react_bootstrap_1.FormGroup, { controlId: "UserEntry" },
139
- react_1.default.createElement(react_bootstrap_1.FormLabel, { className: "f6" },
140
- domainIdentifier_1.getDomainIdentifierTypePluralString(),
141
- " (separated by a new line)"),
142
- react_1.default.createElement(react_bootstrap_1.FormControl, { type: "text", as: "textarea", name: "account", "aria-label": "The account names to add", onChange: this.updateIdentifiers, value: identifiers, placeholder: domainIdentifier_1.getDomainIdentifierTypeString(), disabled: disabled }))),
143
- react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 4 },
144
- react_1.default.createElement(Select_1.RoleSelect, { options: roles, value: role, onChange: this.updateRole, labelVisible: true, popoverContentComponent: rolePopover, textForRole: textForRole })),
145
- react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, sm: 2, className: "mt3-ns pt2-ns" },
146
- isAddingUsersToRole && react_1.default.createElement(Inline_1.RefreshIndicatorInline, { className: "mr3" }),
147
- !isAddingUsersToRole && (react_1.default.createElement(Button_1.default, { id: "userRolesAddButton", color: "primary", className: "btn-primary w-100-lt-xs", disabled: !identifiers || disabled, onClick: this.handleSubmit },
148
- react_1.default.createElement(AddCircle_1.default, { className: "v-mid" }),
149
- "Add")),
150
- react_1.default.createElement(AlertDialog_1.AlertDialog, { isOpen: showErrorAlert, title: "Error Adding People to the " + entityName, description: react_1.default.createElement("div", { className: "pre-wrap" }, errorMessage), proceedText: "Got it. Thanks!", onProceed: this.closeErrorAlert, onCancel: this.closeErrorAlert })),
151
- lodash_1.default.includes(FERPA_ROLES, role) && (react_1.default.createElement(react_bootstrap_1.Col, { xs: 12 },
152
- react_1.default.createElement(AlertWithIcon_1.AlertWithIcon, { id: "ferpaWarning", variant: "warning" },
153
- react_1.default.createElement("p", null,
154
- "This role includes ",
155
- gradableDescriptor,
156
- " scores in ",
157
- appName,
158
- ". Please consider whether",
159
- ' ',
160
- react_1.default.createElement("a", { href: "https://www.purdue.edu/registrar/FERPA/index.html", target: "_blank", rel: "noopener noreferrer" }, "FERPA"),
161
- ' ',
162
- "certification is needed."))))));
163
- };
164
- return UserRolesAdd;
165
- }(react_1.Component));
83
+ }
84
+ componentDidUpdate(prevProps) {
85
+ const {
86
+ shouldReset: prevShouldReset
87
+ } = prevProps;
88
+ const {
89
+ shouldReset
90
+ } = this.props;
91
+ if (!prevShouldReset && shouldReset) {
92
+ this.setState({
93
+ identifiers: '',
94
+ role: this.props.defaultRole
95
+ });
96
+ }
97
+ }
98
+ render() {
99
+ const {
100
+ identifiers,
101
+ role,
102
+ showErrorAlert,
103
+ errorMessage
104
+ } = this.state;
105
+ const {
106
+ entityName,
107
+ isAddingUsersToRole,
108
+ roleDescriptions,
109
+ renderAddDescription,
110
+ disabled,
111
+ textForRole
112
+ } = this.props;
113
+ const roles = _lodash.default.keys(roleDescriptions);
114
+ const rolePopover = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Popover, {
115
+ id: "role",
116
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
117
+ children: "Role"
118
+ }), roles.map(r => /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
119
+ children: roleDescriptions[r]
120
+ }, r))]
121
+ });
122
+ const appConfig = (0, _configuration.getAppConfig)();
123
+ const appName = appConfig.APP_NAME;
124
+ const gradableDescriptor = appConfig.GRADABLE_DESCRIPTOR;
125
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Row, {
126
+ children: [!!renderAddDescription && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Col, {
127
+ xs: 12,
128
+ children: renderAddDescription(entityName)
129
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Col, {
130
+ xs: 12,
131
+ sm: 6,
132
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.FormGroup, {
133
+ controlId: "UserEntry",
134
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.FormLabel, {
135
+ className: "f6",
136
+ children: [(0, _domainIdentifier.getDomainIdentifierTypePluralString)(), " (separated by a new line)"]
137
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.FormControl, {
138
+ type: "text",
139
+ as: "textarea",
140
+ name: "account",
141
+ "aria-label": "The account names to add",
142
+ onChange: this.updateIdentifiers,
143
+ value: identifiers,
144
+ placeholder: (0, _domainIdentifier.getDomainIdentifierTypeString)(),
145
+ disabled: disabled
146
+ })]
147
+ })
148
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Col, {
149
+ xs: 12,
150
+ sm: 4,
151
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.RoleSelect, {
152
+ options: roles,
153
+ value: role,
154
+ onChange: this.updateRole,
155
+ labelVisible: true,
156
+ popoverContentComponent: rolePopover,
157
+ textForRole: textForRole
158
+ })
159
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Col, {
160
+ xs: 12,
161
+ sm: 2,
162
+ className: "mt3-ns pt2-ns",
163
+ children: [isAddingUsersToRole && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Inline.RefreshIndicatorInline, {
164
+ className: "mr3"
165
+ }), !isAddingUsersToRole && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
166
+ id: "userRolesAddButton",
167
+ color: "primary",
168
+ className: "btn-primary w-100-lt-xs",
169
+ disabled: !identifiers || disabled,
170
+ onClick: this.handleSubmit,
171
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AddCircle.default, {
172
+ className: "v-mid"
173
+ }), "Add"]
174
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_AlertDialog.AlertDialog, {
175
+ isOpen: showErrorAlert,
176
+ title: `Error Adding People to the ${entityName}`,
177
+ description: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
178
+ className: "pre-wrap",
179
+ children: errorMessage
180
+ }),
181
+ proceedText: "Got it. Thanks!",
182
+ onProceed: this.closeErrorAlert,
183
+ onCancel: this.closeErrorAlert
184
+ })]
185
+ }), _lodash.default.includes(FERPA_ROLES, role) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Col, {
186
+ xs: 12,
187
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AlertWithIcon.AlertWithIcon, {
188
+ id: "ferpaWarning",
189
+ variant: "warning",
190
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
191
+ children: ["This role includes ", gradableDescriptor, " scores in ", appName, ". Please consider whether", ' ', /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
192
+ href: "https://www.purdue.edu/registrar/FERPA/index.html",
193
+ target: "_blank",
194
+ rel: "noopener noreferrer",
195
+ children: "FERPA"
196
+ }), ' ', "certification is needed."]
197
+ })
198
+ })
199
+ })]
200
+ });
201
+ }
202
+ }
166
203
  exports.UserRolesAdd = UserRolesAdd;
204
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQnV0dG9uIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQWRkQ2lyY2xlIiwiX2xvZGFzaCIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0FsZXJ0RGlhbG9nIiwiX0lubGluZSIsIl9TZWxlY3QiLCJfYmFzZVJvbGUiLCJfY29uZmlndXJhdGlvbiIsIl9kb21haW5JZGVudGlmaWVyIiwiX3NoYXJkIiwiX3N0cmluZyIsIl9BbGVydFdpdGhJY29uIiwiX2pzeFJ1bnRpbWUiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJkZWZhdWx0IiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJGRVJQQV9ST0xFUyIsIkJBU0VfUk9MRSIsIlNVUEVSX0FETUlOIiwiQURNSU4iLCJHUk9VUF9PV05FUiIsIkdST1VQX0dSQURFUiIsIlVzZXJSb2xlc0FkZCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkyIiwicm9sZSIsInNldFN0YXRlIiwiaWRlbnRpZmllcnMiLCJzdGF0ZSIsImlkZW50aWZpZXJzQXJyYXkiLCJzcGxpdCIsIm1hcCIsImlkIiwidHJpbSIsImZpbHRlciIsImVycm9yTWVzc2FnZSIsImdldFZhbGlkYXRpb25FcnJvck1lc3NhZ2UiLCJzaG93RXJyb3JBbGVydCIsImFkZFVzZXJSb2xlcyIsInVuZGVmaW5lZCIsInRhcmdldCIsInZhbHVlIiwibGVuZ3RoIiwiZ2V0RG9tYWluSWRlbnRpZmllclR5cGVTdHJpbmciLCJpbnZhbGlkSWRlbnRpZmllcnMiLCJpc1B1cmR1ZVNoYXJkIiwiZXZlcnkiLCJpc1B1cmR1ZUFsaWFzT3JQdWlkIiwiaXNFbWFpbCIsImdldERvbWFpbklkZW50aWZpZXJUeXBlUGx1cmFsU3RyaW5nIiwiam9pbiIsImRlZmF1bHRSb2xlIiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJldlByb3BzIiwic2hvdWxkUmVzZXQiLCJwcmV2U2hvdWxkUmVzZXQiLCJyZW5kZXIiLCJlbnRpdHlOYW1lIiwiaXNBZGRpbmdVc2Vyc1RvUm9sZSIsInJvbGVEZXNjcmlwdGlvbnMiLCJyZW5kZXJBZGREZXNjcmlwdGlvbiIsImRpc2FibGVkIiwidGV4dEZvclJvbGUiLCJyb2xlcyIsIl8iLCJrZXlzIiwicm9sZVBvcG92ZXIiLCJqc3hzIiwiUG9wb3ZlciIsImNoaWxkcmVuIiwianN4IiwiRnJhZ21lbnQiLCJhcHBDb25maWciLCJnZXRBcHBDb25maWciLCJhcHBOYW1lIiwiQVBQX05BTUUiLCJncmFkYWJsZURlc2NyaXB0b3IiLCJHUkFEQUJMRV9ERVNDUklQVE9SIiwiUm93IiwiQ29sIiwieHMiLCJzbSIsIkZvcm1Hcm91cCIsImNvbnRyb2xJZCIsIkZvcm1MYWJlbCIsImNsYXNzTmFtZSIsIkZvcm1Db250cm9sIiwidHlwZSIsImFzIiwibmFtZSIsIm9uQ2hhbmdlIiwidXBkYXRlSWRlbnRpZmllcnMiLCJwbGFjZWhvbGRlciIsIlJvbGVTZWxlY3QiLCJvcHRpb25zIiwidXBkYXRlUm9sZSIsImxhYmVsVmlzaWJsZSIsInBvcG92ZXJDb250ZW50Q29tcG9uZW50IiwiUmVmcmVzaEluZGljYXRvcklubGluZSIsImNvbG9yIiwib25DbGljayIsImhhbmRsZVN1Ym1pdCIsIkFsZXJ0RGlhbG9nIiwiaXNPcGVuIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInByb2NlZWRUZXh0Iiwib25Qcm9jZWVkIiwiY2xvc2VFcnJvckFsZXJ0Iiwib25DYW5jZWwiLCJpbmNsdWRlcyIsIkFsZXJ0V2l0aEljb24iLCJ2YXJpYW50IiwiaHJlZiIsInJlbCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Vc2VyUm9sZXMvQWRkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnV0dG9uIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0J1dHRvbidcclxuaW1wb3J0IEFkZENpcmNsZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvQWRkQ2lyY2xlJ1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnXHJcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQsIEZyYWdtZW50IH0gZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IENvbCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybUxhYmVsLCBQb3BvdmVyLCBSb3cgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnXHJcbmltcG9ydCB7IEFsZXJ0RGlhbG9nIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9BbGVydERpYWxvZydcclxuaW1wb3J0IHsgUmVmcmVzaEluZGljYXRvcklubGluZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvUmVmcmVzaEluZGljYXRvci9JbmxpbmUnXHJcbmltcG9ydCB7IFJvbGVTZWxlY3QgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL1VzZXJSb2xlcy9TZWxlY3QnXHJcbmltcG9ydCB7IEJBU0VfUk9MRSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9iYXNlUm9sZSdcclxuaW1wb3J0IHsgZ2V0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbmZpZ3VyYXRpb24nXHJcbmltcG9ydCB7IFJvbGVEZXNjcmlwdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcydcclxuaW1wb3J0IHsgZ2V0RG9tYWluSWRlbnRpZmllclR5cGVQbHVyYWxTdHJpbmcsIGdldERvbWFpbklkZW50aWZpZXJUeXBlU3RyaW5nIH0gZnJvbSAnLi4vLi4vdXRpbHMvZG9tYWluSWRlbnRpZmllcidcclxuaW1wb3J0IHsgaXNQdXJkdWVTaGFyZCB9IGZyb20gJy4uLy4uL3V0aWxzL3NoYXJkJ1xyXG5pbXBvcnQgeyBpc0VtYWlsLCBpc1B1cmR1ZUFsaWFzT3JQdWlkIH0gZnJvbSAnLi4vLi4vdXRpbHMvc3RyaW5nJ1xyXG5pbXBvcnQgeyBBbGVydFdpdGhJY29uIH0gZnJvbSAnLi4vQWxlcnRXaXRoSWNvbidcclxuXHJcbmNvbnN0IEZFUlBBX1JPTEVTID0gW0JBU0VfUk9MRS5TVVBFUl9BRE1JTiwgQkFTRV9ST0xFLkFETUlOLCBCQVNFX1JPTEUuR1JPVVBfT1dORVIsIEJBU0VfUk9MRS5HUk9VUF9HUkFERVJdXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJSb2xlc0FkZFByb3BzIHtcclxuXHRpZDogc3RyaW5nXHJcblxyXG5cdGRpc2FibGVkPzogYm9vbGVhblxyXG5cdGVudGl0eU5hbWU/OiBzdHJpbmdcclxuXHRkZWZhdWx0Um9sZTogc3RyaW5nXHJcblx0cm9sZURlc2NyaXB0aW9uczogUm9sZURlc2NyaXB0aW9uc1xyXG5cdHJlbmRlckFkZERlc2NyaXB0aW9uPzogKGVudGl0eU5hbWU/OiBzdHJpbmcpID0+IFJlYWN0LkpTWC5FbGVtZW50XHJcblx0dGV4dEZvclJvbGU/OiAocm9sZTogc3RyaW5nKSA9PiBzdHJpbmdcclxuXHJcblx0aXNBZGRpbmdVc2Vyc1RvUm9sZTogYm9vbGVhblxyXG5cdHNob3VsZFJlc2V0OiBib29sZWFuXHJcblx0YWRkVXNlclJvbGVzOiAoaWRlbnRpZmllcnM6IHN0cmluZ1tdLCByb2xlOiBzdHJpbmcpID0+IHZvaWRcclxufVxyXG5cclxuaW50ZXJmYWNlIFVzZXJSb2xlc0FkZFN0YXRlIHtcclxuXHRpZGVudGlmaWVyczogc3RyaW5nXHJcblx0cm9sZTogc3RyaW5nXHJcblx0c2hvd0Vycm9yQWxlcnQ6IGJvb2xlYW5cclxuXHRlcnJvck1lc3NhZ2U/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFVzZXJSb2xlc0FkZCBleHRlbmRzIENvbXBvbmVudDxVc2VyUm9sZXNBZGRQcm9wcywgVXNlclJvbGVzQWRkU3RhdGU+IHtcclxuXHRjb25zdHJ1Y3Rvcihwcm9wczogVXNlclJvbGVzQWRkUHJvcHMpIHtcclxuXHRcdHN1cGVyKHByb3BzKVxyXG5cdFx0dGhpcy5zdGF0ZSA9IHtcclxuXHRcdFx0aWRlbnRpZmllcnM6ICcnLFxyXG5cdFx0XHRyb2xlOiB0aGlzLnByb3BzLmRlZmF1bHRSb2xlLFxyXG5cdFx0XHRzaG93RXJyb3JBbGVydDogZmFsc2UsXHJcblx0XHRcdGVycm9yTWVzc2FnZTogdW5kZWZpbmVkXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR1cGRhdGVSb2xlID0gKHJvbGU6IHN0cmluZykgPT4ge1xyXG5cdFx0dGhpcy5zZXRTdGF0ZSh7XHJcblx0XHRcdHJvbGVcclxuXHRcdH0pXHJcblx0fVxyXG5cclxuXHRjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzOiBVc2VyUm9sZXNBZGRQcm9wcykge1xyXG5cdFx0Y29uc3QgeyBzaG91bGRSZXNldDogcHJldlNob3VsZFJlc2V0IH0gPSBwcmV2UHJvcHNcclxuXHRcdGNvbnN0IHsgc2hvdWxkUmVzZXQgfSA9IHRoaXMucHJvcHNcclxuXHRcdGlmICghcHJldlNob3VsZFJlc2V0ICYmIHNob3VsZFJlc2V0KSB7XHJcblx0XHRcdHRoaXMuc2V0U3RhdGUoe1xyXG5cdFx0XHRcdGlkZW50aWZpZXJzOiAnJyxcclxuXHRcdFx0XHRyb2xlOiB0aGlzLnByb3BzLmRlZmF1bHRSb2xlXHJcblx0XHRcdH0pXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRoYW5kbGVTdWJtaXQgPSAoKSA9PiB7XHJcblx0XHRjb25zdCB7IGlkZW50aWZpZXJzLCByb2xlIH0gPSB0aGlzLnN0YXRlXHJcblx0XHRjb25zdCBpZGVudGlmaWVyc0FycmF5ID0gaWRlbnRpZmllcnNcclxuXHRcdFx0LnNwbGl0KC9cXHJcXG58XFxyfFxcbi9nKVxyXG5cdFx0XHQubWFwKGlkID0+IGlkLnRyaW0oKSlcclxuXHRcdFx0LmZpbHRlcihpZCA9PiBpZCAhPT0gJycpIC8vIGZpbHRlciBpZGVudGlmaWVycyB0aGF0IGFyZSBlbXB0eVxyXG5cdFx0Y29uc3QgZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlKGlkZW50aWZpZXJzQXJyYXkpXHJcblx0XHRpZiAoZXJyb3JNZXNzYWdlKSB7XHJcblx0XHRcdHRoaXMuc2V0U3RhdGUoe1xyXG5cdFx0XHRcdHNob3dFcnJvckFsZXJ0OiB0cnVlLFxyXG5cdFx0XHRcdGVycm9yTWVzc2FnZVxyXG5cdFx0XHR9KVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5wcm9wcy5hZGRVc2VyUm9sZXMoaWRlbnRpZmllcnNBcnJheSwgcm9sZSlcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGNsb3NlRXJyb3JBbGVydCA9ICgpID0+IHtcclxuXHRcdHRoaXMuc2V0U3RhdGUoe1xyXG5cdFx0XHRzaG93RXJyb3JBbGVydDogZmFsc2UsXHJcblx0XHRcdGVycm9yTWVzc2FnZTogdW5kZWZpbmVkXHJcblx0XHR9KVxyXG5cdH1cclxuXHJcblx0dXBkYXRlSWRlbnRpZmllcnMgPSAoZTogYW55KSA9PiB7XHJcblx0XHR0aGlzLnNldFN0YXRlKHtcclxuXHRcdFx0aWRlbnRpZmllcnM6IGUudGFyZ2V0LnZhbHVlIGFzIHN0cmluZ1xyXG5cdFx0fSlcclxuXHR9XHJcblxyXG5cdGdldFZhbGlkYXRpb25FcnJvck1lc3NhZ2UgPSAoaWRlbnRpZmllcnM/OiBzdHJpbmdbXSkgPT4ge1xyXG5cdFx0aWYgKCFpZGVudGlmaWVycyB8fCBpZGVudGlmaWVycy5sZW5ndGggPT09IDApIHtcclxuXHRcdFx0cmV0dXJuIGBQbGVhc2UgZW50ZXIgYXQgbGVhc3Qgb25lICR7Z2V0RG9tYWluSWRlbnRpZmllclR5cGVTdHJpbmcoKX0uYFxyXG5cdFx0fVxyXG5cclxuXHRcdGxldCBpbnZhbGlkSWRlbnRpZmllcnNcclxuXHRcdGlmIChpc1B1cmR1ZVNoYXJkKCkgJiYgIWlkZW50aWZpZXJzLmV2ZXJ5KGlkID0+IGlzUHVyZHVlQWxpYXNPclB1aWQoaWQpKSkge1xyXG5cdFx0XHRpbnZhbGlkSWRlbnRpZmllcnMgPSBpZGVudGlmaWVycy5maWx0ZXIoaWQgPT4gIWlzUHVyZHVlQWxpYXNPclB1aWQoaWQpKVxyXG5cdFx0fVxyXG5cdFx0aWYgKCFpc1B1cmR1ZVNoYXJkKCkgJiYgIWlkZW50aWZpZXJzLmV2ZXJ5KGlkID0+IGlzRW1haWwoaWQpKSkge1xyXG5cdFx0XHRpbnZhbGlkSWRlbnRpZmllcnMgPSBpZGVudGlmaWVycy5maWx0ZXIoaWQgPT4gIWlzRW1haWwoaWQpKVxyXG5cdFx0fVxyXG5cdFx0aWYgKGludmFsaWRJZGVudGlmaWVycykge1xyXG5cdFx0XHRyZXR1cm4gYFBsZWFzZSBlbnRlciB2YWxpZCAke2dldERvbWFpbklkZW50aWZpZXJUeXBlUGx1cmFsU3RyaW5nKCl9LiBUaGUgZm9sbG93aW5nIGFyZSBpbnZhbGlkOlxcclxcbiR7aW52YWxpZElkZW50aWZpZXJzLmpvaW4oXHJcblx0XHRcdFx0J1xcclxcbidcclxuXHRcdFx0KX1gXHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdW5kZWZpbmVkXHJcblx0fVxyXG5cclxuXHRyZW5kZXIoKSB7XHJcblx0XHRjb25zdCB7IGlkZW50aWZpZXJzLCByb2xlLCBzaG93RXJyb3JBbGVydCwgZXJyb3JNZXNzYWdlIH0gPSB0aGlzLnN0YXRlXHJcblx0XHRjb25zdCB7IGVudGl0eU5hbWUsIGlzQWRkaW5nVXNlcnNUb1JvbGUsIHJvbGVEZXNjcmlwdGlvbnMsIHJlbmRlckFkZERlc2NyaXB0aW9uLCBkaXNhYmxlZCwgdGV4dEZvclJvbGUgfSA9XHJcblx0XHRcdHRoaXMucHJvcHNcclxuXHRcdGNvbnN0IHJvbGVzID0gXy5rZXlzKHJvbGVEZXNjcmlwdGlvbnMpXHJcblx0XHRjb25zdCByb2xlUG9wb3ZlciA9IChcclxuXHRcdFx0PFBvcG92ZXIgaWQ9XCJyb2xlXCI+XHJcblx0XHRcdFx0PGgzPlJvbGU8L2gzPlxyXG5cdFx0XHRcdHtyb2xlcy5tYXAociA9PiAoXHJcblx0XHRcdFx0XHQ8RnJhZ21lbnQga2V5PXtyfT57cm9sZURlc2NyaXB0aW9uc1tyXX08L0ZyYWdtZW50PlxyXG5cdFx0XHRcdCkpfVxyXG5cdFx0XHQ8L1BvcG92ZXI+XHJcblx0XHQpXHJcblxyXG5cdFx0Y29uc3QgYXBwQ29uZmlnID0gZ2V0QXBwQ29uZmlnKClcclxuXHRcdGNvbnN0IGFwcE5hbWUgPSBhcHBDb25maWcuQVBQX05BTUVcclxuXHRcdGNvbnN0IGdyYWRhYmxlRGVzY3JpcHRvciA9IGFwcENvbmZpZy5HUkFEQUJMRV9ERVNDUklQVE9SXHJcblxyXG5cdFx0cmV0dXJuIChcclxuXHRcdFx0PFJvdz5cclxuXHRcdFx0XHR7ISFyZW5kZXJBZGREZXNjcmlwdGlvbiAmJiA8Q29sIHhzPXsxMn0+e3JlbmRlckFkZERlc2NyaXB0aW9uKGVudGl0eU5hbWUpfTwvQ29sPn1cclxuXHRcdFx0XHQ8Q29sIHhzPXsxMn0gc209ezZ9PlxyXG5cdFx0XHRcdFx0PEZvcm1Hcm91cCBjb250cm9sSWQ9XCJVc2VyRW50cnlcIj5cclxuXHRcdFx0XHRcdFx0PEZvcm1MYWJlbCBjbGFzc05hbWU9XCJmNlwiPlxyXG5cdFx0XHRcdFx0XHRcdHtnZXREb21haW5JZGVudGlmaWVyVHlwZVBsdXJhbFN0cmluZygpfSAoc2VwYXJhdGVkIGJ5IGEgbmV3IGxpbmUpXHJcblx0XHRcdFx0XHRcdDwvRm9ybUxhYmVsPlxyXG5cdFx0XHRcdFx0XHQ8Rm9ybUNvbnRyb2xcclxuXHRcdFx0XHRcdFx0XHR0eXBlPVwidGV4dFwiXHJcblx0XHRcdFx0XHRcdFx0YXM9XCJ0ZXh0YXJlYVwiXHJcblx0XHRcdFx0XHRcdFx0bmFtZT1cImFjY291bnRcIlxyXG5cdFx0XHRcdFx0XHRcdGFyaWEtbGFiZWw9XCJUaGUgYWNjb3VudCBuYW1lcyB0byBhZGRcIlxyXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlPXt0aGlzLnVwZGF0ZUlkZW50aWZpZXJzfVxyXG5cdFx0XHRcdFx0XHRcdHZhbHVlPXtpZGVudGlmaWVyc31cclxuXHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj17Z2V0RG9tYWluSWRlbnRpZmllclR5cGVTdHJpbmcoKX1cclxuXHRcdFx0XHRcdFx0XHRkaXNhYmxlZD17ZGlzYWJsZWR9XHJcblx0XHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHQ8L0Zvcm1Hcm91cD5cclxuXHRcdFx0XHQ8L0NvbD5cclxuXHRcdFx0XHQ8Q29sIHhzPXsxMn0gc209ezR9PlxyXG5cdFx0XHRcdFx0PFJvbGVTZWxlY3RcclxuXHRcdFx0XHRcdFx0b3B0aW9ucz17cm9sZXN9XHJcblx0XHRcdFx0XHRcdHZhbHVlPXtyb2xlfVxyXG5cdFx0XHRcdFx0XHRvbkNoYW5nZT17dGhpcy51cGRhdGVSb2xlfVxyXG5cdFx0XHRcdFx0XHRsYWJlbFZpc2libGVcclxuXHRcdFx0XHRcdFx0cG9wb3ZlckNvbnRlbnRDb21wb25lbnQ9e3JvbGVQb3BvdmVyfVxyXG5cdFx0XHRcdFx0XHR0ZXh0Rm9yUm9sZT17dGV4dEZvclJvbGV9XHJcblx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdDwvQ29sPlxyXG5cdFx0XHRcdDxDb2wgeHM9ezEyfSBzbT17Mn0gY2xhc3NOYW1lPVwibXQzLW5zIHB0Mi1uc1wiPlxyXG5cdFx0XHRcdFx0e2lzQWRkaW5nVXNlcnNUb1JvbGUgJiYgPFJlZnJlc2hJbmRpY2F0b3JJbmxpbmUgY2xhc3NOYW1lPVwibXIzXCIgLz59XHJcblx0XHRcdFx0XHR7IWlzQWRkaW5nVXNlcnNUb1JvbGUgJiYgKFxyXG5cdFx0XHRcdFx0XHQ8QnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0aWQ9XCJ1c2VyUm9sZXNBZGRCdXR0b25cIlxyXG5cdFx0XHRcdFx0XHRcdGNvbG9yPVwicHJpbWFyeVwiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lPVwiYnRuLXByaW1hcnkgdy0xMDAtbHQteHNcIlxyXG5cdFx0XHRcdFx0XHRcdGRpc2FibGVkPXshaWRlbnRpZmllcnMgfHwgZGlzYWJsZWR9XHJcblx0XHRcdFx0XHRcdFx0b25DbGljaz17dGhpcy5oYW5kbGVTdWJtaXR9PlxyXG5cdFx0XHRcdFx0XHRcdDxBZGRDaXJjbGUgY2xhc3NOYW1lPVwidi1taWRcIiAvPlxyXG5cdFx0XHRcdFx0XHRcdEFkZFxyXG5cdFx0XHRcdFx0XHQ8L0J1dHRvbj5cclxuXHRcdFx0XHRcdCl9XHJcblx0XHRcdFx0XHQ8QWxlcnREaWFsb2dcclxuXHRcdFx0XHRcdFx0aXNPcGVuPXtzaG93RXJyb3JBbGVydH1cclxuXHRcdFx0XHRcdFx0dGl0bGU9e2BFcnJvciBBZGRpbmcgUGVvcGxlIHRvIHRoZSAke2VudGl0eU5hbWV9YH1cclxuXHRcdFx0XHRcdFx0ZGVzY3JpcHRpb249ezxkaXYgY2xhc3NOYW1lPVwicHJlLXdyYXBcIj57ZXJyb3JNZXNzYWdlfTwvZGl2Pn1cclxuXHRcdFx0XHRcdFx0cHJvY2VlZFRleHQ9XCJHb3QgaXQuIFRoYW5rcyFcIlxyXG5cdFx0XHRcdFx0XHRvblByb2NlZWQ9e3RoaXMuY2xvc2VFcnJvckFsZXJ0fVxyXG5cdFx0XHRcdFx0XHRvbkNhbmNlbD17dGhpcy5jbG9zZUVycm9yQWxlcnR9XHJcblx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdDwvQ29sPlxyXG5cdFx0XHRcdHtfLmluY2x1ZGVzKEZFUlBBX1JPTEVTLCByb2xlKSAmJiAoXHJcblx0XHRcdFx0XHQ8Q29sIHhzPXsxMn0+XHJcblx0XHRcdFx0XHRcdDxBbGVydFdpdGhJY29uIGlkPVwiZmVycGFXYXJuaW5nXCIgdmFyaWFudD1cIndhcm5pbmdcIj5cclxuXHRcdFx0XHRcdFx0XHQ8cD5cclxuXHRcdFx0XHRcdFx0XHRcdFRoaXMgcm9sZSBpbmNsdWRlcyB7Z3JhZGFibGVEZXNjcmlwdG9yfSBzY29yZXMgaW4ge2FwcE5hbWV9LiBQbGVhc2UgY29uc2lkZXIgd2hldGhlcnsnICd9XHJcblx0XHRcdFx0XHRcdFx0XHQ8YVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRocmVmPVwiaHR0cHM6Ly93d3cucHVyZHVlLmVkdS9yZWdpc3RyYXIvRkVSUEEvaW5kZXguaHRtbFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHRhcmdldD1cIl9ibGFua1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0RkVSUEFcclxuXHRcdFx0XHRcdFx0XHRcdDwvYT57JyAnfVxyXG5cdFx0XHRcdFx0XHRcdFx0Y2VydGlmaWNhdGlvbiBpcyBuZWVkZWQuXHJcblx0XHRcdFx0XHRcdFx0PC9wPlxyXG5cdFx0XHRcdFx0XHQ8L0FsZXJ0V2l0aEljb24+XHJcblx0XHRcdFx0XHQ8L0NvbD5cclxuXHRcdFx0XHQpfVxyXG5cdFx0XHQ8L1Jvdz5cclxuXHRcdClcclxuXHR9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLGVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFlBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLE9BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFNBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGNBQUEsR0FBQVYsT0FBQTtBQUVBLElBQUFXLGlCQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxNQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxPQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxjQUFBLEdBQUFkLE9BQUE7QUFBZ0QsSUFBQWUsV0FBQSxHQUFBZixPQUFBO0FBQUEsU0FBQUksd0JBQUFZLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFkLHVCQUFBLFlBQUFBLENBQUFZLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxF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
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
6
7
  exports.UserRolesContext = void 0;
7
- var react_1 = __importDefault(require("react"));
8
- /*
9
- * Context provided to the children of UserRoles. Default values should be initialized
10
- * by the context provider.
8
+ var _react = _interopRequireDefault(require("react"));
9
+ /*
10
+ * Context provided to the children of UserRoles. Default values should be initialized
11
+ * by the context provider.
11
12
  */
12
13
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
13
- exports.UserRolesContext = react_1.default.createContext(undefined);
14
+ const UserRolesContext = exports.UserRolesContext = /*#__PURE__*/_react.default.createContext(undefined);
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIlVzZXJSb2xlc0NvbnRleHQiLCJleHBvcnRzIiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVXNlclJvbGVzL0NvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcclxuaW1wb3J0IHsgVXNlclJvbGUgfSBmcm9tICcuLi8uLi90eXBlcydcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlclJvbGVzQ29udGV4dFR5cGUge1xyXG5cdC8qKiBkaXNhYmxlIGFsbCB1c2VyIHJvbGUgc2VsZWN0IGRyb3Bkb3ducywgaWYgYW55ICovXHJcblx0aXNVcGRhdGVEaXNhYmxlZD86IGJvb2xlYW5cclxuXHQvKiogZGlzYWJsZSBhbGwgdXNlciByb2xlIGRlbGV0ZSBidXR0b25zICovXHJcblx0aXNEZWxldGVEaXNhYmxlZD86IGJvb2xlYW5cclxuXHQvKiogSXMgdGhlIGN1cnJlbnQgdXNlciBhbGxvd2VkIHRvIGFkZCwgdXBkYXRlLCBhbmQgZGVsZXRlIHVzZXIgcm9sZXM/ICovXHJcblx0Y2FuTW9kaWZ5PzogYm9vbGVhblxyXG5cdC8qKiBJcyB0aGUgY3VycmVudCB1c2VyIGFsbG93ZWQgdG8gZGVsZXRlIHRoZWlyIG93biB1c2VyIHJvbGU/ICovXHJcblx0Y2FuRGVsZXRlU2VsZj86IGJvb2xlYW5cclxuXHQvKiogSWYgbXVsdGlwbGUgcm9sZXMgYWxsb3dlZCwgZWFjaCByb2xlIGlzIGRpc3BsYXllZCBwZXIgdXNlciwgb3RoZXJ3aXNlIGEgc2VsZWN0IGRyb3Bkb3duIGlzIGRpc3BsYXllZC4gKi9cclxuXHRhbGxvd011bHRpcGxlUm9sZXM/OiBib29sZWFuXHJcblx0cm9sZXM6IHN0cmluZ1tdXHJcblx0LyoqIChPcHRpb25hbCkgSWYgcHJvdmlkZWQsIHRoZSBsYXN0IHVzZXIgcm9sZSB3aXRoIHRoZSByZXF1aXJlZCByb2xlIHdpbGwgYmUgcHJldmVudGVkIGZyb20gYmVpbmcgcmVtb3ZlZC4gKi9cclxuXHRyZXF1aXJlZFJvbGU/OiBzdHJpbmdcclxuXHQvKiogKE9wdGlvbmFsKSBQcm92aWRlIGN1c3RvbSB1c2VyLWZyaWVuZGx5IG5hbWVzIGZvciBkaXNwbGF5ZWQgcm9sZXMgKi9cclxuXHR0ZXh0Rm9yUm9sZT86IChyb2xlOiBzdHJpbmcpID0+IHN0cmluZ1xyXG5cdC8qKiBUaGUgdXNlciByb2xlIGJlaW5nIHVwZGF0ZWQgKi9cclxuXHR1c2VyUm9sZVRvVXBkYXRlPzogVXNlclJvbGVcclxuXHQvKiogSWYgYSB1c2VyIHJvbGUgaXMgYmVpbmcgdXBkYXRlZCAqL1xyXG5cdGlzVXBkYXRpbmc6IGJvb2xlYW5cclxuXHQvKiogTWV0aG9kIHRvIHVwZGF0ZSBhIHVzZXIgcm9sZSAqL1xyXG5cdHVwZGF0ZVVzZXJSb2xlOiAodXNlclJvbGVUb1VwZGF0ZTogVXNlclJvbGUsIG5ld1JvbGU6IHN0cmluZykgPT4gdm9pZFxyXG5cdC8qKiBUaGUgdXNlciByb2xlIGJlaW5nIHJlbW92ZWQgKi9cclxuXHR1c2VyUm9sZVRvUmVtb3ZlPzogVXNlclJvbGVcclxuXHQvKiogSWYgYSB1c2VyIHJvbGUgaXMgYmVpbmcgcmVtb3ZlZCAqL1xyXG5cdGlzUmVtb3Zpbmc6IGJvb2xlYW5cclxuXHQvKiogTWV0aG9kIHRvIHJlbW92ZSBhIHVzZXIgcm9sZSAqL1xyXG5cdHJlbW92ZVVzZXJSb2xlOiAodXNlclJvbGVUb1JlbW92ZTogVXNlclJvbGUpID0+IHZvaWRcclxufVxyXG5cclxuLypcclxuICogQ29udGV4dCBwcm92aWRlZCB0byB0aGUgY2hpbGRyZW4gb2YgVXNlclJvbGVzLiAgRGVmYXVsdCB2YWx1ZXMgc2hvdWxkIGJlIGluaXRpYWxpemVkXHJcbiAqIGJ5IHRoZSBjb250ZXh0IHByb3ZpZGVyLlxyXG4gKi9cclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cclxuZXhwb3J0IGNvbnN0IFVzZXJSb2xlc0NvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0PFVzZXJSb2xlc0NvbnRleHRUeXBlPih1bmRlZmluZWQhKVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFpQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU1DLGdCQUFnQixHQUFBQyxPQUFBLENBQUFELGdCQUFBLGdCQUFHRSxjQUFLLENBQUNDLGFBQWEsQ0FBdUJDLFNBQVUsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==