orez-lite 0.12.5 → 0.12.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.
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../sync-browser-host/src/host.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAGV,QAAQ,EAOT,MAAM,oBAAoB,CAAA;AAE3B,MAAM,MAAM,yBAAyB,GACjC,iBAAiB,GACjB,sCAAsC,GACtC,uCAAuC,GACvC,kCAAkC,GAClC,0BAA0B,CAAA;AAE9B,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9D,CAAA;AAweD,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,EAChF,MAAM,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EACnC,KAAK,CAAC,EAAE,oBAAoB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAE7B;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,EACxE,MAAM,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,GAClC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAE7B"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../sync-browser-host/src/host.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EAKtB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAGV,QAAQ,EAOT,MAAM,oBAAoB,CAAA;AAE3B,MAAM,MAAM,yBAAyB,GACjC,iBAAiB,GACjB,sCAAsC,GACtC,uCAAuC,GACvC,kCAAkC,GAClC,0BAA0B,CAAA;AAE9B,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9D,CAAA;AA4rBD,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,EAChF,MAAM,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EACnC,KAAK,CAAC,EAAE,oBAAoB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAE7B;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,EACxE,MAAM,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,GAClC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAE7B"}
@@ -62,10 +62,112 @@ function validateConfig(config) {
62
62
  throw new TypeError('retainChanges must be a non-negative safe integer');
63
63
  }
64
64
  }
65
+ class BrowserSyncHostDiagnosticSink {
66
+ storageKey;
67
+ diagnostics;
68
+ constructor(storageKey, diagnostics) {
69
+ this.storageKey = storageKey;
70
+ this.diagnostics = diagnostics;
71
+ }
72
+ enabled() {
73
+ try {
74
+ return this.diagnostics?.enabled() === true;
75
+ }
76
+ catch (error) {
77
+ console.error('browser sync host diagnostics enabled check failed', error);
78
+ return false;
79
+ }
80
+ }
81
+ emit(diagnostic) {
82
+ try {
83
+ this.diagnostics?.callback({
84
+ ...diagnostic,
85
+ storageKey: this.storageKey,
86
+ timestamp: Date.now(),
87
+ });
88
+ }
89
+ catch (error) {
90
+ console.error('browser sync host diagnostics callback failed', error);
91
+ }
92
+ }
93
+ }
65
94
  class OperationQueue {
95
+ diagnostics;
66
96
  #tail = Promise.resolve();
67
- run(operation) {
68
- const result = this.#tail.then(operation);
97
+ #depth = 0;
98
+ #nextOperationId = 0;
99
+ constructor(diagnostics) {
100
+ this.diagnostics = diagnostics;
101
+ }
102
+ get depth() {
103
+ return this.#depth;
104
+ }
105
+ run(kind, operation) {
106
+ const operationId = ++this.#nextOperationId;
107
+ const queuedAt = performance.now();
108
+ this.#depth++;
109
+ if (this.diagnostics.enabled()) {
110
+ this.diagnostics.emit({
111
+ stage: 'operation',
112
+ phase: 'queued',
113
+ operation: kind,
114
+ operationId,
115
+ transaction: null,
116
+ queueDepth: this.#depth,
117
+ waitMs: null,
118
+ durationMs: null,
119
+ });
120
+ }
121
+ const result = this.#tail.then(async () => {
122
+ const startedAt = performance.now();
123
+ if (this.diagnostics.enabled()) {
124
+ this.diagnostics.emit({
125
+ stage: 'operation',
126
+ phase: 'started',
127
+ operation: kind,
128
+ operationId,
129
+ transaction: null,
130
+ queueDepth: this.#depth,
131
+ waitMs: startedAt - queuedAt,
132
+ durationMs: null,
133
+ });
134
+ }
135
+ try {
136
+ const value = await operation(operationId);
137
+ if (this.diagnostics.enabled()) {
138
+ this.diagnostics.emit({
139
+ stage: 'operation',
140
+ phase: 'completed',
141
+ operation: kind,
142
+ operationId,
143
+ transaction: null,
144
+ queueDepth: this.#depth,
145
+ waitMs: startedAt - queuedAt,
146
+ durationMs: performance.now() - startedAt,
147
+ });
148
+ }
149
+ return value;
150
+ }
151
+ catch (error) {
152
+ if (this.diagnostics.enabled()) {
153
+ this.diagnostics.emit({
154
+ stage: 'operation',
155
+ phase: 'failed',
156
+ operation: kind,
157
+ operationId,
158
+ transaction: null,
159
+ queueDepth: this.#depth,
160
+ waitMs: startedAt - queuedAt,
161
+ durationMs: performance.now() - startedAt,
162
+ error: errorMessage(error),
163
+ });
164
+ }
165
+ throw error;
166
+ }
167
+ finally {
168
+ this.#depth--;
169
+ }
170
+ });
69
171
  this.#tail = result.then(() => undefined, () => undefined);
70
172
  return result;
71
173
  }
