@dereekb/firebase 8.12.13 → 8.13.2

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 (27) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/package.json +7 -8
  3. package/src/lib/client/firestore/driver.accessor.batch.js +1 -0
  4. package/src/lib/client/firestore/driver.accessor.batch.js.map +1 -1
  5. package/src/lib/client/firestore/driver.accessor.default.js +4 -4
  6. package/src/lib/client/firestore/driver.accessor.default.js.map +1 -1
  7. package/src/lib/client/firestore/driver.accessor.transaction.js +1 -0
  8. package/src/lib/client/firestore/driver.accessor.transaction.js.map +1 -1
  9. package/src/lib/common/auth/auth.d.ts +6 -0
  10. package/src/lib/common/firestore/accessor/accessor.d.ts +34 -4
  11. package/src/lib/common/firestore/accessor/accessor.js +31 -1
  12. package/src/lib/common/firestore/accessor/accessor.js.map +1 -1
  13. package/src/lib/common/firestore/accessor/document.d.ts +21 -6
  14. package/src/lib/common/firestore/accessor/document.js +22 -3
  15. package/src/lib/common/firestore/accessor/document.js.map +1 -1
  16. package/src/lib/common/firestore/error.d.ts +13 -0
  17. package/src/lib/common/firestore/error.js +22 -1
  18. package/src/lib/common/firestore/error.js.map +1 -1
  19. package/src/lib/common/firestore/snapshot/snapshot.field.d.ts +6 -0
  20. package/src/lib/common/firestore/snapshot/snapshot.field.js +10 -1
  21. package/src/lib/common/firestore/snapshot/snapshot.field.js.map +1 -1
  22. package/src/lib/common/firestore/types.d.ts +3 -0
  23. package/test/CHANGELOG.md +17 -0
  24. package/test/package.json +7 -8
  25. package/test/src/lib/common/firestore/test.driver.accessor.d.ts +4 -3
  26. package/test/src/lib/common/firestore/test.driver.accessor.js +242 -155
  27. package/test/src/lib/common/firestore/test.driver.accessor.js.map +1 -1
