@comet/cms-admin 8.0.0-beta.4 → 8.0.0-beta.6

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 (242) hide show
  1. package/lib/blocks/DamVideoBlock.d.ts.map +1 -1
  2. package/lib/blocks/DamVideoBlock.js +9 -118
  3. package/lib/blocks/PixelImageBlock.d.ts.map +1 -1
  4. package/lib/blocks/PixelImageBlock.js +49 -162
  5. package/lib/blocks/SvgImageBlock.d.ts.map +1 -1
  6. package/lib/blocks/SvgImageBlock.js +12 -119
  7. package/lib/blocks/clipboard/CannotPasteBlockDialog.d.ts.map +1 -1
  8. package/lib/blocks/common/BlockAdminComponentButton.d.ts.map +1 -1
  9. package/lib/blocks/common/BlockAdminComponentButton.js +1 -1
  10. package/lib/blocks/common/BlockAdminComponentRoot.js +4 -4
  11. package/lib/blocks/config/BlocksConfigContext.d.ts +2 -2
  12. package/lib/blocks/config/BlocksConfigContext.d.ts.map +1 -1
  13. package/lib/blocks/image/EditImageDialog.d.ts.map +1 -1
  14. package/lib/blocks/image/EditImageDialog.js +2 -2
  15. package/lib/blocks.generated.d.ts +6 -0
  16. package/lib/blocks.generated.d.ts.map +1 -1
  17. package/lib/builds/PublisherPage.d.ts.map +1 -1
  18. package/lib/builds/PublisherPage.js +11 -1
  19. package/lib/common/MasterMenu.d.ts +1 -1
  20. package/lib/common/MasterMenu.d.ts.map +1 -1
  21. package/lib/common/MasterMenu.js +4 -1
  22. package/lib/common/MasterMenuRoutes.d.ts.map +1 -1
  23. package/lib/common/MasterMenuRoutes.js +47 -9
  24. package/lib/common/header/UserHeaderItem.d.ts.map +1 -1
  25. package/lib/common/header/UserHeaderItem.js +27 -59
  26. package/lib/common/signOutButton/SignOutButton.d.ts +6 -0
  27. package/lib/common/signOutButton/SignOutButton.d.ts.map +1 -0
  28. package/lib/common/signOutButton/SignOutButton.gql.d.ts +2 -0
  29. package/lib/common/signOutButton/SignOutButton.gql.d.ts.map +1 -0
  30. package/lib/common/{header/UserHeaderItem.generated.d.ts → signOutButton/SignOutButton.gql.generated.d.ts} +1 -1
  31. package/lib/common/signOutButton/SignOutButton.gql.generated.d.ts.map +1 -0
  32. package/lib/common/signOutButton/SignOutButton.gql.js +10 -0
  33. package/lib/common/signOutButton/SignOutButton.js +64 -0
  34. package/lib/config/CometConfigContext.d.ts +2 -0
  35. package/lib/config/CometConfigContext.d.ts.map +1 -1
  36. package/lib/contentLanguage/contentLanguageConfig.d.ts +2 -2
  37. package/lib/contentLanguage/contentLanguageConfig.d.ts.map +1 -1
  38. package/lib/contentLanguage/useContentLanguage.d.ts +2 -2
  39. package/lib/contentLanguage/useContentLanguage.d.ts.map +1 -1
  40. package/lib/contentScope/ContentScopeIndicator.d.ts +2 -2
  41. package/lib/contentScope/ContentScopeIndicator.d.ts.map +1 -1
  42. package/lib/contentScope/ContentScopeIndicator.js +4 -4
  43. package/lib/contentScope/ContentScopeSelect.d.ts +12 -12
  44. package/lib/contentScope/ContentScopeSelect.d.ts.map +1 -1
  45. package/lib/contentScope/ContentScopeSelect.js +0 -1
  46. package/lib/contentScope/Controls.d.ts +4 -4
  47. package/lib/contentScope/Controls.d.ts.map +1 -1
  48. package/lib/contentScope/Provider.d.ts +20 -19
  49. package/lib/contentScope/Provider.d.ts.map +1 -1
  50. package/lib/contentScope/Provider.js +20 -14
  51. package/lib/dam/DamPage.d.ts +2 -2
  52. package/lib/dam/DamPage.d.ts.map +1 -1
  53. package/lib/dam/DamPage.js +13 -21
  54. package/lib/dam/DamTable.d.ts +4 -2
  55. package/lib/dam/DamTable.d.ts.map +1 -1
  56. package/lib/dam/DamTable.js +23 -43
  57. package/lib/dam/DataGrid/FolderDataGrid.d.ts +2 -1
  58. package/lib/dam/DataGrid/FolderDataGrid.d.ts.map +1 -1
  59. package/lib/dam/DataGrid/FolderDataGrid.js +99 -53
  60. package/lib/dam/DataGrid/FolderDataGrid.sc.d.ts.map +1 -1
  61. package/lib/dam/DataGrid/FolderDataGrid.sc.js +2 -2
  62. package/lib/dam/DataGrid/fileUpload/UploadFilesButton.d.ts.map +1 -1
  63. package/lib/dam/DataGrid/fileUpload/UploadFilesButton.js +1 -0
  64. package/lib/dam/DataGrid/filter/DamSortPopover.sc.d.ts +1 -1
  65. package/lib/dam/DataGrid/filter/DamSortPopover.sc.d.ts.map +1 -1
  66. package/lib/dam/FileForm/EditFile.d.ts.map +1 -1
  67. package/lib/dam/FileForm/EditFile.js +41 -6
  68. package/lib/dam/FileForm/FileSettingsFields.d.ts.map +1 -1
  69. package/lib/dam/FileForm/FileSettingsFields.js +3 -2
  70. package/lib/dam/FileForm/previews/VideoPreview.d.ts +1 -0
  71. package/lib/dam/FileForm/previews/VideoPreview.d.ts.map +1 -1
  72. package/lib/dam/FileForm/previews/VideoPreview.generated.d.ts +28 -0
  73. package/lib/dam/FileForm/previews/VideoPreview.generated.d.ts.map +1 -0
  74. package/lib/dam/FileForm/previews/VideoPreview.generated.js +11 -0
  75. package/lib/dam/FileForm/previews/VideoPreview.js +26 -6
  76. package/lib/dam/blocks/DamFileDownloadLinkBlock.d.ts.map +1 -1
  77. package/lib/dam/blocks/DamFileDownloadLinkBlock.js +1 -27
  78. package/lib/dam/config/damDefaultAcceptedMimeTypes.d.ts.map +1 -1
  79. package/lib/dam/config/damDefaultAcceptedMimeTypes.js +2 -0
  80. package/lib/dam/config/useDamAcceptedMimeTypes.d.ts +1 -0
  81. package/lib/dam/config/useDamAcceptedMimeTypes.d.ts.map +1 -1
  82. package/lib/dam/config/useDamAcceptedMimeTypes.js +9 -2
  83. package/lib/dam/mediaAlternatives/MediaAlternativeForm.d.ts +14 -0
  84. package/lib/dam/mediaAlternatives/MediaAlternativeForm.d.ts.map +1 -0
  85. package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.d.ts +57 -0
  86. package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.d.ts.map +1 -0
  87. package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.js +15 -0
  88. package/lib/dam/mediaAlternatives/MediaAlternativeForm.js +153 -0
  89. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts +14 -0
  90. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts.map +1 -0
  91. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.d.ts +72 -0
  92. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.d.ts.map +1 -0
  93. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.js +17 -0
  94. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.js +204 -0
  95. package/lib/dependencies/createDocumentDependencyMethods.d.ts.map +1 -1
  96. package/lib/dependencies/createDocumentDependencyMethods.js +5 -2
  97. package/lib/form/file/FileField.d.ts +10 -2
  98. package/lib/form/file/FileField.d.ts.map +1 -1
  99. package/lib/form/file/FileField.js +139 -9
  100. package/lib/form/file/FileUploadField.d.ts +3 -2
  101. package/lib/form/file/FileUploadField.d.ts.map +1 -1
  102. package/lib/form/file/FinalFormFileUpload.d.ts +4 -2
  103. package/lib/form/file/FinalFormFileUpload.d.ts.map +1 -1
  104. package/lib/form/file/FinalFormFileUpload.js +3 -2
  105. package/lib/form/file/chooseFile/ChooseFileDialog.d.ts.map +1 -1
  106. package/lib/form/file/chooseFile/ChooseFileDialog.js +11 -11
  107. package/lib/graphql.generated.d.ts +154 -2
  108. package/lib/graphql.generated.d.ts.map +1 -1
  109. package/lib/index.d.ts +5 -3
  110. package/lib/index.d.ts.map +1 -1
  111. package/lib/index.js +27 -7
  112. package/lib/pages/config/usePageTreeScope.d.ts +3 -0
  113. package/lib/pages/config/usePageTreeScope.d.ts.map +1 -0
  114. package/lib/pages/config/usePageTreeScope.js +24 -0
  115. package/lib/pages/createEditPageNode.d.ts.map +1 -1
  116. package/lib/pages/createEditPageNode.js +2 -3
  117. package/lib/pages/pageTree/MovePageMenuItem.js +2 -3
  118. package/lib/pages/pageTree/PageDeleteDialog.d.ts.map +1 -1
  119. package/lib/pages/pageTree/PageTree.js +4 -5
  120. package/lib/pages/pageTree/useCopyPastePages/sendPages.d.ts +2 -2
  121. package/lib/pages/pageTree/useCopyPastePages/sendPages.d.ts.map +1 -1
  122. package/lib/pages/pageTree/useCopyPastePages.d.ts +2 -2
  123. package/lib/pages/pageTree/useCopyPastePages.d.ts.map +1 -1
  124. package/lib/pages/pageTree/useCopyPastePages.js +2 -3
  125. package/lib/pages/pageTreeConfig.d.ts +1 -0
  126. package/lib/pages/pageTreeConfig.d.ts.map +1 -1
  127. package/lib/pages/pageTreeSelect/PageTreeSelectDialog.d.ts +3 -3
  128. package/lib/pages/pageTreeSelect/PageTreeSelectDialog.d.ts.map +1 -1
  129. package/lib/pages/pageTreeSelect/PageTreeSelectDialog.js +8 -8
  130. package/lib/pages/pagesPage/PagesPage.d.ts +4 -3
  131. package/lib/pages/pagesPage/PagesPage.d.ts.map +1 -1
  132. package/lib/pages/pagesPage/PagesPage.js +20 -6
  133. package/lib/preview/site/SitePreview.d.ts +2 -2
  134. package/lib/preview/site/SitePreview.d.ts.map +1 -1
  135. package/lib/preview/site/SitePreview.js +2 -2
  136. package/lib/preview/site/SitePreview.sc.d.ts +1 -1
  137. package/lib/redirects/RedirectActiveness.d.ts.map +1 -1
  138. package/lib/redirects/RedirectActiveness.generated.d.ts +1 -0
  139. package/lib/redirects/RedirectActiveness.generated.d.ts.map +1 -1
  140. package/lib/redirects/RedirectActiveness.js +11 -15
  141. package/lib/redirects/RedirectsGrid.d.ts.map +1 -1
  142. package/lib/redirects/RedirectsGrid.gql.d.ts.map +1 -1
  143. package/lib/redirects/RedirectsGrid.gql.generated.d.ts +2 -0
  144. package/lib/redirects/RedirectsGrid.gql.generated.d.ts.map +1 -1
  145. package/lib/redirects/RedirectsGrid.gql.js +1 -1
  146. package/lib/redirects/RedirectsGrid.js +16 -6
  147. package/lib/redirects/createRedirectsPage.d.ts +5 -1
  148. package/lib/redirects/createRedirectsPage.d.ts.map +1 -1
  149. package/lib/redirects/createRedirectsPage.js +16 -7
  150. package/lib/siteConfigs/siteConfigsConfig.d.ts +2 -2
  151. package/lib/siteConfigs/siteConfigsConfig.d.ts.map +1 -1
  152. package/lib/siteConfigs/useSiteConfig.d.ts +2 -2
  153. package/lib/siteConfigs/useSiteConfig.d.ts.map +1 -1
  154. package/lib/testing/stub-file.js +1 -1
  155. package/lib/userPermissions/UserGrid.d.ts.map +1 -1
  156. package/lib/userPermissions/UserGrid.generated.d.ts +13 -2
  157. package/lib/userPermissions/UserGrid.generated.d.ts.map +1 -1
  158. package/lib/userPermissions/UserGrid.generated.js +2 -1
  159. package/lib/userPermissions/UserGrid.js +103 -120
  160. package/lib/userPermissions/UserPermissionsPage.d.ts.map +1 -1
  161. package/lib/userPermissions/UserPermissionsPage.js +13 -1
  162. package/lib/userPermissions/hooks/currentUser.d.ts +13 -6
  163. package/lib/userPermissions/hooks/currentUser.d.ts.map +1 -1
  164. package/lib/userPermissions/hooks/currentUser.generated.d.ts +5 -0
  165. package/lib/userPermissions/hooks/currentUser.generated.d.ts.map +1 -1
  166. package/lib/userPermissions/hooks/currentUser.js +16 -14
  167. package/lib/userPermissions/user/ImpersonationButtons.d.ts.map +1 -1
  168. package/lib/userPermissions/user/ImpersonationButtons.js +1 -1
  169. package/lib/userPermissions/user/UserPageToolbar.d.ts.map +1 -1
  170. package/lib/userPermissions/user/UserPageToolbar.generated.d.ts +1 -0
  171. package/lib/userPermissions/user/UserPageToolbar.generated.d.ts.map +1 -1
  172. package/lib/userPermissions/user/UserPageToolbar.js +5 -5
  173. package/lib/userPermissions/user/permissions/ContentScopeGrid.d.ts +1 -2
  174. package/lib/userPermissions/user/permissions/ContentScopeGrid.d.ts.map +1 -1
  175. package/lib/userPermissions/user/permissions/ContentScopeGrid.generated.d.ts +5 -0
  176. package/lib/userPermissions/user/permissions/ContentScopeGrid.generated.d.ts.map +1 -1
  177. package/lib/userPermissions/user/permissions/ContentScopeGrid.js +16 -11
  178. package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.d.ts.map +1 -1
  179. package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.generated.d.ts +5 -1
  180. package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.generated.d.ts.map +1 -1
  181. package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.js +5 -3
  182. package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.d.ts.map +1 -1
  183. package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.generated.d.ts +5 -1
  184. package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.generated.d.ts.map +1 -1
  185. package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.js +5 -4
  186. package/lib/warnings/LatestWarningsDashboardWidget.d.ts +2 -0
  187. package/lib/warnings/LatestWarningsDashboardWidget.d.ts.map +1 -0
  188. package/lib/warnings/LatestWarningsDashboardWidget.generated.d.ts +47 -0
  189. package/lib/warnings/LatestWarningsDashboardWidget.generated.d.ts.map +1 -0
  190. package/lib/{dam/DataGrid/breadcrumbs/FolderBreadcrumbs.gql.generated.js → warnings/LatestWarningsDashboardWidget.generated.js} +2 -2
  191. package/lib/warnings/LatestWarningsDashboardWidget.js +111 -0
  192. package/lib/warnings/WarningActions.d.ts +13 -0
  193. package/lib/warnings/WarningActions.d.ts.map +1 -0
  194. package/lib/warnings/WarningActions.js +123 -0
  195. package/lib/warnings/WarningMessage.d.ts +8 -0
  196. package/lib/warnings/WarningMessage.d.ts.map +1 -0
  197. package/lib/warnings/WarningMessage.js +17 -0
  198. package/lib/warnings/WarningSeverity.d.ts +7 -0
  199. package/lib/warnings/WarningSeverity.d.ts.map +1 -0
  200. package/lib/warnings/WarningSeverity.js +43 -0
  201. package/lib/warnings/WarningsGrid.d.ts +2 -0
  202. package/lib/warnings/WarningsGrid.d.ts.map +1 -0
  203. package/lib/warnings/WarningsGrid.generated.d.ts +67 -0
  204. package/lib/warnings/WarningsGrid.generated.d.ts.map +1 -0
  205. package/lib/{dam/DataGrid/FolderHead.gql.generated.js → warnings/WarningsGrid.generated.js} +2 -2
  206. package/lib/warnings/WarningsGrid.js +267 -0
  207. package/lib/warnings/WarningsPage.d.ts +2 -0
  208. package/lib/warnings/WarningsPage.d.ts.map +1 -0
  209. package/lib/warnings/WarningsPage.js +25 -0
  210. package/lib/warnings/warningMessages.d.ts +10 -0
  211. package/lib/warnings/warningMessages.d.ts.map +1 -0
  212. package/lib/warnings/warningMessages.js +38 -0
  213. package/lib/warnings/warningsConfig.d.ts +6 -0
  214. package/lib/warnings/warningsConfig.d.ts.map +1 -0
  215. package/lib/{common/useOptimisticQuery.js → warnings/warningsConfig.js} +9 -13
  216. package/package.json +25 -23
  217. package/lib/common/header/UserHeaderItem.generated.d.ts.map +0 -1
  218. package/lib/common/useOptimisticQuery.d.ts +0 -9
  219. package/lib/common/useOptimisticQuery.d.ts.map +0 -1
  220. package/lib/dam/DataGrid/FolderHead.d.ts +0 -10
  221. package/lib/dam/DataGrid/FolderHead.d.ts.map +0 -1
  222. package/lib/dam/DataGrid/FolderHead.gql.d.ts +0 -3
  223. package/lib/dam/DataGrid/FolderHead.gql.d.ts.map +0 -1
  224. package/lib/dam/DataGrid/FolderHead.gql.generated.d.ts +0 -26
  225. package/lib/dam/DataGrid/FolderHead.gql.generated.d.ts.map +0 -1
  226. package/lib/dam/DataGrid/FolderHead.gql.js +0 -11
  227. package/lib/dam/DataGrid/FolderHead.js +0 -120
  228. package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.d.ts +0 -9
  229. package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.d.ts.map +0 -1
  230. package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.gql.d.ts +0 -3
  231. package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.gql.d.ts.map +0 -1
  232. package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.gql.generated.d.ts +0 -26
  233. package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.gql.generated.d.ts.map +0 -1
  234. package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.gql.js +0 -11
  235. package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.js +0 -187
  236. package/lib/dam/DataGrid/footer/SelectionFooter.d.ts +0 -6
  237. package/lib/dam/DataGrid/footer/SelectionFooter.d.ts.map +0 -1
  238. package/lib/dam/DataGrid/footer/SelectionFooter.js +0 -147
  239. package/lib/form/FinalFormToggleButtonGroup.d.ts +0 -12
  240. package/lib/form/FinalFormToggleButtonGroup.d.ts.map +0 -1
  241. package/lib/form/FinalFormToggleButtonGroup.js +0 -76
  242. /package/lib/common/{header/UserHeaderItem.generated.js → signOutButton/SignOutButton.gql.generated.js} +0 -0
