@supalive/core 0.1.5 → 1.0.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 (80) hide show
  1. package/dist/bytes-AuEkyxeU.js +19 -0
  2. package/dist/bytes-AuEkyxeU.js.map +1 -0
  3. package/dist/codec-BHAmGEIQ.js +62 -0
  4. package/dist/codec-BHAmGEIQ.js.map +1 -0
  5. package/dist/{helper-zdJT5FUc.js → helper-wGbzz6zo.js} +2 -18
  6. package/dist/helper-wGbzz6zo.js.map +1 -0
  7. package/dist/{index-CTyXKcq_.d.ts → index-CaWMDqq0.d.ts} +21 -3
  8. package/dist/index-CaWMDqq0.d.ts.map +1 -0
  9. package/dist/index-DouKwYL6.d.ts +1754 -0
  10. package/dist/index-DouKwYL6.d.ts.map +1 -0
  11. package/dist/{mysql-C8SN443m.d.ts → mysql-Bxurg_PH.d.ts} +2 -2
  12. package/dist/{mysql-C8SN443m.d.ts.map → mysql-Bxurg_PH.d.ts.map} +1 -1
  13. package/dist/mysql-Cxd4Uq5p.d.ts +104 -0
  14. package/dist/mysql-Cxd4Uq5p.d.ts.map +1 -0
  15. package/dist/{mysql-DELSRrpY.js → mysql-bvnjYWvZ.js} +5 -4
  16. package/dist/{mysql-DELSRrpY.js.map → mysql-bvnjYWvZ.js.map} +1 -1
  17. package/dist/{overlap-checker-CVkbbuEQ.js → overlap-checker-Ct_HP_iB.js} +4 -4
  18. package/dist/{overlap-checker-CVkbbuEQ.js.map → overlap-checker-Ct_HP_iB.js.map} +1 -1
  19. package/dist/{postgres-DE-XyNAQ.js → postgres-B8u1YN8X.js} +5 -4
  20. package/dist/{postgres-DE-XyNAQ.js.map → postgres-B8u1YN8X.js.map} +1 -1
  21. package/dist/{postgres-D_gwCHx-.d.ts → postgres-CfT_aDx3.d.ts} +2 -2
  22. package/dist/{postgres-D_gwCHx-.d.ts.map → postgres-CfT_aDx3.d.ts.map} +1 -1
  23. package/dist/postgres-Ck-xt72U.d.ts +108 -0
  24. package/dist/postgres-Ck-xt72U.d.ts.map +1 -0
  25. package/dist/{schema-SKcIWHfo.js → procedure-DX87tyef.js} +2 -45
  26. package/dist/procedure-DX87tyef.js.map +1 -0
  27. package/dist/{query-CbQLjeME.js → query-Bh0RNxDz.js} +24 -64
  28. package/dist/query-Bh0RNxDz.js.map +1 -0
  29. package/dist/{realtime_db-D9p2X2PH.js → realtime_db-DOCgqbwi.js} +4 -3
  30. package/dist/{realtime_db-D9p2X2PH.js.map → realtime_db-DOCgqbwi.js.map} +1 -1
  31. package/dist/router-DlTYWpop.js.map +1 -1
  32. package/dist/schema-Dd7u0A1L.js +109 -0
  33. package/dist/schema-Dd7u0A1L.js.map +1 -0
  34. package/dist/src/client/index.d.ts +1 -1
  35. package/dist/src/client/index.js +6 -5
  36. package/dist/src/client/index.js.map +1 -1
  37. package/dist/src/exports/codegen.d.ts +38 -0
  38. package/dist/src/exports/codegen.d.ts.map +1 -0
  39. package/dist/src/exports/codegen.js +134 -0
  40. package/dist/src/exports/codegen.js.map +1 -0
  41. package/dist/src/exports/mysql.d.ts +1 -1
  42. package/dist/src/exports/mysql.js +1 -1
  43. package/dist/src/exports/postgres.d.ts +1 -1
  44. package/dist/src/exports/postgres.js +1 -1
  45. package/dist/src/exports/procedure.d.ts +2 -2
  46. package/dist/src/exports/procedure.js +5 -4
  47. package/dist/src/exports/schema-sql.d.ts +18 -0
  48. package/dist/src/exports/schema-sql.d.ts.map +1 -0
  49. package/dist/src/exports/schema-sql.js +161 -0
  50. package/dist/src/exports/schema-sql.js.map +1 -0
  51. package/dist/src/exports/server.d.ts +4 -4
  52. package/dist/src/exports/server.d.ts.map +1 -1
  53. package/dist/src/exports/server.js +4 -9
  54. package/dist/src/exports/server.js.map +1 -1
  55. package/dist/src/exports/subscription-manager-worker-entry.js +2 -3
  56. package/dist/src/exports/subscription-manager-worker-entry.js.map +1 -1
  57. package/dist/src/exports/types.d.ts +2 -2
  58. package/dist/src/exports/types.js +2 -2
  59. package/dist/subscription-worker-CqoWp6zB.js +511 -0
  60. package/dist/subscription-worker-CqoWp6zB.js.map +1 -0
  61. package/dist/subscription-worker-PtmJWEj1.js +511 -0
  62. package/dist/subscription-worker-PtmJWEj1.js.map +1 -0
  63. package/dist/{subscription-worker-BurdPO8d.js → subscription-worker-pahX0zxg.js} +7 -7
  64. package/dist/{subscription-worker-BurdPO8d.js.map → subscription-worker-pahX0zxg.js.map} +1 -1
  65. package/dist/{types_db-Ctf-ksoy.js → types_db-DXj_l9n-.js} +2 -2
  66. package/dist/{types_db-Ctf-ksoy.js.map → types_db-DXj_l9n-.js.map} +1 -1
  67. package/dist/types_server-BW1ys_SK.d.ts +216 -0
  68. package/dist/types_server-BW1ys_SK.d.ts.map +1 -0
  69. package/dist/types_server-Dk6o_B7N.js.map +1 -1
  70. package/dist/types_server-Dpsi0wpG.d.ts +216 -0
  71. package/dist/types_server-Dpsi0wpG.d.ts.map +1 -0
  72. package/dist/types_server-DzrIccyO.d.ts +216 -0
  73. package/dist/types_server-DzrIccyO.d.ts.map +1 -0
  74. package/dist/{types_server-Ch56y8L3.d.ts → types_server-TFo6SWDH.d.ts} +2 -2
  75. package/dist/{types_server-Ch56y8L3.d.ts.map → types_server-TFo6SWDH.d.ts.map} +1 -1
  76. package/package.json +7 -2
  77. package/dist/helper-zdJT5FUc.js.map +0 -1
  78. package/dist/index-CTyXKcq_.d.ts.map +0 -1
  79. package/dist/query-CbQLjeME.js.map +0 -1
  80. package/dist/schema-SKcIWHfo.js.map +0 -1