package/test/package.json CHANGED
@@ -1,26 +1,25 @@
1
1
  {
2
2
  "name": "@dereekb/firebase/test",
3
- "version": "8.12.13",
3
+ "version": "8.13.2",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts",
7
7
  "dependencies": {},
8
8
  "peerDependencies": {
9
- "@dereekb/util/test": "8.12.13",
10
- "@dereekb/util": "8.12.13",
9
+ "@dereekb/util/test": "8.13.2",
10
+ "@dereekb/util": "8.13.2",
11
11
  "make-error": "^1.3.0",
12
12
  "ts-essentials": "^9.1.2",
13
13
  "extra-set": "^2.2.11",
14
- "@dereekb/firebase": "8.12.13",
15
- "rxfire": "^6.0.3",
14
+ "@dereekb/firebase": "8.13.2",
16
15
  "rxjs": "^7.0.0",
17
16
  "firebase": "^9.8.0",
18
- "@dereekb/rxjs": "8.12.13",
17
+ "@dereekb/rxjs": "8.13.2",
19
18
  "ms": "^3.0.0-canary.1",
20
- "@dereekb/model": "8.12.13",
19
+ "@dereekb/model": "8.13.2",
21
20
  "class-transformer": "^0.5.1",
22
21
  "class-validator": "^0.13.2",
23
- "@dereekb/date": "8.12.13",
22
+ "@dereekb/date": "8.13.2",
24
23
  "date-fns": "^2.28.0",
25
24
  "date-fns-tz": "^1.3.0",
26
25
  "rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
@@ -1,5 +1,6 @@
1
- import { Transaction, DocumentReference, WriteBatch, FirestoreDocumentDataAccessor, FirestoreContext, FirestoreDocument } from '@dereekb/firebase';
1
+ import { Transaction, DocumentReference, WriteBatch, FirestoreContext, FirestoreDocument } from '@dereekb/firebase';
2
2
  import { MockItemCollectionFixture } from '../mock';
3
+ import { Getter } from '@dereekb/util';
3
4
  /**
4
5
  * Describes accessor driver tests, using a MockItemCollectionFixture.
5
6
  *
@@ -8,10 +9,10 @@ import { MockItemCollectionFixture } from '../mock';
8
9
  export declare function describeFirestoreAccessorDriverTests(f: MockItemCollectionFixture): void;
9
10
  export interface DescribeAccessorTests<T> {
10
11
  context: FirestoreContext;
11
- accessor: FirestoreDocumentDataAccessor<any>;
12
+ firestoreDocument: Getter<FirestoreDocument<T>>;
12
13
  dataForUpdate: () => Partial<T>;
13
14
  hasDataFromUpdate: (data: T) => boolean;
14
15
  loadDocumentForTransaction: (transaction: Transaction, ref?: DocumentReference<T>) => FirestoreDocument<T>;
15
16
  loadDocumentForWriteBatch: (writeBatch: WriteBatch, ref?: DocumentReference<T>) => FirestoreDocument<T>;
16
17
  }
17
- export declare function describeAccessorTests<T>(init: () => DescribeAccessorTests<T>): void;
18
+ export declare function describeFirestoreDocumentAccessorTests<T>(init: () => DescribeAccessorTests<T>): void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.describeAccessorTests = exports.describeFirestoreAccessorDriverTests = void 0;
3
+ exports.describeFirestoreDocumentAccessorTests = exports.describeFirestoreAccessorDriverTests = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const test_1 = require("@dereekb/util/test");
6
6
  const rxjs_1 = require("rxjs");
@@ -37,10 +37,10 @@ function describeFirestoreAccessorDriverTests(f) {
37
37
  itemDocument = items[0];
38
38
  accessor = itemDocument.accessor;
39
39
  });
40
- describe('accessor', () => {
41
- describeAccessorTests(() => ({
40
+ describe('accessors', () => {
41
+ describeFirestoreDocumentAccessorTests(() => ({
42
42
  context: f.parent.firestoreContext,
43
- accessor,
43
+ firestoreDocument: () => itemDocument,
44
44
  dataForUpdate: () => ({ test: false }),
45
45
  hasDataFromUpdate: (data) => data.test === false,
46
46
  loadDocumentForTransaction: (transaction, ref) => f.instance.firestoreCollection.documentAccessorForTransaction(transaction).loadDocument(ref),
@@ -146,15 +146,6 @@ function describeFirestoreAccessorDriverTests(f) {
146
146
  expect(data === null || data === void 0 ? void 0 : data.createdAt.getTime()).toBe(0);
147
147
  }));
148
148
  });
149
- describe('createOrUpdate()', () => {
150
- it('should create the item if it does not exist', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
151
- let exists = yield itemPrivateDataDocument.accessor.exists();
152
- expect(exists).toBe(false);
153
- yield itemPrivateDataDocument.createOrUpdate({ createdAt: new Date() });
154
- exists = yield privateDataAccessor.exists();
155
- expect(exists).toBe(true);
156
- }));
157
- });
158
149
  describe('set()', () => {
159
150
  it('should create the item', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
160
151
  let exists = yield privateDataAccessor.exists();
@@ -168,11 +159,11 @@ function describeFirestoreAccessorDriverTests(f) {
168
159
  beforeEach(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
169
160
  yield privateDataAccessor.set({ values: [], createdAt: new Date() });
170
161
  }));
171
- describe('accessor', () => {
162
+ describe('accessors', () => {
172
163
  const TEST_COMMENTS = 'test';
173
- describeAccessorTests(() => ({
164
+ describeFirestoreDocumentAccessorTests(() => ({
174
165
  context: f.parent.firestoreContext,
175
- accessor: privateDataAccessor,
166
+ firestoreDocument: () => itemPrivateDataDocument,
176
167
  dataForUpdate: () => ({ comments: TEST_COMMENTS }),
177
168
  hasDataFromUpdate: (data) => data.comments === TEST_COMMENTS,
178
169
  loadDocumentForTransaction: (transaction, ref) => mockItemPrivateFirestoreCollection.loadDocumentForTransaction(transaction),
@@ -193,11 +184,11 @@ function describeFirestoreAccessorDriverTests(f) {
193
184
  mockItemSubItemFirestoreCollection = f.instance.collections.mockItemSubItemCollectionFactory(itemDocument);
194
185
  });
195
186
  describe('with item', () => {
196
- describe('accessor', () => {
187
+ describe('accessors', () => {
197
188
  const TEST_VALUE = 1234;
198
- describeAccessorTests(() => ({
189
+ describeFirestoreDocumentAccessorTests(() => ({
199
190
  context: f.parent.firestoreContext,
200
- accessor: subItemDocument.accessor,
191
+ firestoreDocument: () => subItemDocument,
201
192
  dataForUpdate: () => ({ value: TEST_VALUE }),
202
193
  hasDataFromUpdate: (data) => data.value === TEST_VALUE,
203
194
  loadDocumentForTransaction: (transaction, ref) => mockItemSubItemFirestoreCollection.documentAccessorForTransaction(transaction).loadDocument(ref),
@@ -212,11 +203,11 @@ function describeFirestoreAccessorDriverTests(f) {
212
203
  mockItemSubItemFirestoreCollectionGroup = f.instance.collections.mockItemSubItemCollectionGroup;
213
204
  });
214
205
  describe('with item', () => {
215
- describe('accessor', () => {
206
+ describe('accessors', () => {
216
207
  const TEST_VALUE = 1234;
217
- describeAccessorTests(() => ({
208
+ describeFirestoreDocumentAccessorTests(() => ({
218
209
  context: f.parent.firestoreContext,
219
- accessor: subItemDocument.accessor,
210
+ firestoreDocument: () => subItemDocument,
220
211
  dataForUpdate: () => ({ value: TEST_VALUE }),
221
212
  hasDataFromUpdate: (data) => data.value === TEST_VALUE,
222
213
  loadDocumentForTransaction: (transaction, ref) => mockItemSubItemFirestoreCollectionGroup.documentAccessorForTransaction(transaction).loadDocument(ref),
@@ -281,167 +272,263 @@ function describeFirestoreAccessorDriverTests(f) {
281
272
  });
282
273
  }
283
274
  exports.describeFirestoreAccessorDriverTests = describeFirestoreAccessorDriverTests;
284
- function describeAccessorTests(init) {
275
+ function describeFirestoreDocumentAccessorTests(init) {
285
276
  let c;
286
277
  let sub;
278
+ let firestoreDocument;
279
+ let accessor;
287
280
  beforeEach(() => {
288
281
  sub = new rxjs_2.SubscriptionObject();
289
282
  c = init();
283
+ firestoreDocument = c.firestoreDocument();
284
+ accessor = firestoreDocument.accessor;
290
285
  });
291
286
  afterEach(() => {
292
287
  sub.destroy();
293
288
  });
294
- describe('stream()', () => {
295
- it('should return a snapshot stream', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
296
- const result = yield c.accessor.stream();
297
- expect(result).toBeDefined();
298
- }));
299
- it('should emit values on updates from the observable.', (done) => {
300
- let count = 0;
301
- sub.subscription = c.accessor.stream().subscribe((item) => {
302
- count += 1;
303
- if (count === 1) {
304
- expect(c.hasDataFromUpdate(item.data())).toBe(false);
305
- }
306
- else if (count === 2) {
307
- expect(c.hasDataFromUpdate(item.data())).toBe(true);
308
- done();
309
- }
289
+ describe('AbstractFirestoreDocument', () => {
290
+ describe('snapshot()', () => {
291
+ it('should return the snapshot.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
292
+ const snapshot = yield firestoreDocument.snapshot();
293
+ expect(snapshot).toBeDefined();
294
+ }));
295
+ });
296
+ describe('snapshotData()', () => {
297
+ it('should return the snapshot data if the model exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
298
+ const exists = yield firestoreDocument.exists();
299
+ expect(exists).toBe(true);
300
+ const data = yield firestoreDocument.snapshotData();
301
+ expect(data).toBeDefined();
302
+ }));
303
+ it('should return the undefined if the model does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
304
+ yield accessor.delete();
305
+ const exists = yield firestoreDocument.exists();
306
+ expect(exists).toBe(false);
307
+ const data = yield firestoreDocument.snapshotData();
308
+ expect(data).toBeUndefined();
309
+ }));
310
+ });
311
+ describe('create()', () => {
312
+ it('should create the document if it does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
313
+ const snapshot = yield firestoreDocument.snapshot();
314
+ yield accessor.delete();
315
+ let exists = yield firestoreDocument.exists();
316
+ expect(exists).toBe(false);
317
+ yield firestoreDocument.create(snapshot.data());
318
+ exists = yield firestoreDocument.exists();
319
+ expect(exists).toBe(true);
320
+ }));
321
+ (0, test_1.itShouldFail)('if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
322
+ const snapshot = yield firestoreDocument.snapshot();
323
+ const exists = yield firestoreDocument.exists();
324
+ expect(exists).toBe(true);
325
+ yield (0, test_1.expectFail)(() => firestoreDocument.create(snapshot.data()));
326
+ }));
327
+ });
328
+ describe('update()', () => {
329
+ it('should update the data if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
330
+ const data = c.dataForUpdate();
331
+ yield firestoreDocument.update(data);
332
+ const snapshot = yield firestoreDocument.snapshot();
333
+ expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
334
+ }));
335
+ (0, test_1.itShouldFail)('if the document does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
336
+ yield accessor.delete();
337
+ const snapshot = yield firestoreDocument.snapshot();
338
+ expect(snapshot.data()).toBe(undefined);
339
+ const exists = yield firestoreDocument.exists();
340
+ expect(exists).toBe(false);
341
+ yield (0, test_1.expectFail)(() => firestoreDocument.update(c.dataForUpdate()));
342
+ }));
343
+ it('should not throw an error if the input update data is empty.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
344
+ yield firestoreDocument.update({});
345
+ }));
346
+ });
347
+ describe('transaction', () => {
348
+ describe('update()', () => {
349
+ it('should update the data if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
350
+ yield c.context.runTransaction((transaction) => tslib_1.__awaiter(this, void 0, void 0, function* () {
351
+ const transactionDocument = yield c.loadDocumentForTransaction(transaction, firestoreDocument.documentRef);
352
+ const currentData = yield transactionDocument.snapshotData();
353
+ expect(currentData).toBeDefined();
354
+ const data = c.dataForUpdate();
355
+ yield transactionDocument.update(data);
356
+ }));
357
+ const snapshot = yield firestoreDocument.snapshot();
358
+ expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
359
+ }));
310
360
  });
311
- setTimeout(() => {
312
- c.accessor.update(c.dataForUpdate());
313
- }, 100);
314
361
  });
315
- describe('in transition context', () => {
316
- let runTransaction;
317
- beforeEach(() => {
318
- runTransaction = c.context.runTransaction;
362
+ describe('write batch', () => {
363
+ describe('update()', () => {
364
+ it('should update the data if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
365
+ const batch = c.context.batch();
366
+ const batchDocument = yield c.loadDocumentForWriteBatch(batch, firestoreDocument.documentRef);
367
+ const data = c.dataForUpdate();
368
+ yield batchDocument.update(data);
369
+ yield batch.commit();
370
+ const snapshot = yield firestoreDocument.snapshot();
371
+ expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
372
+ }));
373
+ });
374
+ });
375
+ });
376
+ describe('accessor', () => {
377
+ describe('stream()', () => {
378
+ it('should return a snapshot stream', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
379
+ const result = yield accessor.stream();
380
+ expect(result).toBeDefined();
381
+ }));
382
+ it('should emit values on updates from the observable.', (done) => {
383
+ let count = 0;
384
+ sub.subscription = accessor.stream().subscribe((item) => {
385
+ count += 1;
386
+ if (count === 1) {
387
+ expect(c.hasDataFromUpdate(item.data())).toBe(false);
388
+ }
389
+ else if (count === 2) {
390
+ expect(c.hasDataFromUpdate(item.data())).toBe(true);
391
+ done();
392
+ }
393
+ });
394
+ setTimeout(() => {
395
+ accessor.update(c.dataForUpdate());
396
+ }, 100);
397
+ });
398
+ describe('in transition context', () => {
399
+ let runTransaction;
400
+ beforeEach(() => {
401
+ runTransaction = c.context.runTransaction;
402
+ });
403
+ it('should return the first emitted value (observable completes immediately)', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
404
+ yield runTransaction((transaction) => tslib_1.__awaiter(this, void 0, void 0, function* () {
405
+ const transactionItemDocument = c.loadDocumentForTransaction(transaction, accessor.documentRef);
406
+ // load the value
407
+ const value = yield (0, rxjs_1.firstValueFrom)(transactionItemDocument.accessor.stream());
408
+ expect(value).toBeDefined();
409
+ // set to make the transaction valid
410
+ yield transactionItemDocument.accessor.set({ value: 0 }, { merge: true });
411
+ return value;
412
+ }));
413
+ }));
319
414
  });
320
- it('should return the first emitted value (observable completes immediately)', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
321
- yield runTransaction((transaction) => tslib_1.__awaiter(this, void 0, void 0, function* () {
322
- const transactionItemDocument = c.loadDocumentForTransaction(transaction, c.accessor.documentRef);
415
+ describe('in batch context', () => {
416
+ it('should return the first emitted value (observable completes immediately)', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
417
+ const writeBatch = c.context.batch();
418
+ const batchItemDocument = c.loadDocumentForWriteBatch(writeBatch, accessor.documentRef);
323
419
  // load the value
324
- const value = yield (0, rxjs_1.firstValueFrom)(transactionItemDocument.accessor.stream());
420
+ const value = yield (0, rxjs_1.firstValueFrom)(batchItemDocument.accessor.stream());
325
421
  expect(value).toBeDefined();
326
- // set to make the transaction valid
327
- yield transactionItemDocument.accessor.set({ value: 0 }, { merge: true });
328
- return value;
422
+ // set to make the batch changes valid
423
+ yield batchItemDocument.accessor.set({ value: 0 }, { merge: true });
424
+ // commit the changes
425
+ yield writeBatch.commit();
329
426
  }));
427
+ });
428
+ });
429
+ describe('create()', () => {
430
+ it('should create the document if it does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
431
+ const snapshot = yield accessor.get();
432
+ yield accessor.delete();
433
+ let exists = yield accessor.exists();
434
+ expect(exists).toBe(false);
435
+ yield accessor.create(snapshot.data());
436
+ exists = yield accessor.exists();
437
+ expect(exists).toBe(true);
438
+ }));
439
+ (0, test_1.itShouldFail)('if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
440
+ const snapshot = yield accessor.get();
441
+ const exists = yield accessor.exists();
442
+ expect(exists).toBe(true);
443
+ yield (0, test_1.expectFail)(() => accessor.create(snapshot.data()));
330
444
  }));
331
445
  });
332
- describe('in batch context', () => {
333
- it('should return the first emitted value (observable completes immediately)', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
334
- const writeBatch = c.context.batch();
335
- const batchItemDocument = c.loadDocumentForWriteBatch(writeBatch, c.accessor.documentRef);
336
- // load the value
337
- const value = yield (0, rxjs_1.firstValueFrom)(batchItemDocument.accessor.stream());
338
- expect(value).toBeDefined();
339
- // set to make the batch changes valid
340
- yield batchItemDocument.accessor.set({ value: 0 }, { merge: true });
341
- // commit the changes
342
- yield writeBatch.commit();
446
+ describe('get()', () => {
447
+ it('should return a snapshot', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
448
+ const result = yield accessor.get();
449
+ expect(result).toBeDefined();
450
+ expect(result.id).toBeDefined();
343
451
  }));
344
452
  });
345
- });
346
- describe('create()', () => {
347
- it('should create the document if it does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
348
- const data = yield c.accessor.get();
349
- yield c.accessor.delete();
350
- let exists = yield c.accessor.exists();
351
- expect(exists).toBe(false);
352
- yield c.accessor.create(data);
353
- exists = yield c.accessor.exists();
354
- expect(exists).toBe(true);
355
- }));
356
- (0, test_1.itShouldFail)('if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
357
- const data = yield c.accessor.get();
358
- const exists = yield c.accessor.exists();
359
- expect(exists).toBe(true);
360
- yield (0, test_1.expectFail)(() => c.accessor.create(data));
361
- }));
362
- });
363
- describe('get()', () => {
364
- it('should return a snapshot', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
365
- const result = yield c.accessor.get();
366
- expect(result).toBeDefined();
367
- expect(result.id).toBeDefined();
368
- }));
369
- });
370
- describe('exists()', () => {
371
- it('should return true if the document exists', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
372
- const exists = yield c.accessor.exists();
373
- expect(exists).toBe(true);
374
- }));
375
- it('should return false if the document does not exist', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
376
- yield c.accessor.delete();
377
- const exists = yield c.accessor.exists();
378
- expect(exists).toBe(false);
379
- }));
380
- });
381
- describe('update()', () => {
382
- it('should update the data if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
383
- const data = c.dataForUpdate();
384
- yield c.accessor.update(data);
385
- const snapshot = yield c.accessor.get();
386
- expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
387
- }));
388
- (0, test_1.itShouldFail)('if the document does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
389
- yield c.accessor.delete();
390
- const snapshot = yield c.accessor.get();
391
- expect(snapshot.data()).toBe(undefined);
392
- const exists = yield c.accessor.exists();
393
- expect(exists).toBe(false);
394
- yield (0, test_1.expectFail)(() => c.accessor.update(c.dataForUpdate()));
395
- }));
396
- // todo: test that update does not call the converter when setting values.
397
- });
398
- describe('set()', () => {
399
- it('should create the object if it does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
400
- yield c.accessor.delete();
401
- let exists = yield c.accessor.exists();
402
- expect(exists).toBe(false);
403
- const data = c.dataForUpdate();
404
- yield c.accessor.set(data);
405
- exists = yield c.accessor.exists();
406
- expect(exists).toBe(true);
407
- const snapshot = yield c.accessor.get();
408
- expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
409
- }));
410
- it('should update the data on the document for fields that are not undefined.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
411
- const data = c.dataForUpdate();
412
- yield c.accessor.set(data);
413
- const snapshot = yield c.accessor.get();
414
- expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
415
- }));
416
- describe('merge=true', () => {
453
+ describe('exists()', () => {
454
+ it('should return true if the document exists', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
455
+ const exists = yield accessor.exists();
456
+ expect(exists).toBe(true);
457
+ }));
458
+ it('should return false if the document does not exist', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
459
+ yield accessor.delete();
460
+ const exists = yield accessor.exists();
461
+ expect(exists).toBe(false);
462
+ }));
463
+ });
464
+ describe('update()', () => {
417
465
  it('should update the data if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
418
466
  const data = c.dataForUpdate();
419
- yield c.accessor.set(data, { merge: true });
420
- const snapshot = yield c.accessor.get();
467
+ yield accessor.update(data);
468
+ const snapshot = yield accessor.get();
421
469
  expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
422
470
  }));
423
- it('should succeed if the document does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
424
- yield c.accessor.delete();
425
- let snapshot = yield c.accessor.get();
471
+ (0, test_1.itShouldFail)('if the document does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
472
+ yield accessor.delete();
473
+ const snapshot = yield accessor.get();
426
474
  expect(snapshot.data()).toBe(undefined);
427
- const exists = yield c.accessor.exists();
475
+ const exists = yield accessor.exists();
476
+ expect(exists).toBe(false);
477
+ yield (0, test_1.expectFail)(() => accessor.update(c.dataForUpdate()));
478
+ }));
479
+ (0, test_1.itShouldFail)('if the input is an empty object.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
480
+ yield (0, test_1.expectFail)(() => accessor.update({}));
481
+ }));
482
+ // todo: test that update does not call the converter when setting values.
483
+ });
484
+ describe('set()', () => {
485
+ it('should create the object if it does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
486
+ yield accessor.delete();
487
+ let exists = yield accessor.exists();
428
488
  expect(exists).toBe(false);
429
- yield c.accessor.set(c.dataForUpdate(), { merge: true });
430
- snapshot = yield c.accessor.get();
489
+ const data = c.dataForUpdate();
490
+ yield accessor.set(data);
491
+ exists = yield accessor.exists();
492
+ expect(exists).toBe(true);
493
+ const snapshot = yield accessor.get();
494
+ expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
495
+ }));
496
+ it('should update the data on the document for fields that are not undefined.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
497
+ const data = c.dataForUpdate();
498
+ yield accessor.set(data);
499
+ const snapshot = yield accessor.get();
431
500
  expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
432
501
  }));
502
+ describe('merge=true', () => {
503
+ it('should update the data if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
504
+ const data = c.dataForUpdate();
505
+ yield accessor.set(data, { merge: true });
506
+ const snapshot = yield accessor.get();
507
+ expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
508
+ }));
509
+ it('should succeed if the document does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
510
+ yield accessor.delete();
511
+ let snapshot = yield accessor.get();
512
+ expect(snapshot.data()).toBe(undefined);
513
+ const exists = yield accessor.exists();
514
+ expect(exists).toBe(false);
515
+ yield accessor.set(c.dataForUpdate(), { merge: true });
516
+ snapshot = yield accessor.get();
517
+ expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
518
+ }));
519
+ });
520
+ // todo: test that set calls the converter when setting values.
521
+ });
522
+ describe('delete()', () => {
523
+ it('should delete the document.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
524
+ yield accessor.delete();
525
+ const snapshot = yield accessor.get();
526
+ expect(snapshot.data()).toBe(undefined);
527
+ const exists = yield accessor.exists();
528
+ expect(exists).toBe(false);
529
+ }));
433
530
  });
434
- // todo: test that set calls the converter when setting values.
435
- });
436
- describe('delete()', () => {
437
- it('should delete the document.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
438
- yield c.accessor.delete();
439
- const snapshot = yield c.accessor.get();
440
- expect(snapshot.data()).toBe(undefined);
441
- const exists = yield c.accessor.exists();
442
- expect(exists).toBe(false);
443
- }));
444
531
  });
445
532
  }
446
- exports.describeAccessorTests = describeAccessorTests;
533
+ exports.describeFirestoreDocumentAccessorTests = describeFirestoreDocumentAccessorTests;
447
534
  //# sourceMappingURL=test.driver.accessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.driver.accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/test/src/lib/common/firestore/test.driver.accessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.driver.accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/test/src/lib/common/firestore/test.driver.accessor.ts"],"names":[],"mappings":";;;;AAAA,6CAA8D;AAC9D,+BAAsC;AACtC,wCAAmD;AACnD,gDAA2Q;AAC3Q,kCAA6W;AAG7W;;;;GAIG;AACH,SAAgB,oCAAoC,CAAC,CAA4B;IAC/E,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,MAAM,iBAAiB,GAAG,CAAC,CAAC;QAE5B,IAAI,iCAAwF,CAAC;QAC7F,IAAI,KAAyB,CAAC;QAE9B,UAAU,CAAC,GAAS,EAAE;YACpB,iCAAiC,GAAG,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;YACtF,KAAK,GAAG,MAAM,IAAA,wBAAa,EAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,EAAE;gBAC7E,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;oBACV,OAAO;wBACL,KAAK,EAAE,GAAG,CAAC,EAAE;wBACb,IAAI,EAAE,IAAI;wBACV,MAAM,EAAE,EAAE;qBACX,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACxB,IAAI,YAA8B,CAAC;YACnC,IAAI,QAAiD,CAAC;YAEtD,UAAU,CAAC,GAAG,EAAE;gBACd,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxB,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;gBACzB,sCAAsC,CAAW,GAAG,EAAE,CAAC,CAAC;oBACtD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB;oBAClC,iBAAiB,EAAE,GAAG,EAAE,CAAC,YAAY;oBACrC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oBACtC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK;oBAChD,0BAA0B,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,GAAI,CAAC;oBAC/I,yBAAyB,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,GAAI,CAAC;iBAC5I,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;gBAC9B,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;oBAC5D,IAAI,UAA8B,CAAC;oBACnC,IAAI,+BAAgE,CAAC;oBACrE,IAAI,oBAA0C,CAAC;oBAC/C,IAAI,gBAA6D,CAAC;oBAElE,UAAU,CAAC,GAAG,EAAE;wBACd,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;wBAC1D,+BAA+B,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;wBACrG,oBAAoB,GAAG,+BAA+B,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;wBACxG,gBAAgB,GAAG,oBAAoB,CAAC,QAAQ,CAAC;oBACnD,CAAC,CAAC,CAAC;oBAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;wBACrB,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;4BACjD,EAAE,CAAC,+DAA+D,EAAE,GAAS,EAAE;;gCAC7E,MAAM,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC;oCACtC,GAAG,EAAE,EAAE;oCACP,IAAI,EAAE,OAAO;iCACd,CAAC,CAAC;gCAEH,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gCAC3D,MAAM,CAAC,MAAA,QAAQ,CAAC,IAAI,EAAE,0CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BAChD,CAAC,CAAA,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;oBAC/D,IAAI,kCAAsE,CAAC;oBAC3E,IAAI,uBAAgD,CAAC;oBACrD,IAAI,mBAAmE,CAAC;oBACxE,IAAI,UAA8B,CAAC;oBAEnC,UAAU,CAAC,GAAG,EAAE;wBACd,kCAAkC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC;wBAC3G,uBAAuB,GAAG,kCAAkC,CAAC,YAAY,EAAE,CAAC;wBAC5E,mBAAmB,GAAG,uBAAuB,CAAC,QAAQ,CAAC;wBACvD,UAAU,GAAG,IAAI,yBAAkB,EAAE,CAAC;oBACxC,CAAC,CAAC,CAAC;oBAEH,SAAS,CAAC,GAAG,EAAE;wBACb,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvB,CAAC,CAAC,CAAC;oBAEH,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;wBACtD,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;4BAC1D,MAAM,CAAC,kCAAkC,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;4BAC9E,MAAM,CAAC,kCAAkC,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;4BACtE,MAAM,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,CAAC,WAAW,EAAE,CAAC;4BACpF,MAAM,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC,WAAW,EAAE,CAAC;wBACrF,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;wBACrB,EAAE,CAAC,sDAAsD,EAAE,GAAS,EAAE;;4BACpE,MAAM,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAS,CAAC,CAAC;4BACpE,MAAM,oBAAoB,GAAQ,CAAC,MAAM,uBAAuB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;4BAEzG,MAAM,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;4BAC3C,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;4BAE/C,4CAA4C;4BAC5C,MAAM,CAAC,MAAC,uBAAuB,CAAC,WAAmB,CAAC,SAAS,mCAAK,uBAAuB,CAAC,WAAmB,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;4BAExI,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,CAAC;4BAC1D,MAAM,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;4BACnC,MAAM,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,0DAA0D;wBACjG,CAAC,CAAA,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;wBAClC,EAAE,CAAC,iDAAiD,EAAE,GAAS,EAAE;4BAC/D,MAAM,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAS,CAAC,CAAC;4BAEpE,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,CAAC;4BAC1D,MAAM,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;4BAEnC,MAAM,oBAAoB,GAAQ,CAAC,MAAM,uBAAuB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;4BAEzG,MAAM,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;4BAC3C,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACjD,CAAC,CAAA,CAAC,CAAC;wBAEH,EAAE,CAAC,6DAA6D,EAAE,GAAS,EAAE;4BAC3E,MAAM,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAS,CAAC,CAAC;4BAEpE,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,CAAC;4BAC1D,MAAM,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;4BAEnC,MAAM,SAAS,GAAqC,wBAAiB,CAAC;4BACtE,MAAM,oBAAoB,GAA+B,MAAM,uBAAuB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;4BAE5H,MAAM,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC7C,CAAC,CAAA,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;wBACxB,IAAA,mBAAY,EAAC,4BAA4B,EAAE,GAAS,EAAE;4BACpD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;4BAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BAC3B,MAAM,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;wBACpF,CAAC,CAAA,CAAC,CAAC;wBAEH,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;4BAClD,MAAM,uBAAuB,CAAC,MAAM,CAAC;gCACnC,SAAS,EAAE,IAAI,IAAI,EAAE;gCACrB,MAAM,EAAE,EAAE;6BACX,CAAC,CAAC;4BAEH,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;4BAE5B,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;4BAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAE1B,MAAM,uBAAuB,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;4BAE7D,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,CAAC;4BAC1D,MAAM,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC5C,CAAC,CAAA,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;wBACrB,EAAE,CAAC,wBAAwB,EAAE,GAAS,EAAE;4BACtC,IAAI,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,CAAC;4BAChD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BAE3B,MAAM,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;4BAErE,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,CAAC;4BAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC5B,CAAC,CAAA,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;wBACzB,UAAU,CAAC,GAAS,EAAE;4BACpB,MAAM,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;wBACvE,CAAC,CAAA,CAAC,CAAC;wBAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;4BACzB,MAAM,aAAa,GAAG,MAAM,CAAC;4BAE7B,sCAAsC,CAAkB,GAAG,EAAE,CAAC,CAAC;gCAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB;gCAClC,iBAAiB,EAAE,GAAG,EAAE,CAAC,uBAAuB;gCAChD,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;gCAClD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,aAAa;gCAC5D,0BAA0B,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,WAAW,CAAC;gCAC5H,yBAAyB,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,UAAU,CAAC;6BACzH,CAAC,CAAC,CAAC;wBACN,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;oBAC/B,IAAI,eAAwC,CAAC;oBAE7C,UAAU,CAAC,GAAS,EAAE;wBACpB,eAAe,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,CAAC;wBACzH,MAAM,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;oBACnD,CAAC,CAAA,CAAC,CAAC;oBAEH,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;wBAC/D,IAAI,kCAAsE,CAAC;wBAE3E,UAAU,CAAC,GAAG,EAAE;4BACd,kCAAkC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC;wBAC7G,CAAC,CAAC,CAAC;wBAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;4BACzB,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;gCACzB,MAAM,UAAU,GAAG,IAAI,CAAC;gCAExB,sCAAsC,CAAkB,GAAG,EAAE,CAAC,CAAC;oCAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB;oCAClC,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe;oCACxC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oCAC5C,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU;oCACtD,0BAA0B,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,kCAAkC,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,GAAI,CAAC;oCACnJ,yBAAyB,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC,kCAAkC,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,GAAI,CAAC;iCAChJ,CAAC,CAAC,CAAC;4BACN,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;wBAC1D,IAAI,uCAAgF,CAAC;wBAErF,UAAU,CAAC,GAAG,EAAE;4BACd,uCAAuC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,8BAA8B,CAAC;wBAClG,CAAC,CAAC,CAAC;wBAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;4BACzB,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;gCACzB,MAAM,UAAU,GAAG,IAAI,CAAC;gCAExB,sCAAsC,CAAkB,GAAG,EAAE,CAAC,CAAC;oCAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB;oCAClC,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe;oCACxC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oCAC5C,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU;oCACtD,0BAA0B,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,uCAAuC,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,GAAI,CAAC;oCACxJ,yBAAyB,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC,uCAAuC,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,GAAI,CAAC;iCACrJ,CAAC,CAAC,CAAC;4BACN,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAClC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;gBACpC,EAAE,CAAC,iDAAiD,EAAE,GAAS,EAAE;oBAC/D,MAAM,QAAQ,GAAG,iCAAiC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACpF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAEhD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC,CAAA,CAAC,CAAC;gBAEH,IAAA,mBAAY,EAAC,+CAA+C,EAAE,GAAG,EAAE;oBACjE,IAAA,iBAAU,EAAC,GAAG,EAAE;wBACd,iCAAiC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBAC/D,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAA,mBAAY,EAAC,mDAAmD,EAAE,GAAG,EAAE;oBACrE,IAAA,iBAAU,EAAC,GAAG,EAAE;wBACd,iCAAiC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBAClE,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAA,mBAAY,EAAC,uBAAuB,EAAE,GAAG,EAAE;oBACzC,IAAA,iBAAU,EAAC,GAAG,EAAE;wBACd,iCAAiC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBAC3D,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAA,mBAAY,EAAC,2BAA2B,EAAE,GAAG,EAAE;oBAC7C,IAAA,iBAAU,EAAC,GAAG,EAAE;wBACd,iCAAiC,CAAC,kBAAkB,CAAC,SAAgB,CAAC,CAAC;oBACzE,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAA,mBAAY,EAAC,sBAAsB,EAAE,GAAG,EAAE;oBACxC,IAAA,iBAAU,EAAC,GAAG,EAAE;wBACd,iCAAiC,CAAC,kBAAkB,CAAC,IAAW,CAAC,CAAC;oBACpE,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;gBACnC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;oBACrD,MAAM,QAAQ,GAAG,iCAAiC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC3E,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;gBACjC,CAAC,CAAC,CAAC;gBAEH,IAAA,mBAAY,EAAC,qBAAqB,EAAE,GAAG,EAAE;oBACvC,IAAA,iBAAU,EAAC,GAAG,EAAE;wBACd,iCAAiC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;oBAC1D,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAA,mBAAY,EAAC,yBAAyB,EAAE,GAAG,EAAE;oBAC3C,IAAA,iBAAU,EAAC,GAAG,EAAE;wBACd,iCAAiC,CAAC,iBAAiB,CAAC,SAAgB,CAAC,CAAC;oBACxE,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAzTD,oFAyTC;AAWD,SAAgB,sCAAsC,CAAI,IAAoC;IAC5F,IAAI,CAA2B,CAAC;IAChC,IAAI,GAAuB,CAAC;IAC5B,IAAI,iBAAuC,CAAC;IAC5C,IAAI,QAA0C,CAAC;IAE/C,UAAU,CAAC,GAAG,EAAE;QACd,GAAG,GAAG,IAAI,yBAAkB,EAAE,CAAC;QAC/B,CAAC,GAAG,IAAI,EAAE,CAAC;QACX,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAC1C,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1B,EAAE,CAAC,6BAA6B,EAAE,GAAS,EAAE;gBAC3C,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACjC,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC9B,EAAE,CAAC,sDAAsD,EAAE,GAAS,EAAE;gBACpE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAChD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE1B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,CAAC,CAAA,CAAC,CAAC;YAEH,EAAE,CAAC,0DAA0D,EAAE,GAAS,EAAE;gBACxE,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAExB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAChD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE3B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;YAC/B,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACxB,EAAE,CAAC,kDAAkD,EAAE,GAAS,EAAE;gBAChE,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBAEpD,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAExB,IAAI,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE3B,MAAM,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAO,CAAC,CAAC;gBAErD,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAA,CAAC,CAAC;YAEH,IAAA,mBAAY,EAAC,yBAAyB,EAAE,GAAS,EAAE;gBACjD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBAEpD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAChD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE1B,MAAM,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAO,CAAC,CAAC,CAAC;YACzE,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACxB,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;gBAC9D,MAAM,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC/B,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAErC,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBACpD,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAA,CAAC,CAAC;YAEH,IAAA,mBAAY,EAAC,iCAAiC,EAAE,GAAS,EAAE;gBACzD,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAExB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAExC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAChD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE3B,MAAM,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAA,CAAC,CAAC;YAEH,EAAE,CAAC,8DAA8D,EAAE,GAAS,EAAE;gBAC5E,MAAM,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;YAC3B,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;gBACxB,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;oBAC9D,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAO,WAAW,EAAE,EAAE;wBACnD,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,0BAA0B,CAAC,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;wBAE3G,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,CAAC;wBAC7D,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;wBAElC,MAAM,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;wBAC/B,MAAM,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACzC,CAAC,CAAA,CAAC,CAAC;oBAEH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,CAAC;oBACpD,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/D,CAAC,CAAA,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;YAC3B,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;gBACxB,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;oBAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,yBAAyB,CAAC,KAAK,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBAE9F,MAAM,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;oBAC/B,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAEjC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;oBAErB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,CAAC;oBACpD,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/D,CAAC,CAAA,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACxB,EAAE,CAAC,iCAAiC,EAAE,GAAS,EAAE;gBAC/C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC,CAAA,CAAC,CAAC;YAEH,EAAE,CAAC,oDAAoD,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChE,IAAI,KAAK,GAAG,CAAC,CAAC;gBAEd,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;oBACtD,KAAK,IAAI,CAAC,CAAC;oBAEX,IAAI,KAAK,KAAK,CAAC,EAAE;wBACf,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBAC3D;yBAAM,IAAI,KAAK,KAAK,CAAC,EAAE;wBACtB,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACzD,IAAI,EAAE,CAAC;qBACR;gBACH,CAAC,CAAC,CAAC;gBAEH,UAAU,CAAC,GAAG,EAAE;oBACd,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;gBACrC,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;gBACrC,IAAI,cAA8B,CAAC;gBAEnC,UAAU,CAAC,GAAG,EAAE;oBACd,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,0EAA0E,EAAE,GAAS,EAAE;oBACxF,MAAM,cAAc,CAAC,CAAO,WAAW,EAAE,EAAE;wBACzC,MAAM,uBAAuB,GAAG,CAAC,CAAC,0BAA0B,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;wBAEhG,iBAAiB;wBACjB,MAAM,KAAK,GAAG,MAAM,IAAA,qBAAc,EAAC,uBAAuB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;wBAE9E,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;wBAE5B,oCAAoC;wBACpC,MAAM,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBAEjF,OAAO,KAAK,CAAC;oBACf,CAAC,CAAA,CAAC,CAAC;gBACL,CAAC,CAAA,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAChC,EAAE,CAAC,0EAA0E,EAAE,GAAS,EAAE;oBACxF,MAAM,UAAU,GAAe,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACjD,MAAM,iBAAiB,GAAG,CAAC,CAAC,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAExF,iBAAiB;oBACjB,MAAM,KAAK,GAAG,MAAM,IAAA,qBAAc,EAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBAExE,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBAE5B,sCAAsC;oBACtC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAE3E,qBAAqB;oBACrB,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC5B,CAAC,CAAA,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACxB,EAAE,CAAC,kDAAkD,EAAE,GAAS,EAAE;gBAChE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAEtC,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAExB,IAAI,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE3B,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAO,CAAC,CAAC;gBAE5C,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAA,CAAC,CAAC;YAEH,IAAA,mBAAY,EAAC,yBAAyB,EAAE,GAAS,EAAE;gBACjD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAEtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE1B,MAAM,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAO,CAAC,CAAC,CAAC;YAChE,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,EAAE,CAAC,0BAA0B,EAAE,GAAS,EAAE;gBACxC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACpC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACxB,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;gBACzD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAA,CAAC,CAAC;YAEH,EAAE,CAAC,oDAAoD,EAAE,GAAS,EAAE;gBAClE,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACxB,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;gBAC9D,MAAM,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC/B,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAE5B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACtC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAA,CAAC,CAAC;YAEH,IAAA,mBAAY,EAAC,iCAAiC,EAAE,GAAS,EAAE;gBACzD,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAExB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAExC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE3B,MAAM,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAA,CAAC,CAAC;YAEH,IAAA,mBAAY,EAAC,kCAAkC,EAAE,GAAS,EAAE;gBAC1D,MAAM,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAA,CAAC,CAAC;YAEH,0EAA0E;QAC5E,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;gBAC9D,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAExB,IAAI,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE3B,MAAM,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC/B,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;gBAE9B,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE1B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACtC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAA,CAAC,CAAC;YAEH,EAAE,CAAC,2EAA2E,EAAE,GAAS,EAAE;gBACzF,MAAM,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC/B,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;gBAC9B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACtC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAA,CAAC,CAAC;YAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;gBAC1B,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;oBAC9D,MAAM,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;oBAC/B,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAE1C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;oBACtC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/D,CAAC,CAAA,CAAC,CAAC;gBAEH,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;oBAC9D,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAExB,IAAI,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAExC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACvC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAE3B,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAEvD,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;oBAChC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/D,CAAC,CAAA,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,+DAA+D;QACjE,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACxB,EAAE,CAAC,6BAA6B,EAAE,GAAS,EAAE;gBAC3C,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAExB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAExC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AApVD,wFAoVC"}