@@ -13,11 +13,9 @@ var _styles = require("@mui/material/styles");
13
13
  var _xDataGrid = require("@mui/x-data-grid");
14
14
  var _react = require("react");
15
15
  var _reactIntl = require("react-intl");
16
- var _commonImpersonationMessages = require("../common/impersonation/commonImpersonationMessages");
17
16
  var _currentUser = require("./hooks/currentUser");
18
- var _handleImpersonation = require("./utils/handleImpersonation");
19
17
  var _jsxRuntime = require("react/jsx-runtime");
20
- var _templateObject;
18
+ var _templateObject, _templateObject2;
21
19
  function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
22
20
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
21
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -42,8 +40,7 @@ var UserPermissionsUserGrid = exports.UserPermissionsUserGrid = function UserPer
42
40
  var dataGridProps = _objectSpread(_objectSpread({}, (0, _admin.useDataGridRemote)()), (0, _admin.usePersistentColumnState)("UserPermissionsUserGrid"));
43
41
  var intl = (0, _reactIntl.useIntl)();
44
42
  var stackApi = (0, _react.useContext)(_admin.StackSwitchApiContext);
45
- var currentUser = (0, _currentUser.useCurrentUser)();
46
- var isImpersonated = currentUser.impersonated;
43
+ var isAllowed = (0, _currentUser.useUserPermissionCheck)();
47
44
  var columns = [{
48
45
  field: "name",
49
46
  flex: 1,
@@ -68,91 +65,95 @@ var UserPermissionsUserGrid = exports.UserPermissionsUserGrid = function UserPer
68
65
  id: "comet.userPermissions.email",
69
66
  defaultMessage: "E-Mail"
70
67
  })