@@ -0,0 +1,216 @@
1
+ import { An as CacheLayer, ar as MutationResult, tt as RegisteredProcedure, wt as SupaliveDb } from "./index-DouKwYL6.js";
2
+ import z from "zod";
3
+ import { WebSocket } from "ws";
4
+ import { Level } from "pino";
5
+ import { Redis } from "ioredis";
6
+
7
+ //#region src/config.d.ts
8
+ interface UpstashConfig {
9
+ url: string;
10
+ token: string;
11
+ redisUrl: string;
12
+ }
13
+ /** Database configuration for PostgreSQL */
14
+ interface PostgresConfig {
15
+ type: "postgres";
16
+ connectionString: string;
17
+ /** Optional max connections for the Postgres connection pool. Defaults to 10.*/
18
+ maxConnections?: number;
19
+ /** Optional min connections for the Postgres connection pool. Defaults to 1.*/
20
+ minConnections?: number;
21
+ /** Optional idle timeout for Postgres connections in milliseconds. Defaults to 30000 (30 seconds). */
22
+ idleTimeoutMillis?: number;
23
+ /** Optional connection timeout for acquiring Postgres connections in milliseconds. Defaults to 7000 (7 seconds). */
24
+ connectionTimeoutMillis?: number;
25
+ }
26
+ /** Database configuration for MySQL */
27
+ interface MySQLConfig {
28
+ type: "mysql";
29
+ connectionString: string;
30
+ /** Optional max connections for the MySQL connection pool. Defaults to 20.*/
31
+ maxConnections?: number;
32
+ /** Optional min connections for the MySQL connection pool. Defaults to 1.*/
33
+ minConnections?: number;
34
+ /** Optional idle timeout for MySQL connections in milliseconds. Defaults to 30000 (30 seconds). */
35
+ idleTimeoutMillis?: number;
36
+ /** Optional connection timeout for acquiring MySQL connections in milliseconds. Defaults to 7000 (7 seconds). */
37
+ connectionTimeoutMillis?: number;
38
+ /** Optional flag to queue connection requests when pool is exhausted. Defaults to true (queue requests). */
39
+ queueLimit?: number;
40
+ }
41
+ type DatabaseConfig = PostgresConfig | MySQLConfig;
42
+ /**
43
+ * Configuration for the Supalive WebSocket server.
44
+ */
45
+ interface SupaliveServerConfig<TContext = Record<string, unknown>> {
46
+ /** Server port (default: 3000) */
47
+ port?: number;
48
+ /** Server host (default: "0.0.0.0") */
49
+ host?: string;
50
+ cacheLayer: CacheLayer;
51
+ redisSubClient: Redis;
52
+ /**
53
+ * Subscription Manager WebSocket URL for RPC communication.
54
+ * A single sub-manager process owns all subscription state for this
55
+ * deployment. Internally it spawns N logical workers (configured on the
56
+ * sub-manager side) and routes by hash(subId) to spread CPU across them.
57
+ */
58
+ subManagerUrl: string;
59
+ /** Database instance */
60
+ database: SupaliveDb;
61
+ /**
62
+ * Optional authentication callback.
63
+ * Called when client sends auth message.
64
+ * Return null to reject authentication.
65
+ */
66
+ verifyAuth?: (data: Record<string, unknown>, sessionId: string) => Promise<TContext | null>;
67
+ /**
68
+ * Server context name for procedure routing.
69
+ * Must match the router's contextName.
70
+ */
71
+ contextName?: string;
72
+ /**
73
+ * Session TTL in seconds (default: 3600 = 1 hour).
74
+ * Sessions are kept alive while connected and expire after disconnect.
75
+ */
76
+ sessionTtlSeconds?: number;
77
+ /**
78
+ * Enable detailed logging.
79
+ */
80
+ logLevel?: Level;
81
+ /**
82
+ * Extract user ID from context for cache key generation.
83
+ * If not provided, caching is disabled (each sub recomputes independently).
84
+ */
85
+ getUserId?: (ctx: TContext | undefined) => string;
86
+ /**
87
+ * Cache TTL in seconds (default: 3600).
88
+ * How long query results are cached in Redis.
89
+ */
90
+ cacheTtlSeconds?: number;
91
+ }
92
+ interface SubscriptionManagerConfig {
93
+ port: number;
94
+ upstash: {
95
+ url: string;
96
+ token: string;
97
+ redisUrl: string;
98
+ };
99
+ database: DatabaseConfig;
100
+ cacheTTLSeconds: number;
101
+ /**
102
+ * Number of logical workers inside the sub-manager process.
103
+ *
104
+ * Subscriptions are routed by FNV-1a(subId) % workers so that all operations
105
+ * for a given subId always land on the same worker (preserving the existing
106
+ * `instances: Set<string>` dedup). Each worker owns an independent
107
+ * subscriptions Map; on invalidate, all workers scan their own slice in
108
+ * parallel (logically — JS still runs one at a time inside one event loop,
109
+ * but per-worker scans are smaller so total work is split N ways).
110
+ *
111
+ * Defaults to `SUPALIVE_SUB_MANAGER_WORKERS` env var if set, else 1.
112
+ */
113
+ workers?: number;
114
+ /**
115
+ * Connection pool size *per worker*. If omitted, falls back to
116
+ * `floor(database.maxConnections / workers)` (min 1) so the total pool
117
+ * size stays close to the legacy single-worker configuration.
118
+ */
119
+ maxConnectionsPerWorker?: number;
120
+ }
121
+ //#endregion
122
+ //#region src/server/types_server.d.ts
123
+ type InstanceId = string;
124
+ type SubId = string;
125
+ /** Local tracking of an active subscription (per-session) */
126
+ interface SubscriptionEntry {
127
+ subId: SubId;
128
+ cacheKey: string;
129
+ subscribedTimes: number;
130
+ }
131
+ /**
132
+ * A mutation that has been validated and parked on the per-session FIFO
133
+ * queue, waiting for the in-flight mutation on this socket to finish. Each
134
+ * `handleCall` for a mutation owns one of these and awaits its own
135
+ * resolve/reject so it can send the response.
136
+ */
137
+ interface PendingMutation<TContext = Record<string, unknown>> {
138
+ procedure: RegisteredProcedure<TContext>;
139
+ validatedInput: unknown;
140
+ resolve: (result: MutationResult<unknown>) => void;
141
+ reject: (err: unknown) => void;
142
+ }
143
+ /** WebSocket session (runtime, with WebSocket) */
144
+ interface Session<TContext = Record<string, unknown>> {
145
+ id: string;
146
+ ws: WebSocket;
147
+ /** Auth context from verifyAuth callback */
148
+ serverCtx?: TContext;
149
+ subIds: Set<string>;
150
+ /**
151
+ * Per-socket FIFO mutation queue. at most one mutation
152
+ * drains at a time so a single client cannot saturate the OCC retry
153
+ * loop or fan out concurrent commits that race the same rows.
154
+ */
155
+ mutationQueue: PendingMutation<TContext>[];
156
+ mutationInFlight: boolean;
157
+ /** Per-socket count of currently executing actions. */
158
+ actionInFlight: number;
159
+ /**
160
+ * Wall-clock of the last inbound frame (text message, ws-ping, or ws-pong).
161
+ * Used by the per-session heartbeat to terminate sockets that have gone
162
+ * silent past `CLIENT_TIMEOUT_MS`.
163
+ */
164
+ lastReceivedAt: number;
165
+ /**
166
+ * Wall-clock of the last outbound frame. Gates the idle-only app-level
167
+ * ping so a busy session (frequent sub:updates etc.) doesn't emit a
168
+ * redundant `{type:"ping"}` on every heartbeat tick.
169
+ */
170
+ lastSentAt: number;
171
+ /**
172
+ * Per-session combined heartbeat. Single `setInterval` that handles
173
+ * both dead-TCP detection (ws-ping or terminate) and client-watchdog
174
+ * refresh (idle-only app-level ping) on each tick.
175
+ */
176
+ heartbeatTimer: ReturnType<typeof setInterval> | null;
177
+ }
178
+ declare const RemoteSubscriptionUpdateSchema: z.ZodObject<{
179
+ type: z.ZodLiteral<"update">;
180
+ subId: z.ZodString;
181
+ data: z.ZodUnknown;
182
+ dataHash: z.ZodString;
183
+ originInstance: z.ZodString;
184
+ }, z.core.$strip>;
185
+ type RemoteSubscriptionUpdate = z.infer<typeof RemoteSubscriptionUpdateSchema>;
186
+ declare const RemoteRecomputeRaceSchema: z.ZodObject<{
187
+ type: z.ZodLiteral<"recompute-race">;
188
+ subId: z.ZodString;
189
+ cacheKey: z.ZodString;
190
+ queryName: z.ZodString;
191
+ args: z.ZodUnknown;
192
+ notifyInstances: z.ZodArray<z.ZodString>;
193
+ commitTs: z.ZodString;
194
+ originInstance: z.ZodString;
195
+ }, z.core.$strip>;
196
+ type RemoteRecomputeRace = z.infer<typeof RemoteRecomputeRaceSchema>;
197
+ declare const RemoteSubscriptionMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
198
+ type: z.ZodLiteral<"update">;
199
+ subId: z.ZodString;
200
+ data: z.ZodUnknown;
201
+ dataHash: z.ZodString;
202
+ originInstance: z.ZodString;
203
+ }, z.core.$strip>, z.ZodObject<{
204
+ type: z.ZodLiteral<"recompute-race">;
205
+ subId: z.ZodString;
206
+ cacheKey: z.ZodString;
207
+ queryName: z.ZodString;
208
+ args: z.ZodUnknown;
209
+ notifyInstances: z.ZodArray<z.ZodString>;
210
+ commitTs: z.ZodString;
211
+ originInstance: z.ZodString;
212
+ }, z.core.$strip>], "type">;
213
+ type RemoteSubscriptionMessage = z.infer<typeof RemoteSubscriptionMessageSchema>;
214
+ //#endregion
215
+ export { UpstashConfig as _, RemoteSubscriptionMessage as a, RemoteSubscriptionUpdateSchema as c, SubscriptionEntry as d, DatabaseConfig as f, SupaliveServerConfig as g, SubscriptionManagerConfig as h, RemoteRecomputeRaceSchema as i, Session as l, PostgresConfig as m, PendingMutation as n, RemoteSubscriptionMessageSchema as o, MySQLConfig as p, RemoteRecomputeRace as r, RemoteSubscriptionUpdate as s, InstanceId as t, SubId as u };
216
+ //# sourceMappingURL=types_server-Dpsi0wpG.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types_server-Dpsi0wpG.d.ts","names":[],"sources":["../src/config.ts","../src/server/types_server.ts"],"mappings":";;;;;;;UAKiB,aAAA;EACb,GAAA;EACA,KAAA;EACA,QAAA;AAAA;;UAIa,cAAA;EACb,IAAA;EACA,gBAAA;EANA;EAQA,cAAA;EARQ;EAWR,cAAA;EAP2B;EAU3B,iBAAA;EAV2B;EAa3B,uBAAA;AAAA;;UAIa,WAAA;EACb,IAAA;EACA,gBAAA;EANuB;EAQvB,cAAA;EAJa;EAOb,cAAA;;EAGA,iBAAA;EATA;EAYA,uBAAA;EATA;EAYA,UAAA;AAAA;AAAA,KAGQ,cAAA,GAAiB,cAAA,GAAiB,WAAW;;;AAH3C;UAQG,oBAAA,YAAgC,MAAA;EALvB;EAOtB,IAAA;EAPyB;EAUzB,IAAA;EAKA,UAAA,EAAY,UAAA;EAIZ,cAAA,EAAgB,KAAA;EAdiB;;;;;;EAsBjC,aAAA;EAaK;EAVL,QAAA,EAAU,UAAA;EAiCQ;;;;;EA1BlB,UAAA,IACI,IAAA,EAAM,MAAA,mBACN,SAAA,aACC,OAAA,CAAQ,QAAA;EA9Bb;;;;EAoCA,WAAA;EAnBA;;;;EAyBA,iBAAA;EAdI;;;EAmBJ,QAAA,GAAW,KAAA;EAXX;;;;EAiBA,SAAA,IAAa,GAAA,EAAK,QAAA;EAAA;;;;EAMlB,eAAA;AAAA;AAAA,UAGa,yBAAA;EACb,IAAA;EACA,OAAA;IAAW,GAAA;IAAa,KAAA;IAAe,QAAA;EAAA;EACvC,QAAA,EAAU,cAAc;EACxB,eAAA;EADU;;;;;AAoBa;;;;ACxI3B;;;EDkII,OAAA;EClIkB;AAEtB;;;;EDsII,uBAAA;AAAA;;;KCxIQ,UAAA;AAAA,KAEA,KAAA;;UAGK,iBAAA;EACf,KAAA,EAAO,KAAK;EACZ,QAAA;EACA,eAAA;AAAA;;;;ADPU;AAIZ;;UCYiB,eAAA,YAA2B,MAAA;EAC1C,SAAA,EAAW,mBAAA,CAAoB,QAAA;EAC/B,cAAA;EACA,OAAA,GAAU,MAAA,EAAQ,cAAA;EAClB,MAAA,GAAS,GAAA;AAAA;;UAIM,OAAA,YAAmB,MAAA;EAClC,EAAA;EACA,EAAA,EAAI,SAAA;EDLW;ECOf,SAAA,GAAY,QAAA;EACZ,MAAA,EAAQ,GAAA;EDRkB;;;;;ECc1B,aAAA,EAAe,eAAA,CAAgB,QAAA;EAC/B,gBAAA;EDCE;ECCF,cAAA;EDDY;AAGd;;;;ECIE,cAAA;EDCe;;;;;ECKf,UAAA;EDoBY;;;;;ECdZ,cAAA,EAAgB,UAAA,QAAkB,WAAA;AAAA;AAAA,cAgBvB,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;KAO/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;KAU1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,+BAAA,EAA+B,CAAA,CAAA,qBAAA,EAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;KAIhC,yBAAA,GAA4B,CAAA,CAAE,KAAK,QAAQ,+BAAA"}
@@ -0,0 +1,216 @@
1
+ import { An as CacheLayer, ar as MutationResult, tt as RegisteredProcedure, wt as SupaliveDb } from "./index-DouKwYL6.js";
2
+ import z from "zod";
3
+ import { WebSocket } from "ws";
4
+ import { Level } from "pino";
5
+ import { Redis } from "ioredis";
6
+
7
+ //#region src/config.d.ts
8
+ interface UpstashConfig {
9
+ url: string;
10
+ token: string;
11
+ redisUrl: string;
12
+ }
13
+ /** Database configuration for PostgreSQL */
14
+ interface PostgresConfig {
15
+ type: "postgres";
16
+ connectionString: string;
17
+ /** Optional max connections for the Postgres connection pool. Defaults to 10.*/
18
+ maxConnections?: number;
19
+ /** Optional min connections for the Postgres connection pool. Defaults to 1.*/
20
+ minConnections?: number;
21
+ /** Optional idle timeout for Postgres connections in milliseconds. Defaults to 30000 (30 seconds). */
22
+ idleTimeoutMillis?: number;
23
+ /** Optional connection timeout for acquiring Postgres connections in milliseconds. Defaults to 7000 (7 seconds). */
24
+ connectionTimeoutMillis?: number;
25
+ }
26
+ /** Database configuration for MySQL */
27
+ interface MySQLConfig {
28
+ type: "mysql";
29
+ connectionString: string;
30
+ /** Optional max connections for the MySQL connection pool. Defaults to 20.*/
31
+ maxConnections?: number;
32
+ /** Optional min connections for the MySQL connection pool. Defaults to 1.*/
33
+ minConnections?: number;
34
+ /** Optional idle timeout for MySQL connections in milliseconds. Defaults to 30000 (30 seconds). */
35
+ idleTimeoutMillis?: number;
36
+ /** Optional connection timeout for acquiring MySQL connections in milliseconds. Defaults to 7000 (7 seconds). */
37
+ connectionTimeoutMillis?: number;
38
+ /** Optional flag to queue connection requests when pool is exhausted. Defaults to true (queue requests). */
39
+ queueLimit?: number;
40
+ }
41
+ type DatabaseConfig = PostgresConfig | MySQLConfig;
42
+ /**
43
+ * Configuration for the Supalive WebSocket server.
44
+ */
45
+ interface SupaliveServerConfig<TContext = Record<string, unknown>> {
46
+ /** Server port (default: 3000) */
47
+ port?: number;
48
+ /** Server host (default: "0.0.0.0") */
49
+ host?: string;
50
+ cacheLayer: CacheLayer;
51
+ redisSubClient: Redis;
52
+ /**
53
+ * Subscription Manager WebSocket URL for RPC communication.
54
+ * A single sub-manager process owns all subscription state for this
55
+ * deployment. Internally it spawns N logical workers (configured on the
56
+ * sub-manager side) and routes by hash(subId) to spread CPU across them.
57
+ */
58
+ subManagerUrl: string;
59
+ /** Database instance */
60
+ database: SupaliveDb;
61
+ /**
62
+ * Optional authentication callback.
63
+ * Called when client sends auth message.
64
+ * Return null to reject authentication.
65
+ */
66
+ verifyAuth?: (data: Record<string, unknown>, sessionId: string) => Promise<TContext | null>;
67
+ /**
68
+ * Server context name for procedure routing.
69
+ * Must match the router's contextName.
70
+ */
71
+ contextName?: string;
72
+ /**
73
+ * Session TTL in seconds (default: 3600 = 1 hour).
74
+ * Sessions are kept alive while connected and expire after disconnect.
75
+ */
76
+ sessionTtlSeconds?: number;
77
+ /**
78
+ * Enable detailed logging.
79
+ */
80
+ logLevel?: Level;
81
+ /**
82
+ * Extract user ID from context for cache key generation.
83
+ * If not provided, caching is disabled (each sub recomputes independently).
84
+ */
85
+ getUserId?: (ctx: TContext | undefined, bool: boolean) => string | null;
86
+ /**
87
+ * Cache TTL in seconds (default: 3600).
88
+ * How long query results are cached in Redis.
89
+ */
90
+ cacheTtlSeconds?: number;
91
+ }
92
+ interface SubscriptionManagerConfig {
93
+ port: number;
94
+ upstash: {
95
+ url: string;
96
+ token: string;
97
+ redisUrl: string;
98
+ };
99
+ database: DatabaseConfig;
100
+ cacheTTLSeconds: number;
101
+ /**
102
+ * Number of logical workers inside the sub-manager process.
103
+ *
104
+ * Subscriptions are routed by FNV-1a(subId) % workers so that all operations
105
+ * for a given subId always land on the same worker (preserving the existing
106
+ * `instances: Set<string>` dedup). Each worker owns an independent
107
+ * subscriptions Map; on invalidate, all workers scan their own slice in
108
+ * parallel (logically — JS still runs one at a time inside one event loop,
109
+ * but per-worker scans are smaller so total work is split N ways).
110
+ *
111
+ * Defaults to `SUPALIVE_SUB_MANAGER_WORKERS` env var if set, else 1.
112
+ */
113
+ workers?: number;
114
+ /**
115
+ * Connection pool size *per worker*. If omitted, falls back to
116
+ * `floor(database.maxConnections / workers)` (min 1) so the total pool
117
+ * size stays close to the legacy single-worker configuration.
118
+ */
119
+ maxConnectionsPerWorker?: number;
120
+ }
121
+ //#endregion
122
+ //#region src/server/types_server.d.ts
123
+ type InstanceId = string;
124
+ type SubId = string;
125
+ /** Local tracking of an active subscription (per-session) */
126
+ interface SubscriptionEntry {
127
+ subId: SubId;
128
+ cacheKey: string;
129
+ subscribedTimes: number;
130
+ }
131
+ /**
132
+ * A mutation that has been validated and parked on the per-session FIFO
133
+ * queue, waiting for the in-flight mutation on this socket to finish. Each
134
+ * `handleCall` for a mutation owns one of these and awaits its own
135
+ * resolve/reject so it can send the response.
136
+ */
137
+ interface PendingMutation<TContext = Record<string, unknown>> {
138
+ procedure: RegisteredProcedure<TContext>;
139
+ validatedInput: unknown;
140
+ resolve: (result: MutationResult<unknown>) => void;
141
+ reject: (err: unknown) => void;
142
+ }
143
+ /** WebSocket session (runtime, with WebSocket) */
144
+ interface Session<TContext = Record<string, unknown>> {
145
+ id: string;
146
+ ws: WebSocket;
147
+ /** Auth context from verifyAuth callback */
148
+ serverCtx?: TContext;
149
+ subIds: Set<string>;
150
+ /**
151
+ * Per-socket FIFO mutation queue. at most one mutation
152
+ * drains at a time so a single client cannot saturate the OCC retry
153
+ * loop or fan out concurrent commits that race the same rows.
154
+ */
155
+ mutationQueue: PendingMutation<TContext>[];
156
+ mutationInFlight: boolean;
157
+ /** Per-socket count of currently executing actions. */
158
+ actionInFlight: number;
159
+ /**
160
+ * Wall-clock of the last inbound frame (text message, ws-ping, or ws-pong).
161
+ * Used by the per-session heartbeat to terminate sockets that have gone
162
+ * silent past `CLIENT_TIMEOUT_MS`.
163
+ */
164
+ lastReceivedAt: number;
165
+ /**
166
+ * Wall-clock of the last outbound frame. Gates the idle-only app-level
167
+ * ping so a busy session (frequent sub:updates etc.) doesn't emit a
168
+ * redundant `{type:"ping"}` on every heartbeat tick.
169
+ */
170
+ lastSentAt: number;
171
+ /**
172
+ * Per-session combined heartbeat. Single `setInterval` that handles
173
+ * both dead-TCP detection (ws-ping or terminate) and client-watchdog
174
+ * refresh (idle-only app-level ping) on each tick.
175
+ */
176
+ heartbeatTimer: ReturnType<typeof setInterval> | null;
177
+ }
178
+ declare const RemoteSubscriptionUpdateSchema: z.ZodObject<{
179
+ type: z.ZodLiteral<"update">;
180
+ subId: z.ZodString;
181
+ data: z.ZodUnknown;
182
+ dataHash: z.ZodString;
183
+ originInstance: z.ZodString;
184
+ }, z.core.$strip>;
185
+ type RemoteSubscriptionUpdate = z.infer<typeof RemoteSubscriptionUpdateSchema>;
186
+ declare const RemoteRecomputeRaceSchema: z.ZodObject<{
187
+ type: z.ZodLiteral<"recompute-race">;
188
+ subId: z.ZodString;
189
+ cacheKey: z.ZodString;
190
+ queryName: z.ZodString;
191
+ args: z.ZodUnknown;
192
+ notifyInstances: z.ZodArray<z.ZodString>;
193
+ commitTs: z.ZodString;
194
+ originInstance: z.ZodString;
195
+ }, z.core.$strip>;
196
+ type RemoteRecomputeRace = z.infer<typeof RemoteRecomputeRaceSchema>;
197
+ declare const RemoteSubscriptionMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
198
+ type: z.ZodLiteral<"update">;
199
+ subId: z.ZodString;
200
+ data: z.ZodUnknown;
201
+ dataHash: z.ZodString;
202
+ originInstance: z.ZodString;
203
+ }, z.core.$strip>, z.ZodObject<{
204
+ type: z.ZodLiteral<"recompute-race">;
205
+ subId: z.ZodString;
206
+ cacheKey: z.ZodString;
207
+ queryName: z.ZodString;
208
+ args: z.ZodUnknown;
209
+ notifyInstances: z.ZodArray<z.ZodString>;
210
+ commitTs: z.ZodString;
211
+ originInstance: z.ZodString;
212
+ }, z.core.$strip>], "type">;
213
+ type RemoteSubscriptionMessage = z.infer<typeof RemoteSubscriptionMessageSchema>;
214
+ //#endregion
215
+ export { UpstashConfig as _, RemoteSubscriptionMessage as a, RemoteSubscriptionUpdateSchema as c, SubscriptionEntry as d, DatabaseConfig as f, SupaliveServerConfig as g, SubscriptionManagerConfig as h, RemoteRecomputeRaceSchema as i, Session as l, PostgresConfig as m, PendingMutation as n, RemoteSubscriptionMessageSchema as o, MySQLConfig as p, RemoteRecomputeRace as r, RemoteSubscriptionUpdate as s, InstanceId as t, SubId as u };
216
+ //# sourceMappingURL=types_server-DzrIccyO.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types_server-DzrIccyO.d.ts","names":[],"sources":["../src/config.ts","../src/server/types_server.ts"],"mappings":";;;;;;;UAKiB,aAAA;EACb,GAAA;EACA,KAAA;EACA,QAAA;AAAA;;UAIa,cAAA;EACb,IAAA;EACA,gBAAA;EANA;EAQA,cAAA;EARQ;EAWR,cAAA;EAP2B;EAU3B,iBAAA;EAV2B;EAa3B,uBAAA;AAAA;;UAIa,WAAA;EACb,IAAA;EACA,gBAAA;EANuB;EAQvB,cAAA;EAJa;EAOb,cAAA;;EAGA,iBAAA;EATA;EAYA,uBAAA;EATA;EAYA,UAAA;AAAA;AAAA,KAGQ,cAAA,GAAiB,cAAA,GAAiB,WAAW;;;AAH3C;UAQG,oBAAA,YAAgC,MAAA;EALvB;EAOtB,IAAA;EAPyB;EAUzB,IAAA;EAKA,UAAA,EAAY,UAAA;EAIZ,cAAA,EAAgB,KAAA;EAdiB;;;;;;EAsBjC,aAAA;EAaK;EAVL,QAAA,EAAU,UAAA;EAiCQ;;;;;EA1BlB,UAAA,IACI,IAAA,EAAM,MAAA,mBACN,SAAA,aACC,OAAA,CAAQ,QAAA;EA9Bb;;;;EAoCA,WAAA;EAnBA;;;;EAyBA,iBAAA;EAdI;;;EAmBJ,QAAA,GAAW,KAAA;EAXX;;;;EAiBA,SAAA,IAAa,GAAA,EAAK,QAAA,cAAsB,IAAA;EAAtB;;;;EAMlB,eAAA;AAAA;AAAA,UAGa,yBAAA;EACb,IAAA;EACA,OAAA;IAAW,GAAA;IAAa,KAAA;IAAe,QAAA;EAAA;EACvC,QAAA,EAAU,cAAc;EACxB,eAAA;EADA;;;;;;AAoBuB;;;;ACxI3B;;EDkII,OAAA;EClIkB;AAAA;AAEtB;;;EDsII,uBAAA;AAAA;;;KCxIQ,UAAA;AAAA,KAEA,KAAA;;UAGK,iBAAA;EACf,KAAA,EAAO,KAAK;EACZ,QAAA;EACA,eAAA;AAAA;;;;ADPU;AAIZ;;UCYiB,eAAA,YAA2B,MAAA;EAC1C,SAAA,EAAW,mBAAA,CAAoB,QAAA;EAC/B,cAAA;EACA,OAAA,GAAU,MAAA,EAAQ,cAAA;EAClB,MAAA,GAAS,GAAA;AAAA;;UAIM,OAAA,YAAmB,MAAA;EAClC,EAAA;EACA,EAAA,EAAI,SAAA;EDLW;ECOf,SAAA,GAAY,QAAA;EACZ,MAAA,EAAQ,GAAA;EDRkB;;;;;ECc1B,aAAA,EAAe,eAAA,CAAgB,QAAA;EAC/B,gBAAA;EDCE;ECCF,cAAA;EDDY;AAGd;;;;ECIE,cAAA;EDCe;;;;;ECKf,UAAA;EDoBY;;;;;ECdZ,cAAA,EAAgB,UAAA,QAAkB,WAAA;AAAA;AAAA,cAgBvB,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;KAO/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;KAU1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,+BAAA,EAA+B,CAAA,CAAA,qBAAA,EAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;KAIhC,yBAAA,GAA4B,CAAA,CAAE,KAAK,QAAQ,+BAAA"}
@@ -1,4 +1,4 @@
1
- import { Tn as CacheLayer, er as MutationResult, tt as RegisteredProcedure, wt as SupaliveDb } from "./index-CTyXKcq_.js";
1
+ import { An as CacheLayer, ar as MutationResult, tt as RegisteredProcedure, wt as SupaliveDb } from "./index-CaWMDqq0.js";
2
2
  import z from "zod";
