@multiplatform.one/frappe-ui 7.88.5 → 7.88.7

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 (43) hide show
  1. package/dist/cjs/FrappeTable.cjs +22 -7
  2. package/dist/cjs/FrappeTable.native.js +23 -7
  3. package/dist/cjs/FrappeTable.native.js.map +1 -1
  4. package/dist/cjs/liveErrors.cjs +14 -4
  5. package/dist/cjs/liveErrors.native.js +19 -4
  6. package/dist/cjs/liveErrors.native.js.map +1 -1
  7. package/dist/cjs/useFrappeAggregate.cjs +3 -2
  8. package/dist/cjs/useFrappeAggregate.native.js +3 -7
  9. package/dist/cjs/useFrappeAggregate.native.js.map +1 -1
  10. package/dist/esm/FrappeTable.mjs +22 -7
  11. package/dist/esm/FrappeTable.mjs.map +1 -1
  12. package/dist/esm/FrappeTable.native.js +23 -7
  13. package/dist/esm/FrappeTable.native.js.map +1 -1
  14. package/dist/esm/liveErrors.mjs +14 -4
  15. package/dist/esm/liveErrors.mjs.map +1 -1
  16. package/dist/esm/liveErrors.native.js +19 -4
  17. package/dist/esm/liveErrors.native.js.map +1 -1
  18. package/dist/esm/useFrappeAggregate.mjs +3 -2
  19. package/dist/esm/useFrappeAggregate.mjs.map +1 -1
  20. package/dist/esm/useFrappeAggregate.native.js +3 -7
  21. package/dist/esm/useFrappeAggregate.native.js.map +1 -1
  22. package/dist/jsx/FrappeTable.mjs +22 -7
  23. package/dist/jsx/FrappeTable.mjs.map +1 -1
  24. package/dist/jsx/FrappeTable.native.js +23 -7
  25. package/dist/jsx/FrappeTable.native.js.map +1 -1
  26. package/dist/jsx/liveErrors.mjs +14 -4
  27. package/dist/jsx/liveErrors.mjs.map +1 -1
  28. package/dist/jsx/liveErrors.native.js +19 -4
  29. package/dist/jsx/liveErrors.native.js.map +1 -1
  30. package/dist/jsx/useFrappeAggregate.mjs +3 -2
  31. package/dist/jsx/useFrappeAggregate.mjs.map +1 -1
  32. package/dist/jsx/useFrappeAggregate.native.js +3 -7
  33. package/dist/jsx/useFrappeAggregate.native.js.map +1 -1
  34. package/package.json +16 -16
  35. package/src/FrappeTable.tsx +22 -7
  36. package/src/liveErrors.spec.ts +24 -1
  37. package/src/liveErrors.ts +13 -4
  38. package/src/useFrappeAggregate.groupLabel.spec.tsx +2 -0
  39. package/src/useFrappeAggregate.ts +3 -2
  40. package/types/FrappeTable.d.ts +0 -46
  41. package/types/FrappeTable.d.ts.map +1 -1
  42. package/types/liveErrors.d.ts.map +1 -1
  43. package/types/useFrappeAggregate.d.ts.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/frappe-ui",
3
- "version": "7.88.5",
3
+ "version": "7.88.7",
4
4
  "description": "Pre-wired Tamagui components for Frappe doctypes with live data",
5
5
  "keywords": [
6
6
  "cross-platform",
@@ -72,18 +72,18 @@
72
72
  "access": "public"
73
73
  },
74
74
  "dependencies": {
75
- "@multiplatform.one/components": "^7.88.5",
76
- "@multiplatform.one/desktop": "^7.88.5",
77
- "@multiplatform.one/forms": "^7.88.5",
78
- "@multiplatform.one/frappe": "^7.88.5",
79
- "@multiplatform.one/i18n": "^7.88.5",
80
- "@multiplatform.one/markdown": "^7.88.5",
81
- "@multiplatform.one/platform": "^7.88.5",
82
- "@multiplatform.one/rich-text": "^7.88.5",
83
- "@multiplatform.one/router": "^7.88.5",
84
- "@multiplatform.one/store": "^7.88.5",
85
- "@multiplatform.one/table": "^7.88.5",
86
- "@multiplatform.one/theme": "^7.88.5",
75
+ "@multiplatform.one/components": "^7.88.7",
76
+ "@multiplatform.one/desktop": "^7.88.7",
77
+ "@multiplatform.one/forms": "^7.88.7",
78
+ "@multiplatform.one/frappe": "^7.88.7",
79
+ "@multiplatform.one/i18n": "^7.88.7",
80
+ "@multiplatform.one/markdown": "^7.88.7",
81
+ "@multiplatform.one/platform": "^7.88.7",
82
+ "@multiplatform.one/rich-text": "^7.88.7",
83
+ "@multiplatform.one/router": "^7.88.7",
84
+ "@multiplatform.one/store": "^7.88.7",
85
+ "@multiplatform.one/table": "^7.88.7",
86
+ "@multiplatform.one/theme": "^7.88.7",
87
87
  "@phosphor-icons/react": "^2.1.10",
88
88
  "@tamagui/colors": "2.7.6",
89
89
  "@tanstack/db": "0.11.3",
@@ -100,9 +100,9 @@
100
100
  "tamagui": "2.7.6"
101
101
  },
