emberflow 1.3.82 → 1.3.83

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.
@@ -11,6 +11,7 @@ describe("traverseBFS", () => {
11
11
  },
12
12
  e: {
13
13
  f: "View:b:prop1,prop2",
14
+ g: ["View:b:prop1,prop2"],
14
15
  },
15
16
  },
16
17
  h: {
@@ -28,6 +29,7 @@ describe("traverseBFS", () => {
28
29
  "a/b/c",
29
30
  "a/b/d",
30
31
  "a/e#f=View:b:prop1,prop2",
32
+ "a/e#g=[View:b:prop1,prop2]",
31
33
  "h/i=View:b:prop1,prop2",
32
34
  ];
33
35
  const result = (0, init_db_structure_1.traverseBFS)(input);
@@ -60,7 +62,7 @@ describe("mapDocPaths", () => {
60
62
  expect(result).toEqual(expectedOutput);
61
63
  });
62
64
  });
63
- describe("mapViewPaths", () => {
65
+ describe("mapViewDefinitions", () => {
64
66
  it("should map view paths based on the given paths and Entity object", () => {
65
67
  const paths = [
66
68
  "as",
@@ -69,20 +71,20 @@ describe("mapViewPaths", () => {
69
71
  "as/a/bs/b",
70
72
  "as/a/bs/b#f=View:a:prop1,prop2",
71
73
  "as/a/ds/d=View:a:prop1,prop2",
74
+ "a/d#g=[View:b:prop1,prop2]",
72
75
  ];
73
76
  const Entity = {
74
77
  Entity1: "a",
75
78
  Entity2: "b",
76
79
  Entity3: "d",
77
80
  };
78
- const docPaths = {
79
- "a": "as/{aId}",
80
- "b": "as/{aId}/bs/{bId}",
81
- "d": "as/{aId}/ds/{dId}",
82
- };
83
81
  const expectedOutput = [
84
82
  {
85
83
  destEntity: "b",
84
+ destProp: {
85
+ name: "#f",
86
+ type: "map",
87
+ },
86
88
  srcProps: ["prop1", "prop2"],
87
89
  srcEntity: "a",
88
90
  },
@@ -91,8 +93,17 @@ describe("mapViewPaths", () => {
91
93
  srcProps: ["prop1", "prop2"],
92
94
  srcEntity: "a",
93
95
  },
96
+ {
97
+ destEntity: "d",
98
+ destProp: {
99
+ name: "#g",
100
+ type: "array-map",
101
+ },
102
+ srcProps: ["prop1", "prop2"],
103
+ srcEntity: "b",
104
+ },
94
105
  ];
95
- const result = (0, init_db_structure_1.mapViewDefinitions)(paths, Entity, docPaths);
106
+ const result = (0, init_db_structure_1.mapViewDefinitions)(paths, Entity);
96
107
  expect(result).toEqual(expectedOutput);
97
108
  });
98
109
  });
@@ -1 +1 @@
1
- {"version":3,"file":"init-db-structure.test.js","sourceRoot":"","sources":["../../src/tests/init-db-structure.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-db-structure.test.js","sourceRoot":"","sources":["../../src/tests/init-db-structure.test.ts"],"names":[],"mappings":";;AAAA,4DAA+F;AAE/F,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,KAAK,GAAG;YACZ,CAAC,EAAE;gBACD,CAAC,EAAE;oBACD,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,EAAE;iBACN;gBACD,CAAC,EAAE;oBACD,CAAC,EAAE,oBAAoB;oBACvB,CAAC,EAAE,CAAC,oBAAoB,CAAC;iBAC1B;aACF;YACD,CAAC,EAAE;gBACD,CAAC,EAAE;oBACD,oBAAoB,EAAE,EAAE;iBACzB;aACF;SACF,CAAC;QAEF,MAAM,cAAc,GAAG;YACrB,GAAG;YACH,GAAG;YACH,KAAK;YACL,KAAK;YACL,KAAK;YACL,OAAO;YACP,OAAO;YACP,0BAA0B;YAC1B,4BAA4B;YAC5B,wBAAwB;SACzB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,+BAAW,EAAC,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,KAAK,GAAG;YACZ,IAAI;YACJ,IAAI;YACJ,MAAM;YACN,MAAM;YACN,SAAS;YACT,WAAW;YACX,gCAAgC;YAChC,yBAAyB;SAC1B,CAAC;QAEF,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;SACb,CAAC;QAEF,MAAM,cAAc,GAAG;YACrB,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,mBAAmB;SACzB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,+BAAW,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,KAAK,GAAG;YACZ,IAAI;YACJ,IAAI;YACJ,MAAM;YACN,WAAW;YACX,gCAAgC;YAChC,8BAA8B;YAC9B,4BAA4B;SAC7B,CAAC;QAEF,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;SACb,CAAC;QAEF,MAAM,cAAc,GAAG;YACrB;gBACE,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,KAAK;iBACZ;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC5B,SAAS,EAAE,GAAG;aACf;YACD;gBACE,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC5B,SAAS,EAAE,GAAG;aACf;YACD;gBACE,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,WAAW;iBAClB;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC5B,SAAS,EAAE,GAAG;aACf;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,sCAAkB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,WAAW,GAAG;YAClB,GAAG,EAAE,mBAAmB;YACxB,GAAG,EAAE,kBAAkB;SACxB,CAAC;QAEF,MAAM,cAAc,GAAG;YACrB,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,YAAY;SAClB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,+BAAW,EAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -68,11 +68,19 @@ const vd2 = {
68
68
  srcEntity: "user",
69
69
  srcProps: ["name", "avatar"],
70
70
  destEntity: "post",
71
+ destProp: {
72
+ name: "followers",
73
+ type: "array-map",
74
+ },
71
75
  };
72
76
  const vd3 = {
73
77
  srcEntity: "user",
74
- srcProps: ["username", "avatarUrl"],
78
+ srcProps: ["name", "avatarUrl"],
75
79
  destEntity: "server",
80
+ destProp: {
81
+ name: "createdBy",
82
+ type: "map",
83
+ },
76
84
  };
77
85
  const vd4 = {
78
86
  srcEntity: "friend",
@@ -83,8 +91,9 @@ const createLogicResultDoc = {
83
91
  action: "create",
84
92
  dstPath: "users/1234",
85
93
  doc: {
86
- name: "John Doe",
87
- age: "26",
94
+ "@id": "1234",
95
+ "name": "John Doe",
96
+ "age": "26",
88
97
  },
89
98
  priority: "normal",
90
99
  };
@@ -92,7 +101,8 @@ const mergeLogicResultDoc = {
92
101
  action: "merge",
93
102
  dstPath: "users/1234",
94
103
  doc: {
95
- name: "John Doe",
104
+ "@id": "1234",
105
+ "name": "John Doe",
96
106
  },
97
107
  instructions: {
98
108
  age: "++",
@@ -103,13 +113,16 @@ const deleteLogicResultDoc = {
103
113
  action: "delete",
104
114
  dstPath: "users/1234",
105
115
  priority: "normal",
116
+ doc: {
117
+ "@id": "1234",
118
+ },
106
119
  };
107
120
  const userLogicResultDoc = {
108
121
  action: "merge",
109
122
  dstPath: "users/123",
110
123
  priority: "normal",
111
124
  doc: {
112
- username: "new_username",
125
+ name: "new_name",
113
126
  },
114
127
  };
115
128
  describe("createViewLogicFn", () => {
@@ -139,13 +152,16 @@ describe("createViewLogicFn", () => {
139
152
  get: colGetMock,
140
153
  where: jest.fn().mockReturnValue({
141
154
  get: colGetMock,
155
+ where: jest.fn().mockReturnValue({
156
+ get: colGetMock,
157
+ }),
142
158
  }),
143
159
  }),
144
160
  }),
145
161
  };
146
162
  });
147
163
  });
148
- it("should log error when path includes {", async () => {
164
+ it("should log error document does not have @id", async () => {
149
165
  jest.spyOn(console, "error").mockImplementation();
150
166
  const logicFn = viewLogics.createViewLogicFn(vd4);
151
167
  const logicResultDoc = {
@@ -158,26 +174,88 @@ describe("createViewLogicFn", () => {
158
174
  };
159
175
  const result = await logicFn[1](logicResultDoc);
160
176
  expect(result.documents.length).toEqual(0);
161
- expect(console.error).toHaveBeenCalledWith("Cannot run Dst to Src ViewLogic on a path with a placeholder");
177
+ expect(console.error).toHaveBeenCalledWith("Document does not have an @id attribute");
178
+ });
179
+ it("should log error when srcPath includes placeholder", async () => {
180
+ jest.spyOn(console, "error").mockImplementation();
181
+ const logicFn = viewLogics.createViewLogicFn(vd4);
182
+ const logicResultDoc = {
183
+ action: "create",
184
+ dstPath: "users/5678/friends/1234",
185
+ doc: {
186
+ "@id": "1234",
187
+ "name": "John Doe",
188
+ },
189
+ priority: "normal",
190
+ };
191
+ const result = await logicFn[1](logicResultDoc);
192
+ expect(result.documents.length).toEqual(0);
193
+ expect(console.error).toHaveBeenCalledWith("srcPath should not have a placeholder");
162
194
  });
163
195
  it("should create @views doc", async () => {
164
- const logicFn = viewLogics.createViewLogicFn(vd1);
165
- const result = await logicFn[1](createLogicResultDoc);
166
- const document = result.documents[0];
167
- expect(document).toHaveProperty("action", "create");
168
- expect(document).toHaveProperty("dstPath", "users/1234/@views/users+1234");
169
- expect(document.doc).toEqual({
196
+ let logicFn = viewLogics.createViewLogicFn(vd1);
197
+ let result = await logicFn[1](createLogicResultDoc);
198
+ expect(result.documents.length).toEqual(1);
199
+ expect(result.documents[0]).toHaveProperty("action", "create");
200
+ expect(result.documents[0]).toHaveProperty("dstPath", "users/1234/@views/users+1234");
201
+ expect(result.documents[0].doc).toEqual({
170
202
  "path": "users/1234",
171
203
  "srcProps": ["age", "avatar", "name"],
172
204
  "destEntity": "friend",
173
205
  });
206
+ logicFn = viewLogics.createViewLogicFn(vd2);
207
+ result = await logicFn[1](Object.assign(Object.assign({}, createLogicResultDoc), { dstPath: "users/1234/posts/987#followers[1234]" }));
208
+ expect(result.documents.length).toEqual(2);
209
+ expect(result.documents[0]).toHaveProperty("action", "create");
210
+ expect(result.documents[0])
211
+ .toHaveProperty("dstPath", "users/1234/@views/users+1234+posts+987#followers[1234]");
212
+ expect(result.documents[0].doc).toEqual({
213
+ path: "users/1234/posts/987#followers[1234]",
214
+ srcProps: ["avatar", "name"],
215
+ destEntity: "post",
216
+ destProp: "followers",
217
+ });
218
+ expect(result.documents[1]).toHaveProperty("action", "merge");
219
+ expect(result.documents[1]).toHaveProperty("dstPath", "users/1234/posts/987");
220
+ expect(result.documents[1].instructions).toEqual({
221
+ "@followers": "arr+(1234)",
222
+ });
223
+ logicFn = viewLogics.createViewLogicFn(vd3);
224
+ result = await logicFn[1](Object.assign(Object.assign({}, createLogicResultDoc), { dstPath: "servers/123#createdBy" }));
225
+ expect(result.documents.length).toEqual(1);
226
+ expect(result.documents[0]).toHaveProperty("action", "create");
227
+ expect(result.documents[0])
228
+ .toHaveProperty("dstPath", "users/1234/@views/servers+123#createdBy");
229
+ expect(result.documents[0].doc).toEqual({
230
+ path: "servers/123#createdBy",
231
+ srcProps: ["avatarUrl", "name"],
232
+ destEntity: "server",
233
+ destProp: "createdBy",
234
+ });
174
235
  });
175
236
  it("should delete @views doc", async () => {
176
- const logicFn = viewLogics.createViewLogicFn(vd1);
177
- const result = await logicFn[1](deleteLogicResultDoc);
178
- const document = result.documents[0];
179
- expect(document).toHaveProperty("action", "delete");
180
- expect(document).toHaveProperty("dstPath", "users/1234/@views/users+1234");
237
+ let logicFn = viewLogics.createViewLogicFn(vd1);
238
+ let result = await logicFn[1](deleteLogicResultDoc);
239
+ expect(result.documents.length).toEqual(1);
240
+ expect(result.documents[0]).toHaveProperty("action", "delete");
241
+ expect(result.documents[0]).toHaveProperty("dstPath", "users/1234/@views/users+1234");
242
+ logicFn = viewLogics.createViewLogicFn(vd2);
243
+ result = await logicFn[1](Object.assign(Object.assign({}, deleteLogicResultDoc), { dstPath: "users/1234/posts/987#followers[1234]" }));
244
+ expect(result.documents.length).toEqual(2);
245
+ expect(result.documents[0]).toHaveProperty("action", "delete");
246
+ expect(result.documents[0])
247
+ .toHaveProperty("dstPath", "users/1234/@views/users+1234+posts+987#followers[1234]");
248
+ expect(result.documents[1]).toHaveProperty("action", "merge");
249
+ expect(result.documents[1]).toHaveProperty("dstPath", "users/1234/posts/987");
250
+ expect(result.documents[1].instructions).toEqual({
251
+ "@followers": "arr-(1234)",
252
+ });
253
+ logicFn = viewLogics.createViewLogicFn(vd3);
254
+ result = await logicFn[1](Object.assign(Object.assign({}, deleteLogicResultDoc), { dstPath: "servers/123#createdBy" }));
255
+ expect(result.documents.length).toEqual(1);
256
+ expect(result.documents[0]).toHaveProperty("action", "delete");
257
+ expect(result.documents[0])
258
+ .toHaveProperty("dstPath", "users/1234/@views/servers+123#createdBy");
181
259
  });
182
260
  it("should add @viewsAlreadyBuilt when action is create", async () => {
183
261
  const logicFn = viewLogics.createViewLogicFn(vd1);
@@ -271,6 +349,9 @@ describe("createViewLogicFn", () => {
271
349
  colGetMock.mockResolvedValue({
272
350
  docs: [{
273
351
  id: "users+456+friends+1234",
352
+ ref: {
353
+ path: "users/1234/@views/users+456+friends+1234",
354
+ },
274
355
  data: () => {
275
356
  return {
276
357
  "path": "users/456/friends/1234",
@@ -279,6 +360,9 @@ describe("createViewLogicFn", () => {
279
360
  },
280
361
  }, {
281
362
  id: "users+789+friends+1234",
363
+ ref: {
364
+ path: "users/1234/@views/users+789+friends+1234",
365
+ },
282
366
  data: () => {
283
367
  return {
284
368
  "path": "users/789/friends/1234",
@@ -309,6 +393,9 @@ describe("createViewLogicFn", () => {
309
393
  colGetMock.mockResolvedValue({
310
394
  docs: [{
311
395
  id: "users+456+friends+1234",
396
+ ref: {
397
+ path: "users/1234/@views/users+456+friends+1234",
398
+ },
312
399
  data: () => {
313
400
  return {
314
401
  "path": "users/456/friends/1234",
@@ -356,6 +443,9 @@ describe("createViewLogicFn", () => {
356
443
  colGetMock.mockResolvedValueOnce({
357
444
  docs: [{
358
445
  id: "users+456+friends+1234",
446
+ ref: {
447
+ path: "users/1234/@views/users+456+friends+1234",
448
+ },
359
449
  data: () => {
360
450
  return {
361
451
  "path": "users/456/friends/1234",
@@ -364,6 +454,9 @@ describe("createViewLogicFn", () => {
364
454
  },
365
455
  }, {
366
456
  id: "users+789+friends+1234",
457
+ ref: {
458
+ path: "users/1234/@views/users+789+friends+1234",
459
+ },
367
460
  data: () => {
368
461
  return {
369
462
  "path": "users/789/friends/1234",
@@ -374,34 +467,46 @@ describe("createViewLogicFn", () => {
374
467
  })
375
468
  .mockResolvedValueOnce({
376
469
  docs: [{
377
- id: "users+1234+posts+987",
470
+ id: "users+1234+posts+987#followers[1234]",
471
+ ref: {
472
+ path: "users/1234/@views/users+1234+posts+987#followers",
473
+ },
378
474
  data: () => {
379
475
  return {
380
- "path": "users/1234/posts/987",
476
+ "path": "users/1234/posts/987#followers[1234]",
381
477
  "srcProps": ["name", "avatar"],
382
478
  };
383
479
  },
384
480
  }, {
385
- id: "users+1234+posts+654",
481
+ id: "users+1234+posts+654#followers[1234]",
482
+ ref: {
483
+ path: "users/1234/@views/users+1234+posts+654#followers[1234]",
484
+ },
386
485
  data: () => {
387
486
  return {
388
- "path": "users/1234/posts/654",
487
+ "path": "users/1234/posts/654#followers[1234]",
389
488
  "srcProps": ["name", "avatar"],
390
489
  };
391
490
  },
392
491
  }, {
393
- id: "users+890+posts+987",
492
+ id: "users+890+posts+987#followers[1234]",
493
+ ref: {
494
+ path: "users/1234/@views/users+890+posts+987#followers[1234]",
495
+ },
394
496
  data: () => {
395
497
  return {
396
- "path": "users/890/posts/987",
498
+ "path": "users/890/posts/987#followers[1234]",
397
499
  "srcProps": ["name", "avatar"],
398
500
  };
399
501
  },
400
502
  }, {
401
- id: "users+890+posts+654",
503
+ id: "users+890+posts+654#followers[1234]",
504
+ ref: {
505
+ path: "users/1234/@views/users+890+posts+654#followers[1234]",
506
+ },
402
507
  data: () => {
403
508
  return {
404
- "path": "users/890/posts/654",
509
+ "path": "users/890/posts/654#followers[1234]",
405
510
  "srcProps": ["name", "avatar"],
406
511
  };
407
512
  },
@@ -410,37 +515,49 @@ describe("createViewLogicFn", () => {
410
515
  .mockResolvedValueOnce({
411
516
  docs: [{
412
517
  id: "users+456+friends+1234",
518
+ ref: {
519
+ path: "users/1234/@views/users+456+friends+1234",
520
+ },
413
521
  data: () => {
414
522
  return {
415
523
  "path": "users/456/friends/1234",
416
- "srcProps": ["username", "avatarUrl"],
524
+ "srcProps": ["name", "avatarUrl"],
417
525
  };
418
526
  },
419
527
  }, {
420
528
  id: "users+789+friends+1234",
529
+ ref: {
530
+ path: "users/1234/@views/users+789+friends+1234",
531
+ },
421
532
  data: () => {
422
533
  return {
423
534
  "path": "users/789/friends/1234",
424
- "srcProps": ["username", "avatarUrl"],
535
+ "srcProps": ["name", "avatarUrl"],
425
536
  };
426
537
  },
427
538
  }],
428
539
  })
429
540
  .mockResolvedValueOnce({
430
541
  docs: [{
431
- id: "servers+123",
542
+ id: "servers+123#createdBy",
543
+ ref: {
544
+ path: "users/123/@views/servers+123#createdBy",
545
+ },
432
546
  data: () => {
433
547
  return {
434
- "path": "servers/123",
435
- "srcProps": ["username", "avatarUrl"],
548
+ "path": "servers/123#createdBy",
549
+ "srcProps": ["name", "avatarUrl"],
436
550
  };
437
551
  },
438
552
  }, {
439
- id: "servers+456",
553
+ id: "servers+456#createdBy",
554
+ ref: {
555
+ path: "users/123/@views/servers+456#createdBy",
556
+ },
440
557
  data: () => {
441
558
  return {
442
- "path": "servers/456",
443
- "srcProps": ["username", "avatarUrl"],
559
+ "path": "servers/456#createdBy",
560
+ "srcProps": ["name", "avatarUrl"],
444
561
  };
445
562
  },
446
563
  }],
@@ -455,12 +572,12 @@ describe("createViewLogicFn", () => {
455
572
  let document = result.documents[0];
456
573
  expect(document).toHaveProperty("action", "merge");
457
574
  expect(document).toHaveProperty("dstPath", "users/456/friends/1234");
458
- expect(document.doc).toEqual({ "name": "John Doe", "updatedByViewDefinitionAt": expect.any(Timestamp) });
575
+ expect(document.doc).toEqual({ "name": "John Doe", "@updatedByViewDefinitionAt": expect.any(Timestamp) });
459
576
  expect(document.instructions).toEqual({ "age": "++" });
460
577
  document = result.documents[1];
461
578
  expect(document).toHaveProperty("action", "merge");
462
579
  expect(document).toHaveProperty("dstPath", "users/789/friends/1234");
463
- expect(document.doc).toEqual({ "name": "John Doe", "updatedByViewDefinitionAt": expect.any(Timestamp) });
580
+ expect(document.doc).toEqual({ "name": "John Doe", "@updatedByViewDefinitionAt": expect.any(Timestamp) });
464
581
  expect(document.instructions).toEqual({ "age": "++" });
465
582
  // Create the logic function using the viewDefinition
466
583
  const logicFn2 = viewLogics.createViewLogicFn(vd2);
@@ -472,20 +589,20 @@ describe("createViewLogicFn", () => {
472
589
  expect(result2.documents.length).toEqual(4);
473
590
  document = result2.documents[0];
474
591
  expect(document).toHaveProperty("action", "merge");
475
- expect(document).toHaveProperty("dstPath", "users/1234/posts/987");
476
- expect(document.doc).toEqual({ "name": "John Doe", "updatedByViewDefinitionAt": expect.any(Timestamp) });
592
+ expect(document).toHaveProperty("dstPath", "users/1234/posts/987#followers[1234]");
593
+ expect(document.doc).toEqual({ "name": "John Doe", "@updatedByViewDefinitionAt": expect.any(Timestamp) });
477
594
  document = result2.documents[1];
478
595
  expect(document).toHaveProperty("action", "merge");
479
- expect(document).toHaveProperty("dstPath", "users/1234/posts/654");
480
- expect(document.doc).toEqual({ "name": "John Doe", "updatedByViewDefinitionAt": expect.any(Timestamp) });
596
+ expect(document).toHaveProperty("dstPath", "users/1234/posts/654#followers[1234]");
597
+ expect(document.doc).toEqual({ "name": "John Doe", "@updatedByViewDefinitionAt": expect.any(Timestamp) });
481
598
  document = result2.documents[2];
482
599
  expect(document).toHaveProperty("action", "merge");
483
- expect(document).toHaveProperty("dstPath", "users/890/posts/987");
484
- expect(document.doc).toEqual({ "name": "John Doe", "updatedByViewDefinitionAt": expect.any(Timestamp) });
600
+ expect(document).toHaveProperty("dstPath", "users/890/posts/987#followers[1234]");
601
+ expect(document.doc).toEqual({ "name": "John Doe", "@updatedByViewDefinitionAt": expect.any(Timestamp) });
485
602
  document = result2.documents[3];
486
603
  expect(document).toHaveProperty("action", "merge");
487
- expect(document).toHaveProperty("dstPath", "users/890/posts/654");
488
- expect(document.doc).toEqual({ "name": "John Doe", "updatedByViewDefinitionAt": expect.any(Timestamp) });
604
+ expect(document).toHaveProperty("dstPath", "users/890/posts/654#followers[1234]");
605
+ expect(document.doc).toEqual({ "name": "John Doe", "@updatedByViewDefinitionAt": expect.any(Timestamp) });
489
606
  const resultDelete = await logicFn[0](deleteLogicResultDoc);
490
607
  expect(resultDelete).toBeDefined();
491
608
  expect(resultDelete.documents).toBeDefined();
@@ -505,12 +622,12 @@ describe("createViewLogicFn", () => {
505
622
  expect(result3.documents.length).toEqual(2);
506
623
  document = result3.documents[0];
507
624
  expect(document).toHaveProperty("action", "merge");
508
- expect(document).toHaveProperty("dstPath", "servers/123");
509
- expect(document.doc).toEqual({ "username": "new_username", "updatedByViewDefinitionAt": expect.any(Timestamp) });
625
+ expect(document).toHaveProperty("dstPath", "servers/123#createdBy");
626
+ expect(document.doc).toEqual({ "name": "new_name", "@updatedByViewDefinitionAt": expect.any(Timestamp) });
510
627
  document = result3.documents[1];
511
628
  expect(document).toHaveProperty("action", "merge");
512
- expect(document).toHaveProperty("dstPath", "servers/456");
513
- expect(document.doc).toEqual({ "username": "new_username", "updatedByViewDefinitionAt": expect.any(Timestamp) });
629
+ expect(document).toHaveProperty("dstPath", "servers/456#createdBy");
630
+ expect(document.doc).toEqual({ "name": "new_name", "@updatedByViewDefinitionAt": expect.any(Timestamp) });
514
631
  });
515
632
  });
516
633
  describe("queueRunViewLogics", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"view-logics.test.js","sourceRoot":"","sources":["../../../src/tests/logics/view-logics.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAClC,MAAM,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACxC,8DAAgD;AAChD,qEAAuD;AAGvD,8DAAgD;AAChD,mDAAyC;AACzC,uCAIqB;AACrB,sDAAwC;AACxC,2DAA4D;AAC5D,+DAA+D;AAC/D,mEAAqE;AAErE,IAAO,SAAS,GAAG,0BAAS,CAAC,SAAS,CAAC;AAEvC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,OAAO;QACL,WAAW,EAAE;YACX,WAAW,EAAE,eAAe;YAC5B,iBAAiB,EAAE,qBAAqB;SACzC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,aAAa,GAAkB;IACnC,SAAS,EAAE,iBAAiB;IAC5B,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,gBAAgB;IAC1B,oBAAoB,EAAE,eAAe;IACrC,uBAAuB,EAAE,GAAG;IAC5B,2BAA2B,EAAE;QAC3B,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,GAAG;KACf;CACF,CAAC;AACF,KAAK,CAAC,aAAa,CAAC;IAClB,WAAW,EAAE,qCAAqC;CACnD,CAAC,CAAC;AACH,IAAA,2BAAmB,EAAC,aAAa,EAAE,KAAK,EAAE,0BAAW,EAAE,qBAAM,EAAE,yBAAc,EAAE,4BAAe,EAAE,EAAE,CAAC,CAAC;AAEpG,MAAM,GAAG,GAAmB;IAC1B,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;IACnC,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,GAAG,GAAmB;IAC1B,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC5B,UAAU,EAAE,MAAM;CACnB,CAAC;AAEF,MAAM,GAAG,GAAmB;IAC1B,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;IACnC,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,GAAG,GAAmB;IAC1B,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;IACnC,UAAU,EAAE,MAAM;CACnB,CAAC;AAEF,MAAM,oBAAoB,GAAmB;IAC3C,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,YAAY;IACrB,GAAG,EAAE;QACH,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,IAAI;KACV;IACD,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,mBAAmB,GAAmB;IAC1C,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,YAAY;IACrB,GAAG,EAAE;QACH,IAAI,EAAE,UAAU;KACjB;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,IAAI;KACV;IACD,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,oBAAoB,GAAmB;IAC3C,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,kBAAkB,GAAmB;IACzC,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE;QACH,QAAQ,EAAE,cAAc;KACzB;CACF,CAAC;AAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,UAA4B,CAAC;IACjC,IAAI,UAA4B,CAAC;IACjC,IAAI,aAA+B,CAAC;IACpC,IAAI,UAA4B,CAAC;IACjC,IAAI,MAAwB,CAAC;IAC7B,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACvB,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1B,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACvB,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACvC,IAAI,EAAE,GAAG,EAAE;gBACT,OAAO;oBACL,2BAA2B,EAAE,KAAK;iBACnC,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACpE,OAAO;gBACL,GAAG,EAAE,UAAU;gBACf,MAAM,EAAE,aAAa;gBACrB,GAAG,EAAE,UAAU;gBACf,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;oBACpC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;wBAC/B,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;4BAC/B,GAAG,EAAE,UAAU;yBAChB,CAAC;qBACH,CAAC;iBACH,CAAC;aAC6B,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,MAAM,cAAc,GAAmB;YACrC,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,yBAAyB;YAClC,GAAG,EAAE;gBACH,IAAI,EAAE,UAAU;aACjB;YACD,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,8DAA8D,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;QAC3E,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YAC3B,MAAM,EAAE,YAAY;YACpB,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;YACrC,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAEtD,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,EAAC,2BAA2B,EAAE,IAAI,EAAC,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACnE,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAC9B,iBAAiB;aACd,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC;YACnC,wBAAwB;YACxB,wBAAwB;SACzB,CAAC,CAAC,CAAC;QAEN,qDAAqD;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAErD,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;QAChF,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE;YAC5C,MAAM,EAAE,wBAAwB;YAChC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;YACrC,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE;YAC5C,MAAM,EAAE,wBAAwB;YAChC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;YACrC,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,EAAC,2BAA2B,EAAE,IAAI,EAAC,CAAC,CAAC;QAEhF,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAClF,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEvD,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,GAAG,EAAE;gBACT,OAAO;oBACL,2BAA2B,EAAE,IAAI;iBAClC,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QACH,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QAEH,qDAAqD;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAErD,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAE7C,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,GAAG,EAAE;gBACT,OAAO,EAAE,CAAC;YACZ,CAAC;SACF,CAAC,CAAC;QACH,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QACH,MAAM,uBAAuB,mCACxB,oBAAoB,KACvB,GAAG,EAAE;gBACH,2BAA2B,EAAE,IAAI;aAClC,GACF,CAAC;QAEF,qDAAqD;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAE7C,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,CAAC;oBACL,EAAE,EAAE,wBAAwB;oBAC5B,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,wBAAwB;oBAC5B,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,CAAC;SACH,CAAC,CAAC;QAEH,qDAAqD;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAErD,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;QAChF,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC;YACzC,UAAU,EAAE;gBACV,KAAK,EAAE,QAAQ,EAAE,MAAM;aACxB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,CAAC;oBACL,EAAE,EAAE,wBAAwB;oBAC5B,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,aAAa;oBACjB,GAAG,EAAE;wBACH,MAAM,EAAE,UAAU;qBACnB;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,CAAC;SACH,CAAC,CAAC;QAEH,qDAAqD;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAErD,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;QAChF,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC;YACzC,UAAU,EAAE;gBACV,KAAK,EAAE,QAAQ,EAAE,MAAM;aACxB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;QAChF,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;YACtC,MAAM,EAAE,wBAAwB;YAChC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;YACrC,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;QAC1G,UAAU,CAAC,qBAAqB,CAAC;YAC/B,IAAI,EAAE,CAAC;oBACL,EAAE,EAAE,wBAAwB;oBAC5B,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;yBACtC,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,wBAAwB;oBAC5B,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;yBACtC,CAAC;oBACJ,CAAC;iBACF,CAAC;SACH,CAAC;aACC,qBAAqB,CAAC;YACrB,IAAI,EAAE,CAAC;oBACL,EAAE,EAAE,sBAAsB;oBAC1B,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,sBAAsB;4BAC9B,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,sBAAsB;oBAC1B,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,sBAAsB;4BAC9B,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,qBAAqB;oBACzB,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,qBAAqB;4BAC7B,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,qBAAqB;oBACzB,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,qBAAqB;4BAC7B,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,CAAC;SACH,CAAC;aACD,qBAAqB,CAAC;YACrB,IAAI,EAAE,CAAC;oBACL,EAAE,EAAE,wBAAwB;oBAC5B,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;yBACtC,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,wBAAwB;oBAC5B,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;yBACtC,CAAC;oBACJ,CAAC;iBACF,CAAC;SACH,CAAC;aACD,qBAAqB,CAAC;YACrB,IAAI,EAAE,CAAC;oBACL,EAAE,EAAE,aAAa;oBACjB,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,aAAa;4BACrB,UAAU,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;yBACtC,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,aAAa;oBACjB,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,aAAa;4BACrB,UAAU,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;yBACtC,CAAC;oBACJ,CAAC;iBACF,CAAC;SACH,CAAC,CAAC;QAEL,qDAAqD;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAErD,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE3C,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QACrE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QACvG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAErD,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QACrE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QACvG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAErD,qDAAqD;QACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEnD,+CAA+C;QAC/C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAEvD,mGAAmG;QACnG,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5C,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QACnE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QAEvG,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QACnE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QAEvG,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;QAClE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QAEvG,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;QAClE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QAEvG,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAE5D,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEjD,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAErE,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAErE,qDAAqD;QACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEnD,+CAA+C;QAC/C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAEtD,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5C,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,UAAU,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QAE/G,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,UAAU,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,iBAAmC,CAAC;IACxC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAiB,EAAE,gBAAgB,CAAC;aAChE,kBAAkB,CAAC,GAAG,EAAE;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,IAAI,GAAmB;YAC3B,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,EAAC,IAAI,EAAE,qBAAqB,EAAC;YAClC,OAAO,EAAE,mCAAmC;SAC7C,CAAC;QACF,MAAM,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAI,gBAAkC,CAAC;IACvC,IAAI,qCAAuD,CAAC;IAC5D,IAAI,aAA+B,CAAC;IACpC,IAAI,wBAA0C,CAAC;IAE/C,MAAM,gBAAgB,GAAkB;QACtC;YACE,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,0BAAS,CAAC,SAAS,CAAC,GAAG,EAAE;YACvC,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,GAAG;YACb,SAAS,EAAE;gBACT;oBACE,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,YAAY;oBACrB,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC;oBACvB,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;iBAC7B;gBACD,EAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAC;aAC9D;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,0BAAS,CAAC,SAAS,CAAC,GAAG,EAAE;YACvC,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,GAAG;YACb,SAAS,EAAE;gBACT;oBACE,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,YAAY;oBACrB,GAAG,EAAE,EAAC,MAAM,EAAE,SAAS,EAAC;oBACxB,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;iBAC7B;gBACD;oBACE,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,YAAY;oBACrB,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC;oBACvB,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;iBAC7B;gBACD,EAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAC;gBAClF,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC;gBACrF,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC;aACtF;SACF;KACF,CAAC;IACF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAA2B;QAChE,CAAC,YAAY,EAAE,CAAC;oBACd,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,YAAY;oBACrB,GAAG,EAAE,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAC;oBAC1C,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;iBAC3C,CAAC,CAAC;QACH,CAAC,YAAY,EAAE,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC;QAC/E,CAAC,YAAY,EAAE,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAC,CAAC,CAAC;QACzG,CAAC,YAAY,EAAE,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC;QAC/E,CAAC,YAAY,EAAE,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,EAAC,CAAC,CAAC;KACxF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,IAAI,GAAmB;QAC3B,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,QAAQ;QAClB,GAAG,EAAE,EAAC,IAAI,EAAE,uBAAuB,EAAC;QACpC,OAAO,EAAE,SAAS,MAAM,EAAE;KAC3B,CAAC;IACF,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE;YACJ,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI;aACX;SACF;KACkC,CAAC;IAEtC,UAAU,CAAC,GAAG,EAAE;QACd,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACzG,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC/F,qCAAqC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,oCAAoC,CAAC,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;QAChJ,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAChD,MAAM,UAAU,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,8BAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,uBAAuB,GAAgB;YAC3C,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;SAC7B,CAAC;QACF,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QACjG,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAEhE,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,gBAAgB,EAAE,uBAAuB,CAAC,CAAC,CAAC;QACtG,MAAM,CAAC,qCAAqC,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;QACzF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;QACpE,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,8BAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACrF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"view-logics.test.js","sourceRoot":"","sources":["../../../src/tests/logics/view-logics.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAClC,MAAM,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACxC,8DAAgD;AAChD,qEAAuD;AAGvD,8DAAgD;AAChD,mDAAyC;AACzC,uCAIqB;AACrB,sDAAwC;AACxC,2DAA4D;AAC5D,+DAA+D;AAC/D,mEAAqE;AAErE,IAAO,SAAS,GAAG,0BAAS,CAAC,SAAS,CAAC;AAEvC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,OAAO;QACL,WAAW,EAAE;YACX,WAAW,EAAE,eAAe;YAC5B,iBAAiB,EAAE,qBAAqB;SACzC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,aAAa,GAAkB;IACnC,SAAS,EAAE,iBAAiB;IAC5B,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,gBAAgB;IAC1B,oBAAoB,EAAE,eAAe;IACrC,uBAAuB,EAAE,GAAG;IAC5B,2BAA2B,EAAE;QAC3B,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,GAAG;KACf;CACF,CAAC;AACF,KAAK,CAAC,aAAa,CAAC;IAClB,WAAW,EAAE,qCAAqC;CACnD,CAAC,CAAC;AACH,IAAA,2BAAmB,EAAC,aAAa,EAAE,KAAK,EAAE,0BAAW,EAAE,qBAAM,EAAE,yBAAc,EAAE,4BAAe,EAAE,EAAE,CAAC,CAAC;AAEpG,MAAM,GAAG,GAAmB;IAC1B,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;IACnC,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,GAAG,GAAmB;IAC1B,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC5B,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE;QACR,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;KAClB;CACF,CAAC;AAEF,MAAM,GAAG,GAAmB;IAC1B,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IAC/B,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE;QACR,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,KAAK;KACZ;CACF,CAAC;AAEF,MAAM,GAAG,GAAmB;IAC1B,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;IACnC,UAAU,EAAE,MAAM;CACnB,CAAC;AAEF,MAAM,oBAAoB,GAAmB;IAC3C,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,YAAY;IACrB,GAAG,EAAE;QACH,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,IAAI;KACZ;IACD,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,mBAAmB,GAAmB;IAC1C,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,YAAY;IACrB,GAAG,EAAE;QACH,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,UAAU;KACnB;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,IAAI;KACV;IACD,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,oBAAoB,GAAmB;IAC3C,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE;QACH,KAAK,EAAE,MAAM;KACd;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAmB;IACzC,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE;QACH,IAAI,EAAE,UAAU;KACjB;CACF,CAAC;AAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,UAA4B,CAAC;IACjC,IAAI,UAA4B,CAAC;IACjC,IAAI,aAA+B,CAAC;IACpC,IAAI,UAA4B,CAAC;IACjC,IAAI,MAAwB,CAAC;IAC7B,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACvB,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1B,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACvB,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACvC,IAAI,EAAE,GAAG,EAAE;gBACT,OAAO;oBACL,2BAA2B,EAAE,KAAK;iBACnC,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACpE,OAAO;gBACL,GAAG,EAAE,UAAU;gBACf,MAAM,EAAE,aAAa;gBACrB,GAAG,EAAE,UAAU;gBACf,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;oBACpC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;wBAC/B,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;4BAC/B,GAAG,EAAE,UAAU;4BACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;gCAC/B,GAAG,EAAE,UAAU;6BAChB,CAAC;yBACH,CAAC;qBACH,CAAC;iBACH,CAAC;aAC6B,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,MAAM,cAAc,GAAmB;YACrC,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,yBAAyB;YAClC,GAAG,EAAE;gBACH,IAAI,EAAE,UAAU;aACjB;YACD,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,yCAAyC,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,MAAM,cAAc,GAAmB;YACrC,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,yBAAyB;YAClC,GAAG,EAAE;gBACH,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,UAAU;aACnB;YACD,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,uCAAuC,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,IAAI,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEhD,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;QACtF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACtC,MAAM,EAAE,YAAY;YACpB,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;YACrC,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;QAEH,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAE5C,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,iCACpB,oBAAoB,KACvB,OAAO,EAAE,sCAAsC,IAC/C,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACxB,cAAc,CAAC,SAAS,EAAE,wDAAwD,CAAC,CAAC;QACvF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACtC,IAAI,EAAE,sCAAsC;YAC5C,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;YAC5B,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YAC/C,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAC;QAEH,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAE5C,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,iCACpB,oBAAoB,KACvB,OAAO,EAAE,uBAAuB,IAChC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACxB,cAAc,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACtC,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;YAC/B,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,IAAI,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEhD,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;QAEtF,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAE5C,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,iCACpB,oBAAoB,KACvB,OAAO,EAAE,sCAAsC,IAC/C,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACxB,cAAc,CAAC,SAAS,EAAE,wDAAwD,CAAC,CAAC;QACvF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YAC/C,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAC;QAEH,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAE5C,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,iCACpB,oBAAoB,KACvB,OAAO,EAAE,uBAAuB,IAChC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACxB,cAAc,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAEtD,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,EAAC,2BAA2B,EAAE,IAAI,EAAC,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACnE,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAC9B,iBAAiB;aACd,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC;YACnC,wBAAwB;YACxB,wBAAwB;SACzB,CAAC,CAAC,CAAC;QAEN,qDAAqD;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAErD,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;QAChF,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE;YAC5C,MAAM,EAAE,wBAAwB;YAChC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;YACrC,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE;YAC5C,MAAM,EAAE,wBAAwB;YAChC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;YACrC,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,EAAC,2BAA2B,EAAE,IAAI,EAAC,CAAC,CAAC;QAEhF,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAClF,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEvD,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,GAAG,EAAE;gBACT,OAAO;oBACL,2BAA2B,EAAE,IAAI;iBAClC,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QACH,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QAEH,qDAAqD;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAErD,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAE7C,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,GAAG,EAAE;gBACT,OAAO,EAAE,CAAC;YACZ,CAAC;SACF,CAAC,CAAC;QACH,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QACH,MAAM,uBAAuB,mCACxB,oBAAoB,KACvB,GAAG,EAAE;gBACH,2BAA2B,EAAE,IAAI;aAClC,GACF,CAAC;QAEF,qDAAqD;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAE7C,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,CAAC;oBACL,EAAE,EAAE,wBAAwB;oBAC5B,GAAG,EAAE;wBACH,IAAI,EAAE,0CAA0C;qBACjD;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,wBAAwB;oBAC5B,GAAG,EAAE;wBACH,IAAI,EAAE,0CAA0C;qBACjD;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,CAAC;SACH,CAAC,CAAC;QAEH,qDAAqD;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAErD,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;QAChF,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC;YACzC,UAAU,EAAE;gBACV,KAAK,EAAE,QAAQ,EAAE,MAAM;aACxB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,UAAU,CAAC,iBAAiB,CAAC;YAC3B,IAAI,EAAE,CAAC;oBACL,EAAE,EAAE,wBAAwB;oBAC5B,GAAG,EAAE;wBACH,IAAI,EAAE,0CAA0C;qBACjD;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,aAAa;oBACjB,GAAG,EAAE;wBACH,MAAM,EAAE,UAAU;qBACnB;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,CAAC;SACH,CAAC,CAAC;QAEH,qDAAqD;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAErD,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;QAChF,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC;YACzC,UAAU,EAAE;gBACV,KAAK,EAAE,QAAQ,EAAE,MAAM;aACxB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;QAChF,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;YACtC,MAAM,EAAE,wBAAwB;YAChC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;YACrC,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;QAC1G,UAAU,CAAC,qBAAqB,CAAC;YAC/B,IAAI,EAAE,CAAC;oBACL,EAAE,EAAE,wBAAwB;oBAC5B,GAAG,EAAE;wBACH,IAAI,EAAE,0CAA0C;qBACjD;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;yBACtC,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,wBAAwB;oBAC5B,GAAG,EAAE;wBACH,IAAI,EAAE,0CAA0C;qBACjD;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;yBACtC,CAAC;oBACJ,CAAC;iBACF,CAAC;SACH,CAAC;aACC,qBAAqB,CAAC;YACrB,IAAI,EAAE,CAAC;oBACL,EAAE,EAAE,sCAAsC;oBAC1C,GAAG,EAAE;wBACH,IAAI,EAAE,kDAAkD;qBACzD;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,sCAAsC;4BAC9C,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,sCAAsC;oBAC1C,GAAG,EAAE;wBACH,IAAI,EAAE,wDAAwD;qBAC/D;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,sCAAsC;4BAC9C,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,qCAAqC;oBACzC,GAAG,EAAE;wBACH,IAAI,EAAE,uDAAuD;qBAC9D;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,qCAAqC;4BAC7C,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,qCAAqC;oBACzC,GAAG,EAAE;wBACH,IAAI,EAAE,uDAAuD;qBAC9D;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,qCAAqC;4BAC7C,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;yBAC/B,CAAC;oBACJ,CAAC;iBACF,CAAC;SACH,CAAC;aACD,qBAAqB,CAAC;YACrB,IAAI,EAAE,CAAC;oBACL,EAAE,EAAE,wBAAwB;oBAC5B,GAAG,EAAE;wBACH,IAAI,EAAE,0CAA0C;qBACjD;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;yBAClC,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,wBAAwB;oBAC5B,GAAG,EAAE;wBACH,IAAI,EAAE,0CAA0C;qBACjD;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,wBAAwB;4BAChC,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;yBAClC,CAAC;oBACJ,CAAC;iBACF,CAAC;SACH,CAAC;aACD,qBAAqB,CAAC;YACrB,IAAI,EAAE,CAAC;oBACL,EAAE,EAAE,uBAAuB;oBAC3B,GAAG,EAAE;wBACH,IAAI,EAAE,wCAAwC;qBAC/C;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,uBAAuB;4BAC/B,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;yBAClC,CAAC;oBACJ,CAAC;iBACF,EAAE;oBACD,EAAE,EAAE,uBAAuB;oBAC3B,GAAG,EAAE;wBACH,IAAI,EAAE,wCAAwC;qBAC/C;oBACD,IAAI,EAAE,GAAG,EAAE;wBACT,OAAO;4BACL,MAAM,EAAE,uBAAuB;4BAC/B,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;yBAClC,CAAC;oBACJ,CAAC;iBACF,CAAC;SACH,CAAC,CAAC;QAEL,qDAAqD;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAElD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAErD,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE3C,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QACrE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QACxG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAErD,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QACrE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QACxG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAErD,qDAAqD;QACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEnD,+CAA+C;QAC/C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAEvD,mGAAmG;QACnG,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5C,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;QACnF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QAExG,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;QACnF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QAExG,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;QAClF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QAExG,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;QAClF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QAExG,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAE5D,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEjD,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAErE,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAErE,qDAAqD;QACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEnD,+CAA+C;QAC/C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAEtD,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5C,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QACpE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;QAExG,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QACpE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;IAC1G,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,iBAAmC,CAAC;IACxC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAiB,EAAE,gBAAgB,CAAC;aAChE,kBAAkB,CAAC,GAAG,EAAE;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,IAAI,GAAmB;YAC3B,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,EAAC,IAAI,EAAE,qBAAqB,EAAC;YAClC,OAAO,EAAE,mCAAmC;SAC7C,CAAC;QACF,MAAM,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAI,gBAAkC,CAAC;IACvC,IAAI,qCAAuD,CAAC;IAC5D,IAAI,aAA+B,CAAC;IACpC,IAAI,wBAA0C,CAAC;IAE/C,MAAM,gBAAgB,GAAkB;QACtC;YACE,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,0BAAS,CAAC,SAAS,CAAC,GAAG,EAAE;YACvC,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,GAAG;YACb,SAAS,EAAE;gBACT;oBACE,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,YAAY;oBACrB,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC;oBACvB,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;iBAC7B;gBACD,EAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAC;aAC9D;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,0BAAS,CAAC,SAAS,CAAC,GAAG,EAAE;YACvC,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,GAAG;YACb,SAAS,EAAE;gBACT;oBACE,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,YAAY;oBACrB,GAAG,EAAE,EAAC,MAAM,EAAE,SAAS,EAAC;oBACxB,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;iBAC7B;gBACD;oBACE,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,YAAY;oBACrB,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC;oBACvB,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;iBAC7B;gBACD,EAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAC;gBAClF,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC;gBACrF,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAC;aACtF;SACF;KACF,CAAC;IACF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAA2B;QAChE,CAAC,YAAY,EAAE,CAAC;oBACd,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,YAAY;oBACrB,GAAG,EAAE,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAC;oBAC1C,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;iBAC3C,CAAC,CAAC;QACH,CAAC,YAAY,EAAE,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC;QAC/E,CAAC,YAAY,EAAE,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAC,CAAC,CAAC;QACzG,CAAC,YAAY,EAAE,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC;QAC/E,CAAC,YAAY,EAAE,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,EAAC,CAAC,CAAC;KACxF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,IAAI,GAAmB;QAC3B,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,QAAQ;QAClB,GAAG,EAAE,EAAC,IAAI,EAAE,uBAAuB,EAAC;QACpC,OAAO,EAAE,SAAS,MAAM,EAAE;KAC3B,CAAC;IACF,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE;YACJ,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI;aACX;SACF;KACkC,CAAC;IAEtC,UAAU,CAAC,GAAG,EAAE;QACd,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACzG,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC/F,qCAAqC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,oCAAoC,CAAC,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;QAChJ,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAChD,MAAM,UAAU,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,8BAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,uBAAuB,GAAgB;YAC3C,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;SAC7B,CAAC;QACF,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QACjG,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAEhE,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,gBAAgB,EAAE,uBAAuB,CAAC,CAAC,CAAC;QACtG,MAAM,CAAC,qCAAqC,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;QACzF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;QACpE,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,8BAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACrF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/lib/types.d.ts CHANGED
@@ -89,6 +89,7 @@ export interface ViewLogicConfig {
89
89
  actionTypes: LogicResultDocAction[];
90
90
  modifiedFields: LogicConfigModifiedFieldsType;
91
91
  entity: string;
92
+ destProp?: string;
92
93
  viewLogicFn: ViewLogicFn;
93
94
  }
94
95
  export type SecurityStatus = "allowed" | "rejected";
@@ -104,8 +105,13 @@ export interface ValidationResult {
104
105
  export type ValidatorFn = (document: DocumentData) => Promise<ValidationResult>;
105
106
  export type ValidatorConfig = Record<string, ValidatorFn>;
106
107
  export type ValidateFormResult = [hasValidationErrors: boolean, validationResult: ValidationResult];
108
+ export type DestPropType = "map" | "array-map";
107
109
  export interface ViewDefinition {
108
110
  destEntity: string;
111
+ destProp?: {
112
+ name: string;
113
+ type: DestPropType;
114
+ };
109
115
  srcProps: string[];
110
116
  srcEntity: string;
111
117
  }
@@ -115,6 +121,7 @@ export interface QueryCondition {
115
121
  operator: firestore.WhereFilterOp;
116
122
  value: any;
117
123
  }
124
+ export type EntityCondition = Record<string, QueryCondition>;
118
125
  export type AnyObject = {
119
126
  [key: string]: any;
120
127
  };
@@ -1,4 +1,4 @@
1
- import { QueryCondition } from "../types";
1
+ import { EntityCondition, QueryCondition } from "../types";
2
2
  export declare const _mockable: {
3
3
  filterSubDocPathsByEntity: typeof filterSubDocPathsByEntity;
4
4
  doesPathExists: typeof doesPathExists;
@@ -15,7 +15,7 @@ export declare function expandAndGroupDocPathsByEntity(startingDocPath: string,
15
15
  [key: string]: string[];
16
16
  }>;
17
17
  declare function doesPathExists(path: string): Promise<boolean>;
18
- export declare function hydrateDocPath(destDocPath: string, entityCondition: Record<string, QueryCondition>): Promise<string[]>;
18
+ export declare function hydrateDocPath(destDocPath: string, entityCondition: EntityCondition): Promise<string[]>;
19
19
  export declare function parseEntity(docPath: string): {
20
20
  entityId: string;
21
21
  entity: string | undefined;