71
- }, {
72
- field: "permissionsInfo",
73
- flex: 1,
74
- pinnable: false,
75
- sortable: false,
76
- filterable: false,
77
- headerName: intl.formatMessage({
78
- id: "comet.userPermissions.permissionsInfo",
79
- defaultMessage: "Permissions"
80
- }),
81
- renderCell: function renderCell(_ref4) {
82
- var row = _ref4.row;
83
- if (row.permissionsCount === (data === null || data === void 0 ? void 0 : data.availablePermissions.length)) {
84
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
85
- color: "primary",
86
- label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
87
- id: "comet.userPermissions.allPermissions",
88
- defaultMessage: "All permissions"
89
- })
90
- });
91
- } else if (row.permissionsCount === 0) {
92
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
93
- color: "secondary",
94
- label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
95
- id: "comet.userPermissions.noPermissions",
96
- defaultMessage: "No permissions"
97
- })
98
- });
99
- } else {
100
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
101
- color: "default",
102
- label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
103
- id: "comet.userPermissions.permissionsCount",
104
- defaultMessage: "{permissionsCount} of {availablePermissionsCount} permissions",
105
- values: {
106
- permissionsCount: row.permissionsCount,
107
- availablePermissionsCount: data === null || data === void 0 ? void 0 : data.availablePermissions.length
108
- }
109
- })
110
- });
68
+ }];
69
+ if (isAllowed("userPermissions")) {
70
+ columns.push({
71
+ field: "permissionsInfo",
72
+ flex: 1,
73
+ pinnable: false,
74
+ sortable: false,
75
+ filterable: false,
76
+ headerName: intl.formatMessage({
77
+ id: "comet.userPermissions.permissionsInfo",
78
+ defaultMessage: "Permissions"
79
+ }),
80
+ renderCell: function renderCell(_ref4) {
81
+ var row = _ref4.row;
82
+ if (row.permissionsCount === (availablePermissionsAndContentScopes === null || availablePermissionsAndContentScopes === void 0 ? void 0 : availablePermissionsAndContentScopes.permissions.length)) {
83
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
84
+ color: "primary",
85
+ label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
86
+ id: "comet.userPermissions.allPermissions",
87
+ defaultMessage: "All permissions"
88
+ })
89
+ });
90
+ } else if (row.permissionsCount === 0) {
91
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
92
+ color: "secondary",
93
+ label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
94
+ id: "comet.userPermissions.noPermissions",
95
+ defaultMessage: "No permissions"
96
+ })
97
+ });
98
+ } else {
99
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
100
+ color: "default",
101
+ label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
102
+ id: "comet.userPermissions.permissionsCount",
103
+ defaultMessage: "{permissionsCount} of {availablePermissionsCount} permissions",
104
+ values: {
105
+ permissionsCount: row.permissionsCount,
106
+ availablePermissionsCount: availablePermissionsAndContentScopes === null || availablePermissionsAndContentScopes === void 0 ? void 0 : availablePermissionsAndContentScopes.permissions.length
107
+ }
108
+ })
109
+ });
110
+ }
111
111
  }
112
- }
113
- }, {
114
- field: "scopesInfo",
115
- flex: 1,
116
- pinnable: false,
117
- sortable: false,
118
- filterable: false,
119
- headerName: intl.formatMessage({
120
- id: "comet.userPermissions.contentScopesInfo",
121
- defaultMessage: "Scopes"
122
- }),
123
- renderCell: function renderCell(_ref5) {
124
- var row = _ref5.row;
125
- if (row.contentScopesCount === (data === null || data === void 0 ? void 0 : data.availableContentScopes.length)) {
126
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
127
- color: "primary",
128
- label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
129
- id: "comet.userPermissions.allContentScopes",
130
- defaultMessage: "All scopes"
131
- })
132
- });
133
- } else if (row.contentScopesCount === 0) {
134
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
135
- color: "secondary",
136
- label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
137
- id: "comet.userPermissions.noContentScopes",
138
- defaultMessage: "No scopes"
139
- })
140
- });
141
- } else {
142
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
143
- color: "default",
144
- label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
145
- id: "comet.userPermissions.contentScopesCount",
146
- defaultMessage: "{contentScopesCount} of {availableContentScopesCount} scopes",
147
- values: {
148
- contentScopesCount: row.contentScopesCount,
149
- availableContentScopesCount: data === null || data === void 0 ? void 0 : data.availableContentScopes.length
150
- }
151
- })
152
- });
112
+ }, {
113
+ field: "scopesInfo",
114
+ flex: 1,
115
+ pinnable: false,
116
+ sortable: false,
117
+ filterable: false,
118
+ headerName: intl.formatMessage({
119
+ id: "comet.userPermissions.contentScopesInfo",
120
+ defaultMessage: "Scopes"
121
+ }),
122
+ renderCell: function renderCell(_ref5) {
123
+ var row = _ref5.row;
124
+ if (row.contentScopesCount === (availablePermissionsAndContentScopes === null || availablePermissionsAndContentScopes === void 0 ? void 0 : availablePermissionsAndContentScopes.contentScopes.length)) {
125
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
126
+ color: "primary",
127
+ label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
128
+ id: "comet.userPermissions.allContentScopes",
129
+ defaultMessage: "All scopes"
130
+ })
131
+ });
132
+ } else if (row.contentScopesCount === 0) {
133
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
134
+ color: "secondary",
135
+ label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
136
+ id: "comet.userPermissions.noContentScopes",
137
+ defaultMessage: "No scopes"
138
+ })
139
+ });
140
+ } else {
141
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
142
+ color: "default",
143
+ label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
144
+ id: "comet.userPermissions.contentScopesCount",
145
+ defaultMessage: "{contentScopesCount} of {availableContentScopesCount} scopes",
146
+ values: {
147
+ contentScopesCount: row.contentScopesCount,
148
+ availableContentScopesCount: availablePermissionsAndContentScopes === null || availablePermissionsAndContentScopes === void 0 ? void 0 : availablePermissionsAndContentScopes.contentScopes.length
149
+ }
150
+ })
151
+ });
152
+ }
153
153
  }
154
- }
155
- }, {
154
+ });
155
+ }
156
+ columns.push({
156
157
  field: "actions",
157
158
  headerName: "",
158
159
  sortable: false,
@@ -162,38 +163,16 @@ var UserPermissionsUserGrid = exports.UserPermissionsUserGrid = function UserPer
162
163
  pinned: "right",
163
164
  disableExport: true,
164
165
  renderCell: function renderCell(params) {
165
- var isCurrentUser = params.row.id === currentUser.id;
166
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
167
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_admin.Tooltip, {
168
- title: isCurrentUser ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
169
- id: "comet.userPermissions.cannotImpersonateYourself",
170
- defaultMessage: "You can't impersonate yourself"
171
- }) : _commonImpersonationMessages.commonImpersonationMessages.impersonate,
172
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
173
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {
174
- disabled: isCurrentUser && !isImpersonated,
175
- onClick: function onClick() {
176
- if (!isCurrentUser) {
177
- (0, _handleImpersonation.startImpersonation)(params.row.id.toString());
178
- }
179
- if (isCurrentUser && isImpersonated) {
180
- (0, _handleImpersonation.stopImpersonation)();
181
- }
182
- },
183
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.ImpersonateUser, {})
184
- })
185
- })
186
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {
187
- onClick: function onClick() {
188
- stackApi.activatePage("edit", params.id.toString());
189
- },
190
- color: "primary",
191
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.Edit, {})
192
- })]
166
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {
167
+ onClick: function onClick() {
168
+ stackApi.activatePage("edit", params.id.toString());
169
+ },
170
+ color: "primary",
171
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.Edit, {})
193
172
  });
194
173
  }