3
3
  import { WebSocket } from "ws";
4
4
  import { Level } from "pino";
@@ -213,4 +213,4 @@ declare const RemoteSubscriptionMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObj
213
213
  type RemoteSubscriptionMessage = z.infer<typeof RemoteSubscriptionMessageSchema>;
214
214
  //#endregion
215
215
  export { UpstashConfig as _, RemoteSubscriptionMessage as a, RemoteSubscriptionUpdateSchema as c, SubscriptionEntry as d, DatabaseConfig as f, SupaliveServerConfig as g, SubscriptionManagerConfig as h, RemoteRecomputeRaceSchema as i, Session as l, PostgresConfig as m, PendingMutation as n, RemoteSubscriptionMessageSchema as o, MySQLConfig as p, RemoteRecomputeRace as r, RemoteSubscriptionUpdate as s, InstanceId as t, SubId as u };
216
- //# sourceMappingURL=types_server-Ch56y8L3.d.ts.map
216
+ //# sourceMappingURL=types_server-TFo6SWDH.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types_server-Ch56y8L3.d.ts","names":[],"sources":["../src/config.ts","../src/server/types_server.ts"],"mappings":";;;;;;;UAKiB,aAAA;EACb,GAAA;EACA,KAAA;EACA,QAAA;AAAA;;UAIa,cAAA;EACb,IAAA;EACA,gBAAA;EANA;EAQA,cAAA;EARQ;EAWR,cAAA;EAP2B;EAU3B,iBAAA;EAV2B;EAa3B,uBAAA;AAAA;;UAIa,WAAA;EACb,IAAA;EACA,gBAAA;EANuB;EAQvB,cAAA;EAJa;EAOb,cAAA;;EAGA,iBAAA;EATA;EAYA,uBAAA;EATA;EAYA,UAAA;AAAA;AAAA,KAGQ,cAAA,GAAiB,cAAA,GAAiB,WAAW;;;AAH3C;UAQG,oBAAA,YAAgC,MAAA;EALvB;EAOtB,IAAA;EAPyB;EAUzB,IAAA;EAKA,UAAA,EAAY,UAAA;EAIZ,cAAA,EAAgB,KAAA;EAdiB;;;;;;EAsBjC,aAAA;EAaK;EAVL,QAAA,EAAU,UAAA;EAiCQ;;;;;EA1BlB,UAAA,IACI,IAAA,EAAM,MAAA,mBACN,SAAA,aACC,OAAA,CAAQ,QAAA;EA9Bb;;;;EAoCA,WAAA;EAnBA;;;;EAyBA,iBAAA;EAdI;;;EAmBJ,QAAA,GAAW,KAAA;EAXX;;;;EAiBA,SAAA,IAAa,GAAA,EAAK,QAAA;EAAA;;;;EAMlB,eAAA;AAAA;AAAA,UAGa,yBAAA;EACb,IAAA;EACA,OAAA;IAAW,GAAA;IAAa,KAAA;IAAe,QAAA;EAAA;EACvC,QAAA,EAAU,cAAc;EACxB,eAAA;EADU;;;;;AAoBa;;;;ACxI3B;;;EDkII,OAAA;EClIkB;AAEtB;;;;EDsII,uBAAA;AAAA;;;KCxIQ,UAAA;AAAA,KAEA,KAAA;;UAGK,iBAAA;EACf,KAAA,EAAO,KAAK;EACZ,QAAA;EACA,eAAA;AAAA;;;;ADPU;AAIZ;;UCYiB,eAAA,YAA2B,MAAA;EAC1C,SAAA,EAAW,mBAAA,CAAoB,QAAA;EAC/B,cAAA;EACA,OAAA,GAAU,MAAA,EAAQ,cAAA;EAClB,MAAA,GAAS,GAAA;AAAA;;UAIM,OAAA,YAAmB,MAAA;EAClC,EAAA;EACA,EAAA,EAAI,SAAA;EDLW;ECOf,SAAA,EAAW,QAAA;EACX,MAAA,EAAQ,GAAA;EDRkB;;;;;ECc1B,aAAA,EAAe,eAAA,CAAgB,QAAA;EAC/B,gBAAA;EDCE;ECCF,cAAA;EDDY;AAGd;;;;ECIE,cAAA;EDCe;;;;;ECKf,UAAA;EDoBY;;;;;ECdZ,cAAA,EAAgB,UAAA,QAAkB,WAAA;AAAA;AAAA,cAgBvB,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;KAO/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;KAU1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,+BAAA,EAA+B,CAAA,CAAA,qBAAA,EAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;KAIhC,yBAAA,GAA4B,CAAA,CAAE,KAAK,QAAQ,+BAAA"}
1
+ {"version":3,"file":"types_server-TFo6SWDH.d.ts","names":[],"sources":["../src/config.ts","../src/server/types_server.ts"],"mappings":";;;;;;;UAKiB,aAAA;EACb,GAAA;EACA,KAAA;EACA,QAAA;AAAA;;UAIa,cAAA;EACb,IAAA;EACA,gBAAA;EANA;EAQA,cAAA;EARQ;EAWR,cAAA;EAP2B;EAU3B,iBAAA;EAV2B;EAa3B,uBAAA;AAAA;;UAIa,WAAA;EACb,IAAA;EACA,gBAAA;EANuB;EAQvB,cAAA;EAJa;EAOb,cAAA;;EAGA,iBAAA;EATA;EAYA,uBAAA;EATA;EAYA,UAAA;AAAA;AAAA,KAGQ,cAAA,GAAiB,cAAA,GAAiB,WAAW;;;AAH3C;UAQG,oBAAA,YAAgC,MAAA;EALvB;EAOtB,IAAA;EAPyB;EAUzB,IAAA;EAKA,UAAA,EAAY,UAAA;EAIZ,cAAA,EAAgB,KAAA;EAdiB;;;;;;EAsBjC,aAAA;EAaK;EAVL,QAAA,EAAU,UAAA;EAiCQ;;;;;EA1BlB,UAAA,IACI,IAAA,EAAM,MAAA,mBACN,SAAA,aACC,OAAA,CAAQ,QAAA;EA9Bb;;;;EAoCA,WAAA;EAnBA;;;;EAyBA,iBAAA;EAdI;;;EAmBJ,QAAA,GAAW,KAAA;EAXX;;;;EAiBA,SAAA,IAAa,GAAA,EAAK,QAAA;EAAA;;;;EAMlB,eAAA;AAAA;AAAA,UAGa,yBAAA;EACb,IAAA;EACA,OAAA;IAAW,GAAA;IAAa,KAAA;IAAe,QAAA;EAAA;EACvC,QAAA,EAAU,cAAc;EACxB,eAAA;EADU;;;;;AAoBa;;;;ACxI3B;;;EDkII,OAAA;EClIkB;AAEtB;;;;EDsII,uBAAA;AAAA;;;KCxIQ,UAAA;AAAA,KAEA,KAAA;;UAGK,iBAAA;EACf,KAAA,EAAO,KAAK;EACZ,QAAA;EACA,eAAA;AAAA;;;;ADPU;AAIZ;;UCYiB,eAAA,YAA2B,MAAA;EAC1C,SAAA,EAAW,mBAAA,CAAoB,QAAA;EAC/B,cAAA;EACA,OAAA,GAAU,MAAA,EAAQ,cAAA;EAClB,MAAA,GAAS,GAAA;AAAA;;UAIM,OAAA,YAAmB,MAAA;EAClC,EAAA;EACA,EAAA,EAAI,SAAA;EDLW;ECOf,SAAA,EAAW,QAAA;EACX,MAAA,EAAQ,GAAA;EDRkB;;;;;ECc1B,aAAA,EAAe,eAAA,CAAgB,QAAA;EAC/B,gBAAA;EDCE;ECCF,cAAA;EDDY;AAGd;;;;ECIE,cAAA;EDCe;;;;;ECKf,UAAA;EDoBY;;;;;ECdZ,cAAA,EAAgB,UAAA,QAAkB,WAAA;AAAA;AAAA,cAgBvB,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;KAO/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;KAU1B,mBAAA,GAAsB,CAAA,CAAE,KAAK,QAAQ,yBAAA;AAAA,cAEpC,+BAAA,EAA+B,CAAA,CAAA,qBAAA,EAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;KAIhC,yBAAA,GAA4B,CAAA,CAAE,KAAK,QAAQ,+BAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supalive/core",
3
- "version": "0.1.5",
3
+ "version": "1.0.0",
4
4
  "type": "module",
5
5
  "description": "Core for supalive — reactive database framework",
6
6
  "license": "MIT",
@@ -38,6 +38,10 @@
38
38
  "types": "./dist/src/exports/types.d.ts",
39
39
  "default": "./dist/src/exports/types.js"
40
40
  },
