@powerhousedao/design-system 3.3.0-dev.18 → 3.3.0-dev.19

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 (93) hide show
  1. package/dist/src/connect/components/breadcrumbs/useBreadcrumbs.d.ts +5 -9
  2. package/dist/src/connect/components/breadcrumbs/useBreadcrumbs.d.ts.map +1 -1
  3. package/dist/src/connect/components/breadcrumbs/useBreadcrumbs.js +5 -15
  4. package/dist/src/connect/components/breadcrumbs/useBreadcrumbs.js.map +1 -1
  5. package/dist/src/connect/components/file-item/file-item.d.ts +9 -8
  6. package/dist/src/connect/components/file-item/file-item.d.ts.map +1 -1
  7. package/dist/src/connect/components/file-item/file-item.js +11 -10
  8. package/dist/src/connect/components/file-item/file-item.js.map +1 -1
  9. package/dist/src/connect/components/folder-item/folder-item.d.ts +9 -11
  10. package/dist/src/connect/components/folder-item/folder-item.d.ts.map +1 -1
  11. package/dist/src/connect/components/folder-item/folder-item.js +11 -10
  12. package/dist/src/connect/components/folder-item/folder-item.js.map +1 -1
  13. package/dist/src/connect/components/form/drive-settings-form.d.ts +8 -5
  14. package/dist/src/connect/components/form/drive-settings-form.d.ts.map +1 -1
  15. package/dist/src/connect/components/form/drive-settings-form.js +3 -3
  16. package/dist/src/connect/components/form/drive-settings-form.js.map +1 -1
  17. package/dist/src/connect/components/form/inputs/delete-drive.d.ts +4 -4
  18. package/dist/src/connect/components/form/inputs/delete-drive.d.ts.map +1 -1
  19. package/dist/src/connect/components/form/inputs/delete-drive.js +2 -2
  20. package/dist/src/connect/components/form/inputs/delete-drive.js.map +1 -1
  21. package/dist/src/connect/components/index.d.ts +0 -2
  22. package/dist/src/connect/components/index.d.ts.map +1 -1
  23. package/dist/src/connect/components/index.js +0 -2
  24. package/dist/src/connect/components/index.js.map +1 -1
  25. package/dist/src/connect/components/modal/drive-settings-modal.d.ts +13 -10
  26. package/dist/src/connect/components/modal/drive-settings-modal.d.ts.map +1 -1
  27. package/dist/src/connect/components/modal/drive-settings-modal.js +9 -9
  28. package/dist/src/connect/components/modal/drive-settings-modal.js.map +1 -1
  29. package/dist/src/connect/components/modal/settings-modal-v2/danger-zone.d.ts +3 -3
  30. package/dist/src/connect/components/modal/settings-modal-v2/danger-zone.d.ts.map +1 -1
  31. package/dist/src/connect/components/modal/settings-modal-v2/danger-zone.js +16 -5
  32. package/dist/src/connect/components/modal/settings-modal-v2/danger-zone.js.map +1 -1
  33. package/dist/src/connect/hooks/drag-and-drop/use-drag.d.ts +2 -6
  34. package/dist/src/connect/hooks/drag-and-drop/use-drag.d.ts.map +1 -1
  35. package/dist/src/connect/hooks/drag-and-drop/use-drag.js +9 -17
  36. package/dist/src/connect/hooks/drag-and-drop/use-drag.js.map +1 -1
  37. package/dist/src/connect/hooks/drag-and-drop/use-drop.d.ts +5 -9
  38. package/dist/src/connect/hooks/drag-and-drop/use-drop.d.ts.map +1 -1
  39. package/dist/src/connect/hooks/drag-and-drop/use-drop.js +15 -24
  40. package/dist/src/connect/hooks/drag-and-drop/use-drop.js.map +1 -1
  41. package/dist/src/connect/types/drives.d.ts +1 -16
  42. package/dist/src/connect/types/drives.d.ts.map +1 -1
  43. package/dist/src/connect/types/index.d.ts +0 -1
  44. package/dist/src/connect/types/index.d.ts.map +1 -1
  45. package/dist/src/connect/types/index.js +0 -1
  46. package/dist/src/connect/types/index.js.map +1 -1
  47. package/dist/src/connect/types/nodes.d.ts +9 -61
  48. package/dist/src/connect/types/nodes.d.ts.map +1 -1
  49. package/dist/src/connect/types/options.d.ts +3 -2
  50. package/dist/src/connect/types/options.d.ts.map +1 -1
  51. package/dist/src/connect/utils/index.d.ts +0 -1
  52. package/dist/src/connect/utils/index.d.ts.map +1 -1
  53. package/dist/src/connect/utils/index.js +0 -1
  54. package/dist/src/connect/utils/index.js.map +1 -1
  55. package/dist/style.css +0 -52
  56. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  57. package/package.json +6 -5
  58. package/dist/src/connect/components/drive-view/drive-view.d.ts +0 -17
  59. package/dist/src/connect/components/drive-view/drive-view.d.ts.map +0 -1
  60. package/dist/src/connect/components/drive-view/drive-view.js +0 -17
  61. package/dist/src/connect/components/drive-view/drive-view.js.map +0 -1
  62. package/dist/src/connect/components/drive-view/index.d.ts +0 -2
  63. package/dist/src/connect/components/drive-view/index.d.ts.map +0 -1
  64. package/dist/src/connect/components/drive-view/index.js +0 -2
  65. package/dist/src/connect/components/drive-view/index.js.map +0 -1
  66. package/dist/src/connect/components/drive-view/mocks.d.ts +0 -2
  67. package/dist/src/connect/components/drive-view/mocks.d.ts.map +0 -1
  68. package/dist/src/connect/components/drive-view/mocks.js +0 -2
  69. package/dist/src/connect/components/drive-view/mocks.js.map +0 -1
  70. package/dist/src/connect/components/tree-view/drop-indicator.d.ts +0 -13
  71. package/dist/src/connect/components/tree-view/drop-indicator.d.ts.map +0 -1
  72. package/dist/src/connect/components/tree-view/drop-indicator.js +0 -16
  73. package/dist/src/connect/components/tree-view/drop-indicator.js.map +0 -1
  74. package/dist/src/connect/components/tree-view/index.d.ts +0 -2
  75. package/dist/src/connect/components/tree-view/index.d.ts.map +0 -1
  76. package/dist/src/connect/components/tree-view/index.js +0 -2
  77. package/dist/src/connect/components/tree-view/index.js.map +0 -1
  78. package/dist/src/connect/components/tree-view/tree-view.d.ts +0 -16
  79. package/dist/src/connect/components/tree-view/tree-view.d.ts.map +0 -1
  80. package/dist/src/connect/components/tree-view/tree-view.js +0 -142
  81. package/dist/src/connect/components/tree-view/tree-view.js.map +0 -1
  82. package/dist/src/connect/types/shared-props.d.ts +0 -13
  83. package/dist/src/connect/types/shared-props.d.ts.map +0 -1
  84. package/dist/src/connect/types/shared-props.js +0 -2
  85. package/dist/src/connect/types/shared-props.js.map +0 -1
  86. package/dist/src/connect/utils/mocks/index.d.ts +0 -2
  87. package/dist/src/connect/utils/mocks/index.d.ts.map +0 -1
  88. package/dist/src/connect/utils/mocks/index.js +0 -2
  89. package/dist/src/connect/utils/mocks/index.js.map +0 -1
  90. package/dist/src/connect/utils/mocks/ui-drive-node.d.ts +0 -33
  91. package/dist/src/connect/utils/mocks/ui-drive-node.d.ts.map +0 -1
  92. package/dist/src/connect/utils/mocks/ui-drive-node.js +0 -234
  93. package/dist/src/connect/utils/mocks/ui-drive-node.js.map +0 -1