@@ -80,13 +182,15 @@ class BrowserSyncHostImpl {
80
182
  snapshots;
81
183
  hooks;
82
184
  executor;
83
- #queue = new OperationQueue();
185
+ #queue;
186
+ #diagnostics;
84
187
  #listeners = new Set();
85
188
  #directSql;
86
189
  #engineDb;
87
190
  #mutatorSql;
88
191
  #rawExecutor;
89
192
  #retainChanges;
193
+ #activeOperation = null;
90
194
  #executorTransactionKind = 'direct';
91
195
  #fatalError;
92
196
  #closed = false;
@@ -97,6 +201,8 @@ class BrowserSyncHostImpl {
97
201
  this.db = db;
98
202
  this.snapshots = snapshots;
99
203
  this.hooks = hooks;
204
+ this.#diagnostics = new BrowserSyncHostDiagnosticSink(config.storageKey, config.diagnostics);
205
+ this.#queue = new OperationQueue(this.#diagnostics);
100
206
  this.#directSql = new BedrockDirectSql(db);
101
207
  this.#engineDb = new BedrockSyncDb(db);
102
208
  this.#mutatorSql = new BedrockMutatorSql(this.#directSql, (ast, format) => engine_compile_query(config.schema, ast, format), config.transactionQueryBudget);
@@ -139,11 +245,11 @@ class BrowserSyncHostImpl {
139
245
  schema: config.schema,
140
246
  push: (body, claims) => {
141
247
  this.#assertAccepting();
142
- return this.#queue.run(() => this.#runExecutorPush(body, claims, false));
248
+ return this.#runQueued('executor-push', () => this.#runExecutorPush(body, claims, false));
143
249
  },
144
250
  execute: (name, args, claims) => {
145
251
  this.#assertAccepting();
146
- return this.#queue.run(async () => {
252
+ return this.#runQueued('executor-execute', async () => {
147
253
  this.#executorTransactionKind = 'direct';
148
254
  await this.#rawExecutor.execute(name, args, claims);
149
255
  this.#notifyDataChanged();
@@ -151,7 +257,7 @@ class BrowserSyncHostImpl {
151
257
  },
152
258
  transaction: (claims, work) => {
153
259
  this.#assertAccepting();
154
- return this.#queue.run(async () => {
260
+ return this.#runQueued('executor-transaction', async () => {
155
261
  this.#executorTransactionKind = 'direct';
156
262
  const value = await this.#rawExecutor.transaction(claims, work);
157
263
  this.#notifyDataChanged();
@@ -160,7 +266,7 @@ class BrowserSyncHostImpl {
160
266
  },
161
267
  query: (claims, work) => {
162
268
  this.#assertAccepting();
163
- return this.#queue.run(() => this.#rawExecutor.query(claims, work));
269
+ return this.#runQueued('executor-query', () => this.#rawExecutor.query(claims, work));
164
270
  },
165
271
  };
166
272
  this.#retainChanges = String(config.retainChanges ?? 4_096);
@@ -178,8 +284,52 @@ class BrowserSyncHostImpl {
178
284
  if (!module._memfs?.files) {
179
285
  throw new Error('Bedrock browser build does not expose its VFS snapshot surface');
180
286
  }
287
+ const diagnostics = new BrowserSyncHostDiagnosticSink(config.storageKey, config.diagnostics);
181
288
  const snapshots = new IndexedDbSnapshotStore(config.storageKey);
182
- await snapshots.restore(module);
289
+ const restoreStartedAt = performance.now();
290
+ if (diagnostics.enabled()) {
291
+ diagnostics.emit({
292
+ stage: 'restore',
293
+ phase: 'started',
294
+ operation: null,
295
+ operationId: null,
296
+ transaction: null,
297
+ queueDepth: 0,
298
+ waitMs: null,
299
+ durationMs: null,
300
+ });
301
+ }
302
+ try {
303
+ await snapshots.restore(module);
304
+ if (diagnostics.enabled()) {
305
+ diagnostics.emit({
306
+ stage: 'restore',
307
+ phase: 'completed',
308
+ operation: null,
309
+ operationId: null,
310
+ transaction: null,
311
+ queueDepth: 0,
312
+ waitMs: null,
313
+ durationMs: performance.now() - restoreStartedAt,
314
+ });
315
+ }
316
+ }
317
+ catch (error) {
318
+ if (diagnostics.enabled()) {
319
+ diagnostics.emit({
320
+ stage: 'restore',
321
+ phase: 'failed',
322
+ operation: null,
323
+ operationId: null,
324
+ transaction: null,
325
+ queueDepth: 0,
326
+ waitMs: null,
327
+ durationMs: performance.now() - restoreStartedAt,
328
+ error: errorMessage(error),
329
+ });
330
+ }
331
+ throw error;
332
+ }
183
333
  const db = new module.Database('/project.db');
184
334
  const journalMode = String(db.pragma('journal_mode = DELETE', { simple: true }));
185
335
  if (journalMode.toLowerCase() !== 'delete') {
@@ -216,11 +366,62 @@ class BrowserSyncHostImpl {
216
366
  async #reach(point) {
217
367
  await this.hooks?.reach(point);
218
368
  }
219
- async #checkpoint() {
369
+ async #runQueued(kind, operation) {
370
+ return this.#queue.run(kind, async (operationId) => {
371
+ this.#activeOperation = { id: operationId, kind };
372
+ try {
373
+ return await operation();
374
+ }
375
+ finally {
376
+ this.#activeOperation = null;
377
+ }
378
+ });
379
+ }
380
+ async #checkpoint(transaction) {
381
+ const startedAt = performance.now();
382
+ const operation = this.#activeOperation;
383
+ if (this.#diagnostics.enabled()) {
384
+ this.#diagnostics.emit({
385
+ stage: 'checkpoint',
386
+ phase: 'started',
387
+ operation: operation?.kind ?? null,
388
+ operationId: operation?.id ?? null,
389
+ transaction,
390
+ queueDepth: this.#queue.depth,
391
+ waitMs: null,
392
+ durationMs: null,
393
+ });
394
+ }
220
395
  try {
221
- await this.snapshots.checkpoint(this.module);
396
+ const stats = await this.snapshots.checkpoint(this.module);
397
+ if (this.#diagnostics.enabled()) {
398
+ this.#diagnostics.emit({
399
+ stage: 'checkpoint',
400
+ phase: 'completed',
401
+ operation: operation?.kind ?? null,
402
+ operationId: operation?.id ?? null,
403
+ transaction,
404
+ queueDepth: this.#queue.depth,
405
+ waitMs: null,
406
+ durationMs: performance.now() - startedAt,
407
+ ...stats,
408
+ });
409
+ }
222
410
  }