102
102
  "devDependencies": {
103
- "@multiplatform.one/config": "7.88.5",
104
- "@multiplatform.one/storybook": "7.88.5",
105
- "@multiplatform.one/test-utils": "7.88.5",
103
+ "@multiplatform.one/config": "7.88.7",
104
+ "@multiplatform.one/storybook": "7.88.7",
105
+ "@multiplatform.one/test-utils": "7.88.7",
106
106
  "@tamagui/build": "2.7.6",
107
107
  "@testing-library/jest-dom": "^7.0.1",
108
108
  "@testing-library/react": "^16.3.3",
@@ -323,6 +323,22 @@ function stateToFrappeParams(state: DataTableState) {
323
323
  *
324
324
  * @category Components
325
325
  */
326
+ function tableBoundaryState({
327
+ error,
328
+ pending,
329
+ loading,
330
+ empty,
331
+ }: Readonly<{
332
+ error: Error | null | undefined;
333
+ pending: boolean;
334
+ loading: React.ReactNode;
335
+ empty: boolean;
336
+ }>) {
337
+ if (error) return { error };
338
+ if (pending) return { loading: loading ?? true };
339
+ return empty ? { empty: true } : null;
340
+ }
341
+
326
342
  export function FrappeTable<TDoc extends { name: string; doctype: string }>({
327
343
  baseURL,
328
344
  auth,
@@ -858,13 +874,12 @@ export function FrappeTable<TDoc extends { name: string; doctype: string }>({
858
874
  // Infinite serverSide delegates loading/empty chrome to DataTable.
859
875
  // After the first load, NEVER replace DataTable with empty/loading chrome
860
876
  // while a refetch is in flight — that was the named blank-the-list defect.
861
- const boundaryState = resolvedError
862
- ? { error: resolvedError }
863
- : isRowsLoadingResolved || columnsPending || retryParked
864
- ? { loading: loading ?? true }
865
- : rowData.length === 0 && !infiniteServerMode && !isFetching
866
- ? { empty: true }
867
- : null;
877
+ const boundaryState = tableBoundaryState({
878
+ error: resolvedError,
879
+ pending: isRowsLoadingResolved || columnsPending || retryParked,
880
+ loading,
881
+ empty: rowData.length === 0 && !infiniteServerMode && !isFetching,
882
+ });
868
883
  const errorReason = failureReason(resolvedError);
869
884
  const retryLoad = () => {
870
885
  if (!serverSide) {
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { isPermissionError, toLiveLoadError } from "./liveErrors";
2
+ import { failureReason, isPermissionError, refusalReason, toLiveLoadError } from "./liveErrors";
3
3
 
4
4
  describe("isPermissionError", () => {
5
5
  it("treats HTTP 403 / 401 as permission", () => {
@@ -58,3 +58,26 @@ describe("toLiveLoadError", () => {
58
58
  expect(normalized.message).not.toMatch(/Traceback/);
59
59
  });
60
60
  });
61
+
62
+ describe("errors that are not Error instances", () => {
63
+ const labels = { permissionMessage: "No access", genericMessage: "Load failed" };
64
+
65
+ it("reads a plain object's message instead of stringifying the object", () => {
66
+ expect(isPermissionError({ message: "Not permitted" })).toBe(true);
67
+ expect(failureReason({ message: "Network request failed" })).toBe("unreachable");
68
+ expect(refusalReason({ message: "Ask an admin for access" })).toBe("Ask an admin for access");
69
+ });
70
+
71
+ it("never shows [object Object] for an object with no message", () => {
72
+ expect(refusalReason({ status: 403 })).toBeUndefined();
73
+ expect(refusalReason({ message: 42 })).toBeUndefined();
74
+ expect(toLiveLoadError({ status: 500 }, labels).message).toBe("Load failed");
75
+ expect(failureReason({ status: 413 })).toBe("too_large");
76
+ });
77
+
78
+ it("reads a thrown string as its own message", () => {
79
+ expect(failureReason("timeout")).toBe("timeout");
80
+ expect(refusalReason(undefined)).toBeUndefined();
81
+ expect(toLiveLoadError("Server exploded", labels).message).toBe("Load failed: Server exploded");
82
+ });
83
+ });
package/src/liveErrors.ts CHANGED
@@ -9,6 +9,15 @@
9
9
  * from "the load failed".
10
10
  */
11
11
 
12
+ function messageOf(error: unknown): string {
13
+ if (error instanceof Error) return error.message;
14
+ if (typeof error === "object" && error !== null) {
15
+ const { message } = error as { message?: unknown };
16
+ return typeof message === "string" ? message : "";
17
+ }
18
+ return String(error ?? "");
19
+ }
20
+
12
21
  /**
13
22
  * True when the error is an auth/permission rejection: a 403 or 401, a
14
23
  * PermissionError `exc_type`, or a PermissionError-shaped message.
@@ -17,7 +26,7 @@ export function isPermissionError(error: unknown): boolean {
17
26
  const shaped = error as { status?: number; exc_type?: unknown } | undefined;
18
27
  if (shaped?.status === 403 || shaped?.status === 401) return true;
19
28
  if (shaped?.exc_type === "PermissionError") return true;
20
- const message = error instanceof Error ? error.message : String(error ?? "");
29
+ const message = messageOf(error);
21
30
  return /permission|not permitted|forbidden/i.test(message);
22
31
  }
23
32
 
@@ -30,7 +39,7 @@ export function failureReason(error: unknown): string | undefined {
30
39
  if (!error || error === true) return undefined;
31
40
  if (isPermissionError(error)) return "permission_denied";
32
41
  const status = (error as { status?: number }).status;
33
- const message = error instanceof Error ? error.message : String(error);
42
+ const message = messageOf(error);
34
43
  if (status === 408 || status === 504 || /timed? ?out|timeout/i.test(message)) return "timeout";
35
44
  if (status === 413) return "too_large";
36
45
  if (status === 429) return "busy";
@@ -53,7 +62,7 @@ function isTracebackDetail(detail: string): boolean {
53
62
  * description: undefined when there is none or it is a python traceback.
54
63
  */
55
64
  export function refusalReason(error: unknown): string | undefined {
56
- const detail = error instanceof Error ? error.message : String(error ?? "");
65
+ const detail = messageOf(error);
57
66
  return detail && !isTracebackDetail(detail) ? detail : undefined;
58
67
  }
59
68
 
@@ -70,7 +79,7 @@ export function toLiveLoadError(
70
79
  error: unknown,
71
80
  { permissionMessage, genericMessage }: { permissionMessage: string; genericMessage: string },
72
81
  ): Error {
73
- const detail = error instanceof Error ? error.message : String(error ?? "");
82
+ const detail = messageOf(error);
74
83
  const lead = isPermissionError(error) ? permissionMessage : genericMessage;
75
84
  const usable = detail && detail !== lead && !isTracebackDetail(detail) ? detail : "";
76
85
  const message = usable ? `${lead}: ${usable}` : lead;
@@ -13,6 +13,7 @@ beforeEach(() => {
13
13
  { status: 3, _aggregate_value: 2 },
14
14
  { status: null, _aggregate_value: 1 },
15
15
  { status: { level: 2 }, _aggregate_value: 5 },
16
+ { status: true, _aggregate_value: 6 },
16
17
  ],
17
18
  }),
18
19
  { headers: { "content-type": "application/json" } },
@@ -37,6 +38,7 @@ describe("useFrappeAggregate group labels", () => {
37
38
  { label: "3", value: 2 },
38
39
  { label: "", value: 1 },
39
40
  { label: '{"level":2}', value: 5 },
41
+ { label: "true", value: 6 },
40
42
  ]);
41
43
  });
42
44
  });
@@ -132,8 +132,9 @@ function toFiniteNumber(raw: unknown): number | undefined {
132
132
 
133
133
  function groupLabel(raw: unknown): string {
134
134
  if (raw === null || raw === undefined) return "";
135
- if (typeof raw === "object") return JSON.stringify(raw);
136
- return String(raw);
135
+ if (typeof raw === "string") return raw;
136
+ if (typeof raw === "number" || typeof raw === "boolean") return raw.toString();
137
+ return JSON.stringify(raw);
137
138
  }
138
139
 
139
140
  interface AggregateData {
@@ -132,52 +132,6 @@ export interface FrappeTableProps<TDoc extends {
132
132
  * half-built live-commit filters never reach the API.
133
133
  */
134
134
  export declare function filterValueToFrappeTuple(fieldname: string, filterValue: FilterValue): [string, string, unknown] | null;
135
- /**
136
- * A data table component connected to Frappe Live data.
137
- *
138
- * Displays documents from a Frappe DocType in a sortable, filterable table
139
- * with real-time updates via WebSocket. Integrates with the FrappeProvider
140
- * for configuration.
141
- *
142
- * Two props read as optional and carry defaults that matter (MPO-230).
143
- * Without `fields`, a read from the bench (`serverSide`, or client mode with
144
- * no `fixtures`) requests `name` plus every column's `accessorKey`, and
145
- * client mode under a fixture corpus reads whole documents. Without
146
- * `filterableFields`, the filter menu comes from the doctype's meta: the
147
- * corpus's "DocType" entry under a provider carrying `fixtures`, never the
148
- * network whatever `baseURL` the host also carries, and a `getdoctype` call
149
- * otherwise. Each prop's own entry has the detail.
150
- *
151
- * @typeParam TDoc - The document type with at least name and doctype fields
152
- *
153
- * @example
154
- * ```tsx
155
- * interface ToDo {
156
- * name: string;
157
- * doctype: string;
158
- * description: string;
159
- * status: 'Open' | 'Closed';
160
- * }
161
- *
162
- * function ToDoTable() {
163
- * return (
164
- * <FrappeProvider baseURL="https://mysite.frappe.cloud">
165
- * <FrappeTable<ToDo>
166
- * doctype="ToDo"
167
- * columns={[
168
- * { accessorKey: 'description', header: 'Description' },
169
- * { accessorKey: 'status', header: 'Status' }
170
- * ]}
171
- * fields={['name', 'description', 'status']}
172
- * onRowClick={(row) => console.log('Clicked:', row)}
173
- * />
174
- * </FrappeProvider>
175
- * );
176
- * }
177
- * ```
178
- *
179
- * @category Components
180
- */
181
135
  export declare function FrappeTable<TDoc extends {
182
136
  name: string;
183
137
  doctype: string;
@@ -1 +1 @@
1
- {"version":3,"file":"FrappeTable.d.ts","sourceRoot":"","sources":["../src/FrappeTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FrappeTable.d.ts","sourceRoot":"","sources":["../src/FrappeTable.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"liveErrors.d.ts","sourceRoot":"","sources":["../src/liveErrors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAehE;AAOD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,EAAE,iBAAiB,EAAE,cAAc,EAAE,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAC3F,KAAK,CAQP"}
1
+ {"version":3,"file":"liveErrors.d.ts","sourceRoot":"","sources":["../src/liveErrors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAehE;AAOD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,EAAE,iBAAiB,EAAE,cAAc,EAAE,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAC3F,KAAK,CAQP"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFrappeAggregate.d.ts","sourceRoot":"","sources":["../src/useFrappeAggregate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAE/E,gEAAgE;AAChE,MAAM,WAAW,yBAAyB;IACxC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oDAAoD;IACpD,MAAM,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAC3C,oDAAoD;IACpD,SAAS,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,6DAA6D;IAC7D,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC;IAC9B,qDAAqD;IACrD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAoID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,yBAAyB,GAAG,SAAS,EACjD,IAAI,EAAE,mBAAmB,GACxB,wBAAwB,CA+H1B"}
1
+ {"version":3,"file":"useFrappeAggregate.d.ts","sourceRoot":"","sources":["../src/useFrappeAggregate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAE/E,gEAAgE;AAChE,MAAM,WAAW,yBAAyB;IACxC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oDAAoD;IACpD,MAAM,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAC3C,oDAAoD;IACpD,SAAS,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,6DAA6D;IAC7D,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC;IAC9B,qDAAqD;IACrD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAqID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,yBAAyB,GAAG,SAAS,EACjD,IAAI,EAAE,mBAAmB,GACxB,wBAAwB,CA+H1B"}