@@ -1,234 +0,0 @@
1
- import { CLOUD, defaultDriveOptions, defaultFileOptions, defaultFolderOptions, DRIVE, ERROR, FILE, FOLDER, LOCAL, PUBLIC, SUCCESS, } from "#connect";
2
- const mockDriveId = "mock-drive-id";
3
- export const mockUiFileNode = {
4
- kind: FILE,
5
- documentType: "makerdao/rwa-portfolio",
6
- id: "file-1",
7
- name: "Mock file in drive",
8
- slug: "mock-file-in-drive",
9
- parentFolder: mockDriveId,
10
- driveId: mockDriveId,
11
- syncStatus: SUCCESS,
12
- synchronizationUnits: [{ syncId: "1", scope: "global", branch: "main" }],
13
- sharingType: LOCAL,
14
- };
15
- export const mockUiFolderNode = {
16
- kind: FOLDER,
17
- id: "folder-1",
18
- name: "Mock folder in drive",
19
- slug: "mock-folder-in-drive",
20
- parentFolder: mockDriveId,
21
- driveId: mockDriveId,
22
- syncStatus: SUCCESS,
23
- children: [],
24
- sharingType: LOCAL,
25
- };
26
- export const mockNodes = (driveId) => [
27
- {
28
- kind: FILE,
29
- documentType: "makerdao/rwa-portfolio",
30
- id: "file-1",
31
- name: "Mock file in drive that has a very significantly long name",
32
- parentFolder: driveId,
33
- synchronizationUnits: [{ syncId: "1" }],
34
- },
35
- {
36
- kind: FOLDER,
37
- id: "folder-1",
38
- name: "Mock folder in drive 1",
39
- parentFolder: driveId,
40
- },
41
- {
42
- kind: FOLDER,
43
- id: "folder-2",
44
- name: "Mock folder in drive 2",
45
- parentFolder: driveId,
46
- },
47
- {
48
- kind: FILE,
49
- documentType: "template",
50
- id: "folder-1-file-1",
51
- name: "Mock file in folder 1",
52
- parentFolder: "folder-1",
53
- synchronizationUnits: [{ syncId: "1" }],
54
- },
55
- {
56
- kind: FILE,
57
- documentType: "global",
58
- id: "folder-2-file-2",
59
- name: "Mock file in folder 2",
60
- parentFolder: "folder-2",
61
- synchronizationUnits: [{ syncId: "1" }],
62
- },
63
- {
64
- kind: FOLDER,
65
- id: "folder-1-folder-1",
66
- name: "Mock folder in folder 1",
67
- parentFolder: "folder-1",
68
- },
69
- {
70
- kind: FOLDER,
71
- id: "folder-2-folder-1",
72
- name: "Mock folder in folder 2",
73
- parentFolder: "folder-2",
74
- },
75
- {
76
- kind: FILE,
77
- documentType: "legal",
78
- id: "folder-1-folder-1-file-1",
79
- name: "Mock file in folder 1 folder 1",
80
- parentFolder: "folder-1-folder-1",
81
- synchronizationUnits: [{ syncId: "1" }],
82
- },
83
- {
84
- kind: FILE,
85
- documentType: "budget",
86
- id: "folder-2-folder-1-file-1",
87
- name: "Mock file in folder 2 folder 1",
88
- parentFolder: "folder-2",
89
- synchronizationUnits: [{ syncId: "1" }],
90
- },
91
- {
92
- kind: FOLDER,
93
- id: "folder-1-folder-1-folder-1",
94
- name: "Mock folder in folder 1 folder 1",
95
- parentFolder: "folder-1-folder-1",
96
- },
97
- {
98
- kind: FOLDER,
99
- id: "folder-2-folder-1-folder-1",
100
- name: "Mock folder in folder 2 folder 1",
101
- parentFolder: "folder-2-folder-1",
102
- },
103
- ];
104
- export function makeMockDriveDocument(state) {
105
- const mockDocumentDriveDocument = {
106
- state: {
107
- global: {
108
- id: state?.global?.id ?? mockDriveId,
109
- slug: "mock-drive",
110
- name: "Mock Drive",
111
- icon: "",
112
- nodes: mockNodes(state?.global?.id ?? mockDriveId),
113
- ...state?.global,
114
- },
115
- local: {
116
- sharingType: LOCAL,
117
- availableOffline: false,
118
- ...state?.local,
119
- },
120
- },
121
- };
122
- return mockDocumentDriveDocument;
123
- }
124
- export const mockLocalDrive = makeDriveNode(makeMockDriveDocument({
125
- global: {
126
- id: "local-drive",
127
- name: "Local drive",
128
- },
129
- local: { sharingType: LOCAL, availableOffline: false },
130
- }));
131
- export const mockPublicDrive = makeDriveNode(makeMockDriveDocument({
132
- global: {
133
- id: "public-drive",
134
- name: "Public drive",
135
- },
136
- local: { sharingType: PUBLIC, availableOffline: true },
137
- }));
138
- export const mockCloudDrive = makeDriveNode(makeMockDriveDocument({
139
- global: {
140
- id: "cloud-drive",
141
- name: "Cloud drive",
142
- },
143
- local: { sharingType: CLOUD, availableOffline: true },
144
- }));
145
- export const mockDriveNodes = [mockPublicDrive, mockCloudDrive, mockLocalDrive];
146
- export const mockNodeOptions = {
147
- [PUBLIC]: {
148
- [DRIVE]: [...defaultDriveOptions],
149
- [FOLDER]: [...defaultFolderOptions],
150
- [FILE]: [...defaultFileOptions],
151
- },
152
- [CLOUD]: {
153
- [DRIVE]: [...defaultDriveOptions],
154
- [FOLDER]: [...defaultFolderOptions],
155
- [FILE]: [...defaultFileOptions],
156
- },
157
- [LOCAL]: {
158
- [DRIVE]: [...defaultDriveOptions],
159
- [FOLDER]: [...defaultFolderOptions],
160
- [FILE]: [...defaultFileOptions],
161
- },
162
- };
163
- function getSyncStatus(syncId, type) {
164
- if (type === LOCAL)
165
- return;
166
- try {
167
- return SUCCESS;
168
- }
169
- catch (error) {
170
- console.error(error);
171
- return ERROR;
172
- }
173
- }
174
- export function makeDriveNode(drive) {
175
- const { id, name, icon, slug } = drive.state.global;
176
- const { sharingType, availableOffline } = drive.state.local;
177
- const driveSyncStatus = getSyncStatus(id, sharingType);
178
- const driveNode = {
179
- id,
180
- name,
181
- slug: slug || null,
182
- kind: DRIVE,
183
- children: [],
184
- nodeMap: {},
185
- sharingType,
186
- syncStatus: driveSyncStatus,
187
- availableOffline,
188
- icon,
189
- parentFolder: null,
190
- driveId: id,
191
- };
192
- const nodes = drive.state.global.nodes.map((n) => {
193
- const node = {
194
- ...n,
195
- slug: n.name.toLowerCase().replace(/\s/g, "-"),
196
- driveId: id,
197
- parentFolder: n.parentFolder || id,
198
- syncStatus: driveSyncStatus,
199
- sharingType,
200
- };
201
- if (node.kind === DRIVE) {
202
- throw new Error("Drive nodes should not be nested");
203
- }
204
- if (node.kind === FILE) {
205
- return node;
206
- }
207
- return {
208
- ...node,
209
- children: [],
210
- };
211
- });
212
- for (const node of nodes) {
213
- driveNode.nodeMap[node.id] = node;
214
- }
215
- for (const node of nodes) {
216
- if (node.kind === FILE) {
217
- node.syncStatus = getSyncStatus(node.synchronizationUnits[0].syncId, sharingType);
218
- }
219
- if (node.parentFolder === id) {
220
- driveNode.children.push(node);
221
- continue;
222
- }
223
- const parent = driveNode.nodeMap[node.parentFolder];
224
- if (parent.kind === FILE) {
225
- throw new Error(`Parent node ${node.parentFolder} is a file, not a folder`);
226
- }
227
- parent.children.push(node);
228
- if (node.syncStatus !== SUCCESS) {
229
- parent.syncStatus = node.syncStatus;
230
- }
231
- }
232
- return driveNode;
233
- }
234
- //# sourceMappingURL=ui-drive-node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-drive-node.js","sourceRoot":"","sources":["../../../../../src/connect/utils/mocks/ui-drive-node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,GASR,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,GAAG,eAAe,CAAC;AAEpC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,IAAI,EAAE,IAAI;IACV,YAAY,EAAE,wBAAwB;IACtC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,oBAAoB;IAC1B,YAAY,EAAE,WAAW;IACzB,OAAO,EAAE,WAAW;IACpB,UAAU,EAAE,OAAO;IACnB,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACxE,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,sBAAsB;IAC5B,YAAY,EAAE,WAAW;IACzB,OAAO,EAAE,WAAW;IACpB,UAAU,EAAE,OAAO;IACnB,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAmD,CACvE,OAAO,EACP,EAAE,CAAC;IACH;QACE,IAAI,EAAE,IAAI;QACV,YAAY,EAAE,wBAAwB;QACtC,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,4DAA4D;QAClE,YAAY,EAAE,OAAO;QACrB,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;KACxC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,wBAAwB;QAC9B,YAAY,EAAE,OAAO;KACtB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,wBAAwB;QAC9B,YAAY,EAAE,OAAO;KACtB;IACD;QACE,IAAI,EAAE,IAAI;QACV,YAAY,EAAE,UAAU;QACxB,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,uBAAuB;QAC7B,YAAY,EAAE,UAAU;QACxB,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;KACxC;IACD;QACE,IAAI,EAAE,IAAI;QACV,YAAY,EAAE,QAAQ;QACtB,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,uBAAuB;QAC7B,YAAY,EAAE,UAAU;QACxB,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;KACxC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,yBAAyB;QAC/B,YAAY,EAAE,UAAU;KACzB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,yBAAyB;QAC/B,YAAY,EAAE,UAAU;KACzB;IACD;QACE,IAAI,EAAE,IAAI;QACV,YAAY,EAAE,OAAO;QACrB,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,gCAAgC;QACtC,YAAY,EAAE,mBAAmB;QACjC,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;KACxC;IACD;QACE,IAAI,EAAE,IAAI;QACV,YAAY,EAAE,QAAQ;QACtB,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,gCAAgC;QACtC,YAAY,EAAE,UAAU;QACxB,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;KACxC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,kCAAkC;QACxC,YAAY,EAAE,mBAAmB;KAClC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,kCAAkC;QACxC,YAAY,EAAE,mBAAmB;KAClC;CACF,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,KAGrC;IACC,MAAM,yBAAyB,GAA0B;QACvD,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,WAAW;gBACpC,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,WAAW,CAAC;gBAClD,GAAG,KAAK,EAAE,MAAM;aACjB;YACD,KAAK,EAAE;gBACL,WAAW,EAAE,KAAK;gBAClB,gBAAgB,EAAE,KAAK;gBACvB,GAAG,KAAK,EAAE,KAAK;aAChB;SACF;KACF,CAAC;IAEF,OAAO,yBAAyB,CAAC;AACnC,CAAC;AACD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CACzC,qBAAqB,CAAC;IACpB,MAAM,EAAE;QACN,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;KACpB;IACD,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE;CACvD,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAC1C,qBAAqB,CAAC;IACpB,MAAM,EAAE;QACN,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;KACrB;IACD,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE;CACvD,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CACzC,qBAAqB,CAAC;IACpB,MAAM,EAAE;QACN,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;KACpB;IACD,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE;CACtD,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,CAAC,MAAM,CAAC,EAAE;QACR,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC;QACjC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC;QACnC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC;KAChC;IACD,CAAC,KAAK,CAAC,EAAE;QACP,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC;QACjC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC;QACnC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC;KAChC;IACD,CAAC,KAAK,CAAC,EAAE;QACP,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC;QACjC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC;QACnC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC;KAChC;CACF,CAAC;AACF,SAAS,aAAa,CACpB,MAAc,EACd,IAAiB;IAEjB,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO;IAC3B,IAAI,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAA4B;IACxD,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IACpD,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5D,MAAM,eAAe,GAAG,aAAa,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAEvD,MAAM,SAAS,GAAgB;QAC7B,EAAE;QACF,IAAI;QACJ,IAAI,EAAE,IAAI,IAAI,IAAI;QAClB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,WAAW;QACX,UAAU,EAAE,eAAe;QAC3B,gBAAgB;QAChB,IAAI;QACJ,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG;YACX,GAAG,CAAC;YACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YAC9C,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE;YAClC,UAAU,EAAE,eAAe;YAC3B,WAAW;SACZ,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAkB,CAAC;QAC5B,CAAC;QAED,OAAO;YACL,GAAG,IAAI;YACP,QAAQ,EAAE,EAAE;SACG,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,aAAa,CAC7B,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,EACnC,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,KAAK,EAAE,EAAE,CAAC;YAC7B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEpD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,CAAC,YAAY,0BAA0B,CAC3D,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}