@happyvertical/smrt-core 0.41.0 → 0.42.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.
- package/AGENTS.md +1 -1
- package/agents/schema-paths.md +79 -8
- package/dist/change-feed.d.ts.map +1 -1
- package/dist/change-feed.js +2 -2
- package/dist/change-feed.js.map +1 -1
- package/dist/change-signals.d.ts.map +1 -1
- package/dist/change-signals.js +8 -1
- package/dist/change-signals.js.map +1 -1
- package/dist/class.d.ts.map +1 -1
- package/dist/class.js +10 -9
- package/dist/class.js.map +1 -1
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +2 -2
- package/dist/collection.js.map +1 -1
- package/dist/dispatch/collections/Dispatches.d.ts.map +1 -1
- package/dist/dispatch/collections/Dispatches.js +5 -5
- package/dist/dispatch/collections/Dispatches.js.map +1 -1
- package/dist/dispatch/models/Dispatch.d.ts +1 -1
- package/dist/dispatch/models/Dispatch.d.ts.map +1 -1
- package/dist/dispatch/models/Dispatch.js +3 -2
- package/dist/dispatch/models/Dispatch.js.map +1 -1
- package/dist/dispatch/models/DispatchSubscription.d.ts +1 -1
- package/dist/dispatch/models/DispatchSubscription.d.ts.map +1 -1
- package/dist/dispatch/models/DispatchSubscription.js +2 -1
- package/dist/dispatch/models/DispatchSubscription.js.map +1 -1
- package/dist/embeddings/storage.d.ts.map +1 -1
- package/dist/embeddings/storage.js +2 -1
- package/dist/embeddings/storage.js.map +1 -1
- package/dist/learning/memory.d.ts.map +1 -1
- package/dist/learning/memory.js +5 -4
- package/dist/learning/memory.js.map +1 -1
- package/dist/manifest/static-manifest.js +1 -1
- package/dist/manifest/static-manifest.js.map +1 -1
- package/dist/manifest/store.js +1 -1
- package/dist/manifest.json +1 -1
- package/dist/migrations/differ.js +2 -2
- package/dist/migrations/differ.js.map +1 -1
- package/dist/migrations/index.d.ts +1 -0
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +2 -1
- package/dist/migrations/integer-width.d.ts +99 -0
- package/dist/migrations/integer-width.d.ts.map +1 -0
- package/dist/migrations/integer-width.js +237 -0
- package/dist/migrations/integer-width.js.map +1 -0
- package/dist/migrations/minor-units.d.ts +2 -2
- package/dist/migrations/minor-units.d.ts.map +1 -1
- package/dist/migrations/minor-units.js +16 -14
- package/dist/migrations/minor-units.js.map +1 -1
- package/dist/migrations/tracker.d.ts.map +1 -1
- package/dist/migrations/tracker.js +28 -20
- package/dist/migrations/tracker.js.map +1 -1
- package/dist/migrations.js +2 -1
- package/dist/schema/ddl/duckdb-strategy.d.ts.map +1 -1
- package/dist/schema/ddl/duckdb-strategy.js +1 -0
- package/dist/schema/ddl/duckdb-strategy.js.map +1 -1
- package/dist/schema/ddl/postgres-strategy.d.ts.map +1 -1
- package/dist/schema/ddl/postgres-strategy.js +2 -0
- package/dist/schema/ddl/postgres-strategy.js.map +1 -1
- package/dist/schema/generator.d.ts +1 -33
- package/dist/schema/generator.d.ts.map +1 -1
- package/dist/schema/generator.js +1 -150
- package/dist/schema/generator.js.map +1 -1
- package/dist/schema/index.d.ts +1 -2
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +1 -2
- package/dist/schema/live-parity.d.ts +3 -1
- package/dist/schema/live-parity.d.ts.map +1 -1
- package/dist/schema/live-parity.js +19 -0
- package/dist/schema/live-parity.js.map +1 -1
- package/dist/schema/types.d.ts +17 -10
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema.js +1 -2
- package/dist/smrt-knowledge.json +7 -7
- package/dist/system/retention.d.ts.map +1 -1
- package/dist/system/retention.js +3 -3
- package/dist/system/retention.js.map +1 -1
- package/dist/system/schema.d.ts +2 -1
- package/dist/system/schema.d.ts.map +1 -1
- package/dist/system/schema.js +4 -2
- package/dist/system/schema.js.map +1 -1
- package/dist/utils/safe-integer.d.ts +19 -0
- package/dist/utils/safe-integer.d.ts.map +1 -0
- package/dist/utils/safe-integer.js +31 -0
- package/dist/utils/safe-integer.js.map +1 -0
- package/dist/utils.d.ts +2 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +6 -3
- package/dist/utils.js.map +1 -1
- package/dist/vite-plugin/index.d.ts.map +1 -1
- package/dist/vite-plugin/index.js +0 -53
- package/dist/vite-plugin/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/schema/override-system.d.ts +0 -43
- package/dist/schema/override-system.d.ts.map +0 -1
- package/dist/schema/override-system.js +0 -205
- package/dist/schema/override-system.js.map +0 -1
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
import { createHash } from "node:crypto";
|
|
2
|
-
//#region src/schema/override-system.ts
|
|
3
|
-
/**
|
|
4
|
-
* Schema override system for SMRT objects
|
|
5
|
-
* Allows packages and applications to extend base schemas
|
|
6
|
-
*/
|
|
7
|
-
var SchemaOverrideSystem = class SchemaOverrideSystem {
|
|
8
|
-
/**
|
|
9
|
-
* Apply schema override to base schema
|
|
10
|
-
*/
|
|
11
|
-
static applyOverride(baseSchema, override) {
|
|
12
|
-
const overriddenSchema = {
|
|
13
|
-
...baseSchema,
|
|
14
|
-
version: SchemaOverrideSystem.generateOverrideVersion(baseSchema, override),
|
|
15
|
-
packageName: override.packageName
|
|
16
|
-
};
|
|
17
|
-
if (override.addColumns) overriddenSchema.columns = {
|
|
18
|
-
...overriddenSchema.columns,
|
|
19
|
-
...override.addColumns
|
|
20
|
-
};
|
|
21
|
-
if (override.removeColumns) for (const columnName of override.removeColumns) delete overriddenSchema.columns[columnName];
|
|
22
|
-
if (override.addIndexes) overriddenSchema.indexes = [...overriddenSchema.indexes, ...override.addIndexes];
|
|
23
|
-
if (override.removeIndexes) overriddenSchema.indexes = overriddenSchema.indexes.filter((index) => !override.removeIndexes?.includes(index.name));
|
|
24
|
-
if (override.addTriggers) overriddenSchema.triggers = [...overriddenSchema.triggers, ...override.addTriggers];
|
|
25
|
-
if (override.removeTriggers) overriddenSchema.triggers = overriddenSchema.triggers.filter((trigger) => !override.removeTriggers?.includes(trigger.name));
|
|
26
|
-
overriddenSchema.foreignKeys = SchemaOverrideSystem.extractForeignKeys(overriddenSchema.columns);
|
|
27
|
-
overriddenSchema.dependencies = SchemaOverrideSystem.extractDependencies(overriddenSchema);
|
|
28
|
-
return overriddenSchema;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Create a schema override for extending a base schema
|
|
32
|
-
*/
|
|
33
|
-
static createOverride(tableName, packageName, extensions) {
|
|
34
|
-
return {
|
|
35
|
-
tableName,
|
|
36
|
-
packageName,
|
|
37
|
-
...extensions
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Merge multiple schema overrides
|
|
42
|
-
*/
|
|
43
|
-
static mergeOverrides(baseSchema, overrides) {
|
|
44
|
-
let currentSchema = baseSchema;
|
|
45
|
-
for (const override of overrides) if (override.tableName === baseSchema.tableName) currentSchema = SchemaOverrideSystem.applyOverride(currentSchema, override);
|
|
46
|
-
return currentSchema;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Create praeco-specific content schema override
|
|
50
|
-
*/
|
|
51
|
-
static createPraecoContentOverride() {
|
|
52
|
-
return SchemaOverrideSystem.createOverride("contents", "praeco", {
|
|
53
|
-
addColumns: {
|
|
54
|
-
council_id: {
|
|
55
|
-
type: "TEXT",
|
|
56
|
-
foreignKey: {
|
|
57
|
-
table: "councils",
|
|
58
|
-
column: "id",
|
|
59
|
-
onDelete: "CASCADE",
|
|
60
|
-
onUpdate: "CASCADE"
|
|
61
|
-
},
|
|
62
|
-
description: "Reference to council this content belongs to"
|
|
63
|
-
},
|
|
64
|
-
meeting_id: {
|
|
65
|
-
type: "TEXT",
|
|
66
|
-
foreignKey: {
|
|
67
|
-
table: "meetings",
|
|
68
|
-
column: "id",
|
|
69
|
-
onDelete: "CASCADE",
|
|
70
|
-
onUpdate: "CASCADE"
|
|
71
|
-
},
|
|
72
|
-
description: "Reference to meeting this content relates to"
|
|
73
|
-
},
|
|
74
|
-
content_type: {
|
|
75
|
-
type: "TEXT",
|
|
76
|
-
notNull: true,
|
|
77
|
-
defaultValue: "'document'",
|
|
78
|
-
description: "Type of content: document, agenda, minutes, etc."
|
|
79
|
-
},
|
|
80
|
-
source_url: {
|
|
81
|
-
type: "TEXT",
|
|
82
|
-
description: "Original URL where content was found"
|
|
83
|
-
},
|
|
84
|
-
extraction_metadata: {
|
|
85
|
-
type: "JSON",
|
|
86
|
-
description: "Metadata about content extraction process"
|
|
87
|
-
},
|
|
88
|
-
analysis_results: {
|
|
89
|
-
type: "JSON",
|
|
90
|
-
description: "AI analysis results for content"
|
|
91
|
-
},
|
|
92
|
-
priority_score: {
|
|
93
|
-
type: "INTEGER",
|
|
94
|
-
defaultValue: "0",
|
|
95
|
-
description: "Priority score for content processing"
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
addIndexes: [
|
|
99
|
-
{
|
|
100
|
-
name: "idx_contents_council_id",
|
|
101
|
-
columns: ["council_id"],
|
|
102
|
-
description: "Index for council-based content queries"
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
name: "idx_contents_meeting_id",
|
|
106
|
-
columns: ["meeting_id"],
|
|
107
|
-
description: "Index for meeting-based content queries"
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
name: "idx_contents_type_priority",
|
|
111
|
-
columns: ["content_type", "priority_score"],
|
|
112
|
-
description: "Compound index for content type and priority queries"
|
|
113
|
-
}
|
|
114
|
-
]
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Create praeco-specific meeting schema override
|
|
119
|
-
*/
|
|
120
|
-
static createPraecoMeetingOverride() {
|
|
121
|
-
return SchemaOverrideSystem.createOverride("meetings", "praeco", {
|
|
122
|
-
addColumns: {
|
|
123
|
-
agenda_url: {
|
|
124
|
-
type: "TEXT",
|
|
125
|
-
description: "URL to meeting agenda document"
|
|
126
|
-
},
|
|
127
|
-
minutes_url: {
|
|
128
|
-
type: "TEXT",
|
|
129
|
-
description: "URL to meeting minutes document"
|
|
130
|
-
},
|
|
131
|
-
video_url: {
|
|
132
|
-
type: "TEXT",
|
|
133
|
-
description: "URL to meeting video recording"
|
|
134
|
-
},
|
|
135
|
-
meeting_status: {
|
|
136
|
-
type: "TEXT",
|
|
137
|
-
notNull: true,
|
|
138
|
-
defaultValue: "'scheduled'",
|
|
139
|
-
description: "Status: scheduled, in_progress, completed, cancelled"
|
|
140
|
-
},
|
|
141
|
-
ai_summary: {
|
|
142
|
-
type: "JSON",
|
|
143
|
-
description: "AI-generated summary of meeting content"
|
|
144
|
-
},
|
|
145
|
-
key_decisions: {
|
|
146
|
-
type: "JSON",
|
|
147
|
-
description: "Key decisions made in the meeting"
|
|
148
|
-
},
|
|
149
|
-
action_items: {
|
|
150
|
-
type: "JSON",
|
|
151
|
-
description: "Action items from the meeting"
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
addIndexes: [{
|
|
155
|
-
name: "idx_meetings_status_date",
|
|
156
|
-
columns: ["meeting_status", "date"],
|
|
157
|
-
description: "Index for status and date-based meeting queries"
|
|
158
|
-
}]
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Generate version for overridden schema
|
|
163
|
-
*/
|
|
164
|
-
static generateOverrideVersion(baseSchema, override) {
|
|
165
|
-
const overrideContent = JSON.stringify({
|
|
166
|
-
baseVersion: baseSchema.version,
|
|
167
|
-
override: {
|
|
168
|
-
addColumns: override.addColumns,
|
|
169
|
-
removeColumns: override.removeColumns,
|
|
170
|
-
addIndexes: override.addIndexes,
|
|
171
|
-
removeIndexes: override.removeIndexes,
|
|
172
|
-
addTriggers: override.addTriggers,
|
|
173
|
-
removeTriggers: override.removeTriggers
|
|
174
|
-
},
|
|
175
|
-
packageName: override.packageName
|
|
176
|
-
});
|
|
177
|
-
return createHash("sha256").update(overrideContent).digest("hex").substring(0, 8);
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Extract foreign keys from columns
|
|
181
|
-
*/
|
|
182
|
-
static extractForeignKeys(columns) {
|
|
183
|
-
const foreignKeys = [];
|
|
184
|
-
for (const [columnName, columnDef] of Object.entries(columns)) if (columnDef.foreignKey) foreignKeys.push({
|
|
185
|
-
column: columnName,
|
|
186
|
-
referencesTable: columnDef.foreignKey.table,
|
|
187
|
-
referencesColumn: columnDef.foreignKey.column,
|
|
188
|
-
onDelete: columnDef.foreignKey.onDelete,
|
|
189
|
-
onUpdate: columnDef.foreignKey.onUpdate
|
|
190
|
-
});
|
|
191
|
-
return foreignKeys;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Extract dependencies from schema
|
|
195
|
-
*/
|
|
196
|
-
static extractDependencies(schema) {
|
|
197
|
-
const dependencies = /* @__PURE__ */ new Set();
|
|
198
|
-
for (const fk of schema.foreignKeys) dependencies.add(fk.referencesTable);
|
|
199
|
-
return Array.from(dependencies);
|
|
200
|
-
}
|
|
201
|
-
};
|
|
202
|
-
//#endregion
|
|
203
|
-
export { SchemaOverrideSystem };
|
|
204
|
-
|
|
205
|
-
//# sourceMappingURL=override-system.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"override-system.js","names":[],"sources":["../../src/schema/override-system.ts"],"sourcesContent":["/**\n * Schema override system for SMRT objects\n * Allows packages and applications to extend base schemas\n */\n\nimport { createHash } from 'node:crypto';\nimport type {\n ColumnDefinition,\n ForeignKeyDefinition,\n IndexDefinition,\n SchemaDefinition,\n SchemaOverride,\n TriggerDefinition,\n} from './types.js';\n\nexport class SchemaOverrideSystem {\n /**\n * Apply schema override to base schema\n */\n static applyOverride(\n baseSchema: SchemaDefinition,\n override: SchemaOverride,\n ): SchemaDefinition {\n const overriddenSchema: SchemaDefinition = {\n ...baseSchema,\n version: SchemaOverrideSystem.generateOverrideVersion(\n baseSchema,\n override,\n ),\n packageName: override.packageName,\n };\n\n // Apply column additions\n if (override.addColumns) {\n overriddenSchema.columns = {\n ...overriddenSchema.columns,\n ...override.addColumns,\n };\n }\n\n // Apply column removals\n if (override.removeColumns) {\n for (const columnName of override.removeColumns) {\n delete overriddenSchema.columns[columnName];\n }\n }\n\n // Apply index additions\n if (override.addIndexes) {\n overriddenSchema.indexes = [\n ...overriddenSchema.indexes,\n ...override.addIndexes,\n ];\n }\n\n // Apply index removals\n if (override.removeIndexes) {\n overriddenSchema.indexes = overriddenSchema.indexes.filter(\n (index) => !override.removeIndexes?.includes(index.name),\n );\n }\n\n // Apply trigger additions\n if (override.addTriggers) {\n overriddenSchema.triggers = [\n ...overriddenSchema.triggers,\n ...override.addTriggers,\n ];\n }\n\n // Apply trigger removals\n if (override.removeTriggers) {\n overriddenSchema.triggers = overriddenSchema.triggers.filter(\n (trigger) => !override.removeTriggers?.includes(trigger.name),\n );\n }\n\n // Update foreign keys and dependencies\n overriddenSchema.foreignKeys = SchemaOverrideSystem.extractForeignKeys(\n overriddenSchema.columns,\n );\n overriddenSchema.dependencies =\n SchemaOverrideSystem.extractDependencies(overriddenSchema);\n\n return overriddenSchema;\n }\n\n /**\n * Create a schema override for extending a base schema\n */\n static createOverride(\n tableName: string,\n packageName: string,\n extensions: {\n addColumns?: Record<string, ColumnDefinition>;\n removeColumns?: string[];\n addIndexes?: IndexDefinition[];\n removeIndexes?: string[];\n addTriggers?: TriggerDefinition[];\n removeTriggers?: string[];\n },\n ): SchemaOverride {\n return {\n tableName,\n packageName,\n ...extensions,\n };\n }\n\n /**\n * Merge multiple schema overrides\n */\n static mergeOverrides(\n baseSchema: SchemaDefinition,\n overrides: SchemaOverride[],\n ): SchemaDefinition {\n let currentSchema = baseSchema;\n\n for (const override of overrides) {\n if (override.tableName === baseSchema.tableName) {\n currentSchema = SchemaOverrideSystem.applyOverride(\n currentSchema,\n override,\n );\n }\n }\n\n return currentSchema;\n }\n\n /**\n * Create praeco-specific content schema override\n */\n static createPraecoContentOverride(): SchemaOverride {\n return SchemaOverrideSystem.createOverride('contents', 'praeco', {\n addColumns: {\n council_id: {\n type: 'TEXT',\n foreignKey: {\n table: 'councils',\n column: 'id',\n onDelete: 'CASCADE',\n onUpdate: 'CASCADE',\n },\n description: 'Reference to council this content belongs to',\n },\n meeting_id: {\n type: 'TEXT',\n foreignKey: {\n table: 'meetings',\n column: 'id',\n onDelete: 'CASCADE',\n onUpdate: 'CASCADE',\n },\n description: 'Reference to meeting this content relates to',\n },\n content_type: {\n type: 'TEXT',\n notNull: true,\n defaultValue: \"'document'\",\n description: 'Type of content: document, agenda, minutes, etc.',\n },\n source_url: {\n type: 'TEXT',\n description: 'Original URL where content was found',\n },\n extraction_metadata: {\n type: 'JSON',\n description: 'Metadata about content extraction process',\n },\n analysis_results: {\n type: 'JSON',\n description: 'AI analysis results for content',\n },\n priority_score: {\n type: 'INTEGER',\n defaultValue: '0',\n description: 'Priority score for content processing',\n },\n },\n addIndexes: [\n {\n name: 'idx_contents_council_id',\n columns: ['council_id'],\n description: 'Index for council-based content queries',\n },\n {\n name: 'idx_contents_meeting_id',\n columns: ['meeting_id'],\n description: 'Index for meeting-based content queries',\n },\n {\n name: 'idx_contents_type_priority',\n columns: ['content_type', 'priority_score'],\n description: 'Compound index for content type and priority queries',\n },\n ],\n });\n }\n\n /**\n * Create praeco-specific meeting schema override\n */\n static createPraecoMeetingOverride(): SchemaOverride {\n return SchemaOverrideSystem.createOverride('meetings', 'praeco', {\n addColumns: {\n agenda_url: {\n type: 'TEXT',\n description: 'URL to meeting agenda document',\n },\n minutes_url: {\n type: 'TEXT',\n description: 'URL to meeting minutes document',\n },\n video_url: {\n type: 'TEXT',\n description: 'URL to meeting video recording',\n },\n meeting_status: {\n type: 'TEXT',\n notNull: true,\n defaultValue: \"'scheduled'\",\n description: 'Status: scheduled, in_progress, completed, cancelled',\n },\n ai_summary: {\n type: 'JSON',\n description: 'AI-generated summary of meeting content',\n },\n key_decisions: {\n type: 'JSON',\n description: 'Key decisions made in the meeting',\n },\n action_items: {\n type: 'JSON',\n description: 'Action items from the meeting',\n },\n },\n addIndexes: [\n {\n name: 'idx_meetings_status_date',\n columns: ['meeting_status', 'date'],\n description: 'Index for status and date-based meeting queries',\n },\n ],\n });\n }\n\n /**\n * Generate version for overridden schema\n */\n private static generateOverrideVersion(\n baseSchema: SchemaDefinition,\n override: SchemaOverride,\n ): string {\n const overrideContent = JSON.stringify({\n baseVersion: baseSchema.version,\n override: {\n addColumns: override.addColumns,\n removeColumns: override.removeColumns,\n addIndexes: override.addIndexes,\n removeIndexes: override.removeIndexes,\n addTriggers: override.addTriggers,\n removeTriggers: override.removeTriggers,\n },\n packageName: override.packageName,\n });\n\n return createHash('sha256')\n .update(overrideContent)\n .digest('hex')\n .substring(0, 8);\n }\n\n /**\n * Extract foreign keys from columns\n */\n private static extractForeignKeys(\n columns: Record<string, ColumnDefinition>,\n ): ForeignKeyDefinition[] {\n const foreignKeys: ForeignKeyDefinition[] = [];\n\n for (const [columnName, columnDef] of Object.entries(columns)) {\n if (columnDef.foreignKey) {\n foreignKeys.push({\n column: columnName,\n referencesTable: columnDef.foreignKey.table,\n referencesColumn: columnDef.foreignKey.column,\n onDelete: columnDef.foreignKey.onDelete,\n onUpdate: columnDef.foreignKey.onUpdate,\n });\n }\n }\n\n return foreignKeys;\n }\n\n /**\n * Extract dependencies from schema\n */\n private static extractDependencies(schema: SchemaDefinition): string[] {\n const dependencies = new Set<string>();\n\n // Add dependencies from foreign keys\n for (const fk of schema.foreignKeys) {\n dependencies.add(fk.referencesTable);\n }\n\n return Array.from(dependencies);\n }\n}\n"],"mappings":";;;;;;AAeA,IAAa,uBAAb,MAAa,qBAAqB;;;;CAIhC,OAAO,cACL,YACA,UACkB;EAClB,MAAM,mBAAqC;GACzC,GAAG;GACH,SAAS,qBAAqB,wBAC5B,YACA,QACF;GACA,aAAa,SAAS;EACxB;EAGA,IAAI,SAAS,YACX,iBAAiB,UAAU;GACzB,GAAG,iBAAiB;GACpB,GAAG,SAAS;EACd;EAIF,IAAI,SAAS,eACX,KAAK,MAAM,cAAc,SAAS,eAChC,OAAO,iBAAiB,QAAQ;EAKpC,IAAI,SAAS,YACX,iBAAiB,UAAU,CACzB,GAAG,iBAAiB,SACpB,GAAG,SAAS,UACd;EAIF,IAAI,SAAS,eACX,iBAAiB,UAAU,iBAAiB,QAAQ,QACjD,UAAU,CAAC,SAAS,eAAe,SAAS,MAAM,IAAI,CACzD;EAIF,IAAI,SAAS,aACX,iBAAiB,WAAW,CAC1B,GAAG,iBAAiB,UACpB,GAAG,SAAS,WACd;EAIF,IAAI,SAAS,gBACX,iBAAiB,WAAW,iBAAiB,SAAS,QACnD,YAAY,CAAC,SAAS,gBAAgB,SAAS,QAAQ,IAAI,CAC9D;EAIF,iBAAiB,cAAc,qBAAqB,mBAClD,iBAAiB,OACnB;EACA,iBAAiB,eACf,qBAAqB,oBAAoB,gBAAgB;EAE3D,OAAO;CACT;;;;CAKA,OAAO,eACL,WACA,aACA,YAQgB;EAChB,OAAO;GACL;GACA;GACA,GAAG;EACL;CACF;;;;CAKA,OAAO,eACL,YACA,WACkB;EAClB,IAAI,gBAAgB;EAEpB,KAAK,MAAM,YAAY,WACrB,IAAI,SAAS,cAAc,WAAW,WACpC,gBAAgB,qBAAqB,cACnC,eACA,QACF;EAIJ,OAAO;CACT;;;;CAKA,OAAO,8BAA8C;EACnD,OAAO,qBAAqB,eAAe,YAAY,UAAU;GAC/D,YAAY;IACV,YAAY;KACV,MAAM;KACN,YAAY;MACV,OAAO;MACP,QAAQ;MACR,UAAU;MACV,UAAU;KACZ;KACA,aAAa;IACf;IACA,YAAY;KACV,MAAM;KACN,YAAY;MACV,OAAO;MACP,QAAQ;MACR,UAAU;MACV,UAAU;KACZ;KACA,aAAa;IACf;IACA,cAAc;KACZ,MAAM;KACN,SAAS;KACT,cAAc;KACd,aAAa;IACf;IACA,YAAY;KACV,MAAM;KACN,aAAa;IACf;IACA,qBAAqB;KACnB,MAAM;KACN,aAAa;IACf;IACA,kBAAkB;KAChB,MAAM;KACN,aAAa;IACf;IACA,gBAAgB;KACd,MAAM;KACN,cAAc;KACd,aAAa;IACf;GACF;GACA,YAAY;IACV;KACE,MAAM;KACN,SAAS,CAAC,YAAY;KACtB,aAAa;IACf;IACA;KACE,MAAM;KACN,SAAS,CAAC,YAAY;KACtB,aAAa;IACf;IACA;KACE,MAAM;KACN,SAAS,CAAC,gBAAgB,gBAAgB;KAC1C,aAAa;IACf;GACF;EACF,CAAC;CACH;;;;CAKA,OAAO,8BAA8C;EACnD,OAAO,qBAAqB,eAAe,YAAY,UAAU;GAC/D,YAAY;IACV,YAAY;KACV,MAAM;KACN,aAAa;IACf;IACA,aAAa;KACX,MAAM;KACN,aAAa;IACf;IACA,WAAW;KACT,MAAM;KACN,aAAa;IACf;IACA,gBAAgB;KACd,MAAM;KACN,SAAS;KACT,cAAc;KACd,aAAa;IACf;IACA,YAAY;KACV,MAAM;KACN,aAAa;IACf;IACA,eAAe;KACb,MAAM;KACN,aAAa;IACf;IACA,cAAc;KACZ,MAAM;KACN,aAAa;IACf;GACF;GACA,YAAY,CACV;IACE,MAAM;IACN,SAAS,CAAC,kBAAkB,MAAM;IAClC,aAAa;GACf,CACF;EACF,CAAC;CACH;;;;CAKA,OAAe,wBACb,YACA,UACQ;EACR,MAAM,kBAAkB,KAAK,UAAU;GACrC,aAAa,WAAW;GACxB,UAAU;IACR,YAAY,SAAS;IACrB,eAAe,SAAS;IACxB,YAAY,SAAS;IACrB,eAAe,SAAS;IACxB,aAAa,SAAS;IACtB,gBAAgB,SAAS;GAC3B;GACA,aAAa,SAAS;EACxB,CAAC;EAED,OAAO,WAAW,QAAQ,CAAC,CACxB,OAAO,eAAe,CAAC,CACvB,OAAO,KAAK,CAAC,CACb,UAAU,GAAG,CAAC;CACnB;;;;CAKA,OAAe,mBACb,SACwB;EACxB,MAAM,cAAsC,CAAC;EAE7C,KAAK,MAAM,CAAC,YAAY,cAAc,OAAO,QAAQ,OAAO,GAC1D,IAAI,UAAU,YACZ,YAAY,KAAK;GACf,QAAQ;GACR,iBAAiB,UAAU,WAAW;GACtC,kBAAkB,UAAU,WAAW;GACvC,UAAU,UAAU,WAAW;GAC/B,UAAU,UAAU,WAAW;EACjC,CAAC;EAIL,OAAO;CACT;;;;CAKA,OAAe,oBAAoB,QAAoC;EACrE,MAAM,+BAAe,IAAI,IAAY;EAGrC,KAAK,MAAM,MAAM,OAAO,aACtB,aAAa,IAAI,GAAG,eAAe;EAGrC,OAAO,MAAM,KAAK,YAAY;CAChC;AACF"}
|