41
+ "./schema-sql": {
42
+ "types": "./dist/src/exports/schema-sql.d.ts",
43
+ "default": "./dist/src/exports/schema-sql.js"
44
+ },
41
45
  "./server": {
42
46
  "types": "./dist/src/exports/server.d.ts",
43
47
  "default": "./dist/src/exports/server.js"
@@ -56,6 +60,7 @@
56
60
  },
57
61
  "scripts": {
58
62
  "build": "tsdown",
63
+ "typecheck": "tsc --noEmit",
59
64
  "test": "vitest --run"
60
65
  },
61
66
  "dependencies": {
@@ -77,7 +82,7 @@
77
82
  "@types/pg": "^8.11.0",
78
83
  "@types/uuid": "^10.0.0",
79
84
  "@types/ws": "^8.18.1",
80
- "typescript": "^5.5.2",
85
+ "typescript": "^6.0.0",
81
86
  "vitest": "^3.2.4"
82
87
  },
83
88
  "peerDependencies": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"helper-zdJT5FUc.js","names":[],"sources":["../src/db/bytes.ts","../src/helper.ts"],"sourcesContent":["// Small helpers for byte arrays. We standardize on Uint8Array internally so\n// values survive structured clone (worker_threads postMessage) and stay\n// browser-safe. Buffer is a Uint8Array subclass, so values from pg/mysql\n// drivers satisfy Uint8Array fields automatically.\n\nexport function bytesEqual(a: Uint8Array, b: Uint8Array): boolean {\n if (a === b) return true;\n if (a.byteLength !== b.byteLength) return false;\n for (let i = 0; i < a.byteLength; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\nconst _enc = new TextEncoder();\nconst _dec = new TextDecoder(\"utf-8\");\n\nexport function utf8Encode(s: string): Uint8Array {\n return _enc.encode(s);\n}\n\nexport function utf8Decode(b: Uint8Array): string {\n return _dec.decode(b);\n}\n","import stableStringifyFn from \"json-stable-stringify\";\n\n/**\n * Synchronous deterministic JSON stringification.\n * Keys are sorted; `undefined` values are dropped.\n *\n * Suitable for React `useEffect` dependency keys — calling this on the same\n * logical input always produces the same string, regardless of property order.\n */\nexport function stableStringify(input: unknown): string {\n return stableStringifyFn(input, {\n replacer: (_, v) => {\n if (typeof v === \"bigint\") return v.toString();\n return v ?? undefined;\n }\n }) ?? \"\";\n}\n\nexport function supaliveStringify(input: unknown): string {\n return JSON.stringify(input, (_, v) => {\n if (typeof v === \"bigint\") return v.toString();\n // Emit a stable wire shape for byte arrays regardless of whether the\n // producer holds a Buffer or a plain Uint8Array (the latter is what\n // crosses worker_threads postMessage). The matching decoder lives in\n // `bytesFromJson` in db/types_db.ts.\n if (v instanceof Uint8Array) {\n return { type: \"Buffer\", data: Array.from(v) };\n }\n return v ?? undefined;\n });\n}\n\nexport function groupByToMap<T, K>(\n items: Iterable<T>,\n getKey: (item: T) => K,\n): Map<K, T[]> {\n const map = new Map<K, T[]>();\n\n for (const item of items) {\n const key = getKey(item);\n\n let group = map.get(key);\n if (!group) {\n group = [];\n map.set(key, group);\n }\n\n group.push(item);\n }\n\n return map;\n}\n"],"mappings":";;AAKA,SAAgB,WAAW,GAAe,GAAwB;CAChE,IAAI,MAAM,GAAG,OAAO;CACpB,IAAI,EAAE,eAAe,EAAE,YAAY,OAAO;CAC1C,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,YAAY,KAChC,IAAI,EAAE,OAAO,EAAE,IAAI,OAAO;CAE5B,OAAO;AACT;AAEA,MAAM,OAAO,IAAI,YAAY;AAC7B,MAAM,OAAO,IAAI,YAAY,OAAO;AAEpC,SAAgB,WAAW,GAAuB;CAChD,OAAO,KAAK,OAAO,CAAC;AACtB;AAEA,SAAgB,WAAW,GAAuB;CAChD,OAAO,KAAK,OAAO,CAAC;AACtB;;;;;;;;;;ACdA,SAAgB,gBAAgB,OAAwB;CACtD,OAAO,kBAAkB,OAAO,EAC9B,WAAW,GAAG,MAAM;EAClB,IAAI,OAAO,MAAM,UAAU,OAAO,EAAE,SAAS;EAC7C,OAAO,KAAK,KAAA;CACd,EACF,CAAC,KAAK;AACR;AAEA,SAAgB,kBAAkB,OAAwB;CACxD,OAAO,KAAK,UAAU,QAAQ,GAAG,MAAM;EACrC,IAAI,OAAO,MAAM,UAAU,OAAO,EAAE,SAAS;EAK7C,IAAI,aAAa,YACf,OAAO;GAAE,MAAM;GAAU,MAAM,MAAM,KAAK,CAAC;EAAE;EAE/C,OAAO,KAAK,KAAA;CACd,CAAC;AACH;AAEA,SAAgB,aACd,OACA,QACa;CACb,MAAM,sBAAM,IAAI,IAAY;CAE5B,KAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,MAAM,OAAO,IAAI;EAEvB,IAAI,QAAQ,IAAI,IAAI,GAAG;EACvB,IAAI,CAAC,OAAO;GACV,QAAQ,CAAC;GACT,IAAI,IAAI,KAAK,KAAK;EACpB;EAEA,MAAM,KAAK,IAAI;CACjB;CAEA,OAAO;AACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CTyXKcq_.d.ts","names":[],"sources":["../src/db/types_db.ts","../src/server/subscription-manager-types.ts","../src/db/cache.ts","../src/db/db.ts","../src/db/schema.ts","../src/db/query.ts","../src/db/context.ts","../src/db/query_definition.ts","../src/db/realtime_db.ts","../src/router/procedure.ts","../src/router/router.ts","../src/client/ws_client_manager.ts","../src/db/types_client_rpc.ts","../src/client/client.ts","../src/client/caller_client.ts"],"mappings":";;;;;;;KAIY,QAAA;AAAA,cAEC,YAAA,EAAY,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,YAAA;AAAA,cAEZ,qBAAA,EAAqB,CAAA,CAAA,OAAA;;;;;;;;;;;;;;;;;;;KAOtB,eAAA,GAAkB,CAAA,CAAE,KAAK,QAAQ,qBAAA;AAAA,KAGjC,SAAA,GACR,aAAA;EACE,IAAA;EAAa,QAAA,EAAU,SAAA;AAAA;EACvB,IAAA;EAAY,QAAA,EAAU,SAAA;AAAA;AAAA,cACf,eAAA,EAAiB,CAAA,CAAE,OAAO,CAAC,SAAA;AAAA,cAQ3B,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmBpB,aAAA,GAAgB,CAAA,CAAE,KAAK,QAAQ,mBAAA;AAAA,cAE9B,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;KAInB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;AAAA,cAE7B,iBAAA,EAAiB,CAAA,CAAA,SAAA;;;;KAIlB,WAAA,GAAc,CAAA,CAAE,KAAK,QAAQ,iBAAA;;KAG7B,SAAA,GAAY,SAAS;AAAA,iBAOjB,kBAAA,CAAmB,EAAA,mBAAqB,OAAA,aAAkB,UAAU;AAAA,iBAcpE,gBAAA,CAAiB,KAAA,EAAO,UAAA,aAAuB,UAAU;AAAA,iBAQzD,aAAA,CAAc,KAAA,EAAO,UAAA,aAAuB,UAAU;AAAA,cAuBzD,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;KAUhB,SAAA,GAAY,CAAA,CAAE,KAAK,QAAQ,eAAA;AAAA,cAE1B,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;;;;KAOnB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;;;;;cAM7B,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;KAUhB,SAAA,GAAY,CAAA,CAAE,KAAK,QAAQ,eAAA;AAAA,cAE1B,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;;;;;;;KAUnB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;AAAA,cAE7B,eAAA,EAAe,CAAA,CAAA,QAAA,WAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;KAChB,SAAA,GAAY,CAAA,CAAE,KAAK,QAAQ,eAAA;AAAA,cAE1B,kBAAA,EAAkB,CAAA,CAAA,QAAA,WAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;KACnB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;AAAA,cAE7B,aAAA,EAAa,CAAA,CAAA,OAAA;;;;;KACd,OAAA,GAAU,CAAA,CAAE,KAAK,QAAQ,aAAA;AAAA,cAExB,gBAAA,EAAgB,CAAA,CAAA,SAAA;;;;;;;;;;;;;KAiBjB,UAAA,GAAa,CAAA,CAAE,KAAK,QAAQ,gBAAA;AAAA,UAEvB,cAAA;EACf,EAAA,EAAI,UAAA;EACJ,EAAA;EACA,OAAA,EAAS,UAAA;EACT,IAAA,EAAM,UAAA;EAEN,WAAA,GAAc,MAAA;AAAA;AAAA,UAGC,cAAA;EACf,MAAA,EAAQ,CAAA;EACR,QAAA,EAAU,UAAA;EACV,QAAA,EAAU,QAAA;AAAA;AAAA,UAGK,UAAA;EACf,EAAA;EACA,IAAA,EAAM,CAAA;EACN,OAAA,EAAS,SAAS;AAAA;AAAA,cAGP,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;KAIzB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,cAEnC,qBAAA,EAAqB,CAAA,CAAA,SAAA;;;KAGtB,eAAA,GAAkB,CAAA,CAAE,KAAK,QAAQ,qBAAA;AAAA,cAEhC,sBAAA,EAAsB,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,SAAA;AAAA,KACvB,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,UAE7B,WAAA;EACf,WAAA;EACA,OAAA;EACA,OAAA;EACA,UAAA,IAAc,OAAA,UAAiB,KAAA,EAAO,gBAAgB;AAAA;AAAA,cAG3C,QAAA,EAAU,WAAiD;AAAA,cAE3D,aAAA,EAAe,WAI3B;AAAA,cAEY,gBAAA,SAAyB,KAAK;EAAA,SAEvB,MAAA;EAAA,SACA,cAAA;cADA,MAAA,UACA,cAAA;EAAA,OAMX,kBAAA,CAAmB,GAAA;AAAA;AAAA,cASf,aAAA,SAAsB,KAAK;cAC1B,OAAA;AAAA;;;cCzPD,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;KAqBjC,0BAAA,GAA6B,CAAA,CAAE,KAAK,QAAQ,gCAAA;AAAA,cAE3C,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;KAKjC,0BAAA,GAA6B,CAAA,CAAE,KAAK,QAAQ,gCAAA;AAAA,cAQ3C,qCAAA,EAAqC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;KAOtC,+BAAA,GAAkC,CAAA,CAAE,KAAK,QAAQ,qCAAA;AD1B7D;;;;;AAAA,cCiCa,qCAAA,EAAqC,CAAA,CAAA,SAAA;;;KAGtC,+BAAA,GAAkC,CAAA,CAAE,KAAK,QAAQ,qCAAA;AAAA,cAEhD,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;KAInC,4BAAA,GAA+B,CAAA,CAAE,KAAK,QAAQ,kCAAA;AAAA,cAE7C,mCAAA,EAAmC,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,SAAA;;;;KACpC,6BAAA,GAAgC,CAAA,CAAE,KAAK,QAAQ,mCAAA;AAAA,cAE9C,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;KACnC,4BAAA,GAA+B,CAAA,CAAE,KAAK,QAAQ,kCAAA;AAAA,cAE7C,mCAAA,EAAmC,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,SAAA;;;KACpC,6BAAA,GAAgC,CAAA,CAAE,KAAK,QAAQ,mCAAA;AAAA,cAE9C,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cAEzC,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;KAc3B,oBAAA,GAAuB,CAAA,CAAE,KAAK,QAAQ,0BAAA;AAAA,cAErC,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;KAG/B,wBAAA,GAA2B,CAAA,CAAE,KAAK,QAAQ,8BAAA;AAAA,cASzC,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;KAMzB,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;;;cC9FnC,UAAA;EACJ,KAAA,EAAO,OAAA,GAAQ,OAAA;EAAA,iBACL,UAAA;cAEL,OAAA,EAAS,OAAA,GAAQ,OAAA,EAAc,UAAA;EAKrC,gBAAA,CAAiB,QAAA,UAAkB,IAAA,WAAe,UAAA,YAAsB,OAAA;EAOxE,gBAAA,CAAiB,QAAA,WAAmB,OAAA,CAAQ,eAAA;EAa5C,qBAAA,CAAsB,QAAA,WAAmB,OAAA,CAAQ,kBAAA;EAajD,qBAAA,CAAsB,QAAA,UAAkB,QAAA,EAAU,kBAAA,GAAqB,OAAA;EAKvE,yBAAA,CAA0B,KAAA,UAAe,MAAA,EAAQ,kBAAA,GAAqB,OAAA;EAKtE,wBAAA,CAAyB,KAAA,WAAgB,OAAA;EAIzC,yBAAA,CAA0B,MAAA,aAAmB,OAAA;EAQ7C,6BAAA,CACJ,MAAA,aACC,OAAA,CAAQ,GAAA,SAAY,kBAAA;EAyCjB,yBAAA,CAA0B,GAAA,WAAc,OAAA,CAAQ,gBAAA;EAYhD,0BAAA,CAA2B,GAAA,UAAa,KAAA,EAAO,gBAAA,GAAmB,OAAA;EF7IjD;;;;;EEwJjB,uBAAA,CAAwB,UAAA,UAAoB,KAAA,UAAe,QAAA,UAAkB,GAAA,WAAc,OAAA;EAAA,QAgBzF,kBAAA;EAAA,QAIA,oBAAA;EAAA,QAIA,oBAAA;AAAA;;;UClLO,aAAA;EACf,IAAA,EAAM,CAAC;EACP,QAAA;AAAA;AAAA,UAGe,SAAA;EACf,KAAA,UAAe,GAAA,UAAa,MAAA,eAAqB,OAAA,CAAQ,aAAA,CAAc,CAAA;AAAA;AAAA,UAGxD,YAAA,SAAqB,SAAS;EAC7C,OAAO;AAAA;AAAA,KAGG,MAAA;AAAA,UAEK,iBAAA;EACf,KAAA,EAAO,SAAS;EAEhB,GAAA;AAAA;AAAA,UAGe,aAAA;EACf,GAAA;EACA,MAAA;EACA,SAAA;EACA,KAAA;EACA,OAAA;EACA,UAAA;EACA,OAAA,GAAU,UAAA;EACV,aAAA,GAAgB,iBAAiB;AAAA;AAAA,UAGlB,eAAA;EACf,OAAA,EAAS,aAAA;EACT,kBAAA,GAAqB,aAAA;EACrB,YAAA;EACA,QAAA,GAAW,UAAA;EACX,UAAA,GAAa,YAAA;AAAA;AAAA,UAGE,QAAA;EAAA,SACN,MAAA,EAAQ,MAAA;EAAA,SACR,UAAA,EAAY,UAAA;EACrB,WAAA,EAAa,GAAA,SAAY,GAAA;EACzB,YAAA;EACA,oBAAA,CAAqB,IAAA;IAAQ,KAAA,GAAQ,UAAA;IAAY,QAAA;IAAkB,MAAA;EAAA,IAAuB,OAAA;EAC1F,KAAA,UAAe,GAAA,UAAa,MAAA,eAAqB,OAAA,CAAQ,aAAA,CAAc,CAAA;EACvE,SAAA,IAAa,OAAA,CAAQ,YAAA;EACrB,oBAAA,IAAwB,OAAA,CAAQ,UAAA;EAChC,0BAAA,IAA8B,OAAA;EAC9B,6BAAA,CAA8B,QAAA,WAAmB,OAAA;EACjD,gBAAA,IAAoB,OAAA;EACpB,mBAAA,CAAoB,OAAA,EAAS,SAAA,IAAa,QAAA,EAAU,UAAA,IAAc,QAAA,EAAU,iBAAA,GAAoB,OAAA,CAAQ,eAAA;EACxG,YAAA,CAAa,OAAA,UAAiB,OAAA,EAAS,eAAA,EAAiB,QAAA,WAAmB,OAAA;IAAU,OAAA;EAAA;EACrF,KAAA,IAAS,OAAA;EH3CmB;;;;AAAoC;EGiDhE,qBAAA,CAAsB,EAAA,WAAa,OAAA;EH9ChB;;;;EGmDnB,sBAAA,CAAuB,OAAA,UAAiB,KAAA,UAAe,QAAA,EAAU,UAAA,KAAe,OAAA,CAAQ,cAAA;EHhDrD;;;;;;;EGwDnC,oBAAA,CAAqB,OAAA,UAAiB,SAAA,UAAmB,QAAA,EAAU,UAAA,KAAe,OAAA,CAAQ,cAAA;EHxDhE;;AAAS;AACrC;;;;;;;;AAAiD;AAQjD;;;;;;;EGmEE,wBAAA,CAAyB,QAAA,EAAU,UAAA,IAAc,OAAA,EAAS,SAAA,KAAc,OAAA;AAAA;AAAA,UAGzD,UAAA,SAAmB,QAAA;EAClC,KAAA,IAAS,OAAA;EACT,MAAA,IAAU,OAAA;EACV,QAAA,IAAY,OAAA;EACZ,OAAA;AAAA;AAAA,UAGe,eAAA;EH7Ee;;;;;;EGoF9B,GAAA;;;;;;;EAOA,SAAA;;;;;;EAMA,IAAA;;EAEA,SAAA;AAAA;AAAA,UAGe,UAAA;EACf,WAAA,CAAY,KAAA;EACZ,IAAA,CAAK,GAAA,UAAa,UAAA;EAClB,KAAA,CAAM,GAAA,UAAa,UAAA;EACnB,SAAA,CAAU,GAAA,UAAa,UAAA;;EAEvB,YAAA,CAAa,GAAA,UAAa,UAAA,UAAoB,IAAA,GAAO,eAAA;;EAErD,eAAA,CAAgB,GAAA,UAAa,UAAA,UAAoB,IAAA,GAAO,eAAA;;;;;;;;EAQxD,UAAA,CAAW,GAAA,UAAa,UAAA,UAAoB,IAAA,GAAO,eAAA;;EAEnD,iBAAA,CAAkB,GAAA,UAAa,UAAA,UAAoB,IAAA,GAAO,eAAA;AAAA;AAAA,cAG/C,iBAAA;EACQ,KAAA;cAAA,KAAA;EAGnB,UAAA,CAAW,YAAA,GAAe,KAAA;EAK1B,QAAA;EAIA,QAAA;AAAA;;;UCjKe,WAAA;EACb,MAAA,IAAU,KAAA,EAAO,KAAA,KAAU,OAAA;EAC3B,MAAA,IAAU,KAAA,EAAO,OAAA,KAAY,KAAA;AAAA;AAAA,KAM5B,gBAAA,iBAAiC,WAAA,YAAuB,WAAA,IACzD,CAAA,eAAgB,OAAA,GACd,OAAA,CAAQ,CAAA,UAAW,GAAA,CAAE,UAAA,GAAa,GAAA,CAAE,KAAA,CAAM,OAAA,CAAQ,CAAA,eAClD,CAAA,eAAgB,UAAA,GAChB,UAAA,CAAW,CAAA,UAAW,GAAA,CAAE,UAAA,GAAa,GAAA,CAAE,KAAA,CAAM,UAAA,CAAW,CAAA;AAAA,KAGlD,YAAA,iBAA6B,WAAA,IAAe,OAAA,gBACvC,OAAA,GAAU,UAAA,IAAc,WAAA,CAAY,gBAAA,CAAiB,OAAA,EAAS,CAAA;AAAA,UAG9D,oBAAA,iBAAqC,WAAA,GAAc,WAAA;EAChE,MAAA,GAAS,YAAA,CAAa,OAAA;AAAA;AAAA,UAGT,mBAAA;EAAA,CACZ,GAAW;AAAA;AAAA,UAGC,kBAAA,iBAAmC,WAAA;EAChD,IAAA;EACA,MAAA,EAAQ,OAAA;EACR,OAAA,GAAU,oBAAA,CAAqB,OAAA;EAC/B,OAAA,GAAU,mBAAA;AAAA;AAAA,KAQT,aAAA,uBACA,MAAA,wBAA8B,SAAA,GAC7B,MAAA;EAAiB,MAAA,MAAY,IAAA;AAAA,IAAmC,QAAA,GAChE,MAAA,SAAe,WAAA,yBAAoC,KAAA,GACnD,SAAA;AAAA,KAED,SAAA,UACA,IAAA,kCACC,IAAA,SAAa,GAAA,CAAE,UAAA,GAAa,GAAA,CAAE,KAAA,CAAM,IAAA;AAAA,KAE9B,gBAAA,iBAAiC,aAAA,CAAc,MAAA,EAAQ,SAAA,CAAU,IAAA;AAAA,KACjE,aAAA,mBAAgC,WAAA,CAAY,KAAA,EAAO,OAAA;AAAA,KACnD,aAAA,oBAAiC,WAAA,YAAuB,IAAA,CAAK,IAAA,EAAM,IAAA,YAAgB,IAAA,GAAO,MAAA;AAAA,UACrF,mBAAA,gFAII,GAAA,CAAE,UAAA;EAEnB,KAAA,EAAO,MAAA;EACP,GAAA;EACA,KAAA;EACA,IAAA,GAAO,QAAA;EACP,KAAA;IACI,MAAA,GAAS,KAAA,EAAO,OAAA,KAAY,QAAA;IAC5B,MAAA,IAAU,KAAA,EAAO,QAAA,KAAa,OAAA;EAAA;AAAA;AAAA,KAI1B,aAAA;EACR,KAAA;EACA,GAAA;EACA,KAAA;EACA,KAAA,GAAQ,WAAW;AAAA;AAAA,iBAGP,mBAAA,gFAIK,GAAA,CAAE,UAAA,0BAEnB,MAAA,EAAQ,mBAAA,CAAoB,MAAA,EAAQ,QAAA,EAAU,OAAA,EAAS,QAAA,IACxD,mBAAA,CAAoB,MAAA,EAAQ,QAAA,EAAU,OAAA,EAAS,QAAA;AAAA,KAItC,QAAA,oBAA4B,CAAA,GAAI,CAAA,CAAE,CAAA;AAAA,KAEzC,iBAAA,iCACW,KAAA,GAAQ,CAAA,eAAgB,OAAA,GAAU,aAAA,CAAc,OAAA,CAAQ,CAAA,GAAI,KAAA,CAAM,CAAA,KAAM,KAAA,CAAM,CAAA;AAAA,KAOzF,iBAAA,iBACe,WAAA,mBACC,oBAAA,CAAqB,OAAA,KACtC,QAAA;EAAmB,MAAA;AAAA,IACjB,QAAA,CAAS,iBAAA,CAAkB,GAAA,CAAE,KAAA,CAAM,GAAA,CAAE,SAAA,CAAU,OAAA,GAAU,UAAA,IAAc,OAAA,KACvE,QAAA,CAAS,GAAA,CAAE,KAAA,CAAM,GAAA,CAAE,SAAA,CAAU,OAAA,GAAU,UAAA;AAAA,KAGxC,eAAA,MACD,CAAA,SAAU,GAAA,CAAE,WAAA,eACZ,CAAA,SAAU,GAAA,CAAE,WAAA,eACZ,CAAA,SAAU,GAAA,CAAE,UAAA;AAAA,KAIX,YAAA,cAA0B,WAAA,kBACf,IAAA,GAAO,eAAA,CAAgB,IAAA,CAAK,CAAA,kBAAmB,CAAA,iBACvD,IAAA;AAAA,KAEH,YAAA,cAA0B,WAAA,kBACf,IAAA,GAAO,eAAA,CAAgB,IAAA,CAAK,CAAA,0BAA2B,CAAA,SAC/D,IAAA;AAAA,KAGH,UAAA;EACD,EAAA,EAAI,GAAA,CAAE,SAAA;EACN,QAAA,EAAU,GAAA,CAAE,gBAAgB;AAAA;AAAA,iBAGhB,YAAA,iBACI,WAAA,yCAEC,oBAAA,CAAqB,OAAA,IAAW,oBAAA,CAAqB,OAAA,GAEtE,MAAA,EAAQ,kBAAA,CAAmB,OAAA;EAAa,IAAA,EAAM,KAAA;EAAO,OAAA,GAAU,QAAA;AAAA,IAChE,gBAAA,CAAiB,KAAA,EAAO,QAAA,CAAS,OAAA,GAAU,UAAA,GAAa,iBAAA,CAAkB,OAAA,EAAS,QAAA;AAAA,iBA0CtE,aAAA,CAAc,SAAA,WAAoB,UAAU;AAAA,UAS3C,0BAAA;EACb,MAAA,GAAS,MAAM,SAAS,WAAA;AAAA;AAAA,UAGX,gBAAA,qCAEA,WAAA,UACL,GAAA,CAAE,KAAA,CAAM,GAAA,CAAE,SAAA,CAAU,IAAA;EAE5B,OAAA,EAAS,UAAA;EACT,KAAA,EAAO,MAAA;EACP,MAAA,EAAQ,GAAA,CAAE,SAAA,CAAU,IAAA;EACpB,cAAA,EAAgB,0BAAA;EAChB,OAAA,EAAS,MAAA;EACT,SAAA,GAAY,KAAA;AAAA;AAAA,KAGJ,WAAA,WAAsB,gBAAA,SAAyB,WAAA,UACvD,CAAA,SAAU,gBAAA,SAAyB,WAAA,iBAA4B,KAAA;AAAA,KAEvD,UAAA,WAAqB,gBAAA,SAAyB,WAAA,UACtD,CAAA,SAAU,gBAAA,4CAEA,YAAA,CAAa,IAAA,KAAS,CAAA,qCAAsC,CAAA,GAClE,OAAA,CAAQ,CAAA,wBAAyB,KAAA,GAAQ,KAAA,CAAM,OAAA,CAAQ,CAAA,+BAEjD,YAAA,CAAa,IAAA,KAAS,CAAA,qCAAsC,CAAA,IAClE,OAAA,CAAQ,CAAA,wBAAyB,KAAA,GAAQ,KAAA,CAAM,OAAA,CAAQ,CAAA;AAAA,UAI9C,KAAA;EACb,KAAA;EACA,OAAA,EAAS,UAAA;EACT,OAAA,EAAS,MAAA;EACT,cAAA,EAAgB,MAAA;EAChB,KAAA,EAAO,MAAA;EACP,MAAA,EAAQ,MAAA,SAAe,WAAA;AAAA;AAAA,KAItB,YAAA,MAAkB,CAAA,GAAI,OAAA,CAAQ,CAAA;AAAA,KAEvB,eAAA,0BACiB,IAAA,YAAgB,YAAA,CAAa,eAAA,UAEtD,OAAA,CAAQ,UAAA,CAAW,YAAA,WAAuB,eAAA,YACxC,CAAA;AAAA,KAGM,WAAA,sBAAiC,IAAA,mBACzC,OAAA,CAAQ,UAAA,CAAW,QAAA;AAAA,KAEX,SAAA,sBAA+B,IAAA,mBACvC,UAAU,CAAC,QAAA;AAAA,KAEH,YAAA,yBAAqC,IAAA,mBAC7C,UAAU,CAAC,WAAA;AAAA,KAEH,UAAA,uBAAiC,IAAA,mBACzC,UAAU,CAAC,SAAA;;;KCxOV,UAAA,WAAqB,gBAAA,SAAyB,WAAA,QAC/C,CAAA,eAAgB,WAAA,CAAY,CAAA,IAAK,WAAA,CAAY,CAAA,EAAG,CAAA;AAAA,KAE/C,cAAA,8BAA4C,IAAI;AAAA,KAIhD,eAAA,WAA0B,gBAAA,SAAyB,WAAA,mBACxC,WAAA,CAAY,CAAA,IAAK,WAAA,CAAY,WAAA,CAAY,CAAA,EAAG,CAAA,oBAAqB,CAAA,iBACzE,WAAA,CAAY,CAAA;AAAA,KAGf,kBAAA,WAA6B,gBAAA,SAAyB,WAAA,mBAC3C,WAAA,CAAY,CAAA,IAAK,WAAA,CAAY,WAAA,CAAY,CAAA,EAAG,CAAA,WAAY,cAAA,GAAiB,CAAA,iBACjF,WAAA,CAAY,CAAA;AAAA,KAKf,aAAA,WAAwB,gBAAA,SAAyB,WAAA,mBACtC,WAAA,CAAY,CAAA,IACpB,WAAA,CAAY,WAAA,CAAY,CAAA,EAAG,CAAA,WAAY,cAAA,WACvC,WAAA,CAAY,WAAA,CAAY,CAAA,EAAG,CAAA,6BAC3B,WAAA,CAAY,WAAA,CAAY,CAAA,EAAG,CAAA,kCAAmC,CAAA,mBAC9C,WAAA,CAAY,WAAA,CAAY,CAAA,EAAG,CAAA,KAAM,CAAA,iBAEjD,WAAA,CAAY,CAAA;AAAA,UAEH,aAAA;ELrCQ;;;;;;EK4CrB,GAAG;AAAA;AAAA,UAGU,mBAAA,SAA4B,aAAa;EL/CjC;AAEzB;;;;EKmDI,IAAA;ELnD8B;;;;EKwD9B,OAAA;AAAA;AAAA,UAGa,sBAAA,SAA+B,aAAa;;EAEzD,IAAI;AAAA;AAAA,cA8BK,YAAA,WAAuB,gBAAA,SAAyB,WAAA;EAAA,UAE3C,GAAA,EAAK,SAAA;EAAA,UACL,KAAA,EAAO,KAAA;cADP,GAAA,EAAK,SAAA,EACL,KAAA,EAAO,KAAA;EAAA,UAGX,aAAA,CAAc,GAAA;EAIxB,MAAA,IAAU,kBAAA,CAAmB,CAAA,QAAS,WAAA,CAAY,CAAA;EAClD,MAAA,iBAAuB,WAAA,CAAY,CAAA,MAAO,OAAA,EAAS,CAAA,KAAM,kBAAA,CAAmB,CAAA,EAAG,CAAA;AAAA;AAAA,KAOvE,aAAA;EAAkB,EAAA;EAAY,QAAQ;AAAA;AAAA,KAK7C,SAAA,WACS,gBAAA,SAAyB,WAAA,mBACnB,WAAA,CAAY,CAAA,aAClB,MAAA,qBACV,QAAA,CAAS,IAAA,CAAK,WAAA,CAAY,CAAA,GAAI,OAAA,CAAQ,CAAA,4BAA6B,WAAA,CAAY,CAAA,MAAO,CAAA;AAAA,cAEpF,kBAAA,WACQ,gBAAA,SAAyB,WAAA,mBACnB,WAAA,CAAY,CAAA,qBAClB,MAAA;EAAA,QAUE,GAAA;EAAA,QACA,KAAA;EAAA,QATJ,OAAA;EAAA,QACA,aAAA;EAAA,QACA,QAAA;EAAA,QACA,SAAA;EAAA,QACA,aAAA;EAAA,QACA,cAAA;cAGI,GAAA,EAAK,SAAA,EACL,KAAA,EAAO,KAAA,EACf,OAAA,KAAW,EAAA,EAAI,aAAA,CAAc,CAAA,eAC7B,aAAA,kBACA,QAAA,kBACA,SAAA,kBACA,aAAA,UAAsB,WAAA,CAAY,CAAA,MAClC,cAAA,GAAgB,aAAA;EAAA,QAUZ,aAAA;EAAA,QAIA,eAAA;EAAA,QAIA,cAAA;EAUR,KAAA,CAAM,QAAA,GAAW,EAAA,EAAI,aAAA,CAAc,CAAA,aAAc,kBAAA,CAAmB,CAAA,EAAG,CAAA,EAAG,CAAA;EAK1E,OAAA,CACI,MAAA,QAAc,WAAA,CAAY,CAAA,UAAW,CAAA,EACrC,SAAA,oBACD,kBAAA,CAAmB,CAAA,EAAG,CAAA,EAAG,CAAA;EAK5B,KAAA,CAAM,CAAA,WAAY,kBAAA,CAAmB,CAAA,EAAG,CAAA,EAAG,CAAA;EAK3C,MAAA,CAAO,CAAA,WAAY,kBAAA,CAAmB,CAAA,EAAG,CAAA,EAAG,CAAA;EAI5C,QAAA,yCAEqB,GAAA,CAAE,UAAA,2CACF,KAAA,iBAAsB,KAAA,uBAEvC,MAAA,EAAQ,mBAAA,CAAoB,MAAA,EAAQ,UAAA,CAAW,OAAA,GAAU,UAAA,CAAW,OAAA,MAAa,QAAA;IAC7E,KAAA;MACI,MAAA,EAAQ,OAAA;MACR,MAAA,IAAU,KAAA,EAAO,UAAA,CAAW,OAAA,MAAa,UAAA,CAAW,OAAA;IAAA;EAAA,IAG7D,kBAAA,CAAmB,CAAA,EAAG,CAAA,GAAI,MAAA,EAAQ,aAAA,CAAc,CAAA,EAAG,MAAA,EAAQ,gBAAA,CAAiB,aAAA,CAAc,UAAA,CAAW,OAAA,GAAU,UAAA,CAAW,OAAA,OAAc,QAAA;EAC3I,QAAA,yCAEqB,GAAA,CAAE,UAAA,0BAEnB,MAAA,EAAQ,mBAAA,CAAoB,MAAA,oBAA0B,QAAA;IAClD,KAAA;EAAA,IAEL,kBAAA,CAAmB,CAAA,EAAG,CAAA,GAAI,MAAA,EAAQ,aAAA,CAAc,CAAA,EAAG,MAAA,EAAQ,gBAAA,YAA4B,QAAA;EAuBpF,KAAA,IAAS,OAAA,CAAQ,SAAA,CAAU,CAAA,EAAG,CAAA,EAAG,CAAA;EAKjC,MAAA,IAAU,OAAA;EAAA,eAID,gBAAA;EAET,KAAA,IAAS,OAAA;EACT,KAAA,WAAgB,GAAA,CAAE,OAAA,EAAS,MAAA,EAAQ,CAAA,GAAI,OAAA,CAAQ,GAAA,CAAE,MAAA,CAAO,CAAA;EAsCxD,IAAA,CAAK,EAAA,WAAa,OAAA,CAAQ,SAAA,CAAU,CAAA,EAAG,CAAA,EAAG,CAAA;EA+C1C,GAAA,IAAO,OAAA,CAAQ,SAAA,CAAU,CAAA,EAAG,CAAA,EAAG,CAAA;EAAA,QAoD7B,cAAA;AAAA;AAAA,cA2BN,aAAA,WAAwB,gBAAA,SAAyB,WAAA;EAAA,QAIvC,OAAA;EAAA,QACA,MAAA;EAJZ,UAAA,EAAY,SAAA;cAGA,OAAA,EAAS,MAAA,kBACT,MAAA,EAAQ,MAAA,SAAe,WAAA;EAAA,QAG3B,GAAA;EAAA,QAMA,eAAA;EAAA,QAcA,aAAA;EAAA,QAIA,MAAA;EAAA,QAMA,UAAA;EAUR,EAAA,iBAAmB,WAAA,CAAY,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,EAAO,UAAA,CAAW,CAAA,EAAG,CAAA,IAAK,aAAA,CAAc,CAAA;EAKnF,GAAA,iBAAoB,WAAA,CAAY,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,EAAO,UAAA,CAAW,CAAA,EAAG,CAAA,IAAK,aAAA,CAAc,CAAA;EAKpF,EAAA,WAAa,kBAAA,CAAmB,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,EAAO,UAAA,CAAW,CAAA,EAAG,CAAA,IAAK,aAAA,CAAc,CAAA;EAKpF,GAAA,WAAc,kBAAA,CAAmB,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,EAAO,UAAA,CAAW,CAAA,EAAG,CAAA,IAAK,aAAA,CAAc,CAAA;EAKrF,EAAA,WAAa,kBAAA,CAAmB,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,EAAO,UAAA,CAAW,CAAA,EAAG,CAAA,IAAK,aAAA,CAAc,CAAA;EAKpF,GAAA,WAAc,kBAAA,CAAmB,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,EAAO,UAAA,CAAW,CAAA,EAAG,CAAA,IAAK,aAAA,CAAc,CAAA;EAKrF,IAAA,WAAe,eAAA,CAAgB,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,OAAA,WAAkB,aAAA,CAAc,CAAA;EAK3E,KAAA,WAAgB,eAAA,CAAgB,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,OAAA,WAAkB,aAAA,CAAc,CAAA;EAK5E,QAAA,WAAmB,eAAA,CAAgB,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,WAAgB,aAAA,CAAc,CAAA;EAK7E,SAAA,WAAoB,eAAA,CAAgB,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,WAAgB,aAAA,CAAc,CAAA;;;;;;;;;EAa9E,YAAA,WAAuB,aAAA,CAAc,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,WAAgB,IAAA,GAAO,mBAAA,GAAsB,aAAA,CAAc,CAAA;;EAM5G,eAAA,WAA0B,aAAA,CAAc,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,WAAgB,IAAA,GAAO,mBAAA,GAAsB,aAAA,CAAc,CAAA;;;;;;;;;;;;;;;;EAoB/G,UAAA,WAAqB,aAAA,CAAc,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,WAAgB,aAAA,CAAc,CAAA;EAC7E,UAAA,WAAqB,aAAA,CAAc,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,aAAkB,aAAA,CAAc,CAAA;EAC/E,UAAA,WAAqB,aAAA,CAAc,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,UAAe,IAAA;IAAQ,GAAA;EAAA,IAAc,aAAA,CAAc,CAAA;EAClG,UAAA,WAAqB,aAAA,CAAc,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,yBAA8B,IAAA,EAAM,sBAAA,GAAyB,aAAA,CAAc,CAAA;EAC1H,UAAA,WAAqB,aAAA,CAAc,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,YAAiB,IAAA,EAAM,sBAAA;IAA2B,GAAA;EAAA,IAAc,aAAA,CAAc,CAAA;;;;;;;EAuC7H,iBAAA,WAA4B,aAAA,CAAc,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,KAAA,WAAgB,IAAA,GAAO,mBAAA,GAAsB,aAAA,CAAc,CAAA;EAKjH,OAAA,WAAkB,kBAAA,CAAmB,CAAA,GAAI,GAAA,EAAK,CAAA,EAAG,EAAA,EAAI,UAAA,CAAW,CAAA,EAAG,CAAA,GAAI,EAAA,EAAI,UAAA,CAAW,CAAA,EAAG,CAAA,IAAK,aAAA,CAAc,CAAA;EAK5G,MAAA,iBAAuB,WAAA,CAAY,CAAA,GAAI,GAAA,EAAK,CAAA,GAAI,aAAA,CAAc,CAAA;EAK9D,OAAA,iBAAwB,WAAA,CAAY,CAAA,GAAI,GAAA,EAAK,CAAA,GAAI,aAAA,CAAc,CAAA;;;;;;;;;;AL7iBnE;EK4jBI,EAAA,CAAG,QAAA,IAAY,EAAA,EAAI,aAAA,CAAc,CAAA,gBAAiB,aAAA,CAAc,CAAA;AAAA;AAAA,iBAmBpD,iBAAA,CAAkB,SAAA,EAAW,SAAA,EAAW,MAAA,aAAmB,GAAA,EAAK,UAAU;AAAA,iBA+F1E,gBAAA,CAAiB,GAAA,EAAK,MAAA,mBAAyB,SAAA,EAAW,SAAS;AAAA,iBA0GnE,YAAA,CAAa,MAAA,WAAiB,SAAkB;AAAA,iBAmChD,eAAA,CAAgB,GAAA,WAAc,IAAY;AAAA,iBA4C1C,cAAA,CAAe,GAAA,WAAc,IAAY;;;cCh5B5C,SAAA;EAAA,SACF,OAAA;EAAA,SACA,EAAA,EAAI,QAAA;EAAA,UACH,OAAA,EAAS,SAAA;EAAA,UACT,QAAA,EAAU,UAAA;EAAA,QACZ,MAAA;EAAA,UAEE,gBAAA,CAAiB,MAAA,EAAQ,gBAAA,SAAyB,WAAA,IAAe,KAAA;cA0C/D,EAAA,EAAI,QAAA,EAAU,OAAA;EAK1B,kBAAA,IAAsB,SAAA;EACtB,mBAAA,IAAuB,UAAA;EAAA,UAEb,gBAAA,CAAiB,KAAA,UAAe,EAAA,WAAa,UAAA;EAAA,UAI7C,iBAAA,CAAkB,KAAA,UAAe,EAAA,WAAa,UAAA;EAAA,UAI9C,eAAA,CAAgB,KAAA,EAAO,KAAA,EAAO,QAAA,UAAkB,KAAA;AAAA;AAAA,cAO/C,QAAA,SAAiB,SAAA;EAC5B,KAAA,WAAgB,gBAAA,SAAyB,WAAA,GAAc,MAAA,EAAQ,CAAA,GAAI,YAAA,CAAa,CAAA;AAAA;AAAA,cAMrE,QAAA,SAAiB,QAAA;EACtB,MAAA,WAAiB,gBAAA,SAAyB,WAAA,sBAC9C,MAAA,EAAQ,CAAA,EACR,EAAA,EAAI,EAAA,EACJ,IAAA,EAAM,UAAA,CAAW,CAAA,IAChB,OAAA;EA2CG,MAAA,WAAiB,gBAAA,SAAyB,WAAA,sBAC9C,MAAA,EAAQ,CAAA,EACR,EAAA,EAAI,EAAA,EACJ,IAAA,EAAM,OAAA,CAAQ,IAAA,CAAK,WAAA,CAAY,CAAA,yBAC9B,OAAA;EAmBG,MAAA,WAAiB,gBAAA,SAAyB,WAAA,sBAC9C,MAAA,EAAQ,CAAA,EACR,EAAA,EAAI,EAAA,GACH,OAAA;AAAA;;;;;;;;AN7JL;UOMiB,eAAA;EAAA,SAKN,KAAA;EAAA,SACA,IAAA,EAAM,KAAA;EAAA,SACN,EAAA,GAAK,GAAA,EAAK,QAAA,EAAU,MAAA,EAAQ,OAAA,KAAY,OAAA,CAAQ,OAAA;AAAA;AAAA,KAK/C,WAAA,GAAc,eAAe;;KAG7B,QAAA,WAAmB,WAAA,IAC7B,CAAA,SAAU,eAAA,sBAAqC,CAAA;;KAGrC,QAAA,WAAmB,WAAA,IAC7B,CAAA,SAAU,eAAA,sBAAqC,CAAA;;;;;;;;;;APxBxB;KOoCb,SAAA,oBAA6B,WAAA,cACjC,CAAA,YAAa,CAAA,WAAY,CAAA;;iBAYjB,gBAAA;;;;;;;;;;;;;;;;;;;;iBA6BA,WAAA,yCACd,IAAA,EAAM,KAAA,EACN,EAAA,GAAK,GAAA,EAAK,QAAA,EAAU,MAAA,EAAQ,OAAA,KAAY,OAAA,CAAQ,OAAA,IAC/C,eAAA,CAAgB,KAAA,EAAO,OAAA,EAAS,OAAA;;;cCxDtB,UAAA;EAAA,SACU,IAAA,EAAM,QAAA;cAAN,IAAA,EAAM,QAAA;EAAA,OAEpB,MAAA,CAAO,MAAA;IAAU,EAAA,EAAI,QAAA;EAAA,IAAa,UAAA;EAAA,UAI/B,aAAA,IAAiB,QAAA,EAAU,UAAA,IAAc,QAAA,EAAU,QAAA;EAIvD,KAAA,IAAS,EAAA,GAAK,GAAA,EAAK,QAAA,KAAa,OAAA,CAAQ,CAAA,IAAK,OAAA,CAAQ,CAAA;EAMrD,SAAA,IAAa,EAAA,GAAK,GAAA,EAAK,QAAA,KAAa,OAAA,CAAQ,CAAA,IAAK,OAAA,CAAQ,UAAA,CAAW,CAAA;EAcpE,QAAA,IACJ,EAAA,GAAK,GAAA,EAAK,QAAA,KAAa,OAAA,CAAQ,CAAA,GAC/B,WAAA,GAAa,WAAA,GACZ,OAAA,CAAQ,cAAA,CAAe,CAAA;AAAA;AAAA,cAoEf,KAAA,GAAS,EAAA,aAAU,OAAA;;;;;;ARjIhC;USMiB,QAAA;;EAEf,EAAA,EAAI,QAAA;ETRc;ESUlB,SAAA,EAAW,QAAQ;AAAA;;;;;UAOJ,WAAA;ETfQ;ESiBvB,EAAA,EAAI,QAAA;ETjBmB;ESmBvB,SAAA,EAAW,QAAQ;AAAA;;;;ATnBI;US0BR,SAAA;ETlBf;ESoBA,EAAA,EAAI,UAAA;ET1B4B;ES4BhC,SAAA,EAAW,QAAQ;AAAA;AAAA,KAKT,OAAA,yCACV,GAAA,EAAK,QAAA,CAAS,QAAA,GACd,KAAA,EAAO,MAAA,KACJ,OAAA,CAAQ,OAAA;AAAA,KAED,UAAA,yCACV,GAAA,EAAK,WAAA,CAAY,QAAA,GACjB,KAAA,EAAO,MAAA,KACJ,OAAA,CAAQ,OAAA;AAAA,KAED,QAAA,yCACV,GAAA,EAAK,SAAA,CAAU,QAAA,GACf,KAAA,EAAO,MAAA,KACJ,OAAA,CAAQ,OAAA;;;;;;;;;;;;;;;KAgBD,iBAAA,wCAGN,SAAA,EAAW,QAAA,EAAU,KAAA,EAAO,MAAM;AAAA,UAEvB,aAAA;EAAA,SAMN,KAAA;EAAA,SACA,aAAA,EAAe,KAAA;EAAA,SACf,WAAA,EAAa,OAAA,CAAQ,MAAA;EAAA,SACrB,EAAA,EAAI,OAAA,CAAQ,MAAA,EAAQ,OAAA,EAAS,QAAA,IAAY,UAAA,CAAW,MAAA,EAAQ,OAAA,EAAS,QAAA,IAAY,QAAA,CAAS,MAAA,EAAQ,OAAA,EAAS,QAAA;EAAA,SAC3G,QAAA,EAAU,SAAA;AAAA;AAAA,UAGJ,cAAA,mFAIP,aAAA,CAAc,MAAA,EAAQ,OAAA,WAAkB,QAAA,EAAU,SAAA;EAAA,SACjD,aAAA;EAAA,SACA,EAAA,EAAI,OAAA,CAAQ,MAAA,EAAQ,OAAA,EAAS,QAAA;EAAA,SAC7B,aAAA,GAAgB,iBAAA,CAAkB,MAAA,EAAQ,QAAA;AAAA;AAAA,UAGpC,iBAAA,mFAIP,aAAA,CAAc,MAAA,EAAQ,OAAA,cAAqB,QAAA,EAAU,SAAA;EAAA,SACpD,aAAA;EAAA,SACA,EAAA,EAAI,UAAA,CAAW,MAAA,EAAQ,OAAA,EAAS,QAAA;AAAA;AAAA,UAG1B,eAAA,mFAIP,aAAA,CAAc,MAAA,EAAQ,OAAA,YAAmB,QAAA,EAAU,SAAA;EAAA,SAClD,aAAA;EAAA,SACA,EAAA,EAAI,QAAA,CAAS,MAAA,EAAQ,OAAA,EAAS,QAAA;AAAA;AAAA,KAG7B,YAAA,uBACR,cAAA,WAAyB,QAAA,IACzB,iBAAA,WAA4B,QAAA,IAC5B,eAAA,WAA0B,QAAA;AAAA,UAIb,WAAA;ETtGX;ESwGJ,IAAA,EAAM,OAAA,CAAQ,MAAA;ETxGY;ES0G1B,OAAA,EAAS,OAAA,CAAQ,MAAA,EAAQ,OAAA,EAAS,QAAA;ET1GC;ES4GnC,QAAA;ETrGD;;;;ES0GC,aAAA,GAAgB,iBAAA,CAAkB,MAAA,EAAQ,QAAA;AAAA;AAAA,UAG3B,cAAA;ETnHgC;ESqH/C,IAAA,EAAM,OAAA,CAAQ,MAAA;ET3Fd;ES6FA,OAAA,EAAS,UAAA,CAAW,MAAA,EAAQ,OAAA,EAAS,QAAA;;EAErC,QAAA;AAAA;AAAA,UAGe,YAAA;;EAEf,IAAA,EAAM,OAAA,CAAQ,MAAA;;EAEd,OAAA,EAAS,QAAA,CAAS,MAAA,EAAQ,OAAA,EAAS,QAAA;;EAEnC,QAAA;AAAA;;KAIU,OAAA,MAAa,CAAA,SAAU,aAAa,2BAA2B,CAAA;;KAG/D,QAAA,MAAc,CAAA,SAAU,aAAa,2BAA2B,CAAA;;KAGhE,MAAA,MAAY,CAAA,SAAU,aAAa,8BAA8B,IAAA;;KAGjE,SAAA,MAAe,CAAA,SAAU,aAAa,2BAA2B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6B7D,kBAAA,mFAEZ,MAAA,EAAQ,WAAA,CAAY,MAAA,EAAQ,OAAA,EAAS,QAAA;EAAc,QAAA,GAAW,SAAA;AAAA,MAC7D,cAAA,CAAe,MAAA,EAAQ,OAAA,EAAS,QAAA,EAAU,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ATpJ/C;;iBS6LgB,qBAAA,mFAEZ,MAAA,EAAQ,cAAA,CAAe,MAAA,EAAQ,OAAA,EAAS,QAAA;EAAc,QAAA,GAAW,SAAA;AAAA,MAChE,iBAAA,CAAkB,MAAA,EAAQ,OAAA,EAAS,QAAA,EAAU,SAAA;;;;AThMY;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;iBS0OgB,mBAAA,mFAEZ,MAAA,EAAQ,YAAA,CAAa,MAAA,EAAQ,OAAA,EAAS,QAAA;EAAc,QAAA,GAAW,SAAA;AAAA,MAC9D,eAAA,CAAgB,MAAA,EAAQ,OAAA,EAAS,QAAA,EAAU,SAAA;;;;;;;KCxRpC,MAAA,qBAA2B,MAAA,SAAe,YAAA,CAAa,QAAA;EACjE,KAAA;EACA,UAAA,EAAY,WAAA;EACZ,WAAA;AAAA;AVPkB;AAEpB;;;AAFoB,KUcR,SAAA,qBACU,MAAA,SAAe,YAAA,CAAa,QAAA,KAAa,MAAA,SAAe,YAAA,yBAE1E,MAAA,CAAO,WAAA,EAAa,QAAA;;KAKZ,eAAA,WAA0B,MAAA,SAAe,YAAA,mBACvC,CAAA,IAAK,CAAA,CAAE,CAAA;EAAa,aAAA;AAAA,IAA2B,CAAA,WAAY,CAAA,CAAE,CAAA;;KAI/D,kBAAA,WAA6B,MAAA,SAAe,YAAA,mBAC1C,CAAA,IAAK,CAAA,CAAE,CAAA;EAAa,aAAA;AAAA,IAA8B,CAAA,WAAY,CAAA,CAAE,CAAA;AVxB9E;AAAA,KU4BY,gBAAA,WAA2B,MAAA,SAAe,YAAA,mBACxC,CAAA,IAAK,CAAA,CAAE,CAAA;EAAa,aAAA;AAAA,IAA4B,CAAA,WAAY,CAAA,CAAE,CAAA;;KAIhE,gBAAA,WAA2B,MAAA,SAAe,YAAA,KAAiB,IAAA,CACrE,CAAA,gBACc,CAAA,GAAI,CAAA,CAAE,CAAA;EAAa,QAAA;AAAA,YAA2B,CAAA,SAAU,CAAA;;KAI5D,cAAA,WAAyB,MAAA,SACnC,CAAA,SAAU,MAAA,kBAAwB,CAAA;AAAA,KAExB,YAAA;EACV,UAAA,EAAY,CAAC;EACb,WAAA;AAAA;;;;;;;;AVrCF;;;;;;;;iBUuDgB,MAAA,qBAA2B,MAAA,SAAe,YAAA,4BACxD,MAAA,EAAQ,YAAA,CAAa,WAAA,IACpB,MAAA,CAAO,WAAA,EAAa,QAAA;AAAA,UAgBN,mBAAA;EACf,IAAA;EACA,IAAA;EACA,QAAA;EACA,WAAA,EAAa,YAAA,CAAa,QAAA;EAC1B,EAAA,EAAI,YAAA,CAAa,QAAA;EVxEkB;EU0EnC,aAAA,sBAAmC,SAAA,EAAW,QAAA,EAAU,KAAA;AAAA;AAAA,iBAM1C,kBAAA,CAAmB,SAAA,WAAoB,eAAe;AAAA,cASzD,eAAA;EACX,iBAAA,EAAiB,GAAA,SAAA,mBAAA;EACjB,sBAAA,EAAsB,GAAA;EAEtB,iBAAA,WAA4B,IAAA,UAAc,IAAA,EAAM,YAAA,CAAa,QAAA;EV7FnC;EU0H1B,YAAA,qBAAiC,IAAA,WAAe,mBAAA,CAAoB,QAAA;EV1HjC;EU+HnC,iBAAA;EVxHD;EU6HC,gBAAA,IAAoB,GAAA,SAAY,mBAAA;EVnIK;EUwIrC,aAAA;EAKA,qBAAA,CAAsB,IAAA;EAItB,mBAAA,CAAoB,IAAA;EAIpB,uBAAA;AAAA;;;cCpHW,QAAA,SAAiB,KAAK;EACjC,IAAA;cACY,OAAA,UAAiB,IAAA;AAAA;AAAA,UASd,gBAAA;EX5DQ;;;;AAAA;EWkEvB,kBAAkB;AAAA;AAAA,UAGH,mBAAA;EXnEiB;EWqEhC,MAAA;EXrEgC;EWuEhC,OAAO;AAAA;AAAA,UAGQ,eAAA;;EAEf,GAAA;;EAEA,KAAA,SAAc,OAAA;;EAEd,mBAAA;;EAEA,SAAA;wDAEE,OAAA;IAEA,WAAA;IAEA,KAAA;IAEA,OAAA;EAAA;EXnFuB;EWsFzB,SAAA,GAAY,gBAAA;EXtFuB;;;;;AAA6B;AAGlE;EW2FE,QAAA,GAAW,mBAAA;;EAEX,SAAA;EX3F2B;EW6F3B,YAAA;EX5FmC;EW8FnC,OAAA,IAAW,KAAA,EAAO,KAAA;AAAA;;;;;;;;AX9FiB;KWgKzB,iBAAA;AAAA,cAMC,eAAA;EAAA,QACH,EAAA;EAAA,QACA,OAAA;EAAA,QACA,4BAAA;EAAA,QACA,mBAAA;EAAA,QACA,SAAA;EAAA,QACA,eAAA;EX3KuC;AAQjD;;;;;;;;;;EARiD,QWuLvC,aAAA;EAAA,QACA,WAAA;EAAA,QACA,iBAAA;EAAA,QACA,cAAA;EAAA,QACA,eAAA;EAAA,QACA,SAAA;EXpLsB;;;;;EAAA,QW0LtB,UAAA;EAAA,QACA,gBAAA;EAAA,QACA,cAAA;EAAA,QACA,eAAA;EAAA,QAGA,kBAAA;EAAA,QACA,mBAAA;EAAA,QACA,eAAA;EAAA,QAUA,qBAAA;EAAA,QACA,oBAAA;EAAA,QAUA,cAAA;EAAA,QACA,eAAA;EAAA,QACA,eAAA;EAAA,QACA,UAAA;EAAA,QAGA,kBAAA;EAAA,QACA,cAAA;cAEI,OAAA,EAAS,eAAA;;;;;EA4BrB,OAAA,CAAQ,QAAA,GAAW,CAAA,EAAG,iBAAA;;EAStB,cAAA,IAAkB,iBAAA;;;;;EAQZ,OAAA,IAAW,OAAA;;;;EAiEjB,UAAA;;;;EAmBA,OAAA;;;;EAOA,eAAA;;;;EAOA,YAAA;;;;;;;;EAWA,aAAA;;;;;AXvWF;;;;;;EWqXQ,IAAA,CACJ,SAAA,UACA,KAAA,WACA,OAAA;IAAY,MAAA;EAAA,IACX,OAAA;EXvXQ;;;;;;;EAAA,QWibG,eAAA;;;;;UAmCN,YAAA;EXpdqB;;;;;;;EAAA,QW0erB,gBAAA;;;;;;;;;;;UAwCA,cAAA;;AX9gBV;;;;;;;;AAA4D;AAE5D;EW6kBQ,SAAA,CACJ,SAAA,UACA,KAAA,WACA,eAAA,UACA,QAAA,GAAW,IAAA,oBACX,MAAA,IAAU,MAAA,gCACT,OAAA;IAAU,KAAA;IAAe,WAAA;EAAA;EAAA,QAgIpB,iBAAA;;UAQA,cAAA;;UAQA,aAAA;EAAA,QAMA,qBAAA;EAAA,QA8BM,aAAA;EXvwBc;;;;;EAAA,QWg3BpB,UAAA;EAAA,QAKA,cAAA;EAAA,QAiBA,wBAAA;;;;;;;UAaA,sBAAA;EAAA,QAYA,WAAA;EAAA,QAgDA,WAAA;EAAA,QAgBA,uBAAA;EAAA,QAaA,sBAAA;;;AXx+BV;;;;;;UWu/BU,iBAAA;EAAA,QAsBA,2BAAA;EAAA,QAwCA,0BAAA;EAAA,QAaA,iBAAA;EAAA,QAkCA,kBAAA;EAAA,QAQA,SAAA;EAAA,QAYM,eAAA;EAAA,QAMN,IAAA;EAAA,QAMA,OAAA;EAAA,QAoCA,iBAAA;AAAA;;;UCnuCO,YAAA;EACf,IAAA;EACA,EAAA;EACA,KAAA;EACA,IAAA;AAAA;AAAA,cAMW,iBAAA,EAAiB,CAAA,CAAA,SAAA;;;;cAKjB,iBAAA,EAAiB,CAAA,CAAA,SAAA;;;;;;cAOjB,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;;;cAOtB,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;cAKxB,mBAAA,EAAmB,CAAA,CAAA,QAAA,WAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;KAQpB,WAAA,GAAc,CAAA,CAAE,KAAK,QAAQ,iBAAA;AAAA,KAC7B,WAAA,GAAc,CAAA,CAAE,KAAK,QAAQ,iBAAA;AAAA,KAC7B,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,KAClC,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,KACpC,aAAA,GAAgB,CAAA,CAAE,KAAK,QAAQ,mBAAA;AAAA,cAI9B,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;cAKtB,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;cAMxB,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;cAMvB,qBAAA,EAAqB,CAAA,CAAA,SAAA;;;;;;;;;cAkBrB,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;AZjE5C;;;;;;;AAAA,cY+Ea,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;;cAa7B,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;cAIvB,mBAAA,EAAmB,CAAA,CAAA,QAAA,WAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAUpB,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,KAClC,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,KACpC,iBAAA,GAAoB,CAAA,CAAE,KAAK,QAAQ,uBAAA;AAAA,KACnC,eAAA,GAAkB,CAAA,CAAE,KAAK,QAAQ,qBAAA;AAAA,KACjC,yBAAA,GAA4B,CAAA,CAAE,KAAK,QAAQ,+BAAA;AAAA,KAC3C,uBAAA,GAA0B,CAAA,CAAE,KAAK,QAAQ,6BAAA;AAAA,KACzC,iBAAA,GAAoB,CAAA,CAAE,KAAK,QAAQ,uBAAA;AAAA,KACnC,aAAA,GAAgB,CAAA,CAAE,KAAK,QAAQ,mBAAA;AAAA,cAE9B,mBAAA,SAA4B,KAAA;EAG9B,KAAA,EAAO,MAAA;cADd,OAAA,UACO,KAAA,GAAO,MAAA;AAAA;;;;KASN,UAAA,MAAgB,CAAC;EAAW,QAAA;AAAA,KAAuB,CAAA;AAAA,UAE9C,OAAA;EACf,SAAA;;EAEA,IAAA;IACE,MAAA;EAAA;AAAA;;;UCrIa,aAAA;EbhBqD;EakBpE,GAAA;EblBuB;EaoBvB,KAAA,SAAc,OAAA;EbpBS;EasBvB,mBAAA;EbtBuB;EawBvB,SAAA,GAAY,eAAA;EbxBW;;;;;Ea8BvB,SAAA,GAAY,eAAA;Eb9BW;AAEzB;;;;;EamCE,QAAA,GAAW,eAAA;EAEX,SAAA;EACA,YAAA;AAAA;;;;;;;;;;;;;KAeU,eAAA;AAAA,UAOK,cAAA;EACf,IAAA,EAAM,CAAA;EACN,MAAA,EAAQ,eAAA;EACR,KAAA,EAAO,KAAA;AAAA;AAAA,UAGQ,eAAA;Eb3DoB;Ea6DnC,GAAA,IAAO,CAAA;Eb7DuB;Ea+D9B,QAAA,IAAY,cAAA,CAAe,CAAA;Eb/DqC;AAAA;AAGlE;;;;;EaoEE,OAAA,CAAQ,QAAA;EbjE2B;EamEnC,MAAA,CAAO,QAAA,GAAW,IAAA,EAAM,CAAA;EbrEtB;EauEF,OAAA;EbtEiB;EawEjB,WAAA;AAAA;;;AbtE+C;iBa2FjC,YAAA,mBACI,MAAA,CAAO,MAAA,SAAe,YAAA,CAAa,QAAA,IAAY,QAAA,2CAE7C,MAAA,SAAe,YAAA,CAAa,QAAA,KAAa,SAAA,gBAC7D,OAAA,EAAS,aAAA,GAAgB,oBAAA,CAAqB,WAAA,EAAa,QAAA,IAAY,eAAA;;;;UAgVxD,eAAA;;EAEf,OAAA,IAAW,OAAA;;EAEX,UAAA;;EAEA,OAAA;;EAEA,eAAA;;EAEA,YAAA;;;;;;;EAOA,aAAA;;EAEA,OAAA,CAAQ,QAAA,GAAW,CAAA,EAAG,iBAAA;;EAEtB,cAAA,IAAkB,iBAAA;AAAA;;;;;;KAQR,oBAAA,qBACU,MAAA,SAAe,YAAA,CAAa,QAAA,wCAGlC,WAAA,IAAe,UAAA,CAAW,WAAA,CAAY,CAAA,0BAA2B,CAAA,GAC7E,WAAA,CAAY,CAAA;EAAa,aAAA;AAAA;EAEvB,KAAA,GAAQ,KAAA,EAAO,OAAA,CAAQ,WAAA,CAAY,CAAA,OAAQ,OAAA,CAAQ,QAAA,CAAS,WAAA,CAAY,CAAA;EACxE,SAAA,GAAY,KAAA,EAAO,OAAA,CAAQ,WAAA,CAAY,CAAA,OAAQ,eAAA,CAAgB,QAAA,CAAS,WAAA,CAAY,CAAA;AAAA,IAEpF,WAAA,CAAY,CAAA;EAAa,aAAA;AAAA;EACvB,MAAA,GAAS,KAAA,EAAO,OAAA,CAAQ,WAAA,CAAY,CAAA,IAAK,IAAA,GAAO,WAAA,KAAgB,OAAA,CAAQ,QAAA,CAAS,WAAA,CAAY,CAAA;AAAA,IAC/F,WAAA,CAAY,CAAA;EAAa,aAAA;AAAA;EACvB,MAAA,GAAS,KAAA,EAAO,OAAA,CAAQ,WAAA,CAAY,CAAA,IAAK,IAAA,GAAO,WAAA,KAAgB,OAAA,CAAQ,QAAA,CAAS,WAAA,CAAY,CAAA;AAAA;;;;UAOpF,WAAA;;;;;;;;EAQf,MAAM;AAAA;;;UCzfS,aAAA;EACb,UAAA;EACA,SAAA;AAAA;;;AdHgB;AAEpB;;;iBcUgB,YAAA,mBACM,MAAA,CAAO,MAAA,SAAe,YAAA,CAAa,QAAA,IAAY,QAAA,2CAE7C,MAAA,SAAe,YAAA,CAAa,QAAA,KAAa,SAAA,gBAC/D,OAAA,EAAS,aAAA,QAAqB,oBAAA,CAAqB,WAAA,EAAa,QAAA;;;;;KA+FtD,oBAAA,qBAAyC,MAAA,SAAe,YAAA,CAAa,QAAA,wCACjE,WAAA,GAAc,WAAA,CAAY,CAAA;EAAa,aAAA;AAAA;EAE/C,KAAA,GAAQ,KAAA,EAAO,OAAA,CAAQ,WAAA,CAAY,CAAA,IAAK,SAAA,EAAW,QAAA,KAAa,OAAA,CAAQ,QAAA,CAAS,WAAA,CAAY,CAAA;EAC7F,SAAA,GAAY,KAAA,EAAO,OAAA,CAAQ,WAAA,CAAY,CAAA,IAAK,SAAA,EAAW,QAAA,KAAa,OAAA,CAAQ,UAAA,CAAW,QAAA,CAAS,WAAA,CAAY,CAAA;AAAA,IAE9G,WAAA,CAAY,CAAA;EAAa,aAAA;AAAA;EACvB,MAAA,GAAS,KAAA,EAAO,OAAA,CAAQ,WAAA,CAAY,CAAA,IAAK,SAAA,EAAW,QAAA,KAAa,OAAA,CAAQ,QAAA,CAAS,WAAA,CAAY,CAAA;AAAA,IAChG,WAAA,CAAY,CAAA;EAAa,aAAA;AAAA;EACvB,MAAA,GAAS,KAAA,EAAO,OAAA,CAAQ,WAAA,CAAY,CAAA,IAAK,SAAA,EAAW,QAAA,KAAa,OAAA,CAAQ,QAAA,CAAS,WAAA,CAAY,CAAA;AAAA;EAGlG,IAAA,GAAO,MAAA;IAAU,EAAA,EAAI,UAAA;EAAA,MAAiB,OAAA;AAAA;;;;KAM9B,gBAAA,iBAAiC,MAAA,cAAoB,oBAAA,CAAqB,OAAA"}