223
411
  catch (error) {
412
+ if (this.#diagnostics.enabled()) {
413
+ this.#diagnostics.emit({
414
+ stage: 'checkpoint',
415
+ phase: 'failed',
416
+ operation: operation?.kind ?? null,
417
+ operationId: operation?.id ?? null,
418
+ transaction,
419
+ queueDepth: this.#queue.depth,
420
+ waitMs: null,
421
+ durationMs: performance.now() - startedAt,
422
+ error: errorMessage(error),
423
+ });
424
+ }
224
425
  const fatal = new Error(`browser database checkpoint failed; host terminated: ${errorMessage(error)}`, { cause: error });
225
426
  this.#fatalError = fatal;
226
427
  this.db.close();
@@ -244,7 +445,7 @@ class BrowserSyncHostImpl {
244
445
  if (completedKind === 'mutation') {
245
446
  await this.#reach('after_sqlite_commit_before_idb_commit');
246
447
  }
247
- await this.#checkpoint();
448
+ await this.#checkpoint(completedKind);
248
449
  return value;
249
450
  }
250
451
  async #auth(request) {
@@ -296,7 +497,7 @@ class BrowserSyncHostImpl {
296
497
  this.#assertAccepting();
297
498
  const { authData, claims } = await this.#auth(request);
298
499
  const input = await requestObject(request);
299
- return await this.#queue.run(async () => {
500
+ return await this.#runQueued('pull', async () => {
300
501
  this.#assertAvailable();
301
502
  const transformVersion = typeof this.config.queryTransformVersion === 'function'
302
503
  ? this.config.queryTransformVersion(authData)
@@ -319,7 +520,7 @@ class BrowserSyncHostImpl {
319
520
  this.#assertAccepting();
320
521
  const { claims } = await this.#auth(request);
321
522
  const body = await requestObject(request);
322
- return await this.#queue.run(async () => {
523
+ return await this.#runQueued('push', async () => {
323
524
  this.#assertAvailable();
324
525
  await this.#reach('before_mutation');
325
526
  return json(await this.#runExecutorPush(body, claims, true));
@@ -341,14 +542,14 @@ class BrowserSyncHostImpl {
341
542
  }
342
543
  async query(sql, params = []) {
343
544
  this.#assertAccepting();
344
- return await this.#queue.run(() => {
545
+ return await this.#runQueued('query', () => {
345
546
  this.#assertAvailable();
346
547
  return this.#directSql.query(sql, params);
347
548
  });
348
549
  }
349
550
  async exec(sql, params = [], metadata) {
350
551
  this.#assertAccepting();
351
- return await this.#queue.run(async () => {
552
+ return await this.#runQueued('exec', async () => {
352
553
  const result = await this.#writeTransaction('direct', async () => {
353
554
  const writeSet = await beginWriteSetCapture(this.config.schema, this.#mutatorSql, 'sqlite');
354
555
  const value = await writeSet.transaction.exec(sql, params, metadata);
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../sync-browser-host/src/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../sync-browser-host/src/host.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAElF,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,YAAY,GACb,MAAM,0BAA0B,CAAA;AACjC,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GAEd,MAAM,qBAAqB,CAAA;AAkC5B,IAAI,aAAwC,CAAA;AAE5C,SAAS,kBAAkB,CAAC,GAAiB;IAC3C,OAAO,CAAC,aAAa,KAAK,YAAY,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;AACxF,CAAC;AAED,SAAS,IAAI,CAAC,KAAc,EAAE,MAAM,GAAG,GAAG;IACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;QAC1B,MAAM;QACN,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE;KACzC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG;YAAE,OAAO,MAAM,CAAA;IAC/E,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,MAAM,GAAG,GAAG;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;AACtD,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAgB;IAC3C,IAAI,KAAc,CAAA;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,YAAY,CAAC,2BAA2B,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,YAAY,CAAC,oCAAoC,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,KAAgC,CAAA;AACzC,CAAC;AAED,SAAS,cAAc,CACrB,MAAmC;IAEnC,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAA;IAC3E,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAA;IAClE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,SAAS,CACjB,gFAAgF,CACjF,CAAA;IACH,CAAC;IACD,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC1E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,SAAS,CACjB,0BAA0B,IAAI,kCAAkC,CACjE,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,KAAK,CAAA;IACnD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAA;IAC1E,CAAC;AACH,CAAC;AAED,MAAM,6BAA6B;IAEd;IACA;IAFnB,YACmB,UAAkB,EAClB,WAAmD;QADnD,eAAU,GAAV,UAAU,CAAQ;QAClB,gBAAW,GAAX,WAAW,CAAwC;IACnE,CAAC;IAEJ,OAAO;QACL,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAA;YAC1E,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAuE;QAC1E,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;gBACzB,GAAG,UAAU;gBACb,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;CACF;AAED,MAAM,cAAc;IAKW;IAJ7B,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;IACzB,MAAM,GAAG,CAAC,CAAA;IACV,gBAAgB,GAAG,CAAC,CAAA;IAEpB,YAA6B,WAA0C;QAA1C,gBAAW,GAAX,WAAW,CAA+B;IAAG,CAAC;IAE3E,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,GAAG,CACD,IAA8B,EAC9B,SAA0D;QAE1D,MAAM,WAAW,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAA;QAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QAClC,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACpB,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,IAAI;gBACf,WAAW;gBACX,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACxC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YACnC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBACpB,KAAK,EAAE,WAAW;oBAClB,KAAK,EAAE,SAAS;oBAChB,SAAS,EAAE,IAAI;oBACf,WAAW;oBACX,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,IAAI,CAAC,MAAM;oBACvB,MAAM,EAAE,SAAS,GAAG,QAAQ;oBAC5B,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,CAAA;gBAC1C,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;wBACpB,KAAK,EAAE,WAAW;wBAClB,KAAK,EAAE,WAAW;wBAClB,SAAS,EAAE,IAAI;wBACf,WAAW;wBACX,WAAW,EAAE,IAAI;wBACjB,UAAU,EAAE,IAAI,CAAC,MAAM;wBACvB,MAAM,EAAE,SAAS,GAAG,QAAQ;wBAC5B,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;qBAC1C,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;wBACpB,KAAK,EAAE,WAAW;wBAClB,KAAK,EAAE,QAAQ;wBACf,SAAS,EAAE,IAAI;wBACf,WAAW;wBACX,WAAW,EAAE,IAAI;wBACjB,UAAU,EAAE,IAAI,CAAC,MAAM;wBACvB,MAAM,EAAE,SAAS,GAAG,QAAQ;wBAC5B,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;wBACzC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;qBAC3B,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAM,KAAK,CAAA;YACb,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,MAAM,EAAE,CAAA;YACf,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CACtB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,KAAK,CAAA;IAClB,CAAC;CACF;AAED,MAAM,mBAAmB;IAoBJ;IACA;IACA;IACA;IACA;IApBV,QAAQ,CAAiB;IACzB,MAAM,CAAgB;IACtB,YAAY,CAA+B;IAC3C,UAAU,GAAG,IAAI,GAAG,EAAc,CAAA;IAClC,UAAU,CAAkB;IAC5B,SAAS,CAAe;IACxB,WAAW,CAAmB;IAC9B,YAAY,CAAiB;IAC7B,cAAc,CAAQ;IAC/B,gBAAgB,GAA0D,IAAI,CAAA;IAC9E,wBAAwB,GAA0B,QAAQ,CAAA;IAC1D,WAAW,CAAmB;IAC9B,OAAO,GAAG,KAAK,CAAA;IACf,aAAa,CAA2B;IAExC,YACmB,MAAmC,EACnC,MAA4B,EAC5B,EAAkD,EAClD,SAAiC,EACjC,KAA4B;QAJ5B,WAAM,GAAN,MAAM,CAA6B;QACnC,WAAM,GAAN,MAAM,CAAsB;QAC5B,OAAE,GAAF,EAAE,CAAgD;QAClD,cAAS,GAAT,SAAS,CAAwB;QACjC,UAAK,GAAL,KAAK,CAAuB;QAE7C,IAAI,CAAC,YAAY,GAAG,IAAI,6BAA6B,CACnD,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,WAAW,CACnB,CAAA;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAA;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CACtC,IAAI,CAAC,UAAU,EACf,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EACjE,MAAM,CAAC,sBAAsB,CAC9B,CAAA;QACD,MAAM,QAAQ,GAAwB;YACpC,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,KAAK,EAChB,IAA4D,EAC5C,EAAE;gBAClB,IAAI,gBAAgB,GAAG,KAAK,CAAA;gBAC5B,MAAM,EAAE,GAA2B;oBACjC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;wBACpC,IACE,QAAQ,KAAK,SAAS;4BACtB,CAAC,CAAC,kCAAkC,CAAC,IAAI,CAAC,GAAG,CAAC;gCAC5C,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACxC,CAAC;4BACD,gBAAgB,GAAG,IAAI,CAAA;wBACzB,CAAC;wBACD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;oBACrD,CAAC;oBACD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;oBAC3D,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CACnC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC;iBACpD,CAAA;gBACD,OAAO,IAAI,CAAC,iBAAiB,CAC3B,GAAG,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,aAAa,CAAC,EACxE,KAAK,IAAI,EAAE;oBACT,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAA;oBAC5B,IAAI,gBAAgB,IAAI,IAAI,CAAC,wBAAwB,KAAK,UAAU,EAAE,CAAC;wBACrE,MAAM,IAAI,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAA;oBAC3D,CAAC;oBACD,OAAO,KAAK,CAAA;gBACd,CAAC,CACF,CAAA;YACH,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SAC5E,CAAA;QACD,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;YACrC,QAAQ;YACR,OAAO,EAAE;gBACP,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC;aAC/E;YACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,GAAG;YACd,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBACvB,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,EAAE,CAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAC3C,CAAA;YACH,CAAC;YACD,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;gBAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBACvB,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;oBACpD,IAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAA;oBACxC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;oBACnD,IAAI,CAAC,kBAAkB,EAAE,CAAA;gBAC3B,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,WAAW,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBACvB,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;oBACxD,IAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAA;oBACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;oBAC/D,IAAI,CAAC,kBAAkB,EAAE,CAAA;oBACzB,OAAO,KAAK,CAAA;gBACd,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBACtB,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBACvB,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CACtC,CAAA;YACH,CAAC;SACF,CAAA;QACD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,MAAmC,EACnC,KAA4B;QAE5B,cAAc,CAAC,MAAM,CAAC,CAAA;QACtB,MAAM,aAAa,GACjB,MAAM,CAAC,MAAM,EAAE,aAAa;YAC5B,IAAI,GAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9D,MAAM,WAAW,GACf,MAAM,CAAC,MAAM,EAAE,WAAW;YAC1B,IAAI,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3D,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAA;QAErC,MAAM,MAAM,GAAG,CAAC,MAAM,kBAAkB,CAAC;YACvC,UAAU,EAAE,CAAC,IAAY,EAAE,EAAE,CAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;SACxD,CAAC,CAAyB,CAAA;QAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;QACnF,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,6BAA6B,CACnD,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,WAAW,CACnB,CAAA;QACD,MAAM,SAAS,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC/D,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QAC1C,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1B,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,CAAC;gBACb,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC/B,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC1B,WAAW,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,WAAW;oBAClB,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,IAAI;oBACjB,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,gBAAgB;iBACjD,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC1B,WAAW,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,QAAQ;oBACf,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,IAAI;oBACjB,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,gBAAgB;oBAChD,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;iBAC3B,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;QAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAChF,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC3C,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;YACvB,MAAM,IAAI,KAAK,CAAC,qDAAqD,WAAW,EAAE,CAAC,CAAA;QACrF,CAAC;QACD,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;QAE9B,MAAM,IAAI,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QAC1E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;gBACnD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAClC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;gBACjD,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC1C,CAAC,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;YAC5B,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,CAAC,WAAW,CAAA;QAC5C,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAClE,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QACtE,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgC;QAC3C,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,UAAU,CACd,IAA8B,EAC9B,SAAuC;QAEvC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACjD,IAAI,CAAC,gBAAgB,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;YACjD,IAAI,CAAC;gBACH,OAAO,MAAM,SAAS,EAAE,CAAA;YAC1B,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;YAC9B,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAuC;QACvD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAA;QACvC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACrB,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,IAAI;gBAClC,WAAW,EAAE,SAAS,EAAE,EAAE,IAAI,IAAI;gBAClC,WAAW;gBACX,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBAC7B,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1D,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;oBACrB,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,WAAW;oBAClB,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,IAAI;oBAClC,WAAW,EAAE,SAAS,EAAE,EAAE,IAAI,IAAI;oBAClC,WAAW;oBACX,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;oBAC7B,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;oBACzC,GAAG,KAAK;iBACT,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;oBACrB,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,QAAQ;oBACf,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,IAAI;oBAClC,WAAW,EAAE,SAAS,EAAE,EAAE,IAAI,IAAI;oBAClC,WAAW;oBACX,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;oBAC7B,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;oBACzC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;iBAC3B,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,wDAAwD,YAAY,CAAC,KAAK,CAAC,EAAE,EAC7E,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;YACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;YACxB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YACf,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAMiD,EACjD,SAAuC;QAEvC,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrB,IAAI,KAAY,CAAA;QAChB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,SAAS,EAAE,CAAA;YACzB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa;gBAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACnD,MAAM,KAAK,CAAA;QACb,CAAC;QACD,MAAM,aAAa,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAChE,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAA;QAC5D,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;QACrC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAgB;QAI1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,IAAI,QAAQ,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7E,MAAM,YAAY,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAA;QACnD,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC9E,MAAM,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QACtC,CAAC;QACD,MAAM,MAAM,GAA8B,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,MAAM,EAAE,CAAA;QAC5E,IAAI,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,QAAgC,CAAA;QAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAA0B,EAAE,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAAa,EACb,MAAwB,EACxB,SAAkB;QAElB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,wBAAwB,GAAG,UAAU,CAAA;QAC1C,IAAI,MAAkB,CAAA;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACrD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAA;QAC1C,CAAC;QACD,MAAM,eAAe,GACnB,WAAW,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;QACzE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,GAAG,EAAE,CAC/C,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAClD,CAAA;QACH,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAClC,CAAC,QAAQ,EAAE,EAAE,CACX,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,kBAAkB,CAChF,CAAA;QACD,IAAI,OAAO;YAAE,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACtC,IAAI,SAAS,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,mBAAmB,CACjB,IAA6B,EAC7B,QAAkB,EAClB,gBAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAiD,CAAA;QACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC9C,MAAM,KAAK,GAAG,iBAAiB,CAC7B,OAAO,CAAC,KAAK,EACb,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,QAAQ,EACR,gBAAgB,EAChB,YAAY,CACb,CAAA;QACD,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACvB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACtD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAA;YAC1C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBAC9C,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBACvB,MAAM,gBAAgB,GACpB,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,KAAK,UAAU;oBACrD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC;oBAC7C,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAA;gBAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;oBACpE,MAAM,IAAI,SAAS,CAAC,2DAA2D,CAAC,CAAA;gBAClF,CAAC;gBACD,IAAI,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAA;gBACtE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,CAAA;gBAClE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,CACzD,wBAAwB,CACtB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,EACJ,MAAM,CAAC,MAAM,CACd,CACF,CAAA;gBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAA;YACvB,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACvB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5C,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAA;YACzC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBAC9C,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBACvB,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;gBACpC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;YAC9D,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAgB;QACpB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;QAC9C,IAAI,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAAW,EACX,SAA6B,EAAE;QAE/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE;YACzC,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACvB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAM,GAAG,EAAE,MAAM,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,GAAW,EACX,SAA6B,EAAE,EAC/B,QAA+B;QAE/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;gBAC/D,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,WAAW,EAChB,QAAQ,CACT,CAAA;gBACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;gBACpE,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAA;gBACvB,OAAO,KAAK,CAAA;YACd,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACzB,OAAO,MAAM,CAAA;QACf,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,CAAC,QAAoB;QAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC7B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAA;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAA;QACnE,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,QAAQ,EAAE,CAAA;YACZ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;QACvB,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI;YAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QACjC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;IAC9B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,YAAY,EAAE,CAAA;QAC1C,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;CACF;AAED,MAAM,UAAU,6BAA6B,CAC3C,MAAmC,EACnC,KAA4B;IAE5B,OAAO,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAAmC;IAEnC,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAA;AAC9C,CAAC"}
@@ -1,11 +1,21 @@
1
1
  import type { BedrockBrowserModule } from './sqlite-adapter.js';
2
+ export declare const BROWSER_SYNC_HOST_DATABASE_PREFIX = "orez-sync-browser-host:";
3
+ export declare const SNAPSHOT_CHUNK_BYTES: number;
4
+ export type SnapshotCheckpointStats = {
5
+ snapshotBytes: number;
6
+ writtenBytes: number;
7
+ snapshotChunks: number;
8
+ writtenChunks: number;
9
+ };
10
+ type BedrockSnapshotModule = Pick<BedrockBrowserModule, '_memfs'>;
2
11
  export declare function deleteBrowserSyncHostSnapshot(storageKey: string): Promise<void>;
3
12
  export declare class IndexedDbSnapshotStore {
4
13
  #private;
5
14
  readonly storageKey: string;
6
15
  constructor(storageKey: string);
7
- restore(module: BedrockBrowserModule): Promise<boolean>;
8
- checkpoint(module: BedrockBrowserModule): Promise<void>;
16
+ restore(module: BedrockSnapshotModule): Promise<boolean>;
17
+ checkpoint(module: BedrockSnapshotModule): Promise<SnapshotCheckpointStats>;
9
18
  close(): Promise<void>;
10
19
  }
20
+ export {};
11
21
  //# sourceMappingURL=idb-snapshot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"idb-snapshot.d.ts","sourceRoot":"","sources":["../../../sync-browser-host/src/idb-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAwD/D,wBAAsB,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrF;AAoCD,qBAAa,sBAAsB;;IAGrB,QAAQ,CAAC,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM;IAKjC,OAAO,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBvD,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BvD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"idb-snapshot.d.ts","sourceRoot":"","sources":["../../../sync-browser-host/src/idb-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG/D,eAAO,MAAM,iCAAiC,4BAA4B,CAAA;AAM1E,eAAO,MAAM,oBAAoB,QAAY,CAAA;AA0B7C,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,qBAAqB,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAA;AA+HjE,wBAAsB,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrF;AAmGD,qBAAa,sBAAsB;;IAKrB,QAAQ,CAAC,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM;IAmBjC,OAAO,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAgExD,UAAU,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAoE3E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}