@replyke/core 7.0.1 → 7.0.3-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/cjs/hooks/collections/useCollectionEntitiesWrapper.js +9 -10
  2. package/dist/cjs/hooks/collections/useCollectionEntitiesWrapper.js.map +1 -1
  3. package/dist/cjs/hooks/collections/useCollections.d.ts +2 -1
  4. package/dist/cjs/hooks/collections/useCollections.js +11 -6
  5. package/dist/cjs/hooks/collections/useCollections.js.map +1 -1
  6. package/dist/cjs/hooks/collections/useCollectionsActions.d.ts +3 -2
  7. package/dist/cjs/hooks/collections/useCollectionsActions.js +22 -11
  8. package/dist/cjs/hooks/collections/useCollectionsActions.js.map +1 -1
  9. package/dist/cjs/hooks/space-lists/useSpaceListActions.js +3 -3
  10. package/dist/cjs/hooks/space-lists/useSpaceListActions.js.map +1 -1
  11. package/dist/cjs/hooks/spaces/useSpacePermissions.js +9 -27
  12. package/dist/cjs/hooks/spaces/useSpacePermissions.js.map +1 -1
  13. package/dist/cjs/store/api/spacesApi.d.ts +207 -206
  14. package/dist/cjs/store/api/spacesApi.js +1 -1
  15. package/dist/cjs/store/api/spacesApi.js.map +1 -1
  16. package/dist/cjs/store/slices/collectionsSlice.d.ts +8180 -1
  17. package/dist/cjs/store/slices/collectionsSlice.js +46 -2
  18. package/dist/cjs/store/slices/collectionsSlice.js.map +1 -1
  19. package/dist/esm/hooks/collections/useCollectionEntitiesWrapper.js +9 -10
  20. package/dist/esm/hooks/collections/useCollectionEntitiesWrapper.js.map +1 -1
  21. package/dist/esm/hooks/collections/useCollections.d.ts +2 -1
  22. package/dist/esm/hooks/collections/useCollections.js +11 -6
  23. package/dist/esm/hooks/collections/useCollections.js.map +1 -1
  24. package/dist/esm/hooks/collections/useCollectionsActions.d.ts +3 -2
  25. package/dist/esm/hooks/collections/useCollectionsActions.js +25 -14
  26. package/dist/esm/hooks/collections/useCollectionsActions.js.map +1 -1
  27. package/dist/esm/hooks/space-lists/useSpaceListActions.js +3 -3
  28. package/dist/esm/hooks/space-lists/useSpaceListActions.js.map +1 -1
  29. package/dist/esm/hooks/spaces/useSpacePermissions.js +9 -27
  30. package/dist/esm/hooks/spaces/useSpacePermissions.js.map +1 -1
  31. package/dist/esm/store/api/spacesApi.d.ts +207 -206
  32. package/dist/esm/store/api/spacesApi.js +1 -1
  33. package/dist/esm/store/api/spacesApi.js.map +1 -1
  34. package/dist/esm/store/slices/collectionsSlice.d.ts +8180 -1
  35. package/dist/esm/store/slices/collectionsSlice.js +44 -1
  36. package/dist/esm/store/slices/collectionsSlice.js.map +1 -1
  37. package/package.json +1 -1
@@ -8,14 +8,17 @@ const collectionsApi_1 = require("../../store/api/collectionsApi");
8
8
  const handleError_1 = require("../../utils/handleError");
9
9
  const useProject_1 = __importDefault(require("../projects/useProject"));
10
10
  const useCollections_1 = __importDefault(require("./useCollections"));