195
- }];
196
- var _useQuery = (0, _client.useQuery)((0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query UserGrid($offset: Int!, $limit: Int!, $filter: UserPermissionsUserFilter, $sort: [UserPermissionsUserSort!], $search: String) {\n users: userPermissionsUsers(offset: $offset, limit: $limit, filter: $filter, sort: $sort, search: $search) {\n nodes {\n ...UserForGrid\n }\n totalCount\n }\n availablePermissions: userPermissionsAvailablePermissions\n availableContentScopes: userPermissionsAvailableContentScopes\n }\n fragment UserForGrid on UserPermissionsUser {\n id\n name\n email\n permissionsCount\n contentScopesCount\n }\n "]))), {
174
+ });
175
+ var _useQuery = (0, _client.useQuery)((0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query UserGrid($offset: Int!, $limit: Int!, $filter: UserPermissionsUserFilter, $sort: [UserPermissionsUserSort!], $search: String) {\n users: userPermissionsUsers(offset: $offset, limit: $limit, filter: $filter, sort: $sort, search: $search) {\n nodes {\n ...UserForGrid\n }\n totalCount\n }\n }\n fragment UserForGrid on UserPermissionsUser {\n id\n name\n email\n permissionsCount\n contentScopesCount\n }\n "]))), {
197
176
  variables: _objectSpread(_objectSpread({}, (0, _admin.muiGridFilterToGql)(columns, dataGridProps.filterModel)), {}, {
198
177
  offset: dataGridProps.paginationModel.page * dataGridProps.paginationModel.pageSize,
199
178
  limit: (_dataGridProps$pagina = dataGridProps.paginationModel.pageSize) !== null && _dataGridProps$pagina !== void 0 ? _dataGridProps$pagina : 0,
@@ -203,6 +182,10 @@ var UserPermissionsUserGrid = exports.UserPermissionsUserGrid = function UserPer
203
182
  data = _useQuery.data,
204
183
  loading = _useQuery.loading,
205
184
  error = _useQuery.error;
185
+ var _useQuery2 = (0, _client.useQuery)((0, _client.gql)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n query UserAvailablePermissionsAndContentScopes {\n permissions: userPermissionsAvailablePermissions\n contentScopes: userPermissionsAvailableContentScopes {\n scope\n label\n }\n }\n "]))), {
186
+ skip: !isAllowed("userPermissions")
187
+ }),
188
+ availablePermissionsAndContentScopes = _useQuery2.data;
206
189
  if (error) throw new Error(error.message);
207
190
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGrid.DataGrid, _objectSpread(_objectSpread({}, dataGridProps), {}, {
208
191
  rows: (_data$users$nodes = data === null || data === void 0 ? void 0 : data.users.nodes) !== null && _data$users$nodes !== void 0 ? _data$users$nodes : [],
@@ -214,7 +197,7 @@ var UserPermissionsUserGrid = exports.UserPermissionsUserGrid = function UserPer
214
197
  },
215
198
  slotProps: {
216
199
  toolbar: {
217
- toolbarAction: null
200
+ toolbarAction: toolbarAction
218
201
  }
219
202
  }
220
203
  }));
@@ -229,6 +212,6 @@ var NameBox = /*#__PURE__*/(0, _styles.styled)("div", process.env.NODE_ENV === "
229
212
  styles: "font-weight:bold;font-size:small"
230
213
  } : {
231
214
  name: "d6alen",
232
- styles: "font-weight:bold;font-size:small/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91c2VyUGVybWlzc2lvbnMvVXNlckdyaWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStQZ0IiLCJmaWxlIjoiLi4vLi4vc3JjL3VzZXJQZXJtaXNzaW9ucy9Vc2VyR3JpZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBncWwsIHVzZVF1ZXJ5IH0gZnJvbSBcIkBhcG9sbG8vY2xpZW50XCI7XG5pbXBvcnQge1xuICAgIERhdGFHcmlkVG9vbGJhcixcbiAgICBGaWxsU3BhY2UsXG4gICAgdHlwZSBHcmlkQ29sRGVmLFxuICAgIEdyaWRGaWx0ZXJCdXR0b24sXG4gICAgbXVpR3JpZEZpbHRlclRvR3FsLFxuICAgIG11aUdyaWRTb3J0VG9HcWwsXG4gICAgU3RhY2tTd2l0Y2hBcGlDb250ZXh0LFxuICAgIFRvb2x0aXAsXG4gICAgdXNlRGF0YUdyaWRSZW1vdGUsXG4gICAgdXNlUGVyc2lzdGVudENvbHVtblN0YXRlLFxufSBmcm9tIFwiQGNvbWV0L2FkbWluXCI7XG5pbXBvcnQgeyBFZGl0LCBJbXBlcnNvbmF0ZVVzZXIgfSBmcm9tIFwiQGNvbWV0L2FkbWluLWljb25zXCI7XG5pbXBvcnQgeyBDaGlwLCBJY29uQnV0dG9uLCBUeXBvZ3JhcGh5IH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IHsgRGF0YUdyaWQsIHR5cGUgR3JpZFJlbmRlckNlbGxQYXJhbXMsIEdyaWRUb29sYmFyUXVpY2tGaWx0ZXIgfSBmcm9tIFwiQG11aS94LWRhdGEtZ3JpZFwiO1xuaW1wb3J0IHR5cGUgeyBHcmlkVG9vbGJhclByb3BzIH0gZnJvbSBcIkBtdWkveC1kYXRhLWdyaWQvY29tcG9uZW50cy90b29sYmFyL0dyaWRUb29sYmFyXCI7XG5pbXBvcnQgeyB0eXBlIEdyaWRTbG90c0NvbXBvbmVudCB9IGZyb20gXCJAbXVpL3gtZGF0YS1ncmlkL21vZGVscy9ncmlkU2xvdHNDb21wb25lbnRcIjtcbmltcG9ydCB7IHR5cGUgUmVhY3ROb2RlLCB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlLCB1c2VJbnRsIH0gZnJvbSBcInJlYWN0LWludGxcIjtcblxuaW1wb3J0IHsgY29tbW9uSW1wZXJzb25hdGlvbk1lc3NhZ2VzIH0gZnJvbSBcIi4uL2NvbW1vbi9pbXBlcnNvbmF0aW9uL2NvbW1vbkltcGVyc29uYXRpb25NZXNzYWdlc1wiO1xuaW1wb3J0IHsgdXNlQ3VycmVudFVzZXIgfSBmcm9tIFwiLi9ob29rcy9jdXJyZW50VXNlclwiO1xuaW1wb3J0IHsgdHlwZSBHUUxVc2VyRm9yR3JpZEZyYWdtZW50LCB0eXBlIEdRTFVzZXJHcmlkUXVlcnksIHR5cGUgR1FMVXNlckdyaWRRdWVyeVZhcmlhYmxlcyB9IGZyb20gXCIuL1VzZXJHcmlkLmdlbmVyYXRlZFwiO1xuaW1wb3J0IHsgc3RhcnRJbXBlcnNvbmF0aW9uLCBzdG9wSW1wZXJzb25hdGlvbiB9IGZyb20gXCIuL3V0aWxzL2hhbmRsZUltcGVyc29uYXRpb25cIjtcblxuaW50ZXJmYWNlIFVzZXJQZXJtaXNzaW9uc1VzZXJHcmlkVG9vbGJhclByb3BzIGV4dGVuZHMgR3JpZFRvb2xiYXJQcm9wcyB7XG4gICAgdG9vbGJhckFjdGlvbjogUmVhY3ROb2RlO1xufVxuZnVuY3Rpb24gVXNlclBlcm1pc3Npb25zVXNlckdyaWRUb29sYmFyKHsgdG9vbGJhckFjdGlvbiB9OiBVc2VyUGVybWlzc2lvbnNVc2VyR3JpZFRvb2xiYXJQcm9wcykge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxEYXRhR3JpZFRvb2xiYXI+XG4gICAgICAgICAgICA8R3JpZFRvb2xiYXJRdWlja0ZpbHRlciAvPlxuICAgICAgICAgICAgPEdyaWRGaWx0ZXJCdXR0b24gLz5cbiAgICAgICAgICAgIDxGaWxsU3BhY2UgLz5cbiAgICAgICAgICAgIHt0b29sYmFyQWN0aW9uICYmIDw+e3Rvb2xiYXJBY3Rpb259PC8+fVxuICAgICAgICA8L0RhdGFHcmlkVG9vbGJhcj5cbiAgICApO1xufVxudHlwZSBQcm9wcyA9IHtcbiAgICB0b29sYmFyQWN0aW9uPzogUmVhY3ROb2RlO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcm93QWN0aW9uPzogKHBhcmFtczogR3JpZFJlbmRlckNlbGxQYXJhbXM8YW55LCBHUUxVc2VyRm9yR3JpZEZyYWdtZW50LCBhbnk+KSA9PiBSZWFjdE5vZGU7XG4gICAgYWN0aW9uc0NvbHVtbldpZHRoPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IGNvbnN0IFVzZXJQZXJtaXNzaW9uc1VzZXJHcmlkID0gKHsgdG9vbGJhckFjdGlvbiwgcm93QWN0aW9uLCBhY3Rpb25zQ29sdW1uV2lkdGggPSA1MiB9OiBQcm9wcykgPT4ge1xuICAgIGNvbnN0IGRhdGFHcmlkUHJvcHMgPSB7IC4uLnVzZURhdGFHcmlkUmVtb3RlKCksIC4uLnVzZVBlcnNpc3RlbnRDb2x1bW5TdGF0ZShcIlVzZXJQZXJtaXNzaW9uc1VzZXJHcmlkXCIpIH07XG4gICAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgICBjb25zdCBzdGFja0FwaSA9IHVzZUNvbnRleHQoU3RhY2tTd2l0Y2hBcGlDb250ZXh0KTtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHVzZUN1cnJlbnRVc2VyKCk7XG4gICAgY29uc3QgaXNJbXBlcnNvbmF0ZWQgPSBjdXJyZW50VXNlci5pbXBlcnNvbmF0ZWQ7XG5cbiAgICBjb25zdCBjb2x1bW5zOiBHcmlkQ29sRGVmPEdRTFVzZXJGb3JHcmlkRnJhZ21lbnQ+W10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiBcIm5hbWVcIixcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBwaW5uYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoZWFkZXJOYW1lOiBpbnRsLmZvcm1hdE1lc3NhZ2UoeyBpZDogXCJjb21ldC51c2VyUGVybWlzc2lvbnMubmFtZVwiLCBkZWZhdWx0TWVzc2FnZTogXCJOYW1lXCIgfSksXG4gICAgICAgICAgICByZW5kZXJDZWxsOiAoeyByb3cgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxOYW1lQm94PlxuICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT57cm93Lm5hbWV9PC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgIDwvTmFtZUJveD5cbiAgICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiBcImVtYWlsXCIsXG4gICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgcGlubmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgaGVhZGVyTmFtZTogaW50bC5mb3JtYXRNZXNzYWdlKHsgaWQ6IFwiY29tZXQudXNlclBlcm1pc3Npb25zLmVtYWlsXCIsIGRlZmF1bHRNZXNzYWdlOiBcIkUtTWFpbFwiIH0pLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogXCJwZXJtaXNzaW9uc0luZm9cIixcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBwaW5uYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICAgICAgICBmaWx0ZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGhlYWRlck5hbWU6IGludGwuZm9ybWF0TWVzc2FnZSh7IGlkOiBcImNvbWV0LnVzZXJQZXJtaXNzaW9ucy5wZXJtaXNzaW9uc0luZm9cIiwgZGVmYXVsdE1lc3NhZ2U6IFwiUGVybWlzc2lvbnNcIiB9KSxcbiAgICAgICAgICAgIHJlbmRlckNlbGw6ICh7IHJvdyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJvdy5wZXJtaXNzaW9uc0NvdW50ID09PSBkYXRhPy5hdmFpbGFibGVQZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDaGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC51c2VyUGVybWlzc2lvbnMuYWxsUGVybWlzc2lvbnNcIiBkZWZhdWx0TWVzc2FnZT1cIkFsbCBwZXJtaXNzaW9uc1wiIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJvdy5wZXJtaXNzaW9uc0NvdW50ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2hpcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC51c2VyUGVybWlzc2lvbnMubm9QZXJtaXNzaW9uc1wiIGRlZmF1bHRNZXNzYWdlPVwiTm8gcGVybWlzc2lvbnNcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDaGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImNvbWV0LnVzZXJQZXJtaXNzaW9ucy5wZXJtaXNzaW9uc0NvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRNZXNzYWdlPVwie3Blcm1pc3Npb25zQ291bnR9IG9mIHthdmFpbGFibGVQZXJtaXNzaW9uc0NvdW50fSBwZXJtaXNzaW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9uc0NvdW50OiByb3cucGVybWlzc2lvbnNDb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGVQZXJtaXNzaW9uc0NvdW50OiBkYXRhPy5hdmFpbGFibGVQZXJtaXNzaW9ucy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6IFwic2NvcGVzSW5mb1wiLFxuICAgICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICAgIHBpbm5hYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIHNvcnRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGZpbHRlcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgaGVhZGVyTmFtZTogaW50bC5mb3JtYXRNZXNzYWdlKHsgaWQ6IFwiY29tZXQudXNlclBlcm1pc3Npb25zLmNvbnRlbnRTY29wZXNJbmZvXCIsIGRlZmF1bHRNZXNzYWdlOiBcIlNjb3Blc1wiIH0pLFxuICAgICAgICAgICAgcmVuZGVyQ2VsbDogKHsgcm93IH0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocm93LmNvbnRlbnRTY29wZXNDb3VudCA9PT0gZGF0YT8uYXZhaWxhYmxlQ29udGVudFNjb3Blcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDaGlwIGNvbG9yPVwicHJpbWFyeVwiIGxhYmVsPXs8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LnVzZXJQZXJtaXNzaW9ucy5hbGxDb250ZW50U2NvcGVzXCIgZGVmYXVsdE1lc3NhZ2U9XCJBbGwgc2NvcGVzXCIgLz59IC8+XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyb3cuY29udGVudFNjb3Blc0NvdW50ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2hpcCBjb2xvcj1cInNlY29uZGFyeVwiIGxhYmVsPXs8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LnVzZXJQZXJtaXNzaW9ucy5ub0NvbnRlbnRTY29wZXNcIiBkZWZhdWx0TWVzc2FnZT1cIk5vIHNjb3Blc1wiIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2hpcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjb21ldC51c2VyUGVybWlzc2lvbnMuY29udGVudFNjb3Blc0NvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRNZXNzYWdlPVwie2NvbnRlbnRTY29wZXNDb3VudH0gb2Yge2F2YWlsYWJsZUNvbnRlbnRTY29wZXNDb3VudH0gc2NvcGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRTY29wZXNDb3VudDogcm93LmNvbnRlbnRTY29wZXNDb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGVDb250ZW50U2NvcGVzQ291bnQ6IGRhdGE/LmF2YWlsYWJsZUNvbnRlbnRTY29wZXMubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiBcImFjdGlvbnNcIixcbiAgICAgICAgICAgIGhlYWRlck5hbWU6IFwiXCIsXG4gICAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICAgICAgICBmaWx0ZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIHR5cGU6IFwiYWN0aW9uc1wiLFxuICAgICAgICAgICAgYWxpZ246IFwicmlnaHRcIixcbiAgICAgICAgICAgIHBpbm5lZDogXCJyaWdodFwiLFxuICAgICAgICAgICAgZGlzYWJsZUV4cG9ydDogdHJ1ZSxcbiAgICAgICAgICAgIHJlbmRlckNlbGw6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0N1cnJlbnRVc2VyID0gcGFyYW1zLnJvdy5pZCA9PT0gY3VycmVudFVzZXIuaWQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0N1cnJlbnRVc2VyID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImNvbWV0LnVzZXJQZXJtaXNzaW9ucy5jYW5ub3RJbXBlcnNvbmF0ZVlvdXJzZWxmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TWVzc2FnZT1cIllvdSBjYW4ndCBpbXBlcnNvbmF0ZSB5b3Vyc2VsZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbW9uSW1wZXJzb25hdGlvbk1lc3NhZ2VzLmltcGVyc29uYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIHNwYW4gaXMgbmVlZGVkIGZvciB0aGUgdG9vbHRpcCB0byB0cmlnZ2VyIGV2ZW4gaWYgdGhlIGJ1dHRvbiBpcyBkaXNhYmxlZCovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzQ3VycmVudFVzZXIgJiYgIWlzSW1wZXJzb25hdGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNDdXJyZW50VXNlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydEltcGVyc29uYXRpb24ocGFyYW1zLnJvdy5pZC50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzQ3VycmVudFVzZXIgJiYgaXNJbXBlcnNvbmF0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcEltcGVyc29uYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW1wZXJzb25hdGVVc2VyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2tBcGkuYWN0aXZhdGVQYWdlKFwiZWRpdFwiLCBwYXJhbXMuaWQudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxFZGl0IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCB7IGRhdGEsIGxvYWRpbmcsIGVycm9yIH0gPSB1c2VRdWVyeTxHUUxVc2VyR3JpZFF1ZXJ5LCBHUUxVc2VyR3JpZFF1ZXJ5VmFyaWFibGVzPihcbiAgICAgICAgZ3FsYFxuICAgICAgICAgICAgcXVlcnkgVXNlckdyaWQoJG9mZnNldDogSW50ISwgJGxpbWl0OiBJbnQhLCAkZmlsdGVyOiBVc2VyUGVybWlzc2lvbnNVc2VyRmlsdGVyLCAkc29ydDogW1VzZXJQZXJtaXNzaW9uc1VzZXJTb3J0IV0sICRzZWFyY2g6IFN0cmluZykge1xuICAgICAgICAgICAgICAgIHVzZXJzOiB1c2VyUGVybWlzc2lvbnNVc2VycyhvZmZzZXQ6ICRvZmZzZXQsIGxpbWl0OiAkbGltaXQsIGZpbHRlcjogJGZpbHRlciwgc29ydDogJHNvcnQsIHNlYXJjaDogJHNlYXJjaCkge1xuICAgICAgICAgICAgICAgICAgICBub2RlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5Vc2VyRm9yR3JpZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRvdGFsQ291bnRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYXZhaWxhYmxlUGVybWlzc2lvbnM6IHVzZXJQZXJtaXNzaW9uc0F2YWlsYWJsZVBlcm1pc3Npb25zXG4gICAgICAgICAgICAgICAgYXZhaWxhYmxlQ29udGVudFNjb3BlczogdXNlclBlcm1pc3Npb25zQXZhaWxhYmxlQ29udGVudFNjb3Blc1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZnJhZ21lbnQgVXNlckZvckdyaWQgb24gVXNlclBlcm1pc3Npb25zVXNlciB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgZW1haWxcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uc0NvdW50XG4gICAgICAgICAgICAgICAgY29udGVudFNjb3Blc0NvdW50XG4gICAgICAgICAgICB9XG4gICAgICAgIGAsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgIC4uLm11aUdyaWRGaWx0ZXJUb0dxbChjb2x1bW5zLCBkYXRhR3JpZFByb3BzLmZpbHRlck1vZGVsKSxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IGRhdGFHcmlkUHJvcHMucGFnaW5hdGlvbk1vZGVsLnBhZ2UgKiBkYXRhR3JpZFByb3BzLnBhZ2luYXRpb25Nb2RlbC5wYWdlU2l6ZSxcbiAgICAgICAgICAgICAgICBsaW1pdDogZGF0YUdyaWRQcm9wcy5wYWdpbmF0aW9uTW9kZWwucGFnZVNpemUgPz8gMCxcbiAgICAgICAgICAgICAgICBzb3J0OiBtdWlHcmlkU29ydFRvR3FsKGRhdGFHcmlkUHJvcHMuc29ydE1vZGVsKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgKTtcblxuICAgIGlmIChlcnJvcikgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPERhdGFHcmlkPEdRTFVzZXJGb3JHcmlkRnJhZ21lbnQ+XG4gICAgICAgICAgICB7Li4uZGF0YUdyaWRQcm9wc31cbiAgICAgICAgICAgIHJvd3M9e2RhdGE/LnVzZXJzLm5vZGVzID8/IFtdfVxuICAgICAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgICAgIHJvd0NvdW50PXtkYXRhPy51c2Vycy50b3RhbENvdW50ID8/IDB9XG4gICAgICAgICAgICBsb2FkaW5nPXtsb2FkaW5nfVxuICAgICAgICAgICAgc2xvdHM9e3tcbiAgICAgICAgICAgICAgICB0b29sYmFyOiBVc2VyUGVybWlzc2lvbnNVc2VyR3JpZFRvb2xiYXIgYXMgR3JpZFNsb3RzQ29tcG9uZW50W1widG9vbGJhclwiXSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzbG90UHJvcHM9e3tcbiAgICAgICAgICAgICAgICB0b29sYmFyOiB7XG4gICAgICAgICAgICAgICAgICAgIHRvb2xiYXJBY3Rpb246IG51bGwsXG4gICAgICAgICAgICAgICAgfSBhcyBVc2VyUGVybWlzc2lvbnNVc2VyR3JpZFRvb2xiYXJQcm9wcyxcbiAgICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgKTtcbn07XG5cbmNvbnN0IE5hbWVCb3ggPSBzdHlsZWQoXCJkaXZcIikoe1xuICAgIGZvbnRXZWlnaHQ6IFwiYm9sZFwiLFxuICAgIGZvbnRTaXplOiBcInNtYWxsXCIsXG59KTtcbiJdfQ== */",
215
+ styles: "font-weight:bold;font-size:small/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91c2VyUGVybWlzc2lvbnMvVXNlckdyaWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1QZ0IiLCJmaWxlIjoiLi4vLi4vc3JjL3VzZXJQZXJtaXNzaW9ucy9Vc2VyR3JpZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBncWwsIHVzZVF1ZXJ5IH0gZnJvbSBcIkBhcG9sbG8vY2xpZW50XCI7XG5pbXBvcnQge1xuICAgIERhdGFHcmlkVG9vbGJhcixcbiAgICBGaWxsU3BhY2UsXG4gICAgdHlwZSBHcmlkQ29sRGVmLFxuICAgIEdyaWRGaWx0ZXJCdXR0b24sXG4gICAgbXVpR3JpZEZpbHRlclRvR3FsLFxuICAgIG11aUdyaWRTb3J0VG9HcWwsXG4gICAgU3RhY2tTd2l0Y2hBcGlDb250ZXh0LFxuICAgIHVzZURhdGFHcmlkUmVtb3RlLFxuICAgIHVzZVBlcnNpc3RlbnRDb2x1bW5TdGF0ZSxcbn0gZnJvbSBcIkBjb21ldC9hZG1pblwiO1xuaW1wb3J0IHsgRWRpdCB9IGZyb20gXCJAY29tZXQvYWRtaW4taWNvbnNcIjtcbmltcG9ydCB7IENoaXAsIEljb25CdXR0b24sIFR5cG9ncmFwaHkgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgeyBEYXRhR3JpZCwgdHlwZSBHcmlkUmVuZGVyQ2VsbFBhcmFtcywgR3JpZFRvb2xiYXJRdWlja0ZpbHRlciB9IGZyb20gXCJAbXVpL3gtZGF0YS1ncmlkXCI7XG5pbXBvcnQgdHlwZSB7IEdyaWRUb29sYmFyUHJvcHMgfSBmcm9tIFwiQG11aS94LWRhdGEtZ3JpZC9jb21wb25lbnRzL3Rvb2xiYXIvR3JpZFRvb2xiYXJcIjtcbmltcG9ydCB7IHR5cGUgR3JpZFNsb3RzQ29tcG9uZW50IH0gZnJvbSBcIkBtdWkveC1kYXRhLWdyaWQvbW9kZWxzL2dyaWRTbG90c0NvbXBvbmVudFwiO1xuaW1wb3J0IHsgdHlwZSBSZWFjdE5vZGUsIHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEZvcm1hdHRlZE1lc3NhZ2UsIHVzZUludGwgfSBmcm9tIFwicmVhY3QtaW50bFwiO1xuXG5pbXBvcnQgeyB1c2VVc2VyUGVybWlzc2lvbkNoZWNrIH0gZnJvbSBcIi4vaG9va3MvY3VycmVudFVzZXJcIjtcbmltcG9ydCB7XG4gICAgdHlwZSBHUUxVc2VyQXZhaWxhYmxlUGVybWlzc2lvbnNBbmRDb250ZW50U2NvcGVzUXVlcnksXG4gICAgdHlwZSBHUUxVc2VyRm9yR3JpZEZyYWdtZW50LFxuICAgIHR5cGUgR1FMVXNlckdyaWRRdWVyeSxcbiAgICB0eXBlIEdRTFVzZXJHcmlkUXVlcnlWYXJpYWJsZXMsXG59IGZyb20gXCIuL1VzZXJHcmlkLmdlbmVyYXRlZFwiO1xuXG5pbnRlcmZhY2UgVXNlclBlcm1pc3Npb25zVXNlckdyaWRUb29sYmFyUHJvcHMgZXh0ZW5kcyBHcmlkVG9vbGJhclByb3BzIHtcbiAgICB0b29sYmFyQWN0aW9uPzogUmVhY3ROb2RlO1xufVxuZnVuY3Rpb24gVXNlclBlcm1pc3Npb25zVXNlckdyaWRUb29sYmFyKHsgdG9vbGJhckFjdGlvbiB9OiBVc2VyUGVybWlzc2lvbnNVc2VyR3JpZFRvb2xiYXJQcm9wcykge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxEYXRhR3JpZFRvb2xiYXI+XG4gICAgICAgICAgICA8R3JpZFRvb2xiYXJRdWlja0ZpbHRlciAvPlxuICAgICAgICAgICAgPEdyaWRGaWx0ZXJCdXR0b24gLz5cbiAgICAgICAgICAgIDxGaWxsU3BhY2UgLz5cbiAgICAgICAgICAgIHt0b29sYmFyQWN0aW9uICYmIDw+e3Rvb2xiYXJBY3Rpb259PC8+fVxuICAgICAgICA8L0RhdGFHcmlkVG9vbGJhcj5cbiAgICApO1xufVxudHlwZSBQcm9wcyA9IHtcbiAgICB0b29sYmFyQWN0aW9uPzogUmVhY3ROb2RlO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcm93QWN0aW9uPzogKHBhcmFtczogR3JpZFJlbmRlckNlbGxQYXJhbXM8YW55LCBHUUxVc2VyRm9yR3JpZEZyYWdtZW50LCBhbnk+KSA9PiBSZWFjdE5vZGU7XG4gICAgYWN0aW9uc0NvbHVtbldpZHRoPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IGNvbnN0IFVzZXJQZXJtaXNzaW9uc1VzZXJHcmlkID0gKHsgdG9vbGJhckFjdGlvbiwgcm93QWN0aW9uLCBhY3Rpb25zQ29sdW1uV2lkdGggPSA1MiB9OiBQcm9wcykgPT4ge1xuICAgIGNvbnN0IGRhdGFHcmlkUHJvcHMgPSB7IC4uLnVzZURhdGFHcmlkUmVtb3RlKCksIC4uLnVzZVBlcnNpc3RlbnRDb2x1bW5TdGF0ZShcIlVzZXJQZXJtaXNzaW9uc1VzZXJHcmlkXCIpIH07XG4gICAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgICBjb25zdCBzdGFja0FwaSA9IHVzZUNvbnRleHQoU3RhY2tTd2l0Y2hBcGlDb250ZXh0KTtcbiAgICBjb25zdCBpc0FsbG93ZWQgPSB1c2VVc2VyUGVybWlzc2lvbkNoZWNrKCk7XG5cbiAgICBjb25zdCBjb2x1bW5zOiBHcmlkQ29sRGVmPEdRTFVzZXJGb3JHcmlkRnJhZ21lbnQ+W10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiBcIm5hbWVcIixcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBwaW5uYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoZWFkZXJOYW1lOiBpbnRsLmZvcm1hdE1lc3NhZ2UoeyBpZDogXCJjb21ldC51c2VyUGVybWlzc2lvbnMubmFtZVwiLCBkZWZhdWx0TWVzc2FnZTogXCJOYW1lXCIgfSksXG4gICAgICAgICAgICByZW5kZXJDZWxsOiAoeyByb3cgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxOYW1lQm94PlxuICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT57cm93Lm5hbWV9PC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgIDwvTmFtZUJveD5cbiAgICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiBcImVtYWlsXCIsXG4gICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgcGlubmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgaGVhZGVyTmFtZTogaW50bC5mb3JtYXRNZXNzYWdlKHsgaWQ6IFwiY29tZXQudXNlclBlcm1pc3Npb25zLmVtYWlsXCIsIGRlZmF1bHRNZXNzYWdlOiBcIkUtTWFpbFwiIH0pLFxuICAgICAgICB9LFxuICAgIF07XG4gICAgaWYgKGlzQWxsb3dlZChcInVzZXJQZXJtaXNzaW9uc1wiKSkge1xuICAgICAgICBjb2x1bW5zLnB1c2goXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwicGVybWlzc2lvbnNJbmZvXCIsXG4gICAgICAgICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICAgICAgICBwaW5uYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGZpbHRlcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6IGludGwuZm9ybWF0TWVzc2FnZSh7IGlkOiBcImNvbWV0LnVzZXJQZXJtaXNzaW9ucy5wZXJtaXNzaW9uc0luZm9cIiwgZGVmYXVsdE1lc3NhZ2U6IFwiUGVybWlzc2lvbnNcIiB9KSxcbiAgICAgICAgICAgICAgICByZW5kZXJDZWxsOiAoeyByb3cgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocm93LnBlcm1pc3Npb25zQ291bnQgPT09IGF2YWlsYWJsZVBlcm1pc3Npb25zQW5kQ29udGVudFNjb3Blcz8ucGVybWlzc2lvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXs8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LnVzZXJQZXJtaXNzaW9ucy5hbGxQZXJtaXNzaW9uc1wiIGRlZmF1bHRNZXNzYWdlPVwiQWxsIHBlcm1pc3Npb25zXCIgLz59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocm93LnBlcm1pc3Npb25zQ291bnQgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoaXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC51c2VyUGVybWlzc2lvbnMubm9QZXJtaXNzaW9uc1wiIGRlZmF1bHRNZXNzYWdlPVwiTm8gcGVybWlzc2lvbnNcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoaXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImNvbWV0LnVzZXJQZXJtaXNzaW9ucy5wZXJtaXNzaW9uc0NvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TWVzc2FnZT1cIntwZXJtaXNzaW9uc0NvdW50fSBvZiB7YXZhaWxhYmxlUGVybWlzc2lvbnNDb3VudH0gcGVybWlzc2lvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9uc0NvdW50OiByb3cucGVybWlzc2lvbnNDb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlUGVybWlzc2lvbnNDb3VudDogYXZhaWxhYmxlUGVybWlzc2lvbnNBbmRDb250ZW50U2NvcGVzPy5wZXJtaXNzaW9ucy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcInNjb3Blc0luZm9cIixcbiAgICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICAgIHBpbm5hYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgZmlsdGVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogaW50bC5mb3JtYXRNZXNzYWdlKHsgaWQ6IFwiY29tZXQudXNlclBlcm1pc3Npb25zLmNvbnRlbnRTY29wZXNJbmZvXCIsIGRlZmF1bHRNZXNzYWdlOiBcIlNjb3Blc1wiIH0pLFxuICAgICAgICAgICAgICAgIHJlbmRlckNlbGw6ICh7IHJvdyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyb3cuY29udGVudFNjb3Blc0NvdW50ID09PSBhdmFpbGFibGVQZXJtaXNzaW9uc0FuZENvbnRlbnRTY29wZXM/LmNvbnRlbnRTY29wZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXs8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LnVzZXJQZXJtaXNzaW9ucy5hbGxDb250ZW50U2NvcGVzXCIgZGVmYXVsdE1lc3NhZ2U9XCJBbGwgc2NvcGVzXCIgLz59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocm93LmNvbnRlbnRTY29wZXNDb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hpcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXs8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LnVzZXJQZXJtaXNzaW9ucy5ub0NvbnRlbnRTY29wZXNcIiBkZWZhdWx0TWVzc2FnZT1cIk5vIHNjb3Blc1wiIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hpcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiY29tZXQudXNlclBlcm1pc3Npb25zLmNvbnRlbnRTY29wZXNDb3VudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdE1lc3NhZ2U9XCJ7Y29udGVudFNjb3Blc0NvdW50fSBvZiB7YXZhaWxhYmxlQ29udGVudFNjb3Blc0NvdW50fSBzY29wZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50U2NvcGVzQ291bnQ6IHJvdy5jb250ZW50U2NvcGVzQ291bnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZUNvbnRlbnRTY29wZXNDb3VudDogYXZhaWxhYmxlUGVybWlzc2lvbnNBbmRDb250ZW50U2NvcGVzPy5jb250ZW50U2NvcGVzLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuICAgIGNvbHVtbnMucHVzaCh7XG4gICAgICAgIGZpZWxkOiBcImFjdGlvbnNcIixcbiAgICAgICAgaGVhZGVyTmFtZTogXCJcIixcbiAgICAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAgICBmaWx0ZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJhY3Rpb25zXCIsXG4gICAgICAgIGFsaWduOiBcInJpZ2h0XCIsXG4gICAgICAgIHBpbm5lZDogXCJyaWdodFwiLFxuICAgICAgICBkaXNhYmxlRXhwb3J0OiB0cnVlLFxuICAgICAgICByZW5kZXJDZWxsOiAocGFyYW1zKSA9PiAoXG4gICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3RhY2tBcGkuYWN0aXZhdGVQYWdlKFwiZWRpdFwiLCBwYXJhbXMuaWQudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0IC8+XG4gICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICksXG4gICAgfSk7XG5cbiAgICBjb25zdCB7IGRhdGEsIGxvYWRpbmcsIGVycm9yIH0gPSB1c2VRdWVyeTxHUUxVc2VyR3JpZFF1ZXJ5LCBHUUxVc2VyR3JpZFF1ZXJ5VmFyaWFibGVzPihcbiAgICAgICAgZ3FsYFxuICAgICAgICAgICAgcXVlcnkgVXNlckdyaWQoJG9mZnNldDogSW50ISwgJGxpbWl0OiBJbnQhLCAkZmlsdGVyOiBVc2VyUGVybWlzc2lvbnNVc2VyRmlsdGVyLCAkc29ydDogW1VzZXJQZXJtaXNzaW9uc1VzZXJTb3J0IV0sICRzZWFyY2g6IFN0cmluZykge1xuICAgICAgICAgICAgICAgIHVzZXJzOiB1c2VyUGVybWlzc2lvbnNVc2VycyhvZmZzZXQ6ICRvZmZzZXQsIGxpbWl0OiAkbGltaXQsIGZpbHRlcjogJGZpbHRlciwgc29ydDogJHNvcnQsIHNlYXJjaDogJHNlYXJjaCkge1xuICAgICAgICAgICAgICAgICAgICBub2RlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5Vc2VyRm9yR3JpZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRvdGFsQ291bnRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmcmFnbWVudCBVc2VyRm9yR3JpZCBvbiBVc2VyUGVybWlzc2lvbnNVc2VyIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICBlbWFpbFxuICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zQ291bnRcbiAgICAgICAgICAgICAgICBjb250ZW50U2NvcGVzQ291bnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgYCxcbiAgICAgICAge1xuICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgLi4ubXVpR3JpZEZpbHRlclRvR3FsKGNvbHVtbnMsIGRhdGFHcmlkUHJvcHMuZmlsdGVyTW9kZWwpLFxuICAgICAgICAgICAgICAgIG9mZnNldDogZGF0YUdyaWRQcm9wcy5wYWdpbmF0aW9uTW9kZWwucGFnZSAqIGRhdGFHcmlkUHJvcHMucGFnaW5hdGlvbk1vZGVsLnBhZ2VTaXplLFxuICAgICAgICAgICAgICAgIGxpbWl0OiBkYXRhR3JpZFByb3BzLnBhZ2luYXRpb25Nb2RlbC5wYWdlU2l6ZSA/PyAwLFxuICAgICAgICAgICAgICAgIHNvcnQ6IG11aUdyaWRTb3J0VG9HcWwoZGF0YUdyaWRQcm9wcy5zb3J0TW9kZWwpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgeyBkYXRhOiBhdmFpbGFibGVQZXJtaXNzaW9uc0FuZENvbnRlbnRTY29wZXMgfSA9IHVzZVF1ZXJ5PEdRTFVzZXJBdmFpbGFibGVQZXJtaXNzaW9uc0FuZENvbnRlbnRTY29wZXNRdWVyeT4oXG4gICAgICAgIGdxbGBcbiAgICAgICAgICAgIHF1ZXJ5IFVzZXJBdmFpbGFibGVQZXJtaXNzaW9uc0FuZENvbnRlbnRTY29wZXMge1xuICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zOiB1c2VyUGVybWlzc2lvbnNBdmFpbGFibGVQZXJtaXNzaW9uc1xuICAgICAgICAgICAgICAgIGNvbnRlbnRTY29wZXM6IHVzZXJQZXJtaXNzaW9uc0F2YWlsYWJsZUNvbnRlbnRTY29wZXMge1xuICAgICAgICAgICAgICAgICAgICBzY29wZVxuICAgICAgICAgICAgICAgICAgICBsYWJlbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgYCxcbiAgICAgICAgeyBza2lwOiAhaXNBbGxvd2VkKFwidXNlclBlcm1pc3Npb25zXCIpIH0sXG4gICAgKTtcblxuICAgIGlmIChlcnJvcikgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPERhdGFHcmlkPEdRTFVzZXJGb3JHcmlkRnJhZ21lbnQ+XG4gICAgICAgICAgICB7Li4uZGF0YUdyaWRQcm9wc31cbiAgICAgICAgICAgIHJvd3M9e2RhdGE/LnVzZXJzLm5vZGVzID8/IFtdfVxuICAgICAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgICAgIHJvd0NvdW50PXtkYXRhPy51c2Vycy50b3RhbENvdW50ID8/IDB9XG4gICAgICAgICAgICBsb2FkaW5nPXtsb2FkaW5nfVxuICAgICAgICAgICAgc2xvdHM9e3tcbiAgICAgICAgICAgICAgICB0b29sYmFyOiBVc2VyUGVybWlzc2lvbnNVc2VyR3JpZFRvb2xiYXIgYXMgR3JpZFNsb3RzQ29tcG9uZW50W1widG9vbGJhclwiXSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzbG90UHJvcHM9e3tcbiAgICAgICAgICAgICAgICB0b29sYmFyOiB7XG4gICAgICAgICAgICAgICAgICAgIHRvb2xiYXJBY3Rpb246IHRvb2xiYXJBY3Rpb24sXG4gICAgICAgICAgICAgICAgfSBhcyBVc2VyUGVybWlzc2lvbnNVc2VyR3JpZFRvb2xiYXJQcm9wcyxcbiAgICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgKTtcbn07XG5cbmNvbnN0IE5hbWVCb3ggPSBzdHlsZWQoXCJkaXZcIikoe1xuICAgIGZvbnRXZWlnaHQ6IFwiYm9sZFwiLFxuICAgIGZvbnRTaXplOiBcInNtYWxsXCIsXG59KTtcbiJdfQ== */",
233
216
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
234
217
  });
