studiokit-scaffolding-js 7.0.12-next.2.9 → 7.0.13-alpha.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 (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 +87 -166
  5. package/lib/components/AlertDialog.d.ts +3 -3
  6. package/lib/components/AlertDialog.js +18 -133
  7. package/lib/components/AlertWithIcon.js +52 -93
  8. package/lib/components/ConnectedModal.d.ts +2 -1
  9. package/lib/components/ConnectedModal.js +37 -43
  10. package/lib/components/Dropdowns/GroupsDropdown.d.ts +4 -4
  11. package/lib/components/Dropdowns/GroupsDropdown.js +82 -69
  12. package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +2 -2
  13. package/lib/components/Dropdowns/ManagedNavDropdown.js +111 -99
  14. package/lib/components/Dropdowns/UserDropdown.js +70 -109
  15. package/lib/components/Dropdowns/index.js +11 -27
  16. package/lib/components/EntityOwnerList.d.ts +3 -3
  17. package/lib/components/EntityOwnerList.js +60 -52
  18. package/lib/components/Error.js +27 -107
  19. package/lib/components/ErrorBoundary.js +94 -133
  20. package/lib/components/ErrorMessage.d.ts +2 -2
  21. package/lib/components/ErrorMessage.js +14 -44
  22. package/lib/components/Forms/DateField.d.ts +2 -2
  23. package/lib/components/Forms/DateField.js +95 -63
  24. package/lib/components/Forms/TimeField.d.ts +2 -2
  25. package/lib/components/Forms/TimeField.js +108 -84
  26. package/lib/components/Forms/index.js +13 -27
  27. package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +2 -2
  28. package/lib/components/Groups/CreateEditCopySaveButtons.js +14 -102
  29. package/lib/components/Groups/ExternalGroups/Attach.d.ts +7 -6
  30. package/lib/components/Groups/ExternalGroups/Attach.js +188 -213
  31. package/lib/components/Groups/ExternalGroups/Table.js +76 -183
  32. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +1 -5
  33. package/lib/components/Groups/RosterSyncInfo.js +49 -140
  34. package/lib/components/HOC/AccessibleAppComponent.d.ts +2 -2
  35. package/lib/components/HOC/AccessibleAppComponent.js +124 -101
  36. package/lib/components/HOC/ActivityRequiredComponent.d.ts +14 -14
  37. package/lib/components/HOC/ActivityRequiredComponent.js +107 -93
  38. package/lib/components/HOC/AsyncComponent.d.ts +9 -9
  39. package/lib/components/HOC/AsyncComponent.js +129 -53
  40. package/lib/components/HOC/AuthenticatedComponent.d.ts +4 -4
  41. package/lib/components/HOC/AuthenticatedComponent.js +96 -59
  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 +94 -52
  46. package/lib/components/HOC/CollectionItemComponent.d.ts +9 -9
  47. package/lib/components/HOC/CollectionItemComponent.js +168 -169
  48. package/lib/components/HOC/ConnectedModalComponent.d.ts +9 -9
  49. package/lib/components/HOC/ConnectedModalComponent.js +140 -110
  50. package/lib/components/HOC/DataDependentComponent.d.ts +55 -3
  51. package/lib/components/HOC/DataDependentComponent.js +79 -30
  52. package/lib/components/HOC/EntityComponent.d.ts +13 -13
  53. package/lib/components/HOC/EntityComponent.js +112 -74
  54. package/lib/components/HOC/FullscreenModalComponent.d.ts +9 -9
  55. package/lib/components/HOC/FullscreenModalComponent.js +185 -165
  56. package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +2 -2
  57. package/lib/components/HOC/GroupActivityRequiredComponent.js +47 -48
  58. package/lib/components/HOC/GuidComponent.d.ts +1 -1
  59. package/lib/components/HOC/GuidComponent.js +68 -29
  60. package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +29 -28
  61. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +65 -42
  62. package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +10 -10
  63. package/lib/components/HOC/ModelErrorRedirectComponent.js +94 -51
  64. package/lib/components/HOC/SearchPersistorComponent.d.ts +4 -4
  65. package/lib/components/HOC/SearchPersistorComponent.js +216 -243
  66. package/lib/components/HOC/UnauthenticatedComponent.d.ts +12 -12
  67. package/lib/components/HOC/UnauthenticatedComponent.js +82 -37
  68. package/lib/components/HOC/UserComponent.d.ts +1 -1
  69. package/lib/components/HOC/UserComponent.js +11 -12
  70. package/lib/components/Icons/IconAlphaList.js +20 -34
  71. package/lib/components/Icons/IconExternalUser.js +20 -34
  72. package/lib/components/Icons/IconImpersonation.js +20 -34
  73. package/lib/components/Icons/IconStopImpersonating.js +20 -34
  74. package/lib/components/Icons/IconTable.js +21 -35
  75. package/lib/components/Icons/IconTableDeleteCol.js +20 -34
  76. package/lib/components/Icons/IconTableDeleteRow.js +20 -34
  77. package/lib/components/Icons/IconTableInsertCol.js +20 -34
  78. package/lib/components/Icons/IconTableInsertRow.js +20 -34
  79. package/lib/components/Impersonation/Button.d.ts +2 -2
  80. package/lib/components/Impersonation/Button.js +56 -76
  81. package/lib/components/Impersonation/Link.d.ts +2 -2
  82. package/lib/components/Impersonation/Link.js +53 -76
  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 +17 -66
  86. package/lib/components/Loading.js +21 -27
  87. package/lib/components/LockDownBrowser/Check.js +107 -194
  88. package/lib/components/LockDownBrowser/ExitButton.js +14 -27
  89. package/lib/components/LockDownBrowser/Launch.js +85 -70
  90. package/lib/components/Lti/Confirm.js +33 -152
  91. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +2 -4
  92. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +78 -170
  93. package/lib/components/Lti/Launch.js +49 -105
  94. package/lib/components/Lti/LaunchGroup.js +39 -85
  95. package/lib/components/ManageTable.d.ts +2 -1
  96. package/lib/components/ManageTable.js +104 -309
  97. package/lib/components/ManageTableNoDataComponent.js +22 -42
  98. package/lib/components/NewVersionAlert.d.ts +2 -2
  99. package/lib/components/NewVersionAlert.js +91 -82
  100. package/lib/components/NotFound.js +28 -87
  101. package/lib/components/Notifications.d.ts +4 -4
  102. package/lib/components/Notifications.js +169 -187
  103. package/lib/components/PaginationNextButton.js +21 -33
  104. package/lib/components/PaginationPreviousButton.js +21 -33
  105. package/lib/components/Quill/CustomToolbar.d.ts +2 -2
  106. package/lib/components/Quill/CustomToolbar.js +257 -432
  107. package/lib/components/Quill/Formats/Image.d.ts +25 -10
  108. package/lib/components/Quill/Formats/Image.js +86 -80
  109. package/lib/components/Quill/Formats/List.d.ts +3 -6
  110. package/lib/components/Quill/Formats/List.js +74 -52
  111. package/lib/components/Quill/Formats/Video.d.ts +1 -2
  112. package/lib/components/Quill/Formats/Video.js +45 -31
  113. package/lib/components/Quill/ImageDropModule.d.ts +1 -1
  114. package/lib/components/Quill/ImageDropModule.js +122 -149
  115. package/lib/components/Quill/ImageWarning.d.ts +2 -2
  116. package/lib/components/Quill/ImageWarning.js +32 -45
  117. package/lib/components/Quill/ImageWithAltTextModal.d.ts +1 -0
  118. package/lib/components/Quill/ImageWithAltTextModal.js +141 -425
  119. package/lib/components/Quill/Specs/CustomImageSpec.d.ts +1 -1
  120. package/lib/components/Quill/Specs/CustomImageSpec.js +51 -43
  121. package/lib/components/Quill/Specs/CustomVideoSpec.d.ts +1 -1
  122. package/lib/components/Quill/Specs/CustomVideoSpec.js +44 -35
  123. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.d.ts +1 -2
  124. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +121 -105
  125. package/lib/components/Quill/TableModule/Blots/TableBlot.js +66 -53
  126. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +67 -54
  127. package/lib/components/Quill/TableModule/Blots/TableCellBlot.d.ts +1 -1
  128. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +241 -225
  129. package/lib/components/Quill/TableModule/Blots/TableContainer.js +99 -82
  130. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +87 -76
  131. package/lib/components/Quill/TableModule/constants.js +41 -45
  132. package/lib/components/Quill/TableModule/index.css +171 -171
  133. package/lib/components/Quill/TableModule/index.d.ts +5 -14
  134. package/lib/components/Quill/TableModule/index.js +313 -373
  135. package/lib/components/Quill/TableModule/utils.js +45 -45
  136. package/lib/components/Quill/accessibilityFix.d.ts +1 -0
  137. package/lib/components/Quill/accessibilityFix.js +251 -235
  138. package/lib/components/Quill/index.js +32 -36
  139. package/lib/components/RefreshIndicator/Bordered.js +32 -48
  140. package/lib/components/RefreshIndicator/Inline.js +33 -48
  141. package/lib/components/RefreshIndicator/index.d.ts +2 -2
  142. package/lib/components/RefreshIndicator/index.js +113 -263
  143. package/lib/components/SearchControls.js +31 -216
  144. package/lib/components/SentryRoute.js +23 -10
  145. package/lib/components/Tables/RoleFilter.d.ts +4 -3
  146. package/lib/components/Tables/RoleFilter.js +46 -71
  147. package/lib/components/Tables/TextFilter.d.ts +3 -2
  148. package/lib/components/Tables/TextFilter.js +20 -62
  149. package/lib/components/UserRoles/Add.d.ts +3 -3
  150. package/lib/components/UserRoles/Add.js +161 -199
  151. package/lib/components/UserRoles/Context.js +9 -11
  152. package/lib/components/UserRoles/RoleCell.js +100 -180
  153. package/lib/components/UserRoles/Select.js +54 -157
  154. package/lib/components/UserRoles/Table.js +102 -221
  155. package/lib/components/UserRoles/index.d.ts +6 -6
  156. package/lib/components/UserRoles/index.js +466 -537
  157. package/lib/config/eslint/index.cjs +21 -0
  158. package/lib/config/eslint/lib/order.cjs +22 -0
  159. package/lib/config/eslint/lib/prettier.cjs +18 -0
  160. package/lib/config/eslint/lib/typescript.cjs +86 -0
  161. package/lib/config/eslint/react.cjs +9 -0
  162. package/lib/constants/baseActivity.js +26 -30
  163. package/lib/constants/baseRole.js +10 -14
  164. package/lib/constants/configuration.d.ts +1 -1
  165. package/lib/constants/configuration.js +39 -43
  166. package/lib/constants/externalProviderType.js +6 -10
  167. package/lib/constants/fetchErrorData.js +11 -15
  168. package/lib/constants/index.js +23 -137
  169. package/lib/constants/lockDownBrowser.js +24 -28
  170. package/lib/constants/mockData.d.ts +6 -4
  171. package/lib/constants/mockData.js +326 -385
  172. package/lib/constants/modelStatus.js +11 -15
  173. package/lib/constants/notificationType.js +8 -12
  174. package/lib/constants/operatingSystem.js +8 -12
  175. package/lib/constants/shard.js +7 -11
  176. package/lib/constants/table.js +21 -21
  177. package/lib/constants/tier.js +8 -12
  178. package/lib/constants/userRole.d.ts +2 -1
  179. package/lib/constants/userRole.js +17 -15
  180. package/lib/css/base/_base.css +98 -98
  181. package/lib/css/base/_typography.css +130 -130
  182. package/lib/css/components/_alert.css +86 -86
  183. package/lib/css/components/_bootstrap-grid.css +28 -28
  184. package/lib/css/components/_buttons.css +397 -397
  185. package/lib/css/components/_forms.css +101 -101
  186. package/lib/css/components/_menu.css +56 -56
  187. package/lib/css/components/_modals.css +46 -46
  188. package/lib/css/components/_quill.css +315 -315
  189. package/lib/css/components/_tables.css +497 -497
  190. package/lib/css/components/_tags.css +12 -12
  191. package/lib/css/index-with-variables.css +15 -15
  192. package/lib/css/index.css +14 -14
  193. package/lib/css/utils/_border.css +463 -463
  194. package/lib/css/utils/_color.css +317 -317
  195. package/lib/css/utils/_display.css +312 -305
  196. package/lib/css/utils/_general.css +48 -48
  197. package/lib/css/utils/_icon.css +16 -16
  198. package/lib/css/utils/_text.css +24 -25
  199. package/lib/css/utils/_width.css +60 -60
  200. package/lib/css/variables.css +84 -84
  201. package/lib/endpointMappings.js +193 -197
  202. package/lib/hooks/useCollection.js +65 -83
  203. package/lib/hooks/useCollectionConfiguration.d.ts +1 -0
  204. package/lib/hooks/useCollectionConfiguration.js +88 -185
  205. package/lib/hooks/useCollectionItem.js +58 -155
  206. package/lib/hooks/useGuid.js +10 -21
  207. package/lib/hooks/usePrevious.d.ts +1 -24
  208. package/lib/hooks/usePrevious.js +14 -84
  209. package/lib/index.js +36 -156
  210. package/lib/redux/actionCreator.d.ts +6 -6
  211. package/lib/redux/actionCreator.js +40 -51
  212. package/lib/redux/actions/AuthAction.js +31 -44
  213. package/lib/redux/actions/ModalAction.d.ts +1 -1
  214. package/lib/redux/actions/ModalAction.js +6 -10
  215. package/lib/redux/actions/ModelAction.d.ts +1 -1
  216. package/lib/redux/actions/ModelAction.js +49 -77
  217. package/lib/redux/actions/NotificationAction.js +6 -10
  218. package/lib/redux/actions/SearchAction.js +5 -9
  219. package/lib/redux/actions/index.js +16 -60
  220. package/lib/redux/configureReducers.d.ts +5 -2
  221. package/lib/redux/configureReducers.js +78 -67
  222. package/lib/redux/configureStore.d.ts +2 -2
  223. package/lib/redux/configureStore.js +115 -83
  224. package/lib/redux/helpers.js +2 -7
  225. package/lib/redux/reducers/authReducer.js +46 -52
  226. package/lib/redux/reducers/index.js +15 -41
  227. package/lib/redux/reducers/modalsReducer.js +52 -49
  228. package/lib/redux/reducers/modelsReducer.d.ts +2 -2
  229. package/lib/redux/reducers/modelsReducer.js +182 -183
  230. package/lib/redux/reducers/notificationsReducer.js +21 -26
  231. package/lib/redux/reducers/searchReducer.js +20 -26
  232. package/lib/redux/sagas/appInsightsSaga.js +62 -24
  233. package/lib/redux/sagas/authSaga.js +414 -287
  234. package/lib/redux/sagas/caliperSaga.js +263 -169
  235. package/lib/redux/sagas/clockOffsetSaga.js +77 -36
  236. package/lib/redux/sagas/configurationSaga.js +46 -13
  237. package/lib/redux/sagas/downtimeApiErrorSaga.d.ts +1 -0
  238. package/lib/redux/sagas/downtimeApiErrorSaga.js +64 -23
  239. package/lib/redux/sagas/errorSaga.d.ts +1 -0
  240. package/lib/redux/sagas/errorSaga.js +63 -29
  241. package/lib/redux/sagas/googleAnalyticsSaga.js +69 -29
  242. package/lib/redux/sagas/identityProviderSaga.js +69 -24
  243. package/lib/redux/sagas/initialDataLoadSaga.js +29 -38
  244. package/lib/redux/sagas/lockDownBrowserErrorSaga.d.ts +1 -0
  245. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +81 -32
  246. package/lib/redux/sagas/modelFetchSaga.js +459 -379
  247. package/lib/redux/sagas/noStoreSaga.d.ts +1 -1
  248. package/lib/redux/sagas/noStoreSaga.js +101 -68
  249. package/lib/redux/sagas/postLoginDataSaga.js +79 -47
  250. package/lib/redux/sagas/postLoginRedirectSaga.js +71 -30
  251. package/lib/redux/sagas/rootSaga.js +137 -85
  252. package/lib/redux/sagas/sentrySaga.js +85 -29
  253. package/lib/redux/sagas/userIdSaga.js +54 -18
  254. package/lib/services/codeProviderService.js +29 -25
  255. package/lib/services/dateService.js +12 -14
  256. package/lib/services/documentService.js +13 -18
  257. package/lib/services/fetchService.js +168 -134
  258. package/lib/services/persistenceService.d.ts +4 -4
  259. package/lib/services/persistenceService.js +43 -45
  260. package/lib/services/ticketProviderService.js +33 -29
  261. package/lib/services/tokenPersistenceService.js +9 -13
  262. package/lib/services/windowService.js +17 -21
  263. package/lib/startup.d.ts +1 -1
  264. package/lib/startup.js +135 -132
  265. package/lib/types/AppConfiguration.js +1 -5
  266. package/lib/types/Artifact.js +7 -11
  267. package/lib/types/BaseReduxState.js +1 -5
  268. package/lib/types/Client.js +1 -5
  269. package/lib/types/Collection.d.ts +3 -3
  270. package/lib/types/Collection.js +1 -5
  271. package/lib/types/Configuration.js +1 -5
  272. package/lib/types/DeepLinkingResponseRequest.js +1 -5
  273. package/lib/types/DeletableModel.js +1 -5
  274. package/lib/types/Event.js +1 -5
  275. package/lib/types/ExternalGroup.js +1 -5
  276. package/lib/types/ExternalProvider.js +1 -5
  277. package/lib/types/ExternalTerm.js +1 -5
  278. package/lib/types/Group.js +1 -5
  279. package/lib/types/IdentityProvider.js +1 -5
  280. package/lib/types/LtiLaunch.js +1 -5
  281. package/lib/types/NameOnlyEntity.js +1 -5
  282. package/lib/types/Notification.d.ts +2 -2
  283. package/lib/types/Notification.js +1 -5
  284. package/lib/types/OptionalRecord.d.ts +1 -1
  285. package/lib/types/OptionalRecord.js +1 -5
  286. package/lib/types/OwnerSchedule.d.ts +1 -3
  287. package/lib/types/OwnerSchedule.js +1 -5
  288. package/lib/types/PropertyOfType.d.ts +3 -3
  289. package/lib/types/PropertyOfType.js +1 -5
  290. package/lib/types/Quill.js +1 -5
  291. package/lib/types/RoleDescription.d.ts +1 -0
  292. package/lib/types/RoleDescription.js +1 -5
  293. package/lib/types/Search.js +1 -5
  294. package/lib/types/SimpleLocation.js +1 -5
  295. package/lib/types/UniTime.js +1 -5
  296. package/lib/types/User.js +1 -5
  297. package/lib/types/UserRole.js +1 -5
  298. package/lib/types/auth/AuthState.js +1 -5
  299. package/lib/types/auth/CasV1LoginRequestBody.js +1 -5
  300. package/lib/types/auth/ClientCredentials.js +1 -5
  301. package/lib/types/auth/CodeProviderService.js +1 -5
  302. package/lib/types/auth/LocalLoginRequestBody.js +1 -5
  303. package/lib/types/auth/TicketProviderService.js +1 -5
  304. package/lib/types/auth/TokenPersistenceService.js +1 -5
  305. package/lib/types/auth/index.js +18 -82
  306. package/lib/types/index.js +39 -313
  307. package/lib/types/net/EndpointConfig.js +1 -5
  308. package/lib/types/net/EndpointMapping.js +1 -5
  309. package/lib/types/net/EndpointMappings.js +1 -5
  310. package/lib/types/net/ErrorHandler.d.ts +1 -1
  311. package/lib/types/net/ErrorHandler.js +1 -5
  312. package/lib/types/net/FetchConfig.d.ts +1 -1
  313. package/lib/types/net/FetchConfig.js +1 -5
  314. package/lib/types/net/FetchErrorData.js +6 -10
  315. package/lib/types/net/FetchResult.d.ts +2 -2
  316. package/lib/types/net/FetchResult.js +1 -5
  317. package/lib/types/net/HTTPMethod.d.ts +1 -1
  318. package/lib/types/net/HTTPMethod.js +1 -5
  319. package/lib/types/net/HTTPStatusCode.js +12 -16
  320. package/lib/types/net/Metadata.js +1 -5
  321. package/lib/types/net/Model.js +1 -5
  322. package/lib/types/net/ModelCollection.js +1 -5
  323. package/lib/types/net/ModelsState.js +1 -5
  324. package/lib/types/net/OAuthToken.js +1 -5
  325. package/lib/types/net/OAuthTokenOrNull.d.ts +1 -1
  326. package/lib/types/net/OAuthTokenOrNull.js +1 -5
  327. package/lib/types/net/TokenAccessFunction.d.ts +1 -1
  328. package/lib/types/net/TokenAccessFunction.js +1 -5
  329. package/lib/types/net/index.js +27 -181
  330. package/lib/utils/baseActivity.d.ts +2 -2
  331. package/lib/utils/baseActivity.js +136 -138
  332. package/lib/utils/baseRole.js +33 -37
  333. package/lib/utils/collection.js +310 -432
  334. package/lib/utils/cookies.js +37 -22
  335. package/lib/utils/date.js +320 -320
  336. package/lib/utils/dom.js +174 -186
  337. package/lib/utils/domainIdentifier.js +9 -9
  338. package/lib/utils/entityUserRole.js +2 -6
  339. package/lib/utils/error.d.ts +1 -1
  340. package/lib/utils/error.js +16 -18
  341. package/lib/utils/events.js +33 -40
  342. package/lib/utils/externalGroup.js +21 -25
  343. package/lib/utils/externalProviders.js +4 -8
  344. package/lib/utils/externalTerms.js +6 -9
  345. package/lib/utils/fetch.d.ts +1 -1
  346. package/lib/utils/fetch.js +185 -188
  347. package/lib/utils/group.js +9 -17
  348. package/lib/utils/groupDates.d.ts +1 -1
  349. package/lib/utils/groupDates.js +39 -43
  350. package/lib/utils/groupRoles.js +28 -28
  351. package/lib/utils/lockDownBrowser.js +12 -16
  352. package/lib/utils/logger.js +25 -30
  353. package/lib/utils/lti.js +5 -10
  354. package/lib/utils/model.d.ts +2 -2
  355. package/lib/utils/model.js +48 -39
  356. package/lib/utils/number.js +26 -23
  357. package/lib/utils/promise.d.ts +1 -6
  358. package/lib/utils/promise.js +15 -34
  359. package/lib/utils/quill.js +77 -66
  360. package/lib/utils/route.d.ts +2 -2
  361. package/lib/utils/route.js +60 -61
  362. package/lib/utils/search.d.ts +1 -1
  363. package/lib/utils/search.js +85 -78
  364. package/lib/utils/shard.js +41 -38
  365. package/lib/utils/sort.d.ts +3 -3
  366. package/lib/utils/sort.js +58 -62
  367. package/lib/utils/string.js +10 -14
  368. package/lib/utils/table.d.ts +3 -3
  369. package/lib/utils/table.js +36 -39
  370. package/lib/utils/timezone.js +26 -12
  371. package/lib/utils/url.d.ts +1 -2
  372. package/lib/utils/url.js +201 -146
  373. package/lib/utils/user.js +61 -59
  374. package/lib/utils/userAgent.js +11 -11
  375. package/lib/utils/userRole.d.ts +3 -3
  376. package/lib/utils/userRole.js +56 -58
  377. package/package.json +207 -226
  378. package/lib/config/eslint/index.d.ts +0 -2
  379. package/lib/config/eslint/index.js +0 -36
  380. package/lib/config/eslint/lib/order.d.ts +0 -3
  381. package/lib/config/eslint/lib/order.js +0 -30
  382. package/lib/config/eslint/lib/prettier.d.ts +0 -3
  383. package/lib/config/eslint/lib/prettier.js +0 -23
  384. package/lib/config/eslint/lib/typescript.d.ts +0 -2
  385. package/lib/config/eslint/lib/typescript.js +0 -98
  386. package/lib/config/eslint/react.d.ts +0 -2
  387. package/lib/config/eslint/react.js +0 -30
  388. package/lib/hooks/useEventCalback.d.ts +0 -14
  389. package/lib/hooks/useEventCalback.js +0 -51
  390. package/lib/types/externals.d.js +0 -2
package/lib/utils/dom.js CHANGED
@@ -1,213 +1,201 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setupMobileEventListeners = exports.isTextInput = exports.isMobileDevice = exports.hasExternalKeyboard = exports.getVerticallyScrollableParent = exports.getFirstParentElementWithClassName = void 0;
7
- var _logger = require("./logger");
8
- const KEYBOARD_ANIMATION_MS = 250;
9
-
10
- /**
11
- * Get the nearest vertically scrollable parent of an element
12
- * @param { HTMLElement } element - The element to start with
13
- * @returns The nearest vertically scrollable parent element
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupMobileEventListeners = exports.isTextInput = exports.hasExternalKeyboard = exports.isMobileDevice = exports.getFirstParentElementWithClassName = exports.getVerticallyScrollableParent = void 0;
4
+ var logger_1 = require("./logger");
5
+ var KEYBOARD_ANIMATION_MS = 250;
6
+ /**
7
+ * Get the nearest vertically scrollable parent of an element
8
+ * @param { HTMLElement } element - The element to start with
9
+ * @returns The nearest vertically scrollable parent element
14
10
  */
15
- const getVerticallyScrollableParent = element => {
16
- let style = getComputedStyle(element);
17
- const excludeStaticParent = style.position === 'absolute';
18
- const overflowRegex = /(auto|scroll|hidden)/;
19
- for (let parent = element; parent = parent.parentElement;) {
20
- style = getComputedStyle(parent);
21
- if (excludeStaticParent && style.position === 'static') continue;
22
- if (overflowRegex.test(style.overflow + style.overflowY) && parent.scrollHeight > parent.clientHeight) return parent;
23
- }
24
- return document.scrollingElement;
11
+ var getVerticallyScrollableParent = function (element) {
12
+ var style = getComputedStyle(element);
13
+ var excludeStaticParent = style.position === 'absolute';
14
+ var overflowRegex = /(auto|scroll|hidden)/;
15
+ for (var parent_1 = element; (parent_1 = parent_1.parentElement);) {
16
+ style = getComputedStyle(parent_1);
17
+ if (excludeStaticParent && style.position === 'static')
18
+ continue;
19
+ if (overflowRegex.test(style.overflow + style.overflowY) && parent_1.scrollHeight > parent_1.clientHeight)
20
+ return parent_1;
21
+ }
22
+ return document.scrollingElement;
25
23
  };
26
-
27
- /**
28
- * Get the first parent that has the given className in its classList
29
- * @param element The target element
30
- * @param className The className to match
31
- */
32
24
  exports.getVerticallyScrollableParent = getVerticallyScrollableParent;
33
- const getFirstParentElementWithClassName = (element, className) => {
34
- for (let parent = element; parent = parent.parentElement;) {
35
- if (parent.classList.contains(className)) return parent;
36
- }
37
- return undefined;
38
- };
39
-
40
- /**
41
- * Return whether the device being used is one of several mainstream mobile devices
25
+ /**
26
+ * Get the first parent that has the given className in its classList
27
+ * @param element The target element
28
+ * @param className The className to match
42
29
  */
30
+ var getFirstParentElementWithClassName = function (element, className) {
31
+ for (var parent_2 = element; (parent_2 = parent_2.parentElement);) {
32
+ if (parent_2.classList.contains(className))
33
+ return parent_2;
34
+ }
35
+ return undefined;
36
+ };
43
37
  exports.getFirstParentElementWithClassName = getFirstParentElementWithClassName;
44
- const isMobileDevice = () => {
45
- return /android|ipad|ipod|iphone/i.test(navigator.userAgent) || /macintosh/i.test(navigator.userAgent) && navigator.maxTouchPoints;
38
+ /**
39
+ * Return whether the device being used is one of several mainstream mobile devices
40
+ */
41
+ var isMobileDevice = function () {
42
+ return (/android|ipad|ipod|iphone/i.test(navigator.userAgent) ||
43
+ (/macintosh/i.test(navigator.userAgent) && navigator.maxTouchPoints));
46
44
  };
47
-
48
- /** Return whether the device is using an external keyboard vs. the native on-screen OS keyboard. */
49
45
  exports.isMobileDevice = isMobileDevice;
50
- const hasExternalKeyboard = () => window.hasExternalKeyboard;
51
-
52
- /**
53
- * Sets `window.hasExternalKeyboard`, returned by `hasExternalKeyboard`.
54
- */
46
+ /** Return whether the device is using an external keyboard vs. the native on-screen OS keyboard. */
47
+ var hasExternalKeyboard = function () { return window.hasExternalKeyboard; };
55
48
  exports.hasExternalKeyboard = hasExternalKeyboard;
56
- const setHasExternalKeyboard = hasExternalKeyboard => {
57
- (0, _logger.getLogger)().debug('hasExternalKeyboard', hasExternalKeyboard);
58
- const windowWithoutType = window;
59
- windowWithoutType.hasExternalKeyboard = hasExternalKeyboard;
49
+ /**
50
+ * Sets `window.hasExternalKeyboard`, returned by `hasExternalKeyboard`.
51
+ */
52
+ var setHasExternalKeyboard = function (hasExternalKeyboard) {
53
+ logger_1.getLogger().debug('hasExternalKeyboard', hasExternalKeyboard);
54
+ var windowWithoutType = window;
55
+ windowWithoutType.hasExternalKeyboard = hasExternalKeyboard;
60
56
  };
61
-
62
- /**
63
- * 100vh is kind of b⊘rked on mobile safari, we have to set it programmatically here
64
- * so we can calculate device-independent viewport heights
65
- * https://allthingssmitty.com/2020/05/11/css-fix-for-100vh-in-mobile-webkit/
66
- *
67
- * Sets the CSS variable `--visual-viewport-height` on the `documentElement`/<html>.
68
- *
57
+ /**
58
+ * 100vh is kind of b⊘rked on mobile safari, we have to set it programmatically here
59
+ * so we can calculate device-independent viewport heights
60
+ * https://allthingssmitty.com/2020/05/11/css-fix-for-100vh-in-mobile-webkit/
61
+ *
62
+ * Sets the CSS variable `--visual-viewport-height` on the `documentElement`/<html>.
63
+ *
69
64
  */
70
- const setVisualViewportHeightVar = () => {
71
- const height = visualViewport ? visualViewport.height : 0;
72
- document.documentElement.style.setProperty('--visual-viewport-height', `${height}px`);
65
+ var setVisualViewportHeightVar = function () {
66
+ var height = visualViewport ? visualViewport.height : 0;
67
+ document.documentElement.style.setProperty('--visual-viewport-height', height + "px");
73
68
  };
74
-
75
- /**
76
- * Is the given element capable of text input?
77
- *
78
- * @param el An HTML element
69
+ /**
70
+ * Is the given element capable of text input?
71
+ *
72
+ * @param el An HTML element
79
73
  */
80
- const isTextInput = el => {
81
- const tagName = el.tagName && el.tagName.toLowerCase();
82
- if (tagName === 'textarea') return true;
83
- if (tagName === 'input') {
84
- const inputEl = el;
85
- return inputEl.type !== 'button' && inputEl.type !== 'radio' && inputEl.type !== 'checkbox';
86
- }
87
- // Quill editor
88
- return tagName === 'div' && el.className.includes('ql-editor') && el.contentEditable === 'true';
74
+ var isTextInput = function (el) {
75
+ var tagName = el && el.tagName && el.tagName.toLowerCase();
76
+ if (tagName === 'textarea')
77
+ return true;
78
+ if (tagName === 'input') {
79
+ var inputEl = el;
80
+ return inputEl.type !== 'button' && inputEl.type !== 'radio' && inputEl.type !== 'checkbox';
81
+ }
82
+ // Quill editor
83
+ return tagName === 'div' && el.className.includes('ql-editor') && el.contentEditable === 'true';
89
84
  };
90
85
  exports.isTextInput = isTextInput;
91
- let updateHasExternalKeyboardAfterFocusTimeout = undefined;
92
- let scrollToElementAfterFocusTimeout = undefined;
93
- const updateHasExternalKeyboardAfterFocus = () => {
94
- const closedVisualViewportHeight = visualViewport ? visualViewport.height : 0;
95
- // wait for the keyboard animation
96
- updateHasExternalKeyboardAfterFocusTimeout = window.setTimeout(() => {
97
- // find the keyboard height based on the difference in viewport height
98
- const keyboardHeight = closedVisualViewportHeight - (visualViewport ? visualViewport.height : 0);
99
- // on first-load the input focus can fail
100
- // when this happens the height is 0, and this ONLY happens when there is NOT an external keyboard
101
- if (keyboardHeight === 0 && hasExternalKeyboard() === undefined) {
102
- setHasExternalKeyboard(false);
103
- } else {
104
- // if the keyboard height is greater than 100, that means the full onscreen keyboard displayed
105
- // otherwise, only the small context menu displayed, meaning there is an external keyboard
106
- setHasExternalKeyboard(keyboardHeight < 100);
107
- }
108
- updateHasExternalKeyboardAfterFocusTimeout = undefined;
109
- }, KEYBOARD_ANIMATION_MS);
86
+ var updateHasExternalKeyboardAfterFocusTimeout = undefined;
87
+ var scrollToElementAfterFocusTimeout = undefined;
88
+ var updateHasExternalKeyboardAfterFocus = function () {
89
+ var closedVisualViewportHeight = visualViewport ? visualViewport.height : 0;
90
+ // wait for the keyboard animation
91
+ updateHasExternalKeyboardAfterFocusTimeout = window.setTimeout(function () {
92
+ // find the keyboard height based on the difference in viewport height
93
+ var keyboardHeight = closedVisualViewportHeight - (visualViewport ? visualViewport.height : 0);
94
+ // on first-load the input focus can fail
95
+ // when this happens the height is 0, and this ONLY happens when there is NOT an external keyboard
96
+ if (keyboardHeight === 0 && exports.hasExternalKeyboard() === undefined) {
97
+ setHasExternalKeyboard(false);
98
+ }
99
+ else {
100
+ // if the keyboard height is greater than 100, that means the full onscreen keyboard displayed
101
+ // otherwise, only the small context menu displayed, meaning there is an external keyboard
102
+ setHasExternalKeyboard(keyboardHeight < 100);
103
+ }
104
+ updateHasExternalKeyboardAfterFocusTimeout = undefined;
105
+ }, KEYBOARD_ANIMATION_MS);
110
106
  };
111
- const scrollToElementAfterFocus = el => {
112
- // wait for the keyboard animation
113
- scrollToElementAfterFocusTimeout = window.setTimeout(() => {
114
- // after the keyboard is open, check for the el’s scrollable parent, as it could have just become scrollable
115
- const scrollParent = getVerticallyScrollableParent(el);
116
- // if the el has a scrollable parent other than the document, scroll it back into view
117
- if (scrollParent && scrollParent !== document.documentElement) {
118
- const scrollRect = scrollParent.getBoundingClientRect();
119
- const rect = el.getBoundingClientRect();
120
- // only scroll into view if outside of the scroll parent bounds
121
- if (rect.bottom < scrollRect.top || rect.top > scrollRect.bottom) {
122
- const newScrollTop = scrollParent.scrollTop + rect.top - scrollRect.top - 10;
123
- (0, _logger.getLogger)().debug('scrollToEl', newScrollTop);
124
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
125
- if (scrollParent.scrollTo) {
126
- scrollParent.scrollTo({
127
- top: newScrollTop,
128
- behavior: 'smooth'
129
- });
130
- } else {
131
- scrollParent.scrollTop = newScrollTop;
107
+ var scrollToElementAfterFocus = function (el) {
108
+ // wait for the keyboard animation
109
+ scrollToElementAfterFocusTimeout = window.setTimeout(function () {
110
+ // after the keyboard is open, check for the el’s scrollable parent, as it could have just become scrollable
111
+ var scrollParent = exports.getVerticallyScrollableParent(el);
112
+ // if the el has a scrollable parent other than the document, scroll it back into view
113
+ if (scrollParent && scrollParent !== document.documentElement) {
114
+ var scrollRect = scrollParent.getBoundingClientRect();
115
+ var rect = el.getBoundingClientRect();
116
+ // only scroll into view if outside of the scroll parent bounds
117
+ if (rect.bottom < scrollRect.top || rect.top > scrollRect.bottom) {
118
+ var newScrollTop = scrollParent.scrollTop + rect.top - scrollRect.top - 10;
119
+ logger_1.getLogger().debug('scrollToEl', newScrollTop);
120
+ if (scrollParent.scrollTo) {
121
+ scrollParent.scrollTo({ top: newScrollTop, behavior: 'smooth' });
122
+ }
123
+ else {
124
+ scrollParent.scrollTop = newScrollTop;
125
+ }
126
+ }
132
127
  }
133
- }
134
- }
135
- scrollToElementAfterFocusTimeout = undefined;
136
- }, KEYBOARD_ANIMATION_MS);
128
+ scrollToElementAfterFocusTimeout = undefined;
129
+ }, KEYBOARD_ANIMATION_MS);
137
130
  };
138
-
139
- /**
140
- * Event handler for "focusin" event.
141
- *
142
- * "focusin" bubbles up from all focus events, so uses `isTextInput` to only react to "keyboard" focus events.
143
- *
144
- * Checks for external keyboard and scrolls to the focused element after any animations, e.g. keyboard open.
145
- *
131
+ /**
132
+ * Event handler for "focusin" event.
133
+ *
134
+ * "focusin" bubbles up from all focus events, so uses `isTextInput` to only react to "keyboard" focus events.
135
+ *
136
+ * Checks for external keyboard and scrolls to the focused element after any animations, e.g. keyboard open.
137
+ *
146
138
  */
147
- const onFocusIn = e => {
148
- if (!e.target || !isTextInput(e.target)) return;
149
- updateHasExternalKeyboardAfterFocus();
150
- scrollToElementAfterFocus(e.target);
139
+ var onFocusIn = function (e) {
140
+ if (!e.target || !exports.isTextInput(e.target))
141
+ return;
142
+ updateHasExternalKeyboardAfterFocus();
143
+ scrollToElementAfterFocus(e.target);
151
144
  };
152
-
153
- /**
154
- * Event handler for "focusout" event.
155
- *
156
- * "focusout" bubbles up from all focus events, so uses `isTextInput` to only react to "keyboard" focus events.
157
- *
158
- * Clears any pending timeouts from "focusin" events.
159
- *
145
+ /**
146
+ * Event handler for "focusout" event.
147
+ *
148
+ * "focusout" bubbles up from all focus events, so uses `isTextInput` to only react to "keyboard" focus events.
149
+ *
150
+ * Clears any pending timeouts from "focusin" events.
151
+ *
160
152
  */
161
- const onFocusOut = e => {
162
- if (!e.target || !isTextInput(e.target)) return;
163
- if (updateHasExternalKeyboardAfterFocusTimeout) {
164
- window.clearTimeout(updateHasExternalKeyboardAfterFocusTimeout);
165
- updateHasExternalKeyboardAfterFocusTimeout = undefined;
166
- }
167
- if (scrollToElementAfterFocusTimeout) {
168
- window.clearTimeout(scrollToElementAfterFocusTimeout);
169
- scrollToElementAfterFocusTimeout = undefined;
170
- }
153
+ var onFocusOut = function (e) {
154
+ if (!e.target || !exports.isTextInput(e.target))
155
+ return;
156
+ if (updateHasExternalKeyboardAfterFocusTimeout) {
157
+ window.clearTimeout(updateHasExternalKeyboardAfterFocusTimeout);
158
+ updateHasExternalKeyboardAfterFocusTimeout = undefined;
159
+ }
160
+ if (scrollToElementAfterFocusTimeout) {
161
+ window.clearTimeout(scrollToElementAfterFocusTimeout);
162
+ scrollToElementAfterFocusTimeout = undefined;
163
+ }
171
164
  };
172
-
173
- /**
174
- * Check if the device is using an external keyboard by appending an `input` and focusing it.
175
- *
176
- * This will trigger the `onFocusIn` event handler, which updates the `hasExternalKeyboard` global.
165
+ /**
166
+ * Check if the device is using an external keyboard by appending an `input` and focusing it.
167
+ *
168
+ * This will trigger the `onFocusIn` event handler, which updates the `hasExternalKeyboard` global.
177
169
  */
178
- const checkForExternalKeyboard = () => {
179
- const el = document.createElement('input');
180
- el.type = 'text';
181
- el.autofocus = true;
182
- el.addEventListener('focusin', () => {
183
- // remove the input after the keyboard has displayed, plus a small buffer
184
- window.setTimeout(() => {
185
- el.blur();
186
- el.remove();
187
- }, KEYBOARD_ANIMATION_MS + 100);
188
- });
189
- document.documentElement.append(el);
170
+ var checkForExternalKeyboard = function () {
171
+ var el = document.createElement('input');
172
+ el.type = 'text';
173
+ el.autofocus = true;
174
+ el.addEventListener('focusin', function () {
175
+ // remove the input after the keyboard has displayed, plus a small buffer
176
+ window.setTimeout(function () {
177
+ el.blur();
178
+ el.remove();
179
+ }, KEYBOARD_ANIMATION_MS + 100);
180
+ });
181
+ document.documentElement.append(el);
190
182
  };
191
- const setupMobileEventListeners = () => {
192
- if (!isMobileDevice() || !visualViewport) return;
193
-
194
- // set viewport height var at setup
195
- setVisualViewportHeightVar();
196
-
197
- // add event listeners
198
- visualViewport.addEventListener('resize', () => {
183
+ var setupMobileEventListeners = function () {
184
+ if (!exports.isMobileDevice() || !visualViewport)
185
+ return;
186
+ // set viewport height var at setup
199
187
  setVisualViewportHeightVar();
200
-
201
- // keep the document element scrolled to the top if a ReactModal is open
202
- if (document.body.classList.contains('ReactModal__Body--open')) {
203
- document.documentElement.scrollTop = 0;
204
- }
205
- });
206
- window.addEventListener('focusin', onFocusIn);
207
- window.addEventListener('focusout', onFocusOut);
208
-
209
- // check for external keyboard at setup
210
- checkForExternalKeyboard();
188
+ // add event listeners
189
+ visualViewport.addEventListener('resize', function () {
190
+ setVisualViewportHeightVar();
191
+ // keep the document element scrolled to the top if a ReactModal is open
192
+ if (document.body.classList.contains('ReactModal__Body--open')) {
193
+ document.documentElement.scrollTop = 0;
194
+ }
195
+ });
196
+ window.addEventListener('focusin', onFocusIn);
197
+ window.addEventListener('focusout', onFocusOut);
198
+ // check for external keyboard at setup
199
+ checkForExternalKeyboard();
211
200
  };
212
201
  exports.setupMobileEventListeners = setupMobileEventListeners;
213
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwicmVxdWlyZSIsIktFWUJPQVJEX0FOSU1BVElPTl9NUyIsImdldFZlcnRpY2FsbHlTY3JvbGxhYmxlUGFyZW50IiwiZWxlbWVudCIsInN0eWxlIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImV4Y2x1ZGVTdGF0aWNQYXJlbnQiLCJwb3NpdGlvbiIsIm92ZXJmbG93UmVnZXgiLCJwYXJlbnQiLCJwYXJlbnRFbGVtZW50IiwidGVzdCIsIm92ZXJmbG93Iiwib3ZlcmZsb3dZIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiZG9jdW1lbnQiLCJzY3JvbGxpbmdFbGVtZW50IiwiZXhwb3J0cyIsImdldEZpcnN0UGFyZW50RWxlbWVudFdpdGhDbGFzc05hbWUiLCJjbGFzc05hbWUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsInVuZGVmaW5lZCIsImlzTW9iaWxlRGV2aWNlIiwibmF2aWdhdG9yIiwidXNlckFnZW50IiwibWF4VG91Y2hQb2ludHMiLCJoYXNFeHRlcm5hbEtleWJvYXJkIiwid2luZG93Iiwic2V0SGFzRXh0ZXJuYWxLZXlib2FyZCIsImdldExvZ2dlciIsImRlYnVnIiwid2luZG93V2l0aG91dFR5cGUiLCJzZXRWaXN1YWxWaWV3cG9ydEhlaWdodFZhciIsImhlaWdodCIsInZpc3VhbFZpZXdwb3J0IiwiZG9jdW1lbnRFbGVtZW50Iiwic2V0UHJvcGVydHkiLCJpc1RleHRJbnB1dCIsImVsIiwidGFnTmFtZSIsInRvTG93ZXJDYXNlIiwiaW5wdXRFbCIsInR5cGUiLCJpbmNsdWRlcyIsImNvbnRlbnRFZGl0YWJsZSIsInVwZGF0ZUhhc0V4dGVybmFsS2V5Ym9hcmRBZnRlckZvY3VzVGltZW91dCIsInNjcm9sbFRvRWxlbWVudEFmdGVyRm9jdXNUaW1lb3V0IiwidXBkYXRlSGFzRXh0ZXJuYWxLZXlib2FyZEFmdGVyRm9jdXMiLCJjbG9zZWRWaXN1YWxWaWV3cG9ydEhlaWdodCIsInNldFRpbWVvdXQiLCJrZXlib2FyZEhlaWdodCIsInNjcm9sbFRvRWxlbWVudEFmdGVyRm9jdXMiLCJzY3JvbGxQYXJlbnQiLCJzY3JvbGxSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwicmVjdCIsImJvdHRvbSIsInRvcCIsIm5ld1Njcm9sbFRvcCIsInNjcm9sbFRvcCIsInNjcm9sbFRvIiwiYmVoYXZpb3IiLCJvbkZvY3VzSW4iLCJlIiwidGFyZ2V0Iiwib25Gb2N1c091dCIsImNsZWFyVGltZW91dCIsImNoZWNrRm9yRXh0ZXJuYWxLZXlib2FyZCIsImNyZWF0ZUVsZW1lbnQiLCJhdXRvZm9jdXMiLCJhZGRFdmVudExpc3RlbmVyIiwiYmx1ciIsInJlbW92ZSIsImFwcGVuZCIsInNldHVwTW9iaWxlRXZlbnRMaXN0ZW5lcnMiLCJib2R5Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2RvbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tICcuL2xvZ2dlcidcclxuXHJcbmNvbnN0IEtFWUJPQVJEX0FOSU1BVElPTl9NUyA9IDI1MFxyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgbmVhcmVzdCB2ZXJ0aWNhbGx5IHNjcm9sbGFibGUgcGFyZW50IG9mIGFuIGVsZW1lbnRcclxuICogQHBhcmFtIHsgSFRNTEVsZW1lbnQgfSBlbGVtZW50IC0gVGhlIGVsZW1lbnQgdG8gc3RhcnQgd2l0aFxyXG4gKiBAcmV0dXJucyBUaGUgbmVhcmVzdCB2ZXJ0aWNhbGx5IHNjcm9sbGFibGUgcGFyZW50IGVsZW1lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBnZXRWZXJ0aWNhbGx5U2Nyb2xsYWJsZVBhcmVudCA9IChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4ge1xyXG5cdGxldCBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudClcclxuXHRjb25zdCBleGNsdWRlU3RhdGljUGFyZW50ID0gc3R5bGUucG9zaXRpb24gPT09ICdhYnNvbHV0ZSdcclxuXHRjb25zdCBvdmVyZmxvd1JlZ2V4ID0gLyhhdXRvfHNjcm9sbHxoaWRkZW4pL1xyXG5cclxuXHRmb3IgKGxldCBwYXJlbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IGVsZW1lbnQ7IChwYXJlbnQgPSBwYXJlbnQucGFyZW50RWxlbWVudCk7ICkge1xyXG5cdFx0c3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHBhcmVudClcclxuXHRcdGlmIChleGNsdWRlU3RhdGljUGFyZW50ICYmIHN0eWxlLnBvc2l0aW9uID09PSAnc3RhdGljJykgY29udGludWVcclxuXHRcdGlmIChvdmVyZmxvd1JlZ2V4LnRlc3Qoc3R5bGUub3ZlcmZsb3cgKyBzdHlsZS5vdmVyZmxvd1kpICYmIHBhcmVudC5zY3JvbGxIZWlnaHQgPiBwYXJlbnQuY2xpZW50SGVpZ2h0KVxyXG5cdFx0XHRyZXR1cm4gcGFyZW50XHJcblx0fVxyXG5cdHJldHVybiBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIGZpcnN0IHBhcmVudCB0aGF0IGhhcyB0aGUgZ2l2ZW4gY2xhc3NOYW1lIGluIGl0cyBjbGFzc0xpc3RcclxuICogQHBhcmFtIGVsZW1lbnQgVGhlIHRhcmdldCBlbGVtZW50XHJcbiAqIEBwYXJhbSBjbGFzc05hbWUgVGhlIGNsYXNzTmFtZSB0byBtYXRjaFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGdldEZpcnN0UGFyZW50RWxlbWVudFdpdGhDbGFzc05hbWUgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNsYXNzTmFtZTogc3RyaW5nKSA9PiB7XHJcblx0Zm9yIChsZXQgcGFyZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBlbGVtZW50OyAocGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQpOyApIHtcclxuXHRcdGlmIChwYXJlbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSkpIHJldHVybiBwYXJlbnRcclxuXHR9XHJcblx0cmV0dXJuIHVuZGVmaW5lZFxyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIHdoZXRoZXIgdGhlIGRldmljZSBiZWluZyB1c2VkIGlzIG9uZSBvZiBzZXZlcmFsIG1haW5zdHJlYW0gbW9iaWxlIGRldmljZXNcclxuICovXHJcbmV4cG9ydCBjb25zdCBpc01vYmlsZURldmljZSA9ICgpID0+IHtcclxuXHRyZXR1cm4gKFxyXG5cdFx0L2FuZHJvaWR8aXBhZHxpcG9kfGlwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgfHxcclxuXHRcdCgvbWFjaW50b3NoL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMpXHJcblx0KVxyXG59XHJcblxyXG4vKiogUmV0dXJuIHdoZXRoZXIgdGhlIGRldmljZSBpcyB1c2luZyBhbiBleHRlcm5hbCBrZXlib2FyZCB2cy4gdGhlIG5hdGl2ZSBvbi1zY3JlZW4gT1Mga2V5Ym9hcmQuICovXHJcbmV4cG9ydCBjb25zdCBoYXNFeHRlcm5hbEtleWJvYXJkID0gKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQgPT4gKHdpbmRvdyBhcyBhbnkpLmhhc0V4dGVybmFsS2V5Ym9hcmRcclxuXHJcbi8qKlxyXG4gKiBTZXRzIGB3aW5kb3cuaGFzRXh0ZXJuYWxLZXlib2FyZGAsIHJldHVybmVkIGJ5IGBoYXNFeHRlcm5hbEtleWJvYXJkYC5cclxuICovXHJcbmNvbnN0IHNldEhhc0V4dGVybmFsS2V5Ym9hcmQgPSAoaGFzRXh0ZXJuYWxLZXlib2FyZDogYm9vbGVhbikgPT4ge1xyXG5cdGdldExvZ2dlcigpLmRlYnVnKCdoYXNFeHRlcm5hbEtleWJvYXJkJywgaGFzRXh0ZXJuYWxLZXlib2FyZClcclxuXHRjb25zdCB3aW5kb3dXaXRob3V0VHlwZSA9IHdpbmRvdyBhcyBhbnlcclxuXHR3aW5kb3dXaXRob3V0VHlwZS5oYXNFeHRlcm5hbEtleWJvYXJkID0gaGFzRXh0ZXJuYWxLZXlib2FyZFxyXG59XHJcblxyXG4vKipcclxuICogMTAwdmggaXMga2luZCBvZiBi4oqYcmtlZCBvbiBtb2JpbGUgc2FmYXJpLCB3ZSBoYXZlIHRvIHNldCBpdCBwcm9ncmFtbWF0aWNhbGx5IGhlcmVcclxuICogc28gd2UgY2FuIGNhbGN1bGF0ZSBkZXZpY2UtaW5kZXBlbmRlbnQgdmlld3BvcnQgaGVpZ2h0c1xyXG4gKiBodHRwczovL2FsbHRoaW5nc3NtaXR0eS5jb20vMjAyMC8wNS8xMS9jc3MtZml4LWZvci0xMDB2aC1pbi1tb2JpbGUtd2Via2l0L1xyXG4gKlxyXG4gKiBTZXRzIHRoZSBDU1MgdmFyaWFibGUgYC0tdmlzdWFsLXZpZXdwb3J0LWhlaWdodGAgb24gdGhlIGBkb2N1bWVudEVsZW1lbnRgLzxodG1sPi5cclxuICpcclxuICovXHJcbmNvbnN0IHNldFZpc3VhbFZpZXdwb3J0SGVpZ2h0VmFyID0gKCkgPT4ge1xyXG5cdGNvbnN0IGhlaWdodCA9IHZpc3VhbFZpZXdwb3J0ID8gdmlzdWFsVmlld3BvcnQuaGVpZ2h0IDogMFxyXG5cdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS12aXN1YWwtdmlld3BvcnQtaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YClcclxufVxyXG5cclxuLyoqXHJcbiAqIElzIHRoZSBnaXZlbiBlbGVtZW50IGNhcGFibGUgb2YgdGV4dCBpbnB1dD9cclxuICpcclxuICogQHBhcmFtIGVsIEFuIEhUTUwgZWxlbWVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGlzVGV4dElucHV0ID0gKGVsOiBIVE1MRWxlbWVudCkgPT4ge1xyXG5cdGNvbnN0IHRhZ05hbWUgPSBlbC50YWdOYW1lICYmIGVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKVxyXG5cdGlmICh0YWdOYW1lID09PSAndGV4dGFyZWEnKSByZXR1cm4gdHJ1ZVxyXG5cdGlmICh0YWdOYW1lID09PSAnaW5wdXQnKSB7XHJcblx0XHRjb25zdCBpbnB1dEVsID0gZWwgYXMgSFRNTElucHV0RWxlbWVudFxyXG5cdFx0cmV0dXJuIGlucHV0RWwudHlwZSAhPT0gJ2J1dHRvbicgJiYgaW5wdXRFbC50eXBlICE9PSAncmFkaW8nICYmIGlucHV0RWwudHlwZSAhPT0gJ2NoZWNrYm94J1xyXG5cdH1cclxuXHQvLyBRdWlsbCBlZGl0b3JcclxuXHRyZXR1cm4gdGFnTmFtZSA9PT0gJ2RpdicgJiYgZWwuY2xhc3NOYW1lLmluY2x1ZGVzKCdxbC1lZGl0b3InKSAmJiBlbC5jb250ZW50RWRpdGFibGUgPT09ICd0cnVlJ1xyXG59XHJcblxyXG5sZXQgdXBkYXRlSGFzRXh0ZXJuYWxLZXlib2FyZEFmdGVyRm9jdXNUaW1lb3V0OiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcclxubGV0IHNjcm9sbFRvRWxlbWVudEFmdGVyRm9jdXNUaW1lb3V0OiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcclxuXHJcbmNvbnN0IHVwZGF0ZUhhc0V4dGVybmFsS2V5Ym9hcmRBZnRlckZvY3VzID0gKCkgPT4ge1xyXG5cdGNvbnN0IGNsb3NlZFZpc3VhbFZpZXdwb3J0SGVpZ2h0ID0gdmlzdWFsVmlld3BvcnQgPyB2aXN1YWxWaWV3cG9ydC5oZWlnaHQgOiAwXHJcblx0Ly8gd2FpdCBmb3IgdGhlIGtleWJvYXJkIGFuaW1hdGlvblxyXG5cdHVwZGF0ZUhhc0V4dGVybmFsS2V5Ym9hcmRBZnRlckZvY3VzVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdC8vIGZpbmQgdGhlIGtleWJvYXJkIGhlaWdodCBiYXNlZCBvbiB0aGUgZGlmZmVyZW5jZSBpbiB2aWV3cG9ydCBoZWlnaHRcclxuXHRcdGNvbnN0IGtleWJvYXJkSGVpZ2h0ID0gY2xvc2VkVmlzdWFsVmlld3BvcnRIZWlnaHQgLSAodmlzdWFsVmlld3BvcnQgPyB2aXN1YWxWaWV3cG9ydC5oZWlnaHQgOiAwKVxyXG5cdFx0Ly8gb24gZmlyc3QtbG9hZCB0aGUgaW5wdXQgZm9jdXMgY2FuIGZhaWxcclxuXHRcdC8vIHdoZW4gdGhpcyBoYXBwZW5zIHRoZSBoZWlnaHQgaXMgMCwgYW5kIHRoaXMgT05MWSBoYXBwZW5zIHdoZW4gdGhlcmUgaXMgTk9UIGFuIGV4dGVybmFsIGtleWJvYXJkXHJcblx0XHRpZiAoa2V5Ym9hcmRIZWlnaHQgPT09IDAgJiYgaGFzRXh0ZXJuYWxLZXlib2FyZCgpID09PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0c2V0SGFzRXh0ZXJuYWxLZXlib2FyZChmYWxzZSlcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdC8vIGlmIHRoZSBrZXlib2FyZCBoZWlnaHQgaXMgZ3JlYXRlciB0aGFuIDEwMCwgdGhhdCBtZWFucyB0aGUgZnVsbCBvbnNjcmVlbiBrZXlib2FyZCBkaXNwbGF5ZWRcclxuXHRcdFx0Ly8gb3RoZXJ3aXNlLCBvbmx5IHRoZSBzbWFsbCBjb250ZXh0IG1lbnUgZGlzcGxheWVkLCBtZWFuaW5nIHRoZXJlIGlzIGFuIGV4dGVybmFsIGtleWJvYXJkXHJcblx0XHRcdHNldEhhc0V4dGVybmFsS2V5Ym9hcmQoa2V5Ym9hcmRIZWlnaHQgPCAxMDApXHJcblx0XHR9XHJcblxyXG5cdFx0dXBkYXRlSGFzRXh0ZXJuYWxLZXlib2FyZEFmdGVyRm9jdXNUaW1lb3V0ID0gdW5kZWZpbmVkXHJcblx0fSwgS0VZQk9BUkRfQU5JTUFUSU9OX01TKVxyXG59XHJcblxyXG5jb25zdCBzY3JvbGxUb0VsZW1lbnRBZnRlckZvY3VzID0gKGVsOiBIVE1MRWxlbWVudCkgPT4ge1xyXG5cdC8vIHdhaXQgZm9yIHRoZSBrZXlib2FyZCBhbmltYXRpb25cclxuXHRzY3JvbGxUb0VsZW1lbnRBZnRlckZvY3VzVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdC8vIGFmdGVyIHRoZSBrZXlib2FyZCBpcyBvcGVuLCBjaGVjayBmb3IgdGhlIGVs4oCZcyBzY3JvbGxhYmxlIHBhcmVudCwgYXMgaXQgY291bGQgaGF2ZSBqdXN0IGJlY29tZSBzY3JvbGxhYmxlXHJcblx0XHRjb25zdCBzY3JvbGxQYXJlbnQgPSBnZXRWZXJ0aWNhbGx5U2Nyb2xsYWJsZVBhcmVudChlbClcclxuXHRcdC8vIGlmIHRoZSBlbCBoYXMgYSBzY3JvbGxhYmxlIHBhcmVudCBvdGhlciB0aGFuIHRoZSBkb2N1bWVudCwgc2Nyb2xsIGl0IGJhY2sgaW50byB2aWV3XHJcblx0XHRpZiAoc2Nyb2xsUGFyZW50ICYmIHNjcm9sbFBhcmVudCAhPT0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSB7XHJcblx0XHRcdGNvbnN0IHNjcm9sbFJlY3QgPSBzY3JvbGxQYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcclxuXHRcdFx0Y29uc3QgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXHJcblx0XHRcdC8vIG9ubHkgc2Nyb2xsIGludG8gdmlldyBpZiBvdXRzaWRlIG9mIHRoZSBzY3JvbGwgcGFyZW50IGJvdW5kc1xyXG5cdFx0XHRpZiAocmVjdC5ib3R0b20gPCBzY3JvbGxSZWN0LnRvcCB8fCByZWN0LnRvcCA+IHNjcm9sbFJlY3QuYm90dG9tKSB7XHJcblx0XHRcdFx0Y29uc3QgbmV3U2Nyb2xsVG9wID0gc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCArIHJlY3QudG9wIC0gc2Nyb2xsUmVjdC50b3AgLSAxMFxyXG5cdFx0XHRcdGdldExvZ2dlcigpLmRlYnVnKCdzY3JvbGxUb0VsJywgbmV3U2Nyb2xsVG9wKVxyXG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXHJcblx0XHRcdFx0aWYgKHNjcm9sbFBhcmVudC5zY3JvbGxUbykge1xyXG5cdFx0XHRcdFx0c2Nyb2xsUGFyZW50LnNjcm9sbFRvKHsgdG9wOiBuZXdTY3JvbGxUb3AsIGJlaGF2aW9yOiAnc21vb3RoJyB9KVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRzY3JvbGxQYXJlbnQuc2Nyb2xsVG9wID0gbmV3U2Nyb2xsVG9wXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0c2Nyb2xsVG9FbGVtZW50QWZ0ZXJGb2N1c1RpbWVvdXQgPSB1bmRlZmluZWRcclxuXHR9LCBLRVlCT0FSRF9BTklNQVRJT05fTVMpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBFdmVudCBoYW5kbGVyIGZvciBcImZvY3VzaW5cIiBldmVudC5cclxuICpcclxuICogXCJmb2N1c2luXCIgYnViYmxlcyB1cCBmcm9tIGFsbCBmb2N1cyBldmVudHMsIHNvIHVzZXMgYGlzVGV4dElucHV0YCB0byBvbmx5IHJlYWN0IHRvIFwia2V5Ym9hcmRcIiBmb2N1cyBldmVudHMuXHJcbiAqXHJcbiAqIENoZWNrcyBmb3IgZXh0ZXJuYWwga2V5Ym9hcmQgYW5kIHNjcm9sbHMgdG8gdGhlIGZvY3VzZWQgZWxlbWVudCBhZnRlciBhbnkgYW5pbWF0aW9ucywgZS5nLiBrZXlib2FyZCBvcGVuLlxyXG4gKlxyXG4gKi9cclxuY29uc3Qgb25Gb2N1c0luID0gKGU6IEV2ZW50KSA9PiB7XHJcblx0aWYgKCFlLnRhcmdldCB8fCAhaXNUZXh0SW5wdXQoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpKSByZXR1cm5cclxuXHR1cGRhdGVIYXNFeHRlcm5hbEtleWJvYXJkQWZ0ZXJGb2N1cygpXHJcblx0c2Nyb2xsVG9FbGVtZW50QWZ0ZXJGb2N1cyhlLnRhcmdldCBhcyBIVE1MRWxlbWVudClcclxufVxyXG5cclxuLyoqXHJcbiAqIEV2ZW50IGhhbmRsZXIgZm9yIFwiZm9jdXNvdXRcIiBldmVudC5cclxuICpcclxuICogXCJmb2N1c291dFwiIGJ1YmJsZXMgdXAgZnJvbSBhbGwgZm9jdXMgZXZlbnRzLCBzbyB1c2VzIGBpc1RleHRJbnB1dGAgdG8gb25seSByZWFjdCB0byBcImtleWJvYXJkXCIgZm9jdXMgZXZlbnRzLlxyXG4gKlxyXG4gKiBDbGVhcnMgYW55IHBlbmRpbmcgdGltZW91dHMgZnJvbSBcImZvY3VzaW5cIiBldmVudHMuXHJcbiAqXHJcbiAqL1xyXG5jb25zdCBvbkZvY3VzT3V0ID0gKGU6IEV2ZW50KSA9PiB7XHJcblx0aWYgKCFlLnRhcmdldCB8fCAhaXNUZXh0SW5wdXQoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpKSByZXR1cm5cclxuXHRpZiAodXBkYXRlSGFzRXh0ZXJuYWxLZXlib2FyZEFmdGVyRm9jdXNUaW1lb3V0KSB7XHJcblx0XHR3aW5kb3cuY2xlYXJUaW1lb3V0KHVwZGF0ZUhhc0V4dGVybmFsS2V5Ym9hcmRBZnRlckZvY3VzVGltZW91dClcclxuXHRcdHVwZGF0ZUhhc0V4dGVybmFsS2V5Ym9hcmRBZnRlckZvY3VzVGltZW91dCA9IHVuZGVmaW5lZFxyXG5cdH1cclxuXHRpZiAoc2Nyb2xsVG9FbGVtZW50QWZ0ZXJGb2N1c1RpbWVvdXQpIHtcclxuXHRcdHdpbmRvdy5jbGVhclRpbWVvdXQoc2Nyb2xsVG9FbGVtZW50QWZ0ZXJGb2N1c1RpbWVvdXQpXHJcblx0XHRzY3JvbGxUb0VsZW1lbnRBZnRlckZvY3VzVGltZW91dCA9IHVuZGVmaW5lZFxyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrIGlmIHRoZSBkZXZpY2UgaXMgdXNpbmcgYW4gZXh0ZXJuYWwga2V5Ym9hcmQgYnkgYXBwZW5kaW5nIGFuIGBpbnB1dGAgYW5kIGZvY3VzaW5nIGl0LlxyXG4gKlxyXG4gKiBUaGlzIHdpbGwgdHJpZ2dlciB0aGUgYG9uRm9jdXNJbmAgZXZlbnQgaGFuZGxlciwgd2hpY2ggdXBkYXRlcyB0aGUgYGhhc0V4dGVybmFsS2V5Ym9hcmRgIGdsb2JhbC5cclxuICovXHJcbmNvbnN0IGNoZWNrRm9yRXh0ZXJuYWxLZXlib2FyZCA9ICgpID0+IHtcclxuXHRjb25zdCBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0JylcclxuXHRlbC50eXBlID0gJ3RleHQnXHJcblx0ZWwuYXV0b2ZvY3VzID0gdHJ1ZVxyXG5cdGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCAoKSA9PiB7XHJcblx0XHQvLyByZW1vdmUgdGhlIGlucHV0IGFmdGVyIHRoZSBrZXlib2FyZCBoYXMgZGlzcGxheWVkLCBwbHVzIGEgc21hbGwgYnVmZmVyXHJcblx0XHR3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdGVsLmJsdXIoKVxyXG5cdFx0XHRlbC5yZW1vdmUoKVxyXG5cdFx0fSwgS0VZQk9BUkRfQU5JTUFUSU9OX01TICsgMTAwKVxyXG5cdH0pXHJcblx0ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZChlbClcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHNldHVwTW9iaWxlRXZlbnRMaXN0ZW5lcnMgPSAoKSA9PiB7XHJcblx0aWYgKCFpc01vYmlsZURldmljZSgpIHx8ICF2aXN1YWxWaWV3cG9ydCkgcmV0dXJuXHJcblxyXG5cdC8vIHNldCB2aWV3cG9ydCBoZWlnaHQgdmFyIGF0IHNldHVwXHJcblx0c2V0VmlzdWFsVmlld3BvcnRIZWlnaHRWYXIoKVxyXG5cclxuXHQvLyBhZGQgZXZlbnQgbGlzdGVuZXJzXHJcblx0dmlzdWFsVmlld3BvcnQuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4ge1xyXG5cdFx0c2V0VmlzdWFsVmlld3BvcnRIZWlnaHRWYXIoKVxyXG5cclxuXHRcdC8vIGtlZXAgdGhlIGRvY3VtZW50IGVsZW1lbnQgc2Nyb2xsZWQgdG8gdGhlIHRvcCBpZiBhIFJlYWN0TW9kYWwgaXMgb3BlblxyXG5cdFx0aWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdSZWFjdE1vZGFsX19Cb2R5LS1vcGVuJykpIHtcclxuXHRcdFx0ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA9IDBcclxuXHRcdH1cclxuXHR9KVxyXG5cdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdmb2N1c2luJywgb25Gb2N1c0luKVxyXG5cdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIG9uRm9jdXNPdXQpXHJcblxyXG5cdC8vIGNoZWNrIGZvciBleHRlcm5hbCBrZXlib2FyZCBhdCBzZXR1cFxyXG5cdGNoZWNrRm9yRXh0ZXJuYWxLZXlib2FyZCgpXHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxP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
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getDomainIdentifierTypeString = exports.getDomainIdentifierTypePluralString = void 0;
7
- var _shard = require("./shard");
8
- const getDomainIdentifierTypeString = () => (0, _shard.isPurdueShard)() ? 'Purdue career account alias or PUID' : 'Email Address';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDomainIdentifierTypePluralString = exports.getDomainIdentifierTypeString = void 0;
4
+ var shard_1 = require("./shard");
5
+ var getDomainIdentifierTypeString = function () {
6
+ return shard_1.isPurdueShard() ? 'Purdue career account alias or PUID' : 'Email Address';
7
+ };
9
8
  exports.getDomainIdentifierTypeString = getDomainIdentifierTypeString;
10
- const getDomainIdentifierTypePluralString = () => (0, _shard.isPurdueShard)() ? 'Purdue career account aliases or PUIDs' : 'Email Addresses';
9
+ var getDomainIdentifierTypePluralString = function () {
10
+ return shard_1.isPurdueShard() ? 'Purdue career account aliases or PUIDs' : 'Email Addresses';
11
+ };
11
12
  exports.getDomainIdentifierTypePluralString = getDomainIdentifierTypePluralString;
12
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2hhcmQiLCJyZXF1aXJlIiwiZ2V0RG9tYWluSWRlbnRpZmllclR5cGVTdHJpbmciLCJpc1B1cmR1ZVNoYXJkIiwiZXhwb3J0cyIsImdldERvbWFpbklkZW50aWZpZXJUeXBlUGx1cmFsU3RyaW5nIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2RvbWFpbklkZW50aWZpZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQdXJkdWVTaGFyZCB9IGZyb20gJy4vc2hhcmQnXHJcblxyXG5leHBvcnQgY29uc3QgZ2V0RG9tYWluSWRlbnRpZmllclR5cGVTdHJpbmcgPSAoKSA9PlxyXG5cdGlzUHVyZHVlU2hhcmQoKSA/ICdQdXJkdWUgY2FyZWVyIGFjY291bnQgYWxpYXMgb3IgUFVJRCcgOiAnRW1haWwgQWRkcmVzcydcclxuXHJcbmV4cG9ydCBjb25zdCBnZXREb21haW5JZGVudGlmaWVyVHlwZVBsdXJhbFN0cmluZyA9ICgpID0+XHJcblx0aXNQdXJkdWVTaGFyZCgpID8gJ1B1cmR1ZSBjYXJlZXIgYWNjb3VudCBhbGlhc2VzIG9yIFBVSURzJyA6ICdFbWFpbCBBZGRyZXNzZXMnXHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRU8sTUFBTUMsNkJBQTZCLEdBQUdBLENBQUEsS0FDNUMsSUFBQUMsb0JBQWEsRUFBQyxDQUFDLEdBQUcscUNBQXFDLEdBQUcsZUFBZTtBQUFBQyxPQUFBLENBQUFGLDZCQUFBLEdBQUFBLDZCQUFBO0FBRW5FLE1BQU1HLG1DQUFtQyxHQUFHQSxDQUFBLEtBQ2xELElBQUFGLG9CQUFhLEVBQUMsQ0FBQyxHQUFHLHdDQUF3QyxHQUFHLGlCQUFpQjtBQUFBQyxPQUFBLENBQUFDLG1DQUFBLEdBQUFBLG1DQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -1,9 +1,5 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.getRootModelName = void 0;
7
- const getRootModelName = props => props.modelName.split('.').slice(0, -1).join('.');
4
+ var getRootModelName = function (props) { return props.modelName.split('.').slice(0, -1).join('.'); };
8
5
  exports.getRootModelName = getRootModelName;
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRSb290TW9kZWxOYW1lIiwicHJvcHMiLCJtb2RlbE5hbWUiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZW50aXR5VXNlclJvbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGdldFJvb3RNb2RlbE5hbWUgPSAocHJvcHM6IHsgbW9kZWxOYW1lOiBzdHJpbmcgfSkgPT4gcHJvcHMubW9kZWxOYW1lLnNwbGl0KCcuJykuc2xpY2UoMCwgLTEpLmpvaW4oJy4nKVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFPLE1BQU1BLGdCQUFnQixHQUFJQyxLQUE0QixJQUFLQSxLQUFLLENBQUNDLFNBQVMsQ0FBQ0MsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFBQUMsT0FBQSxDQUFBTixnQkFBQSxHQUFBQSxnQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +1 @@
1
- export declare const constructErrorFromCaughtError: (caughtError: unknown, name: string, message?: string) => Error;
1
+ export declare const constructErrorFromCaughtError: (caughtError: unknown, name: string, message?: string | undefined) => Error;
@@ -1,22 +1,20 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.constructErrorFromCaughtError = void 0;
7
- const constructErrorFromCaughtError = (caughtError, name, message) => {
8
- const error = new Error(message);
9
- error.name = name;
10
- if (caughtError instanceof Error) {
11
- error.message += `${message ? '.\n' : ''}${caughtError.name !== 'Error' ? `${caughtError.name}: ` : ''}${caughtError.message}`;
12
- error.stack = caughtError.stack;
13
- // TODO: use `new Error(message, { cause: caughtError })` once we upgrade TS to allow es2022
14
- } else if (typeof caughtError === 'string') {
15
- error.message += `${message ? '.\n' : ''}${caughtError}`;
16
- } else if (caughtError && typeof caughtError === 'object') {
17
- error.message += `${message ? '.\n' : ''}${JSON.stringify(caughtError)}`;
18
- }
19
- return error;
4
+ var constructErrorFromCaughtError = function (caughtError, name, message) {
5
+ var error = new Error(message);
6
+ error.name = name;
7
+ if (caughtError instanceof Error) {
8
+ error.message += "" + (message ? '.\n' : '') + (caughtError.name !== 'Error' ? caughtError.name + ": " : '') + caughtError.message;
9
+ error.stack = caughtError.stack;
10
+ // TODO: use `new Error(message, { cause: caughtError })` once we upgrade TS to allow es2022
11
+ }
12
+ else if (typeof caughtError === 'string') {
13
+ error.message += "" + (message ? '.\n' : '') + caughtError;
14
+ }
15
+ else if (caughtError && typeof caughtError === 'object') {
16
+ error.message += "" + (message ? '.\n' : '') + JSON.stringify(caughtError);
17
+ }
18
+ return error;
20
19
  };
21
20
  exports.constructErrorFromCaughtError = constructErrorFromCaughtError;
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb25zdHJ1Y3RFcnJvckZyb21DYXVnaHRFcnJvciIsImNhdWdodEVycm9yIiwibmFtZSIsIm1lc3NhZ2UiLCJlcnJvciIsIkVycm9yIiwic3RhY2siLCJKU09OIiwic3RyaW5naWZ5IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9lcnJvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgY29uc3RydWN0RXJyb3JGcm9tQ2F1Z2h0RXJyb3IgPSAoY2F1Z2h0RXJyb3I6IHVua25vd24sIG5hbWU6IHN0cmluZywgbWVzc2FnZT86IHN0cmluZykgPT4ge1xyXG5cdGNvbnN0IGVycm9yID0gbmV3IEVycm9yKG1lc3NhZ2UpXHJcblx0ZXJyb3IubmFtZSA9IG5hbWVcclxuXHRpZiAoY2F1Z2h0RXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xyXG5cdFx0ZXJyb3IubWVzc2FnZSArPSBgJHttZXNzYWdlID8gJy5cXG4nIDogJyd9JHtjYXVnaHRFcnJvci5uYW1lICE9PSAnRXJyb3InID8gYCR7Y2F1Z2h0RXJyb3IubmFtZX06IGAgOiAnJ30ke1xyXG5cdFx0XHRjYXVnaHRFcnJvci5tZXNzYWdlXHJcblx0XHR9YFxyXG5cdFx0ZXJyb3Iuc3RhY2sgPSBjYXVnaHRFcnJvci5zdGFja1xyXG5cdFx0Ly8gVE9ETzogdXNlIGBuZXcgRXJyb3IobWVzc2FnZSwgeyBjYXVzZTogY2F1Z2h0RXJyb3IgfSlgIG9uY2Ugd2UgdXBncmFkZSBUUyB0byBhbGxvdyBlczIwMjJcclxuXHR9IGVsc2UgaWYgKHR5cGVvZiBjYXVnaHRFcnJvciA9PT0gJ3N0cmluZycpIHtcclxuXHRcdGVycm9yLm1lc3NhZ2UgKz0gYCR7bWVzc2FnZSA/ICcuXFxuJyA6ICcnfSR7Y2F1Z2h0RXJyb3J9YFxyXG5cdH0gZWxzZSBpZiAoY2F1Z2h0RXJyb3IgJiYgdHlwZW9mIGNhdWdodEVycm9yID09PSAnb2JqZWN0Jykge1xyXG5cdFx0ZXJyb3IubWVzc2FnZSArPSBgJHttZXNzYWdlID8gJy5cXG4nIDogJyd9JHtKU09OLnN0cmluZ2lmeShjYXVnaHRFcnJvcil9YFxyXG5cdH1cclxuXHRyZXR1cm4gZXJyb3JcclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFPLE1BQU1BLDZCQUE2QixHQUFHQSxDQUFDQyxXQUFvQixFQUFFQyxJQUFZLEVBQUVDLE9BQWdCLEtBQUs7RUFDdEcsTUFBTUMsS0FBSyxHQUFHLElBQUlDLEtBQUssQ0FBQ0YsT0FBTyxDQUFDO0VBQ2hDQyxLQUFLLENBQUNGLElBQUksR0FBR0EsSUFBSTtFQUNqQixJQUFJRCxXQUFXLFlBQVlJLEtBQUssRUFBRTtJQUNqQ0QsS0FBSyxDQUFDRCxPQUFPLElBQUksR0FBR0EsT0FBTyxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUdGLFdBQVcsQ0FBQ0MsSUFBSSxLQUFLLE9BQU8sR0FBRyxHQUFHRCxXQUFXLENBQUNDLElBQUksSUFBSSxHQUFHLEVBQUUsR0FDckdELFdBQVcsQ0FBQ0UsT0FBTyxFQUNsQjtJQUNGQyxLQUFLLENBQUNFLEtBQUssR0FBR0wsV0FBVyxDQUFDSyxLQUFLO0lBQy9CO0VBQ0QsQ0FBQyxNQUFNLElBQUksT0FBT0wsV0FBVyxLQUFLLFFBQVEsRUFBRTtJQUMzQ0csS0FBSyxDQUFDRCxPQUFPLElBQUksR0FBR0EsT0FBTyxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUdGLFdBQVcsRUFBRTtFQUN6RCxDQUFDLE1BQU0sSUFBSUEsV0FBVyxJQUFJLE9BQU9BLFdBQVcsS0FBSyxRQUFRLEVBQUU7SUFDMURHLEtBQUssQ0FBQ0QsT0FBTyxJQUFJLEdBQUdBLE9BQU8sR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHSSxJQUFJLENBQUNDLFNBQVMsQ0FBQ1AsV0FBVyxDQUFDLEVBQUU7RUFDekU7RUFDQSxPQUFPRyxLQUFLO0FBQ2IsQ0FBQztBQUFBSyxPQUFBLENBQUFULDZCQUFBLEdBQUFBLDZCQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -1,45 +1,38 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
7
6
  exports.trackCustomEvent = void 0;
8
- var _reactGa = _interopRequireDefault(require("react-ga4"));
9
- var _constants = require("../constants");
10
- /**
11
- * Send an event to Google Analytics and App Insights
12
- * @param event
7
+ var react_ga4_1 = __importDefault(require("react-ga4"));
8
+ var constants_1 = require("../constants");
9
+ /**
10
+ * Send an event to Google Analytics and App Insights
11
+ * @param event
13
12
  */
14
- const trackCustomEvent = event => {
15
- const {
16
- eventName,
17
- category,
18
- action,
19
- label
20
- } = event;
21
- const userId = (0, _constants.getUserId)();
22
- const appConfig = (0, _constants.getAppConfig)();
23
- if (appConfig.GOOGLE_ANALYTICS_TRACKING_ID) {
24
- _reactGa.default.event(eventName, {
25
- event_category: category,
26
- action: action,
27
- event_label: label,
28
- user_id: userId
29
- });
30
- }
31
- if (appConfig.APP_INSIGHTS_CONNECTION_STRING) {
32
- const appInsights = (0, _constants.getAppInsights)();
33
- appInsights.trackEvent({
34
- name: eventName,
35
- properties: {
36
- category: category,
37
- action: action,
38
- label: label,
39
- userId: userId
40
- }
41
- });
42
- }
13
+ var trackCustomEvent = function (event) {
14
+ var eventName = event.eventName, category = event.category, action = event.action, label = event.label;
15
+ var userId = constants_1.getUserId();
16
+ var appConfig = constants_1.getAppConfig();
17
+ if (appConfig.GOOGLE_ANALYTICS_TRACKING_ID) {
18
+ react_ga4_1.default.event(eventName, {
19
+ event_category: category,
20
+ action: action,
21
+ event_label: label,
22
+ user_id: userId
23
+ });
24
+ }
25
+ if (appConfig.APP_INSIGHTS_CONNECTION_STRING) {
26
+ var appInsights = constants_1.getAppInsights();
27
+ appInsights.trackEvent({
28
+ name: eventName,
29
+ properties: {
30
+ category: category,
31
+ action: action,
32
+ label: label,
33
+ userId: userId
34
+ }
35
+ });
36
+ }
43
37
  };
44
38
  exports.trackCustomEvent = trackCustomEvent;
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RHYSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NvbnN0YW50cyIsInRyYWNrQ3VzdG9tRXZlbnQiLCJldmVudCIsImV2ZW50TmFtZSIsImNhdGVnb3J5IiwiYWN0aW9uIiwibGFiZWwiLCJ1c2VySWQiLCJnZXRVc2VySWQiLCJhcHBDb25maWciLCJnZXRBcHBDb25maWciLCJHT09HTEVfQU5BTFlUSUNTX1RSQUNLSU5HX0lEIiwiZ2EiLCJldmVudF9jYXRlZ29yeSIsImV2ZW50X2xhYmVsIiwidXNlcl9pZCIsIkFQUF9JTlNJR0hUU19DT05ORUNUSU9OX1NUUklORyIsImFwcEluc2lnaHRzIiwiZ2V0QXBwSW5zaWdodHMiLCJ0cmFja0V2ZW50IiwibmFtZSIsInByb3BlcnRpZXMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2V2ZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2EgZnJvbSAncmVhY3QtZ2E0J1xyXG5pbXBvcnQgeyBnZXRBcHBDb25maWcsIGdldEFwcEluc2lnaHRzLCBnZXRVc2VySWQgfSBmcm9tICcuLi9jb25zdGFudHMnXHJcbmltcG9ydCB7IEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vdHlwZXMvRXZlbnQnXHJcblxyXG4vKipcclxuICogU2VuZCBhbiBldmVudCB0byBHb29nbGUgQW5hbHl0aWNzIGFuZCBBcHAgSW5zaWdodHNcclxuICogQHBhcmFtIGV2ZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdHJhY2tDdXN0b21FdmVudCA9IChldmVudDogQ3VzdG9tRXZlbnQpID0+IHtcclxuXHRjb25zdCB7IGV2ZW50TmFtZSwgY2F0ZWdvcnksIGFjdGlvbiwgbGFiZWwgfSA9IGV2ZW50XHJcblx0Y29uc3QgdXNlcklkID0gZ2V0VXNlcklkKClcclxuXHRjb25zdCBhcHBDb25maWcgPSBnZXRBcHBDb25maWcoKVxyXG5cdGlmIChhcHBDb25maWcuR09PR0xFX0FOQUxZVElDU19UUkFDS0lOR19JRCkge1xyXG5cdFx0Z2EuZXZlbnQoZXZlbnROYW1lLCB7XHJcblx0XHRcdGV2ZW50X2NhdGVnb3J5OiBjYXRlZ29yeSxcclxuXHRcdFx0YWN0aW9uOiBhY3Rpb24sXHJcblx0XHRcdGV2ZW50X2xhYmVsOiBsYWJlbCxcclxuXHRcdFx0dXNlcl9pZDogdXNlcklkXHJcblx0XHR9KVxyXG5cdH1cclxuXHRpZiAoYXBwQ29uZmlnLkFQUF9JTlNJR0hUU19DT05ORUNUSU9OX1NUUklORykge1xyXG5cdFx0Y29uc3QgYXBwSW5zaWdodHMgPSBnZXRBcHBJbnNpZ2h0cygpXHJcblx0XHRhcHBJbnNpZ2h0cy50cmFja0V2ZW50KHtcclxuXHRcdFx0bmFtZTogZXZlbnROYW1lLFxyXG5cdFx0XHRwcm9wZXJ0aWVzOiB7XHJcblx0XHRcdFx0Y2F0ZWdvcnk6IGNhdGVnb3J5LFxyXG5cdFx0XHRcdGFjdGlvbjogYWN0aW9uLFxyXG5cdFx0XHRcdGxhYmVsOiBsYWJlbCxcclxuXHRcdFx0XHR1c2VySWQ6IHVzZXJJZFxyXG5cdFx0XHR9XHJcblx0XHR9KVxyXG5cdH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU1FLGdCQUFnQixHQUFJQyxLQUFrQixJQUFLO0VBQ3ZELE1BQU07SUFBRUMsU0FBUztJQUFFQyxRQUFRO0lBQUVDLE1BQU07SUFBRUM7RUFBTSxDQUFDLEdBQUdKLEtBQUs7RUFDcEQsTUFBTUssTUFBTSxHQUFHLElBQUFDLG9CQUFTLEVBQUMsQ0FBQztFQUMxQixNQUFNQyxTQUFTLEdBQUcsSUFBQUMsdUJBQVksRUFBQyxDQUFDO0VBQ2hDLElBQUlELFNBQVMsQ0FBQ0UsNEJBQTRCLEVBQUU7SUFDM0NDLGdCQUFFLENBQUNWLEtBQUssQ0FBQ0MsU0FBUyxFQUFFO01BQ25CVSxjQUFjLEVBQUVULFFBQVE7TUFDeEJDLE1BQU0sRUFBRUEsTUFBTTtNQUNkUyxXQUFXLEVBQUVSLEtBQUs7TUFDbEJTLE9BQU8sRUFBRVI7SUFDVixDQUFDLENBQUM7RUFDSDtFQUNBLElBQUlFLFNBQVMsQ0FBQ08sOEJBQThCLEVBQUU7SUFDN0MsTUFBTUMsV0FBVyxHQUFHLElBQUFDLHlCQUFjLEVBQUMsQ0FBQztJQUNwQ0QsV0FBVyxDQUFDRSxVQUFVLENBQUM7TUFDdEJDLElBQUksRUFBRWpCLFNBQVM7TUFDZmtCLFVBQVUsRUFBRTtRQUNYakIsUUFBUSxFQUFFQSxRQUFRO1FBQ2xCQyxNQUFNLEVBQUVBLE1BQU07UUFDZEMsS0FBSyxFQUFFQSxLQUFLO1FBQ1pDLE1BQU0sRUFBRUE7TUFDVDtJQUNELENBQUMsQ0FBQztFQUNIO0FBQ0QsQ0FBQztBQUFBZSxPQUFBLENBQUFyQixnQkFBQSxHQUFBQSxnQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==