11
+ const hooks_1 = require("../../store/hooks");
12
+ const collectionsSlice_1 = require("../../store/slices/collectionsSlice");
11
13
  function useCollectionEntitiesWrapper(props) {
12
14
  const { collectionId: passedCollectionId, limit = 20, defaultSortBy = "added", defaultSortDir = "desc", include, } = props;
15
+ const dispatch = (0, hooks_1.useReplykeDispatch)();
13
16
  const { projectId } = (0, useProject_1.default)();
14
17
  const { currentCollection } = (0, useCollections_1.default)();
15
18
  const [fetchCollectionEntitiesQuery] = (0, collectionsApi_1.useLazyFetchCollectionEntitiesQuery)();
16
- // Use passed collectionId if provided, otherwise default to current collection
17
19
  const effectiveCollectionId = passedCollectionId ?? currentCollection?.id;
18
- // Serialize include to stable string to prevent infinite loops from array reference changes
20
+ // Read entities from shared Redux state written here and by useCollectionsActions for optimistic updates
21
+ const entities = (0, hooks_1.useReplykeSelector)((0, collectionsSlice_1.selectCollectionEntities)(effectiveCollectionId));
19
22
  const includeString = (0, react_1.useMemo)(() => (Array.isArray(include) ? include.join(",") : include), [include]);
20
23
  const loading = (0, react_1.useRef)(false);
21
24
  const [loadingState, setLoadingState] = (0, react_1.useState)(false);
@@ -24,8 +27,6 @@ function useCollectionEntitiesWrapper(props) {
24
27
  const [sortBy, setSortBy] = (0, react_1.useState)(defaultSortBy);
25
28
  const [sortDir, setSortDir] = (0, react_1.useState)(defaultSortDir);
26
29
  const [page, setPage] = (0, react_1.useState)(1);
27
- const [entities, setEntities] = (0, react_1.useState)([]);
28
- // Reset entities when filters or collection change
29
30
  const resetEntities = (0, react_1.useCallback)(async () => {
30
31
  if (!projectId || !effectiveCollectionId) {
31
32
  return;
@@ -47,7 +48,7 @@ function useCollectionEntitiesWrapper(props) {
47
48
  }).unwrap();
48
49
  if (response) {
49
50
  const { data: newEntities, pagination } = response;
50
- setEntities(newEntities);
51
+ dispatch((0, collectionsSlice_1.setCollectionEntities)({ collectionId: effectiveCollectionId, entities: newEntities }));
51
52
  hasMore.current = pagination.hasMore;
52
53
  setHasMoreState(pagination.hasMore);
53
54
  }
@@ -60,6 +61,7 @@ function useCollectionEntitiesWrapper(props) {
60
61
  setLoadingState(false);
61
62
  }
62
63
  }, [
64
+ dispatch,
63
65
  fetchCollectionEntitiesQuery,
64
66
  projectId,
65
67
  effectiveCollectionId,
@@ -68,17 +70,14 @@ function useCollectionEntitiesWrapper(props) {
68
70
  sortDir,
69
71
  includeString,
70
72
  ]);
71
- // Load more entities
72
73
  const loadMore = (0, react_1.useCallback)(() => {
73
74
  if (loading.current || !hasMore.current)
74
75
  return;
75
76
  setPage((prevPage) => prevPage + 1);
76
77
  }, []);
77
- // Initial load
78
78
  (0, react_1.useEffect)(() => {
79
79
  resetEntities();
80
80
  }, [resetEntities]);
81
- // Load more pages
82
81
  (0, react_1.useEffect)(() => {
83
82
  const loadMoreEntities = async () => {
84
83
  if (!projectId || !effectiveCollectionId) {
@@ -98,7 +97,7 @@ function useCollectionEntitiesWrapper(props) {
98
97
  }).unwrap();
99
98
  if (response) {
100
99
  const { data: newEntities, pagination } = response;
101
- setEntities((prevEntities) => [...prevEntities, ...newEntities]);
100
+ dispatch((0, collectionsSlice_1.appendCollectionEntities)({ collectionId: effectiveCollectionId, entities: newEntities }));
102
101
  hasMore.current = pagination.hasMore;
103
102
  setHasMoreState(pagination.hasMore);
104
103
  }
@@ -111,12 +110,12 @@ function useCollectionEntitiesWrapper(props) {
111
110
  setLoadingState(false);
112
111
  }
113
112
  };
114
- // Only load more if page > 1 (not initial load)
115
113
  if (page > 1 && hasMore.current && !loading.current) {
116
114
  loadMoreEntities();
117
115
  }
118
116
  }, [
119
117
  page,
118
+ dispatch,
120
119
  fetchCollectionEntitiesQuery,
121
120
  projectId,
122
121
  effectiveCollectionId,
@@ -1 +1 @@
1
- {"version":3,"file":"useCollectionEntitiesWrapper.js","sourceRoot":"","sources":["../../../../src/hooks/collections/useCollectionEntitiesWrapper.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useCollectionEntitiesWrapper.js","sourceRoot":"","sources":["../../../../src/hooks/collections/useCollectionEntitiesWrapper.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { Entity } from "../../interfaces/models/Entity";
1
2
  import type { Collection } from "../../interfaces/models/Collection";
2
3
  export interface UseCollectionsProps {
3
4
  }
@@ -14,7 +15,7 @@ export interface DeleteCollectionProps {
14
15
  collection: Collection;
15
16
  }
16
17
  export interface AddToCollectionProps {
17
- entityId: string;
18
+ entity: Entity;
18
19
  }
19
20
  export interface RemoveFromCollectionProps {
20
21
  entityId: string;
@@ -35,12 +35,17 @@ function useCollections(_ = {}) {
35
35
  dispatch((0, collectionsSlice_1.setProjectContext)(projectId));
36
36
  }
37
37
  }, [dispatch, projectId, currentProjectId]);
38
- // Fetch root collection when user and project are available
38
+ // Fetch root collection when user and project are available.
39
+ // Skip if a collection is already loaded for this project — otherwise mounting
40
+ // useCollections() per leaf component (e.g. a BookmarkButton in every card)
41
+ // hammers /collections/root and trips the rate limit.
39
42
  (0, react_1.useEffect)(() => {
40
43
  if (!user || !projectId)
41
44
  return;
45
+ if (currentCollection && currentProjectId === projectId)
46
+ return;
42
47
  fetchRootCollection({ projectId });
43
- }, [fetchRootCollection, user, projectId]);
48
+ }, [fetchRootCollection, user, projectId, currentCollection, currentProjectId]);
44
49
  // Fetch sub-collections when current collection changes
45
50
  (0, react_1.useEffect)(() => {
46
51
  if (!user || !projectId || !currentCollection)
@@ -123,9 +128,9 @@ function useCollections(_ = {}) {
123
128
  }
124
129
  await deleteCollectionAction({ projectId, collection });
125
130
  }, [deleteCollectionAction, projectId]);
126
- const handleAddToCollection = (0, react_1.useCallback)(async ({ entityId }) => {
127
- if (!entityId) {
128
- console.error("No entityId provided.");
131
+ const handleAddToCollection = (0, react_1.useCallback)(async ({ entity }) => {
132
+ if (!entity?.id) {
133
+ console.error("No entity provided.");
129
134
  return;
130
135
  }
131
136
  if (!currentCollection) {
@@ -139,7 +144,7 @@ function useCollections(_ = {}) {
139
144
  await addToCollectionAction({
140
145
  projectId,
141
146
  collectionId: currentCollection.id,
142
- entityId,
147
+ entity,
143
148
  });
144
149
  }, [addToCollectionAction, currentCollection, projectId]);
145
150
  const handleRemoveFromCollection = (0, react_1.useCallback)(async ({ entityId }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useCollections.js","sourceRoot":"","sources":["../../../../src/hooks/collections/useCollections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useCollections.js","sourceRoot":"","sources":["../../../../src/hooks/collections/useCollections.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Collection } from "../../interfaces/models/Collection";
2
+ import type { Entity } from "../../interfaces/models/Entity";
2
3
  export interface UseCollectionsActionsValues {
3
4
  openCollection: (collection: Collection) => void;
4
5
  goBack: () => void;
@@ -26,10 +27,10 @@ export interface UseCollectionsActionsValues {
26
27
  projectId: string;
27
28
  collection: Collection;
28
29
  }) => Promise<void>;
29
- addToCollection: ({ projectId, collectionId, entityId }: {
30
+ addToCollection: ({ projectId, collectionId, entity }: {
30
31
  projectId: string;
31
32
  collectionId: string;
32
- entityId: string;
33
+ entity: Entity;
33
34
  }) => Promise<void>;
34
35
  removeFromCollection: ({ projectId, collectionId, entityId }: {
35
36
  projectId: string;
@@ -12,6 +12,10 @@ const handleError_1 = require("../../utils/handleError");
12
12
  */
13
13
  function useCollectionsActions() {
14
14
  const dispatch = (0, hooks_1.useReplykeDispatch)();
15
+ // Use a ref so removeFromCollection can read the latest entities without being in deps
16
+ const entitiesByCollectionId = (0, hooks_1.useReplykeSelector)((state) => state.replyke.collections.entitiesByCollectionId);
17
+ const entitiesByCollectionIdRef = (0, react_1.useRef)(entitiesByCollectionId);
18
+ entitiesByCollectionIdRef.current = entitiesByCollectionId;
15
19
  // RTK Query hooks
16
20
  const [fetchRootCollectionQuery] = (0, collectionsApi_1.useLazyFetchRootCollectionQuery)();
17
21
  const [fetchSubCollectionsQuery] = (0, collectionsApi_1.useLazyFetchSubCollectionsQuery)();
@@ -132,44 +136,51 @@ function useCollectionsActions() {
132
136
  (0, handleError_1.handleError)(err, "Failed to delete collection");
133
137
  }
134
138
  }, [deleteCollectionMutation, dispatch]);
135
- // Add entity to collection
136
- const addToCollection = (0, react_1.useCallback)(async ({ projectId, collectionId, entityId, }) => {
137
- if (!projectId || !collectionId || !entityId) {
139
+ // Add entity to collection — optimistically prepends to Redux state, reverts on error
140
+ const addToCollection = (0, react_1.useCallback)(async ({ projectId, collectionId, entity, }) => {
141
+ if (!projectId || !collectionId || !entity?.id) {
138
142
  console.error("Missing required parameters for adding to collection.");
139
143
  return;
140
144
  }
145
+ dispatch((0, collectionsSlice_1.prependCollectionEntity)({ collectionId, entity }));
141
146
  try {
142
147
  await addToCollectionMutation({
143
148
  projectId,
144
149
  collectionId,
145
- entityId,
150
+ entityId: entity.id,
146
151
  }).unwrap();
147
- // Note: Entity data is no longer stored in collections.
148
- // RTK Query will handle cache invalidation for CollectionEntities.
149
152
  }
150
153
  catch (err) {
154
+ dispatch((0, collectionsSlice_1.removeCollectionEntity)({ collectionId, entityId: entity.id }));
151
155
  (0, handleError_1.handleError)(err, "Failed to add entity to collection");
156
+ throw err;
152
157
  }
153
- }, [addToCollectionMutation]);
154
- // Remove entity from collection
158
+ }, [addToCollectionMutation, dispatch]);
159
+ // Remove entity from collection — optimistically removes from Redux state, reverts on error
155
160
  const removeFromCollection = (0, react_1.useCallback)(async ({ projectId, collectionId, entityId, }) => {
156
161
  if (!projectId || !collectionId || !entityId) {
157
162
  console.error("Missing required parameters for removing from collection.");
158
163
  return;
159
164
  }
165
+ const currentList = entitiesByCollectionIdRef.current[collectionId] ?? [];
166
+ const originalIndex = currentList.findIndex((e) => e.id === entityId);
167
+ const entityToRestore = originalIndex !== -1 ? currentList[originalIndex] : undefined;
168
+ dispatch((0, collectionsSlice_1.removeCollectionEntity)({ collectionId, entityId }));
160
169
  try {
161
170
  await removeFromCollectionMutation({
162
171
  projectId,
163
172
  collectionId,
164
173
  entityId,
165
174
  }).unwrap();
166
- // Note: Entity data is no longer stored in collections.
167
- // RTK Query will handle cache invalidation for CollectionEntities.
168
175
  }
169
176
  catch (err) {
177
+ if (entityToRestore) {
178
+ dispatch((0, collectionsSlice_1.insertCollectionEntityAt)({ collectionId, entity: entityToRestore, index: originalIndex }));
179
+ }
170
180
  (0, handleError_1.handleError)(err, "Failed to remove entity from collection");
181
+ throw err;
171
182
  }
172
- }, [removeFromCollectionMutation]);
183
+ }, [removeFromCollectionMutation, dispatch]);
173
184
  // Reset collections
174
185
  const resetCollectionsAction = (0, react_1.useCallback)(() => {
175
186
  dispatch((0, collectionsSlice_1.resetCollections)());
@@ -1 +1 @@
1
- {"version":3,"file":"useCollectionsActions.js","sourceRoot":"","sources":["../../../../src/hooks/collections/useCollectionsActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useCollectionsActions.js","sourceRoot":"","sources":["../../../../src/hooks/collections/useCollectionsActions.ts"],"names":[],"mappings":"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"}
@@ -44,12 +44,12 @@ function useSpaceListActions() {
44
44
  }).unwrap();
45
45
  if (result) {
46
46
  const append = options.page > 1;
47
- dispatch((0, spaceListsSlice_1.setSpaceListSpaces)({ listId, spaces: result, append }));
47
+ dispatch((0, spaceListsSlice_1.setSpaceListSpaces)({ listId, spaces: result.data, append }));
48
48
  dispatch((0, spaceListsSlice_1.setSpaceListHasMore)({
49
49
  listId,
50
- hasMore: result.length >= options.limit,
50
+ hasMore: result.pagination.hasMore,
51
51
  }));
52
- return result;
52
+ return result.data;
53
53
  }
54
54
  return null;
55
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSpaceListActions.js","sourceRoot":"","sources":["../../../../src/hooks/space-lists/useSpaceListActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSpaceListActions.js","sourceRoot":"","sources":["../../../../src/hooks/space-lists/useSpaceListActions.ts"],"names":[],"mappings":"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"}
@@ -16,35 +16,17 @@ function useSpacePermissions({ memberPermissions, postingPermission, readingPerm
16
16
  isBanned: false,
17
17
  };
18
18
  }
19
- const isAdmin = memberPermissions.isAdmin;
20
- const isModerator = memberPermissions.isModerator;
21
- const isActiveMember = memberPermissions.status === "active";
22
- const isPending = memberPermissions.status === "pending";
23
- const isBanned = memberPermissions.status === "banned";
24
- let canPost = false;
25
- if (postingPermission === "anyone") {
26
- canPost = !isBanned;
27
- }
28
- else if (postingPermission === "members") {
29
- canPost = isActiveMember && !isBanned;
30
- }
31
- else if (postingPermission === "admins") {
32
- canPost = isAdmin && isActiveMember && !isBanned;
33
- }
34
- // canRead logic: if readingPermission is "members", only active members can read
35
- let canRead = true;
36
- if (readingPermission === "members") {
37
- canRead = isActiveMember && !isBanned;
38
- }
19
+ // Use server-computed permission booleans directly so the server stays the
20
+ // single source of truth and client/server logic can't drift.
39
21
  return {
40
22
  isMember: memberPermissions.isMember,
41
- isAdmin,
42
- isModerator,
43
- canPost,
44
- canModerate: (isAdmin || isModerator) && isActiveMember && !isBanned,
45
- canRead,
46
- isPending,
47
- isBanned,
23
+ isAdmin: memberPermissions.isAdmin,
24
+ isModerator: memberPermissions.isModerator,
25
+ canPost: memberPermissions.canPost,
26
+ canModerate: memberPermissions.canModerate,
27
+ canRead: memberPermissions.canRead,
28
+ isPending: memberPermissions.status === "pending",
29
+ isBanned: memberPermissions.status === "banned",
48
30
  };
49
31
  }, [memberPermissions, postingPermission, readingPermission]);
50
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSpacePermissions.js","sourceRoot":"","sources":["../../../../src/hooks/spaces/useSpacePermissions.tsx"],"names":[],"mappings":";;AAAA,iCAAgC;AAwBhC,SAAS,mBAAmB,CAAC,EAC3B,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAAG,QAAQ,GACH;IACzB,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,uBAAuB;YACvB,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,iBAAiB,KAAK,QAAQ;gBACvC,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,iBAAiB,KAAK,QAAQ;gBACvC,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC;QAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC;QAClD,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,KAAK,QAAQ,CAAC;QAC7D,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,KAAK,SAAS,CAAC;QACzD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,KAAK,QAAQ,CAAC;QAEvD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,GAAG,CAAC,QAAQ,CAAC;QACtB,CAAC;aAAM,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,GAAG,cAAc,IAAI,CAAC,QAAQ,CAAC;QACxC,CAAC;aAAM,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,GAAG,OAAO,IAAI,cAAc,IAAI,CAAC,QAAQ,CAAC;QACnD,CAAC;QAED,iFAAiF;QACjF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,GAAG,cAAc,IAAI,CAAC,QAAQ,CAAC;QACxC,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;YACpC,OAAO;YACP,WAAW;YACX,OAAO;YACP,WAAW,EAAE,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,cAAc,IAAI,CAAC,QAAQ;YACpE,OAAO;YACP,SAAS;YACT,QAAQ;SACT,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,kBAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"useSpacePermissions.js","sourceRoot":"","sources":["../../../../src/hooks/spaces/useSpacePermissions.tsx"],"names":[],"mappings":";;AAAA,iCAAgC;AAwBhC,SAAS,mBAAmB,CAAC,EAC3B,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAAG,QAAQ,GACH;IACzB,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,uBAAuB;YACvB,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,iBAAiB,KAAK,QAAQ;gBACvC,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,iBAAiB,KAAK,QAAQ;gBACvC,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,8DAA8D;QAC9D,OAAO;YACL,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;YACpC,OAAO,EAAE,iBAAiB,CAAC,OAAO;YAClC,WAAW,EAAE,iBAAiB,CAAC,WAAW;YAC1C,OAAO,EAAE,iBAAiB,CAAC,OAAO;YAClC,WAAW,EAAE,iBAAiB,CAAC,WAAW;YAC1C,OAAO,EAAE,iBAAiB,CAAC,OAAO;YAClC,SAAS,EAAE,iBAAiB,CAAC,MAAM,KAAK,SAAS;YACjD,QAAQ,EAAE,iBAAiB,CAAC,MAAM,KAAK,QAAQ;SAChD,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,kBAAe,mBAAmB,CAAC"}