@@ -1 +1 @@
1
- {"version":3,"file":"UserPermissionsPage.d.ts","sourceRoot":"","sources":["../../src/userPermissions/UserPermissionsPage.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,mBAAmB,+CAuC/B,CAAC"}
1
+ {"version":3,"file":"UserPermissionsPage.d.ts","sourceRoot":"","sources":["../../src/userPermissions/UserPermissionsPage.tsx"],"names":[],"mappings":"AAeA,eAAO,MAAM,mBAAmB,+CA+C/B,CAAC"}
@@ -8,13 +8,25 @@ var _admin = require("@comet/admin");
8
8
  var _adminIcons = require("@comet/admin-icons");
9
9
  var _material = require("@mui/material");
10
10
  var _reactIntl = require("react-intl");
11
+ var _reactRouter = require("react-router");
11
12
  var _ContentScopeIndicator = require("../contentScope/ContentScopeIndicator");
13
+ var _Provider = require("../contentScope/Provider");
14
+ var _useContentScopeConfig = require("../contentScope/useContentScopeConfig");
15
+ var _currentUser = require("./hooks/currentUser");
12
16
  var _UserBasicData = require("./user/basicData/UserBasicData");
13
17
  var _PermissionsPanel = require("./user/permissions/PermissionsPanel");
14
18
  var _UserPageToolbar = require("./user/UserPageToolbar");
15
19
  var _UserGrid = require("./UserGrid");
16
20
  var _jsxRuntime = require("react/jsx-runtime");
17
21
  var UserPermissionsPage = exports.UserPermissionsPage = function UserPermissionsPage() {
22
+ var isAllowed = (0, _currentUser.useUserPermissionCheck)();
23
+ var _useContentScope = (0, _Provider.useContentScope)(),
24
+ match = _useContentScope.match;
25
+ var routeMatch = (0, _reactRouter.useRouteMatch)();
26
+ var location = routeMatch.url.replace(match.url, "");
27
+ (0, _useContentScopeConfig.useContentScopeConfig)({
28
+ redirectPathAfterChange: location
29
+ });
18
30
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_admin.Stack, {
19
31
  topLevelTitle: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
20
32
  id: "comet.userPermissions.title",
@@ -63,7 +75,7 @@ var UserPermissionsPage = exports.UserPermissionsPage = function UserPermissions
63
75
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_UserBasicData.UserPermissionsUserPageBasicDataPanel, {
64
76
  userId: userId
65
77
  })
66
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_admin.RouterTab, {
78
+ }), isAllowed("userPermissions") && /*#__PURE__*/(0, _jsxRuntime.jsx)(_admin.RouterTab, {
67
79
  path: "/permissions",
68
80
  label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
69
81
  id: "comet.userPermissions.permissions",
@@ -1,22 +1,29 @@
1
1
  import { type PropsWithChildren } from "react";
2
- import { type ContentScopeInterface } from "../../contentScope/Provider";
3
- import { type GQLCurrentUserPermission } from "../../graphql.generated";
2
+ import { type ContentScope } from "../../contentScope/Provider";
4
3
  type CurrentUserContext = {
5
4
  currentUser: CurrentUserInterface;
6
- isAllowed: (user: CurrentUserInterface, permission: string, contentScope?: ContentScopeInterface) => boolean;
5
+ isAllowed: (user: CurrentUserInterface, permission: string, contentScope?: ContentScope) => boolean;
7
6
  };
8
7
  export declare const CurrentUserContext: import("react").Context<CurrentUserContext | undefined>;
9
8
  export interface CurrentUserInterface {
10
9
  id: string;
11
10
  name: string;
12
11
  email: string;
13
- permissions: GQLCurrentUserPermission[];
12
+ impersonated: boolean;
14
13
  authenticatedUser: {
15
14
  name: string;
16
15
  email: string;
17
16
  } | null;
18
- allowedContentScopes: ContentScopeInterface[];
19
- impersonated: boolean;
17
+ permissions: {
18
+ permission: string;
19
+ contentScopes: ContentScope[];
20
+ }[];
21
+ allowedContentScopes: {
22
+ scope: ContentScope;
23
+ label: {
24
+ [key in keyof ContentScope]: string;
25
+ };
26
+ }[];
20
27
  }
21
28
  export declare const CurrentUserProvider: ({ isAllowed, children }: PropsWithChildren<{
22
29
  isAllowed?: CurrentUserContext["isAllowed"];
@@ -1 +1 @@
1
- {"version":3,"file":"currentUser.d.ts","sourceRoot":"","sources":["../../../src/userPermissions/hooks/currentUser.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAE1E,OAAO,EAAE,KAAK,qBAAqB,EAAmB,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGxE,KAAK,kBAAkB,GAAG;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,SAAS,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC;CAChH,CAAC;AACF,eAAO,MAAM,kBAAkB,yDAA2D,CAAC;AAE3F,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,wBAAwB,EAAE,CAAC;IACxC,iBAAiB,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,oBAAoB,EAAE,qBAAqB,EAAE,CAAC;IAC9C,YAAY,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,mBAAmB,4BAA6B,iBAAiB,CAAC;IAAE,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC,4CA8C9H,CAAC;AAEF,wBAAgB,cAAc,IAAI,oBAAoB,CAIrD;AAED,wBAAgB,sBAAsB,IAAI,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAKxE"}
1
+ {"version":3,"file":"currentUser.d.ts","sourceRoot":"","sources":["../../../src/userPermissions/hooks/currentUser.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAE1E,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,6BAA6B,CAAC;AAGjF,KAAK,kBAAkB,GAAG;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,SAAS,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;CACvG,CAAC;AACF,eAAO,MAAM,kBAAkB,yDAA2D,CAAC;AAE3F,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,WAAW,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,YAAY,EAAE,CAAC;KACjC,EAAE,CAAC;IACJ,oBAAoB,EAAE;QAClB,KAAK,EAAE,YAAY,CAAC;QACpB,KAAK,EAAE;aAAG,GAAG,IAAI,MAAM,YAAY,GAAG,MAAM;SAAE,CAAC;KAClD,EAAE,CAAC;CACP;AAED,eAAO,MAAM,mBAAmB,4BAA6B,iBAAiB,CAAC;IAAE,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC,4CAqD9H,CAAC;AAEF,wBAAgB,cAAc,IAAI,oBAAoB,CAIrD;AAED,wBAAgB,sBAAsB,IAAI,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAKxE"}
@@ -25,6 +25,11 @@ export type GQLCurrentUserQuery = {
25
25
  permission: string;
26
26
  contentScopes: Array<any>;
27
27
  }>;
28
+ allowedContentScopes: Array<{
29
+ __typename?: 'ContentScopeWithLabel';
30
+ scope: any;
31
+ label: any;
32
+ }>;
28
33
  };
29
34
  };
30
35
  //# sourceMappingURL=currentUser.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"currentUser.generated.d.ts","sourceRoot":"","sources":["../../../src/userPermissions/hooks/currentUser.generated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,eAAO,MAAM,eAAe;;;;CAI3B,CAAA;AACD,MAAM,MAAM,4BAA4B,GAAG,KAAK,CAAC,KAAK,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;CAAE,CAAC,CAAC;AAGlF,MAAM,MAAM,mBAAmB,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE;QAAE,UAAU,CAAC,EAAE,aAAa,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,iBAAiB,EAAE;YAAE,UAAU,CAAC,EAAE,qBAAqB,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,KAAK,CAAC;YAAE,UAAU,CAAC,EAAE,uBAAuB,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;SAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"currentUser.generated.d.ts","sourceRoot":"","sources":["../../../src/userPermissions/hooks/currentUser.generated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,eAAO,MAAM,eAAe;;;;CAI3B,CAAA;AACD,MAAM,MAAM,4BAA4B,GAAG,KAAK,CAAC,KAAK,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;CAAE,CAAC,CAAC;AAGlF,MAAM,MAAM,mBAAmB,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE;QAAE,UAAU,CAAC,EAAE,aAAa,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,iBAAiB,EAAE;YAAE,UAAU,CAAC,EAAE,qBAAqB,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,KAAK,CAAC;YAAE,UAAU,CAAC,EAAE,uBAAuB,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;SAAE,CAAC,CAAC;QAAC,oBAAoB,EAAE,KAAK,CAAC;YAAE,UAAU,CAAC,EAAE,uBAAuB,CAAC;YAAC,KAAK,EAAE,GAAG,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -9,27 +8,24 @@ exports.useCurrentUser = useCurrentUser;
9
8
  exports.useUserPermissionCheck = useUserPermissionCheck;
10
9
  var _client = require("@apollo/client");
11
10
  var _admin = require("@comet/admin");
11
+ var _lodash = _interopRequireDefault(require("lodash.omit"));
12
12
  var _react = require("react");
13
13
  var _Provider = require("../../contentScope/Provider");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  var _templateObject;
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
16
17
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
17
18
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
19
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
19
20
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
20
21
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
21
22
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
22
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
25
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
26
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
27
23
  function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
28
24
  var CurrentUserContext = exports.CurrentUserContext = /*#__PURE__*/(0, _react.createContext)(undefined);
29
25
  var CurrentUserProvider = exports.CurrentUserProvider = function CurrentUserProvider(_ref) {
30
26
  var isAllowed = _ref.isAllowed,
31
27
  children = _ref.children;
32
- var _useQuery = (0, _client.useQuery)((0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query CurrentUser {\n currentUser {\n id\n name\n email\n authenticatedUser {\n name\n email\n }\n permissions {\n permission\n contentScopes\n }\n impersonated\n }\n }\n "])))),
28
+ var _useQuery = (0, _client.useQuery)((0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query CurrentUser {\n currentUser {\n id\n name\n email\n impersonated\n authenticatedUser {\n name\n email\n }\n permissions {\n permission\n contentScopes\n }\n allowedContentScopes {\n scope\n label\n }\n }\n }\n "])))),
33
29
  data = _useQuery.data,
34
30
  error = _useQuery.error;
35
31
  if (error) {
@@ -41,13 +37,19 @@ var CurrentUserProvider = exports.CurrentUserProvider = function CurrentUserProv
41
37
  behavior: "fillPageHeight"
42
38
  });
43
39
  var context = {
44
- currentUser: _objectSpread(_objectSpread({}, data.currentUser), {}, {
45
- impersonated: !!data.currentUser.impersonated,
46
- authenticatedUser: data.currentUser.authenticatedUser,
47
- allowedContentScopes: data.currentUser.permissions.flatMap(function (p) {
48
- return p.contentScopes;
49
- })
50
- }),
40
+ currentUser: {
41
+ id: data.currentUser.id,
42
+ name: data.currentUser.name,
43
+ email: data.currentUser.email,
44
+ permissions: data.currentUser.permissions.map(function (p) {
45
+ return (0, _lodash["default"])(p, "__typename");
46
+ }),
47
+ authenticatedUser: data.currentUser.authenticatedUser && (0, _lodash["default"])(data.currentUser.authenticatedUser, "__typename"),
48
+ allowedContentScopes: data.currentUser.allowedContentScopes.map(function (acs) {
49
+ return (0, _lodash["default"])(acs, "__typename");
50
+ }),
51
+ impersonated: !!data.currentUser.impersonated
52
+ },
51
53
  isAllowed: isAllowed !== null && isAllowed !== void 0 ? isAllowed : function (user, permission, contentScope) {
52
54
  if (user.email === undefined) return false;
53
55
  return user.permissions.some(function (p) {
@@ -1 +1 @@
1
- {"version":3,"file":"ImpersonationButtons.d.ts","sourceRoot":"","sources":["../../../src/userPermissions/user/ImpersonationButtons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAMzD,eAAO,MAAM,uBAAuB,gBAAiB,WAAW,4CAW/D,CAAC;AAEF,eAAO,MAAM,wBAAwB,eAAgB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,mDAuBtE,CAAC"}
1
+ {"version":3,"file":"ImpersonationButtons.d.ts","sourceRoot":"","sources":["../../../src/userPermissions/user/ImpersonationButtons.tsx"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAMzD,eAAO,MAAM,uBAAuB,gBAAiB,WAAW,4CAW/D,CAAC;AAEF,eAAO,MAAM,wBAAwB,eAAgB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,mDAuBtE,CAAC"}
@@ -18,7 +18,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
18
18
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
19
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
20
20
  function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
21
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
21
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } // eslint-disable-next-line no-restricted-imports
22
22
  var StopImpersonationButton = exports.StopImpersonationButton = function StopImpersonationButton(buttonProps) {
23
23
  var stopImpersonation = /*#__PURE__*/function () {
24
24
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
@@ -1 +1 @@
1
- {"version":3,"file":"UserPageToolbar.d.ts","sourceRoot":"","sources":["../../../src/userPermissions/user/UserPageToolbar.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,8BAA8B,eAAgB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,4CAwD5E,CAAC"}
1
+ {"version":3,"file":"UserPageToolbar.d.ts","sourceRoot":"","sources":["../../../src/userPermissions/user/UserPageToolbar.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,8BAA8B,eAAgB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,4CAyD5E,CAAC"}
@@ -13,6 +13,7 @@ export type GQLUserPageQuery = {
13
13
  __typename?: 'UserPermissionsUser';
14
14
  name: string;
15
15
  email: string;
16
+ impersonationAllowed: boolean;
16
17
  };
17
18
  };
18
19
  //# sourceMappingURL=UserPageToolbar.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserPageToolbar.generated.d.ts","sourceRoot":"","sources":["../../../src/userPermissions/user/UserPageToolbar.generated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,eAAO,MAAM,eAAe;;;;CAI3B,CAAA;AACD,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,KAAK,CAAC;IAClD,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CACtC,CAAC,CAAC;AAGH,MAAM,MAAM,gBAAgB,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,qBAAqB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"UserPageToolbar.generated.d.ts","sourceRoot":"","sources":["../../../src/userPermissions/user/UserPageToolbar.generated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,eAAO,MAAM,eAAe;;;;CAI3B,CAAA;AACD,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,KAAK,CAAC;IAClD,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CACtC,CAAC,CAAC;AAGH,MAAM,MAAM,gBAAgB,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,qBAAqB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC"}