emberflow 1.3.76 → 1.3.78

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.
@@ -371,6 +371,12 @@ async function expandConsolidateAndGroupByDstPath(logicDocs) {
371
371
  }
372
372
  existingDoc.instructions = Object.assign(Object.assign({}, existingDoc.instructions), logicResultDoc.instructions);
373
373
  existingDoc.doc = Object.assign(Object.assign({}, existingDoc.doc), logicResultDoc.doc);
374
+ if (logicResultDoc.journalEntries) {
375
+ if (!existingDoc.journalEntries) {
376
+ existingDoc.journalEntries = [];
377
+ }
378
+ existingDoc.journalEntries.push(...logicResultDoc.journalEntries);
379
+ }
374
380
  merged = true;
375
381
  break;
376
382
  }
@@ -389,66 +395,6 @@ async function expandConsolidateAndGroupByDstPath(logicDocs) {
389
395
  }
390
396
  existingDocs.push(logicResultDoc);
391
397
  }
392
- function expandJournalEntry() {
393
- for (let i = logicDocs.length - 1; i >= 0; i--) {
394
- const expandedLogicResultDocs = [];
395
- const logicResultDoc = logicDocs[i];
396
- const { dstPath, instructions = {}, journalEntry, priority, } = logicResultDoc;
397
- const docId = dstPath.split("/").pop();
398
- if (!docId) {
399
- console.error("Dst path has no docId");
400
- logicDocs.splice(i, 1);
401
- continue;
402
- }
403
- if (!journalEntry) {
404
- continue;
405
- }
406
- delete logicResultDoc.journalEntry;
407
- const { ledgerEntries, recordEntry, equation, } = journalEntry;
408
- const totalCreditDebit = ledgerEntries
409
- .reduce((acc, entry) => {
410
- return {
411
- credit: acc.credit + entry.credit,
412
- debit: acc.debit + entry.debit,
413
- };
414
- }, { credit: 0, debit: 0 });
415
- if (totalCreditDebit.debit !== totalCreditDebit.credit) {
416
- console.error("Debit and credit should be equal");
417
- continue;
418
- }
419
- const [leftSide, ..._] = equation.split("=");
420
- for (let j = 0; j < ledgerEntries.length; j++) {
421
- const { account, debit, credit, description } = ledgerEntries[j];
422
- // totalTodoCount = leafCount + nonLeafCount
423
- const increment = leftSide.includes(account) ? debit - credit : credit - debit;
424
- if (increment === 0) {
425
- continue;
426
- }
427
- instructions[account] = `${increment >= 0 ? "+" : "-"}${Math.abs(increment)}`;
428
- if (!logicResultDoc.instructions) {
429
- logicResultDoc.instructions = instructions;
430
- }
431
- if (recordEntry) {
432
- const journalEntryId = docId + i;
433
- const ledgerEntryId = journalEntryId + j;
434
- const ledgerEntryDoc = Object.assign({ journalEntryId,
435
- account,
436
- credit,
437
- debit }, (description && { description }));
438
- expandedLogicResultDocs.push({
439
- action: "create",
440
- doc: ledgerEntryDoc,
441
- dstPath: dstPath + "/@ledgers/" + ledgerEntryId,
442
- priority,
443
- });
444
- }
445
- }
446
- if (recordEntry) {
447
- logicDocs.splice(i, 0, ...expandedLogicResultDocs);
448
- }
449
- }
450
- }
451
- expandJournalEntry();
452
398
  async function expandRecursiveActions() {
453
399
  const expandedLogicResultDocs = [];
454
400
  for (let i = logicDocs.length - 1; i >= 0; i--) {
@@ -1 +1 @@
1
- {"version":3,"file":"index-utils.js","sourceRoot":"","sources":["../src/index-utils.ts"],"names":[],"mappings":";;;AAQA,mCAQiB;AACjB,yCAAmH;AACnH,uCAAyD;AACzD,uDAAoE;AAEpE,yCAAwC;AACxC,yCAA8C;AAC9C,uDAAkF;AAOlF,sDAAwD;AAE3C,QAAA,SAAS,GAAG;IACvB,mBAAmB,EAAE,GAAG,EAAE,CAAC,wBAAgB;IAC3C,kBAAkB,EAAE,GAAG,EAAE,CAAC,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;IACzD,kBAAkB;IAClB,qBAAqB;CACtB,CAAC;AAEK,KAAK,UAAU,aAAa,CAAC,cAA8B,EAAE,KAAiB;IACnF,MAAM,EACJ,MAAM,EACN,GAAG,EACH,YAAY,EACZ,OAAO,EACP,iBAAiB,GAClB,GAAG,cAAc,CAAC;IACnB,MAAM,SAAS,GAAG,UAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,KAAK,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;IACzD,IAAI,MAAM,KAAK,QAAQ,EAAE;QACvB,IAAI,CAAC,iBAAiB,EAAE;YACtB,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,cAAc,CAAC,GAAG,GAAG,GAAG,CAAC;SAC1B;QAED,6BAA6B;QAC7B,IAAI,KAAK,EAAE;YACT,MAAM,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SAClC;aAAM;YACL,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;SAC1B;QACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;KAC/C;SAAM,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,EAAE;QACpD,IAAI,YAAY,EAAE;YAChB,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,wBAAwB,CAAC,CAAC;aAClE;iBAAM;gBACL,MAAM,IAAA,gCAAiB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;aAChD;SACF;QAED,MAAM,UAAU,mCAA+B,GAAG,KAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAC,CAAC;QACzE,IAAI,KAAK,EAAE;YACT,IAAI,MAAM,KAAK,OAAO,EAAE;gBACtB,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aAC3C;iBAAM;gBACL,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aACxC;SACF;aAAM;YACL,IAAI,MAAM,KAAK,OAAO,EAAE;gBACtB,MAAM,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACpC;iBAAM;gBACL,MAAM,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACjC;SACF;QACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;KAC9C;SAAM,IAAI,MAAM,KAAK,aAAa,EAAE;QACnC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,MAAM,QAAQ,mBACZ,UAAU,EAAE,OAAO,EACnB,aAAa,EAAE,QAAQ,IACpB,GAAG,CACP,CAAC;QACF,MAAM,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;KACjC;SAAM,IAAI,MAAM,KAAK,sBAAsB,EAAE;QAC5C,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;KACvE;IAED,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACxE,MAAM,IAAA,gCAAkB,EAAC,cAAc,CAAC,CAAC;KAC1C;AACH,CAAC;AA9DD,sCA8DC;AAEM,KAAK,UAAU,UAAU,CAC9B,aAA4C;IAC5C,MAAM,KAAK,GAAG,iBAAS,CAAC,WAAW,EAAE,CAAC;IACtC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7D,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,GAAG,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,MAAM,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SACvC;KACF;IAED,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,CAAC,UAAU,YAAY,CAAC,CAAC;QACvE,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;KACtB;AACH,CAAC;AAhBD,gCAgBC;AAEM,KAAK,UAAU,eAAe,CAAC,aAA4C;IAChF,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,IAAA,wCAAyB,EAAC,GAAG,SAAS,CAAC,CAAC;AAChD,CAAC;AAJD,0CAIC;AAEM,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,IAAoC;IAEpC,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,uBAAe,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KACpB;IACD,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE9C,6BAA6B;IAC7B,IAAI,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAChE,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC/E,kBAAkB,GAAG,IAAI,CAAC;KAC3B;IACD,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;AAChD,CAAC;AAnBD,oCAmBC;AAED,SAAgB,qBAAqB,CAAC,IAAkB,EAAE,QAAsB;IAC9E,MAAM,cAAc,GAAiB,EAAE,CAAC;IAExC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAC9D,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;SACjC;KACF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAXD,sDAWC;AAEM,KAAK,UAAU,sCAAsC,CAAC,KAAa,EAAE,OAAkB;IAC5F,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC;IAC3C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3D,mCAAmC;IACnC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5C,MAAM,eAAe,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,mDAAmD,EAAE,eAAe,CAAC,CAAC;IAClF,mCAAmC;IACnC,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE;QAC3C,oBAAoB,GAAG,IAAI,CAAC;KAC7B;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAdD,wFAcC;AAED,KAAK,UAAU,kBAAkB,CAAC,YAA2B,EAAE,MAAc,EAC3E,YAA0B;IAC1B,MAAM,qBAAqB,GAAG,YAAY;SACvC,GAAG,CAAC,CAAC,MAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;SAC9C,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,GAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,sBAAsB,CAAC;SACtE,GAAG,CAAC,CAAC,GAAmB,EAAE,EAAE,CAAC,CAAC,EAAC,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAExE,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,yBAAyB;IACnD,MAAM,aAAa,GAAG,CAAC,CAAC;IACxB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,OAAO,qBAAqB,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QAChE,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,EAAE,CAAC;YACjD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1B,MAAM,EAAC,cAAc,EAAE,UAAU,EAAC,GAAG,UAAU,CAAC;YAChD,MAAM,EAAC,MAAM,EAAC,GAAG,IAAA,gCAAwB,EAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,sCAAsC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;gBACvF,SAAS;aACV;YACD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACtD,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACpD,SAAS;aACV;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;gBACvB,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACrE,SAAS;aACV;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;gBACtC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBAC/C,SAAS;aACV;YACD,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,QAAQ,EAAE;gBAC3C,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG;gBAC5B,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,QAAQ,EAAE;gBACnD,KAAK;gBACL,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,MAAM;aACP,CAAC;YACF,IAAI,IAAI,CAAC;YACT,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACzD,IAAI,YAAY,EAAE;gBAChB,IAAI,GAAG,CAAC,MAAM,UAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrE,IAAI,CAAC,IAAI,EAAE;oBACT,OAAO,CAAC,IAAI,CAAC,QAAQ,YAAY,sBAAsB,CAAC,CAAC;oBACzD,SAAS;iBACV;aACF;YACD,MAAM,cAAc,GAAiB,EAAE,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACxB,cAAc,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAC/C;aACF;YACD,MAAM,OAAO,GAAW;gBACtB,YAAY;gBACZ,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC7C,QAAQ,EAAE,CAAC,MAAM,UAAE,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE;gBACnE,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI;gBACzB,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,iBAAS,CAAC,kBAAkB,EAAE;aAC5C,CAAC;YACF,MAAM,UAAU,GAAG,UAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACtE,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAiB,EAAC,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1E,IAAI,MAAM,KAAK,mBAAmB,EAAE;gBAClC,IAAI,UAAU,GAAG,CAAC,GAAG,aAAa,EAAE;oBAClC,OAAO,CAAC,IAAI,CAAC,yCAAyC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;oBAChF,SAAS;iBACV;qBAAM;oBACL,UAAU,CAAC,OAAO,CAAC,EAAC,cAAc,EAAE,UAAU,EAAE,UAAU,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;iBACzF;aACF;SACF;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,WAAW,EAAE;gBAChG,MAAM,EAAC,cAAc,EAAE,UAAU,EAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,qBAAqB,CAAC,IAAI,CAAC,EAAC,cAAc,EAAE,UAAU,EAAC,CAAC,CAAC;aAC1D;SACF;QAED,sBAAsB;QACtB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,QAAQ,EAAE,CAAC;KACZ;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,UAA0C,EAAE,cAA8C,EACnH,MAAc;IACd,OAAO,oBAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACnC,OAAO,CACL,CAAC,KAAK,CAAC,WAAW,KAAK,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,UAA6B,CAAC,CAAC;YACxF,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK;gBAC3B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,cAAc,CAAC,CAAC;YAClE,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAChE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,MAAc,EAAE,cAA6B,EAAE,eAAuC,EAC5G,SAA2B,EAAE,YAA2B;IACxD,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC;YAC7B,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAC,GAAG,MAAM,CAAC;YAClC,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,OAAO,EAAE;gBAC/C,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC9B;iBAAM,IAAI,MAAM,KAAK,gBAAgB,EAAE;gBACtC,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;aAC/B;YAED,YAAY,CAAC,IAAI,iCAAK,MAAM,KAAE,QAAQ,EAAE,YAAY,EAAE,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,IAAE,CAAC;YACxF,IAAI,MAAM,KAAK,mBAAmB,EAAE;gBAClC,OAAO,mBAAmB,CAAC;aAC5B;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC;YAC7B,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,EAAE;gBACb,QAAQ;gBACR,OAAO,EAAG,CAAW,CAAC,OAAO;gBAC7B,YAAY,EAAE,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;aAC9C,CAAC,CAAC;SACJ;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,SAA8E,EAAE,YAA0H,EAAE,YAA2B,EAAE,IAAY;IACzR,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC;IAC7B,MAAM,uBAAuB,GAAgB;QAC3C,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,QAAQ;KACnB,CAAC;IACF,MAAM,iBAAS,CAAC,qBAAqB,CAAC,CAAC,GAAG,YAAY,EAAE,uBAAuB,CAAC,CAAC,CAAC;AACpF,CAAC;AAEM,MAAM,iBAAiB,GAAG,KAAK,EACpC,SAA4B,EAC5B,MAAc,EACd,YAA0B,EAAgE,EAAE;IAC5F,MAAM,EAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,EAAC,MAAM,EAAC,EAAC,GAAG,MAAM,CAAC;IAEpE,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAC7E,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,YAAY,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACrC,OAAO,oBAAoB,CAAC;KAC7B;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,UAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,mBAAmB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,KAAI,EAAE,CAAC;IAE9D,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,eAAe,GAAyB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,IAAI,GAAG,EAAe,CAAC;IACzC,cAAc,CAAC,OAAO,EAAE,CAAC;IACzB,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;QAChC,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,oBAAoB,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;SAC5F;QACD,MAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAChG,IAAI,MAAM,KAAK,mBAAmB,EAAE;YAClC,OAAO,mBAAmB,CAAC;SAC5B;QAED,MAAM,sBAAsB,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,IAAI,IAAI,IAAI,mBAAmB,EAAE;YAC/B,OAAO,CAAC,IAAI,CAAC,yCAAyC,mBAAmB,WAAW,CAAC,CAAC;YACtF,MAAM;SACP;QAED,MAAM,iBAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;KACxE;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAzCW,QAAA,iBAAiB,qBAyC5B;AAEF,SAAgB,wBAAwB,CAAC,aAA4C,EAAE,OAAe;IACpG,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC1D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAE/D,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE;QACnD,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC3B,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SAChC;aAAM;YACL,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SACrC;KACF;IAED,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,CAAC;AAC7C,CAAC;AAbD,4DAaC;AAED,SAAgB,aAAa,CAAC,MAAc;IAC1C,OAAO,sBAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAFD,sCAEC;AAEM,KAAK,UAAU,kCAAkC,CAAC,SAA2B;IAClF,SAAS,mBAAmB,CAAC,QAAa,EAAE,QAAa,EAAE,IAAY,EAAE,OAAe;QACtF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;YAC1B,IAAI,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;gBACnE,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,IAAI,iBAAiB,OAAO,GAAG,CAAC,CAAC;aAC9E;SACF;IACH,CAAC;IAED,SAAS,qBAAqB,CAAC,YAA8B,EAAE,cAA8B,EAAE,OAAe;QAC5G,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;YACtC,IAAI,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE;gBACnC,OAAO,CAAC,IAAI,CAAC,UAAU,cAAc,CAAC,MAAM,4CAA4C,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;gBAClI,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;aACP;YACD,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,IAAI,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE;gBACrE,mBAAmB,CAAC,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACzE,mBAAmB,CAAC,WAAW,CAAC,YAAY,EAAE,cAAc,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBACpG,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,IAAI,cAAc,CAAC,MAAM,KAAK,QAAQ,EAAE;oBACxE,OAAO,CAAC,IAAI,CAAC,4CAA4C,OAAO,kCAAkC,CAAC,CAAC;oBACpG,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC;iBAC/B;gBACD,WAAW,CAAC,YAAY,mCAAO,WAAW,CAAC,YAAY,GAAK,cAAc,CAAC,YAAY,CAAC,CAAC;gBACzF,WAAW,CAAC,GAAG,mCAAO,WAAW,CAAC,GAAG,GAAK,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC9D,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;aACP;SACF;QACD,IAAI,CAAC,MAAM,EAAE;YACX,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACnC;IACH,CAAC;IAED,SAAS,aAAa,CAAC,YAA8B,EAAE,cAA8B,EAAE,OAAe;QACpG,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,IAAI,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE;gBACrE,OAAO,CAAC,IAAI,CAAC,UAAU,WAAW,CAAC,MAAM,iBAAiB,OAAO,2CAA2C,CAAC,CAAC;gBAC9G,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3B;SACF;QACD,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,kBAAkB;QACzB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,uBAAuB,GAAqB,EAAE,CAAC;YACrD,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,EACJ,OAAO,EACP,YAAY,GAAG,EAAE,EACjB,YAAY,EACZ,QAAQ,GACT,GAAG,cAAc,CAAC;YAEnB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACvC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvB,SAAS;aACV;YAED,IAAI,CAAC,YAAY,EAAE;gBACjB,SAAS;aACV;YACD,OAAO,cAAc,CAAC,YAAY,CAAC;YAEnC,MAAM,EACJ,aAAa,EACb,WAAW,EACX,QAAQ,GACT,GAAG,YAAY,CAAC;YAEjB,MAAM,gBAAgB,GAAG,aAAa;iBACnC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACrB,OAAO;oBACL,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;oBACjC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;iBAC/B,CAAC;YACJ,CAAC,EAAE,EAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;YAC5B,IAAI,gBAAgB,CAAC,KAAK,KAAK,gBAAgB,CAAC,MAAM,EAAE;gBACtD,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAClD,SAAS;aACV;YAED,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAE/D,4CAA4C;gBAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;gBAC/E,IAAI,SAAS,KAAK,CAAC,EAAE;oBACnB,SAAS;iBACV;gBACD,YAAY,CAAC,OAAO,CAAC,GAAG,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9E,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;oBAChC,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC;iBAC5C;gBAED,IAAI,WAAW,EAAE;oBACf,MAAM,cAAc,GAAG,KAAK,GAAG,CAAC,CAAC;oBACjC,MAAM,aAAa,GAAG,cAAc,GAAG,CAAC,CAAC;oBACzC,MAAM,cAAc,mBAClB,cAAc;wBACd,OAAO;wBACP,MAAM;wBACN,KAAK,IACF,CAAC,WAAW,IAAI,EAAC,WAAW,EAAC,CAAC,CAClC,CAAC;oBACF,uBAAuB,CAAC,IAAI,CAAC;wBAC3B,MAAM,EAAE,QAAQ;wBAChB,GAAG,EAAE,cAAc;wBACnB,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,aAAa;wBAC/C,QAAQ;qBACT,CAAC,CAAC;iBACJ;aACF;YAED,IAAI,WAAW,EAAE;gBACf,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,uBAAuB,CAAC,CAAC;aACpD;SACF;IACH,CAAC;IACD,kBAAkB,EAAE,CAAC;IAErB,KAAK,UAAU,sBAAsB;QACnC,MAAM,uBAAuB,GAAqB,EAAE,CAAC;QACrD,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EACP,yBAAyB,EACzB,QAAQ,GACT,GAAG,cAAc,CAAC;YAEnB,IAAI,CAAC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAS;YAEvE,MAAM,YAAY,GAAG,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YACvE,IAAI,CAAC,YAAY,EAAE;gBACjB,SAAS;aACV;YACD,MAAM,WAAW,GAAG,MAAM,IAAA,sCAA8B,EACtD,YAAY,EACZ,SAAS,EACT,yBAAyB,CAC1B,CAAC;YAEF,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;oBACxB,IAAI,MAAM,KAAK,kBAAkB,EAAE;wBACjC,uBAAuB,CAAC,IAAI,CAAC;4BAC3B,MAAM,EAAE,QAAQ;4BAChB,OAAO,EAAE,IAAI;4BACb,QAAQ;yBACT,CAAC,CAAC;qBACJ;yBAAM,IAAI,MAAM,KAAK,gBAAgB,IAAI,OAAO,EAAE;wBACjD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBACvD,MAAM,IAAI,GAAG,CAAC,MAAM,UAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC/C,uBAAuB,CAAC,IAAI,CAAC;4BAC3B,MAAM,EAAE,OAAO;4BACf,GAAG,EAAE,IAAI;4BACT,OAAO,EAAE,eAAe;4BACxB,QAAQ;yBACT,CAAC,CAAC;qBACJ;iBACF;aACF;YAED,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,uBAAuB,CAAC,CAAC;SACpD;IACH,CAAC;IACD,MAAM,sBAAsB,EAAE,CAAC;IAE/B,KAAK,UAAU,kBAAkB;QAC/B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;YAC3B,MAAM,EACJ,OAAO,EACP,MAAM,GACP,GAAG,GAAG,CAAC;YAER,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,OAAO,EAAE;gBACjC,SAAS;aACV;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,UAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,OAAO,GAAG,CAAC,OAAO,CAAC;YACnB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;YACf,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC;SACtB;IACH,CAAC;IACD,MAAM,kBAAkB,EAAE,CAAC;IAE3B,MAAM,YAAY,GAAkC,IAAI,GAAG,EAAE,CAAC;IAE9D,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;QAC3B,MAAM,EACJ,OAAO,EACP,MAAM,GACP,GAAG,GAAG,CAAC;QACR,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;SACzC;QAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,EAAE;YAC7C,qBAAqB,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;SACnD;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;YAC9B,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;SAC3C;aAAM,IAAI,MAAM,KAAK,aAAa,EAAE;YACnC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxB;aAAM,IAAI,MAAM,KAAK,sBAAsB,EAAE;YAC5C,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxB;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AA7ND,gFA6NC;AAEM,KAAK,UAAU,aAAa,CAAC,cAA8B;IAChE,MAAM,EACJ,MAAM,EACN,GAAG,EACH,YAAY,EACZ,OAAO,GACR,GAAG,cAAc,CAAC;IACnB,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,GAAG,EAAE;QACP,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1C;IACD,IAAI,YAAY,EAAE;QAChB,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KACnD;IACD,MAAM,EAAC,MAAM,EAAC,GAAG,IAAA,gCAAwB,EAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC5C,OAAO,EAAE,CAAC;KACX;IACD,MAAM,cAAc,GAAG,iBAAS,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACtE,OAAO,CACL,CACE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;YAClC,CACE,KAAK,CAAC,cAAc,KAAK,KAAK;gBAC5B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACvE;YACO,KAAK,CAAC,MAAM,KAAK,MAAM,CAChC;YACK,CACE,MAAM,KAAK,QAAQ;gBACjB,KAAK,CAAC,MAAM,KAAK,MAAM,CAC1B,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,sBAAsB;IAEtB,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC;QAC7B,YAAY,CAAC,IAAI,iCAAK,eAAe,KAAE,QAAQ,IAAE,CAAC;KACnD;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AA9CD,sCA8CC;AAEM,KAAK,UAAU,gBAAgB,CAAC,KAAgF;IACrH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACzC,OAAO;KACR;IACD,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACzC,OAAO;KACR;IACD,OAAO,cAAc,CAAC,qBAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAZD,4CAYC;AAED,KAAK,UAAU,mBAAmB,CAAC,SAAiB,EAAE,YAAoB;IACxE,MAAM,MAAM,GAAG,IAAI,uCAA2B,EAAE,CAAC;IAEjD,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;QACrD,MAAM,EAAE,YAAY,SAAS,cAAc;KAC5C,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IAEhF,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE;QACzC,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;KACzB;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,SAAiB,EAAE,YAAoB;IACnE,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAEpE,IAAI,QAAQ,EAAE;QACZ,MAAM,MAAM,GAAG,IAAI,uCAA2B,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,YAAY,SAAS,cAAc,QAAQ,cAAc,YAAY,EAAE,CAAC;QACrF,MAAM,MAAM,CAAC,cAAc,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,aAAa,YAAY,kBAAkB,QAAQ,yBAAyB,CAAC,CAAC;KAC3F;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,aAAa,YAAY,wCAAwC,CAAC,CAAC;KAChF;AACH,CAAC;AAEM,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,MAAM,UAAU,GAAG,UAAE,CAAC,GAAG,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,iBAAa,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACxD,MAAM,UAAU,CAAC,GAAG,CAAC;YACnB,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;SAClB,CAAC,CAAC;KACJ;AACH,CAAC;AARD,oDAQC;AAED,KAAK,UAAU,qBAAqB,CAAC,YAA2B;IAC9D,MAAM,UAAU,GAAG,UAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7C,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;QACtC,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,WAAW,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;YACpD,SAAS;SACV;QACD,IAAI,QAAQ,GAAG,GAAG,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,QAAQ,eAAe,CAAC,CAAC;SACvD;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAA,gCAAiB,EAAC,QAAQ,CAAC,IAAI,EAAE;YACrC,aAAa,EAAE,IAAI,QAAQ,EAAE;YAC7B,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC;QACxD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,QAAQ,EAAE,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;YACzC,QAAQ;SACT,CAAC,CAAC;KACJ;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,KAAqB;IAC/D,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,MAAM,UAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,IAAI,EAAE;QAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;aACjD,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAE1E,MAAM,IAAA,uBAAgB,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;YACzC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;AACvD,CAAC;AAbD,sDAaC;AAEM,KAAK,UAAU,uBAAuB,CAAC,KAAqB;IACjE,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,MAAM,UAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9D,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,IAAI,EAAE;QAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;aACjD,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAElE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,SAAS,CAAC,KAAK,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YACxD,SAAS;SACV;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;QACnC,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;QAC9C,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;QAE7C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/D,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,SAAS,EAAE,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;YAC1C,WAAW;YACX,WAAW;YACX,aAAa;YACb,SAAS;YACT,WAAW;YACX,UAAU;SACX,CAAC,CAAC;KACJ;AACH,CAAC;AAhCD,0DAgCC;AAEM,KAAK,UAAU,uBAAuB,CAAC,KAAqB;IACjE,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,MAAM,UAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,IAAI,EAAE;QAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC;aACnD,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE5E,MAAM,IAAA,uBAAgB,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;YACzC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;AACzD,CAAC;AAbD,0DAaC"}
1
+ {"version":3,"file":"index-utils.js","sourceRoot":"","sources":["../src/index-utils.ts"],"names":[],"mappings":";;;AAQA,mCAQiB;AACjB,yCAAmH;AACnH,uCAAyD;AACzD,uDAAoE;AAEpE,yCAAwC;AACxC,yCAA8C;AAC9C,uDAAkF;AAOlF,sDAAwD;AAE3C,QAAA,SAAS,GAAG;IACvB,mBAAmB,EAAE,GAAG,EAAE,CAAC,wBAAgB;IAC3C,kBAAkB,EAAE,GAAG,EAAE,CAAC,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;IACzD,kBAAkB;IAClB,qBAAqB;CACtB,CAAC;AAEK,KAAK,UAAU,aAAa,CAAC,cAA8B,EAAE,KAAiB;IACnF,MAAM,EACJ,MAAM,EACN,GAAG,EACH,YAAY,EACZ,OAAO,EACP,iBAAiB,GAClB,GAAG,cAAc,CAAC;IACnB,MAAM,SAAS,GAAG,UAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,KAAK,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;IACzD,IAAI,MAAM,KAAK,QAAQ,EAAE;QACvB,IAAI,CAAC,iBAAiB,EAAE;YACtB,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,cAAc,CAAC,GAAG,GAAG,GAAG,CAAC;SAC1B;QAED,6BAA6B;QAC7B,IAAI,KAAK,EAAE;YACT,MAAM,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SAClC;aAAM;YACL,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;SAC1B;QACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;KAC/C;SAAM,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,EAAE;QACpD,IAAI,YAAY,EAAE;YAChB,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,wBAAwB,CAAC,CAAC;aAClE;iBAAM;gBACL,MAAM,IAAA,gCAAiB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;aAChD;SACF;QAED,MAAM,UAAU,mCAA+B,GAAG,KAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAC,CAAC;QACzE,IAAI,KAAK,EAAE;YACT,IAAI,MAAM,KAAK,OAAO,EAAE;gBACtB,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aAC3C;iBAAM;gBACL,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aACxC;SACF;aAAM;YACL,IAAI,MAAM,KAAK,OAAO,EAAE;gBACtB,MAAM,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACpC;iBAAM;gBACL,MAAM,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACjC;SACF;QACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;KAC9C;SAAM,IAAI,MAAM,KAAK,aAAa,EAAE;QACnC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,MAAM,QAAQ,mBACZ,UAAU,EAAE,OAAO,EACnB,aAAa,EAAE,QAAQ,IACpB,GAAG,CACP,CAAC;QACF,MAAM,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;KACjC;SAAM,IAAI,MAAM,KAAK,sBAAsB,EAAE;QAC5C,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;KACvE;IAED,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACxE,MAAM,IAAA,gCAAkB,EAAC,cAAc,CAAC,CAAC;KAC1C;AACH,CAAC;AA9DD,sCA8DC;AAEM,KAAK,UAAU,UAAU,CAC9B,aAA4C;IAC5C,MAAM,KAAK,GAAG,iBAAS,CAAC,WAAW,EAAE,CAAC;IACtC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7D,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,GAAG,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,MAAM,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SACvC;KACF;IAED,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,CAAC,UAAU,YAAY,CAAC,CAAC;QACvE,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;KACtB;AACH,CAAC;AAhBD,gCAgBC;AAEM,KAAK,UAAU,eAAe,CAAC,aAA4C;IAChF,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,IAAA,wCAAyB,EAAC,GAAG,SAAS,CAAC,CAAC;AAChD,CAAC;AAJD,0CAIC;AAEM,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,IAAoC;IAEpC,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,uBAAe,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KACpB;IACD,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE9C,6BAA6B;IAC7B,IAAI,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAChE,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC/E,kBAAkB,GAAG,IAAI,CAAC;KAC3B;IACD,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;AAChD,CAAC;AAnBD,oCAmBC;AAED,SAAgB,qBAAqB,CAAC,IAAkB,EAAE,QAAsB;IAC9E,MAAM,cAAc,GAAiB,EAAE,CAAC;IAExC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAC9D,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;SACjC;KACF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAXD,sDAWC;AAEM,KAAK,UAAU,sCAAsC,CAAC,KAAa,EAAE,OAAkB;IAC5F,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC;IAC3C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3D,mCAAmC;IACnC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5C,MAAM,eAAe,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,mDAAmD,EAAE,eAAe,CAAC,CAAC;IAClF,mCAAmC;IACnC,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE;QAC3C,oBAAoB,GAAG,IAAI,CAAC;KAC7B;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAdD,wFAcC;AAED,KAAK,UAAU,kBAAkB,CAAC,YAA2B,EAAE,MAAc,EAC3E,YAA0B;IAC1B,MAAM,qBAAqB,GAAG,YAAY;SACvC,GAAG,CAAC,CAAC,MAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;SAC9C,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,GAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,sBAAsB,CAAC;SACtE,GAAG,CAAC,CAAC,GAAmB,EAAE,EAAE,CAAC,CAAC,EAAC,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAExE,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,yBAAyB;IACnD,MAAM,aAAa,GAAG,CAAC,CAAC;IACxB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,OAAO,qBAAqB,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QAChE,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,EAAE,CAAC;YACjD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1B,MAAM,EAAC,cAAc,EAAE,UAAU,EAAC,GAAG,UAAU,CAAC;YAChD,MAAM,EAAC,MAAM,EAAC,GAAG,IAAA,gCAAwB,EAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,sCAAsC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;gBACvF,SAAS;aACV;YACD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACtD,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACpD,SAAS;aACV;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;gBACvB,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACrE,SAAS;aACV;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;gBACtC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBAC/C,SAAS;aACV;YACD,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,QAAQ,EAAE;gBAC3C,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG;gBAC5B,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,QAAQ,EAAE;gBACnD,KAAK;gBACL,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,MAAM;aACP,CAAC;YACF,IAAI,IAAI,CAAC;YACT,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACzD,IAAI,YAAY,EAAE;gBAChB,IAAI,GAAG,CAAC,MAAM,UAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrE,IAAI,CAAC,IAAI,EAAE;oBACT,OAAO,CAAC,IAAI,CAAC,QAAQ,YAAY,sBAAsB,CAAC,CAAC;oBACzD,SAAS;iBACV;aACF;YACD,MAAM,cAAc,GAAiB,EAAE,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACxB,cAAc,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAC/C;aACF;YACD,MAAM,OAAO,GAAW;gBACtB,YAAY;gBACZ,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC7C,QAAQ,EAAE,CAAC,MAAM,UAAE,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE;gBACnE,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI;gBACzB,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,iBAAS,CAAC,kBAAkB,EAAE;aAC5C,CAAC;YACF,MAAM,UAAU,GAAG,UAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACtE,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAiB,EAAC,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1E,IAAI,MAAM,KAAK,mBAAmB,EAAE;gBAClC,IAAI,UAAU,GAAG,CAAC,GAAG,aAAa,EAAE;oBAClC,OAAO,CAAC,IAAI,CAAC,yCAAyC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;oBAChF,SAAS;iBACV;qBAAM;oBACL,UAAU,CAAC,OAAO,CAAC,EAAC,cAAc,EAAE,UAAU,EAAE,UAAU,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;iBACzF;aACF;SACF;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,WAAW,EAAE;gBAChG,MAAM,EAAC,cAAc,EAAE,UAAU,EAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,qBAAqB,CAAC,IAAI,CAAC,EAAC,cAAc,EAAE,UAAU,EAAC,CAAC,CAAC;aAC1D;SACF;QAED,sBAAsB;QACtB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,QAAQ,EAAE,CAAC;KACZ;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,UAA0C,EAAE,cAA8C,EACnH,MAAc;IACd,OAAO,oBAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACnC,OAAO,CACL,CAAC,KAAK,CAAC,WAAW,KAAK,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,UAA6B,CAAC,CAAC;YACxF,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK;gBAC3B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,cAAc,CAAC,CAAC;YAClE,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAChE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,MAAc,EAAE,cAA6B,EAAE,eAAuC,EAC5G,SAA2B,EAAE,YAA2B;IACxD,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC;YAC7B,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAC,GAAG,MAAM,CAAC;YAClC,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,OAAO,EAAE;gBAC/C,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC9B;iBAAM,IAAI,MAAM,KAAK,gBAAgB,EAAE;gBACtC,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;aAC/B;YAED,YAAY,CAAC,IAAI,iCAAK,MAAM,KAAE,QAAQ,EAAE,YAAY,EAAE,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,IAAE,CAAC;YACxF,IAAI,MAAM,KAAK,mBAAmB,EAAE;gBAClC,OAAO,mBAAmB,CAAC;aAC5B;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC;YAC7B,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,EAAE;gBACb,QAAQ;gBACR,OAAO,EAAG,CAAW,CAAC,OAAO;gBAC7B,YAAY,EAAE,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;aAC9C,CAAC,CAAC;SACJ;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,SAA8E,EAAE,YAA0H,EAAE,YAA2B,EAAE,IAAY;IACzR,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC;IAC7B,MAAM,uBAAuB,GAAgB;QAC3C,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,QAAQ;KACnB,CAAC;IACF,MAAM,iBAAS,CAAC,qBAAqB,CAAC,CAAC,GAAG,YAAY,EAAE,uBAAuB,CAAC,CAAC,CAAC;AACpF,CAAC;AAEM,MAAM,iBAAiB,GAAG,KAAK,EACpC,SAA4B,EAC5B,MAAc,EACd,YAA0B,EAAgE,EAAE;IAC5F,MAAM,EAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,EAAC,MAAM,EAAC,EAAC,GAAG,MAAM,CAAC;IAEpE,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAC7E,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,YAAY,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACrC,OAAO,oBAAoB,CAAC;KAC7B;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,UAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,mBAAmB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,KAAI,EAAE,CAAC;IAE9D,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,eAAe,GAAyB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,IAAI,GAAG,EAAe,CAAC;IACzC,cAAc,CAAC,OAAO,EAAE,CAAC;IACzB,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;QAChC,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,oBAAoB,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;SAC5F;QACD,MAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAChG,IAAI,MAAM,KAAK,mBAAmB,EAAE;YAClC,OAAO,mBAAmB,CAAC;SAC5B;QAED,MAAM,sBAAsB,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,IAAI,IAAI,IAAI,mBAAmB,EAAE;YAC/B,OAAO,CAAC,IAAI,CAAC,yCAAyC,mBAAmB,WAAW,CAAC,CAAC;YACtF,MAAM;SACP;QAED,MAAM,iBAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;KACxE;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAzCW,QAAA,iBAAiB,qBAyC5B;AAEF,SAAgB,wBAAwB,CAAC,aAA4C,EAAE,OAAe;IACpG,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC1D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAE/D,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE;QACnD,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC3B,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SAChC;aAAM;YACL,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SACrC;KACF;IAED,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,CAAC;AAC7C,CAAC;AAbD,4DAaC;AAED,SAAgB,aAAa,CAAC,MAAc;IAC1C,OAAO,sBAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAFD,sCAEC;AAEM,KAAK,UAAU,kCAAkC,CAAC,SAA2B;IAClF,SAAS,mBAAmB,CAAC,QAAa,EAAE,QAAa,EAAE,IAAY,EAAE,OAAe;QACtF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;YAC1B,IAAI,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;gBACnE,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,IAAI,iBAAiB,OAAO,GAAG,CAAC,CAAC;aAC9E;SACF;IACH,CAAC;IAED,SAAS,qBAAqB,CAAC,YAA8B,EAAE,cAA8B,EAAE,OAAe;QAC5G,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;YACtC,IAAI,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE;gBACnC,OAAO,CAAC,IAAI,CAAC,UAAU,cAAc,CAAC,MAAM,4CAA4C,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;gBAClI,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;aACP;YACD,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,IAAI,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE;gBACrE,mBAAmB,CAAC,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACzE,mBAAmB,CAAC,WAAW,CAAC,YAAY,EAAE,cAAc,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBACpG,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,IAAI,cAAc,CAAC,MAAM,KAAK,QAAQ,EAAE;oBACxE,OAAO,CAAC,IAAI,CAAC,4CAA4C,OAAO,kCAAkC,CAAC,CAAC;oBACpG,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC;iBAC/B;gBACD,WAAW,CAAC,YAAY,mCAAO,WAAW,CAAC,YAAY,GAAK,cAAc,CAAC,YAAY,CAAC,CAAC;gBACzF,WAAW,CAAC,GAAG,mCAAO,WAAW,CAAC,GAAG,GAAK,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC9D,IAAI,cAAc,CAAC,cAAc,EAAE;oBACjC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;wBAC/B,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC;qBACjC;oBACD,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;iBACnE;gBAED,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;aACP;SACF;QACD,IAAI,CAAC,MAAM,EAAE;YACX,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACnC;IACH,CAAC;IAED,SAAS,aAAa,CAAC,YAA8B,EAAE,cAA8B,EAAE,OAAe;QACpG,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,IAAI,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE;gBACrE,OAAO,CAAC,IAAI,CAAC,UAAU,WAAW,CAAC,MAAM,iBAAiB,OAAO,2CAA2C,CAAC,CAAC;gBAC9G,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3B;SACF;QACD,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,UAAU,sBAAsB;QACnC,MAAM,uBAAuB,GAAqB,EAAE,CAAC;QACrD,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EACP,yBAAyB,EACzB,QAAQ,GACT,GAAG,cAAc,CAAC;YAEnB,IAAI,CAAC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAS;YAEvE,MAAM,YAAY,GAAG,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YACvE,IAAI,CAAC,YAAY,EAAE;gBACjB,SAAS;aACV;YACD,MAAM,WAAW,GAAG,MAAM,IAAA,sCAA8B,EACtD,YAAY,EACZ,SAAS,EACT,yBAAyB,CAC1B,CAAC;YAEF,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;oBACxB,IAAI,MAAM,KAAK,kBAAkB,EAAE;wBACjC,uBAAuB,CAAC,IAAI,CAAC;4BAC3B,MAAM,EAAE,QAAQ;4BAChB,OAAO,EAAE,IAAI;4BACb,QAAQ;yBACT,CAAC,CAAC;qBACJ;yBAAM,IAAI,MAAM,KAAK,gBAAgB,IAAI,OAAO,EAAE;wBACjD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBACvD,MAAM,IAAI,GAAG,CAAC,MAAM,UAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC/C,uBAAuB,CAAC,IAAI,CAAC;4BAC3B,MAAM,EAAE,OAAO;4BACf,GAAG,EAAE,IAAI;4BACT,OAAO,EAAE,eAAe;4BACxB,QAAQ;yBACT,CAAC,CAAC;qBACJ;iBACF;aACF;YAED,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,uBAAuB,CAAC,CAAC;SACpD;IACH,CAAC;IACD,MAAM,sBAAsB,EAAE,CAAC;IAE/B,KAAK,UAAU,kBAAkB;QAC/B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;YAC3B,MAAM,EACJ,OAAO,EACP,MAAM,GACP,GAAG,GAAG,CAAC;YAER,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,OAAO,EAAE;gBACjC,SAAS;aACV;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,UAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,OAAO,GAAG,CAAC,OAAO,CAAC;YACnB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;YACf,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC;SACtB;IACH,CAAC;IACD,MAAM,kBAAkB,EAAE,CAAC;IAE3B,MAAM,YAAY,GAAkC,IAAI,GAAG,EAAE,CAAC;IAE9D,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;QAC3B,MAAM,EACJ,OAAO,EACP,MAAM,GACP,GAAG,GAAG,CAAC;QACR,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;SACzC;QAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,EAAE;YAC7C,qBAAqB,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;SACnD;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;YAC9B,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;SAC3C;aAAM,IAAI,MAAM,KAAK,aAAa,EAAE;YACnC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxB;aAAM,IAAI,MAAM,KAAK,sBAAsB,EAAE;YAC5C,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxB;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAlJD,gFAkJC;AAEM,KAAK,UAAU,aAAa,CAAC,cAA8B;IAChE,MAAM,EACJ,MAAM,EACN,GAAG,EACH,YAAY,EACZ,OAAO,GACR,GAAG,cAAc,CAAC;IACnB,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,GAAG,EAAE;QACP,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1C;IACD,IAAI,YAAY,EAAE;QAChB,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KACnD;IACD,MAAM,EAAC,MAAM,EAAC,GAAG,IAAA,gCAAwB,EAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC5C,OAAO,EAAE,CAAC;KACX;IACD,MAAM,cAAc,GAAG,iBAAS,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACtE,OAAO,CACL,CACE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;YAClC,CACE,KAAK,CAAC,cAAc,KAAK,KAAK;gBAC5B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACvE;YACO,KAAK,CAAC,MAAM,KAAK,MAAM,CAChC;YACK,CACE,MAAM,KAAK,QAAQ;gBACjB,KAAK,CAAC,MAAM,KAAK,MAAM,CAC1B,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,sBAAsB;IAEtB,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC;QAC7B,YAAY,CAAC,IAAI,iCAAK,eAAe,KAAE,QAAQ,IAAE,CAAC;KACnD;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AA9CD,sCA8CC;AAEM,KAAK,UAAU,gBAAgB,CAAC,KAAgF;IACrH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACzC,OAAO;KACR;IACD,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACzC,OAAO;KACR;IACD,OAAO,cAAc,CAAC,qBAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAZD,4CAYC;AAED,KAAK,UAAU,mBAAmB,CAAC,SAAiB,EAAE,YAAoB;IACxE,MAAM,MAAM,GAAG,IAAI,uCAA2B,EAAE,CAAC;IAEjD,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;QACrD,MAAM,EAAE,YAAY,SAAS,cAAc;KAC5C,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IAEhF,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE;QACzC,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;KACzB;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,SAAiB,EAAE,YAAoB;IACnE,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAEpE,IAAI,QAAQ,EAAE;QACZ,MAAM,MAAM,GAAG,IAAI,uCAA2B,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,YAAY,SAAS,cAAc,QAAQ,cAAc,YAAY,EAAE,CAAC;QACrF,MAAM,MAAM,CAAC,cAAc,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,aAAa,YAAY,kBAAkB,QAAQ,yBAAyB,CAAC,CAAC;KAC3F;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,aAAa,YAAY,wCAAwC,CAAC,CAAC;KAChF;AACH,CAAC;AAEM,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,MAAM,UAAU,GAAG,UAAE,CAAC,GAAG,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,iBAAa,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACxD,MAAM,UAAU,CAAC,GAAG,CAAC;YACnB,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;SAClB,CAAC,CAAC;KACJ;AACH,CAAC;AARD,oDAQC;AAED,KAAK,UAAU,qBAAqB,CAAC,YAA2B;IAC9D,MAAM,UAAU,GAAG,UAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7C,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;QACtC,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,WAAW,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;YACpD,SAAS;SACV;QACD,IAAI,QAAQ,GAAG,GAAG,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,QAAQ,eAAe,CAAC,CAAC;SACvD;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAA,gCAAiB,EAAC,QAAQ,CAAC,IAAI,EAAE;YACrC,aAAa,EAAE,IAAI,QAAQ,EAAE;YAC7B,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC;QACxD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,QAAQ,EAAE,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;YACzC,QAAQ;SACT,CAAC,CAAC;KACJ;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,KAAqB;IAC/D,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,MAAM,UAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,IAAI,EAAE;QAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;aACjD,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAE1E,MAAM,IAAA,uBAAgB,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;YACzC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;AACvD,CAAC;AAbD,sDAaC;AAEM,KAAK,UAAU,uBAAuB,CAAC,KAAqB;IACjE,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,MAAM,UAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9D,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,IAAI,EAAE;QAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;aACjD,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAElE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,SAAS,CAAC,KAAK,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YACxD,SAAS;SACV;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;QACnC,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;QAC9C,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;QAE7C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/D,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,SAAS,EAAE,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;YAC1C,WAAW;YACX,WAAW;YACX,aAAa;YACb,SAAS;YACT,WAAW;YACX,UAAU;SACX,CAAC,CAAC;KACJ;AACH,CAAC;AAhCD,0DAgCC;AAEM,KAAK,UAAU,uBAAuB,CAAC,KAAqB;IACjE,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,MAAM,UAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,IAAI,EAAE;QAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC;aACnD,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE5E,MAAM,IAAA,uBAAgB,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;YACzC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;AACzD,CAAC;AAbD,0DAaC"}
package/lib/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { FirebaseAdmin, LogicConfig, ProjectConfig, SecurityConfig, ValidatorConfig, ViewLogicConfig } from "./types";
2
2
  import { Firestore } from "firebase-admin/firestore";
3
3
  import { DatabaseEvent, DataSnapshot } from "firebase-functions/v2/database";
4
- import { database } from "firebase-admin";
4
+ import { database, firestore } from "firebase-admin";
5
5
  import { PubSub, Topic } from "@google-cloud/pubsub";
6
6
  import Database = database.Database;
7
7
  export declare let admin: FirebaseAdmin;
@@ -29,7 +29,7 @@ export declare let VIEW_LOGICS_TOPIC: Topic;
29
29
  export declare let FOR_DISTRIBUTION_TOPIC: Topic;
30
30
  export declare let INSTRUCTIONS_TOPIC: Topic;
31
31
  export declare const _mockable: {
32
- createNowTimestamp: () => FirebaseFirestore.Timestamp;
32
+ createNowTimestamp: () => firestore.Timestamp;
33
33
  initActionRef: typeof initActionRef;
34
34
  };
35
35
  export declare function initializeEmberFlow(customProjectConfig: ProjectConfig, adminInstance: FirebaseAdmin, customDbStructure: Record<string, object>, CustomEntity: Record<string, string>, customSecurityConfig: SecurityConfig, customValidatorConfig: ValidatorConfig, customLogicConfigs: LogicConfig[]): {
@@ -38,6 +38,6 @@ export declare function initializeEmberFlow(customProjectConfig: ProjectConfig,
38
38
  docPathsRegex: Record<string, RegExp>;
39
39
  functionsConfig: Record<string, any>;
40
40
  };
41
- declare function initActionRef(actionId: string): FirebaseFirestore.DocumentReference<FirebaseFirestore.DocumentData>;
41
+ declare function initActionRef(actionId: string): firestore.DocumentReference<firestore.DocumentData>;
42
42
  export declare function onFormSubmit(event: DatabaseEvent<DataSnapshot>): Promise<void>;
43
43
  export {};
package/lib/index.js CHANGED
@@ -42,6 +42,7 @@ const view_logics_1 = require("./logics/view-logics");
42
42
  const bill_protect_1 = require("./utils/bill-protect");
43
43
  const database_1 = require("firebase-functions/v2/database");
44
44
  const paths_1 = require("./utils/paths");
45
+ const firebase_admin_1 = require("firebase-admin");
45
46
  const lib_1 = require("emberflow-admin-client/lib");
46
47
  const db_structure_1 = require("./db-structure");
47
48
  const forms_1 = require("./utils/forms");
@@ -54,6 +55,7 @@ const scheduler_1 = require("firebase-functions/v2/scheduler");
54
55
  const firestore_1 = require("firebase-functions/v2/firestore");
55
56
  const https_1 = require("firebase-functions/v2/https");
56
57
  const functions_1 = require("./utils/functions");
58
+ var FieldValue = firebase_admin_1.firestore.FieldValue;
57
59
  exports.functionsConfig = {};
58
60
  exports.SUBMIT_FORM_TOPIC_NAME = "submit-form-queue";
59
61
  exports.VIEW_LOGICS_TOPIC_NAME = "view-logics-queue";
@@ -316,6 +318,118 @@ async function onFormSubmit(event) {
316
318
  }
317
319
  }
318
320
  updateErrorMessage();
321
+ async function writeJournalEntriesFirst() {
322
+ // Gather all logicResultDoc with journalEntries
323
+ const logicResultDocsWithJournalEntries = logicResults
324
+ .map((result) => result.documents).flat()
325
+ .filter((logicResultDoc) => logicResultDoc.journalEntries);
326
+ if (logicResultDocsWithJournalEntries.length === 0) {
327
+ console.info("No journal entries to write");
328
+ return;
329
+ }
330
+ const dstPathLogicDocsWithJournalEntriesMap = await (0, index_utils_1.expandConsolidateAndGroupByDstPath)(logicResultDocsWithJournalEntries);
331
+ for (const [dstPath, logicDocs] of dstPathLogicDocsWithJournalEntriesMap) {
332
+ const docId = dstPath.split("/").pop();
333
+ if (!docId) {
334
+ console.error("Dst path has no docId");
335
+ continue;
336
+ }
337
+ for (const logicDoc of logicDocs) {
338
+ const { doc, instructions, journalEntries, } = logicDoc;
339
+ if (!journalEntries) {
340
+ continue;
341
+ }
342
+ const accounts = new Set(journalEntries.map((entry) => entry.ledgerEntries).flat()
343
+ .map((entry) => entry.account));
344
+ if (Object.keys(doc || {}).some((key) => accounts.has(key))) {
345
+ console.error("Doc cannot have keys that are the same as account names");
346
+ continue;
347
+ }
348
+ if (Object.keys(instructions || {}).some((key) => accounts.has(key))) {
349
+ console.error("Instructions cannot have keys that are the same as account names");
350
+ continue;
351
+ }
352
+ for (let i = 0; i < journalEntries.length; i++) {
353
+ const { ledgerEntries, recordEntry, equation, date, } = journalEntries[i];
354
+ const consolidatedPerAccount = ledgerEntries
355
+ .reduce((acc, entry) => {
356
+ const { account } = entry;
357
+ if (acc[account]) {
358
+ acc[account].debit += entry.debit;
359
+ acc[account].credit += entry.credit;
360
+ }
361
+ else {
362
+ acc[account] = {
363
+ debit: entry.debit,
364
+ credit: entry.credit,
365
+ };
366
+ }
367
+ return acc;
368
+ }, {});
369
+ // loop through keys of consolidatedPerAccount
370
+ const totalCreditDebit = Object.entries(consolidatedPerAccount)
371
+ .reduce((acc, [account, { debit, credit }]) => {
372
+ return {
373
+ debit: acc.debit + debit,
374
+ credit: acc.credit + credit,
375
+ };
376
+ }, { debit: 0, credit: 0 });
377
+ if (totalCreditDebit.debit !== totalCreditDebit.credit) {
378
+ console.error("Debit and credit should be equal");
379
+ continue;
380
+ }
381
+ await exports.db.runTransaction(async (transaction) => {
382
+ const docRef = exports.db.doc(dstPath);
383
+ const currData = (await transaction.get(docRef)).data();
384
+ let instructionsDbValues;
385
+ if (instructions) {
386
+ instructionsDbValues = (0, distribution_1.convertInstructionsToDbValues)(instructions);
387
+ }
388
+ if (currData) {
389
+ transaction.update(docRef, Object.assign(Object.assign(Object.assign({}, (doc ? doc : {})), (instructionsDbValues ? instructionsDbValues : {})), { "@forDeletionLater": true }));
390
+ }
391
+ else {
392
+ transaction.set(docRef, Object.assign(Object.assign(Object.assign({}, (doc ? doc : {})), (instructionsDbValues ? instructionsDbValues : {})), { "@forDeletionLater": true }));
393
+ }
394
+ const [leftSide, ..._] = equation.split("=");
395
+ Object.entries(consolidatedPerAccount).forEach(([account, { debit, credit }]) => {
396
+ const increment = leftSide.includes(account) ? debit - credit : credit - debit;
397
+ if (increment === 0) {
398
+ transaction.update(docRef, {
399
+ "@forDeletionLater": FieldValue.delete(),
400
+ });
401
+ return;
402
+ }
403
+ const accountVal = ((currData === null || currData === void 0 ? void 0 : currData[account]) || 0) + increment;
404
+ if (accountVal < 0) {
405
+ throw new Error("Account value cannot be negative");
406
+ }
407
+ transaction.update(docRef, {
408
+ [account]: accountVal,
409
+ "@forDeletionLater": FieldValue.delete(),
410
+ });
411
+ });
412
+ if (recordEntry) {
413
+ for (let j = 0; j < ledgerEntries.length; j++) {
414
+ const { account, debit, credit, description } = ledgerEntries[j];
415
+ const journalEntryId = docId + i;
416
+ const ledgerEntryId = journalEntryId + j;
417
+ const ledgerEntryDoc = Object.assign({ journalEntryId,
418
+ account,
419
+ credit,
420
+ debit,
421
+ equation,
422
+ date }, (description && { description }));
423
+ const entryRef = docRef.collection("@ledgers").doc(ledgerEntryId);
424
+ transaction.set(entryRef, ledgerEntryDoc);
425
+ }
426
+ }
427
+ });
428
+ }
429
+ }
430
+ }
431
+ }
432
+ await writeJournalEntriesFirst();
319
433
  async function distributeTransactionalLogicResults() {
320
434
  const transactionalResults = logicResults.filter((result) => result.transactional);
321
435
  if (transactionalResults.length === 0) {
@@ -323,7 +437,7 @@ async function onFormSubmit(event) {
323
437
  return;
324
438
  }
325
439
  // We always distribute transactional results first
326
- const transactionalDstPathLogicDocsMap = await (0, index_utils_1.expandConsolidateAndGroupByDstPath)(transactionalResults.map((result) => result.documents).flat());
440
+ const transactionalDstPathLogicDocsMap = await (0, index_utils_1.expandConsolidateAndGroupByDstPath)(transactionalResults.map((result) => result.documents).flat().filter((doc) => !doc.journalEntries));
327
441
  // Write to firestore in one transaction
328
442
  await exports.db.runTransaction(async (transaction) => {
329
443
  for (const [dstPath, logicDocs] of transactionalDstPathLogicDocsMap) {
@@ -359,6 +473,7 @@ async function onFormSubmit(event) {
359
473
  const { highPriorityDocs, normalPriorityDocs, lowPriorityDocs } = nonTransactionalResults
360
474
  .map((result) => result.documents)
361
475
  .flat()
476
+ .filter((doc) => !doc.journalEntries)
362
477
  .reduce((acc, doc) => {
363
478
  if (doc.priority === "high") {
364
479
  acc.highPriorityDocs.push(doc);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1199,127 +1199,6 @@ describe("expandConsolidateAndGroupByDstPath", () => {
1199
1199
  expect(consoleWarnSpy.mock.calls[5][0]).toBe("Action delete for dstPath \"path2/doc2\" is being overwritten by action \"delete\"");
1200
1200
  expect(consoleWarnSpy.mock.calls[6][0]).toBe("Action merge ignored because a \"delete\" for dstPath \"path7/doc7\" already exists");
1201
1201
  });
1202
- it("should expand journal entry", async () => {
1203
- const equation = "totalTodos = notStartedCount + inProgressCount + toVerifyCount + requestChangesCount + doneCount";
1204
- const journalEntry = {
1205
- date: firebase_admin_1.firestore.Timestamp.now(),
1206
- ledgerEntries: [
1207
- {
1208
- account: "totalTodos",
1209
- debit: 1,
1210
- credit: 0,
1211
- },
1212
- {
1213
- account: "notStartedCount",
1214
- debit: 0,
1215
- credit: 1,
1216
- },
1217
- ],
1218
- equation: equation,
1219
- };
1220
- const unbalancedJournalEntry = {
1221
- date: firebase_admin_1.firestore.Timestamp.now(),
1222
- ledgerEntries: [
1223
- {
1224
- account: "totalTodos",
1225
- debit: 1,
1226
- credit: 0,
1227
- },
1228
- {
1229
- account: "notStartedCount",
1230
- debit: 0,
1231
- credit: 1,
1232
- },
1233
- {
1234
- account: "inProgressCount",
1235
- debit: 0,
1236
- credit: 1,
1237
- },
1238
- ],
1239
- equation: equation,
1240
- };
1241
- const recordedJournalEntry = {
1242
- date: firebase_admin_1.firestore.Timestamp.now(),
1243
- ledgerEntries: [
1244
- {
1245
- account: "inProgressCount",
1246
- debit: 0,
1247
- credit: 1,
1248
- },
1249
- {
1250
- account: "doneCount",
1251
- debit: 1,
1252
- credit: 0,
1253
- },
1254
- ],
1255
- equation: equation,
1256
- recordEntry: true,
1257
- };
1258
- const zeroJournalEntry = {
1259
- date: firebase_admin_1.firestore.Timestamp.now(),
1260
- ledgerEntries: [
1261
- {
1262
- account: "inProgressCount",
1263
- debit: 1,
1264
- credit: 1,
1265
- },
1266
- {
1267
- account: "doneCount",
1268
- debit: 1,
1269
- credit: 1,
1270
- },
1271
- ],
1272
- equation: equation,
1273
- recordEntry: true,
1274
- };
1275
- const logicResults = [
1276
- {
1277
- name: "logic 1",
1278
- timeFinished: firebase_admin_1.firestore.Timestamp.now(),
1279
- status: "finished",
1280
- documents: [
1281
- { action: "merge", priority: "normal", dstPath: "path1/doc1", journalEntry: journalEntry },
1282
- { action: "create", priority: "normal", dstPath: "path1/doc2", journalEntry: unbalancedJournalEntry },
1283
- ],
1284
- },
1285
- {
1286
- name: "logic 2",
1287
- timeFinished: firebase_admin_1.firestore.Timestamp.now(),
1288
- status: "finished",
1289
- documents: [
1290
- { action: "merge", priority: "normal", dstPath: "path1/doc3", doc: { field1: "value" }, instructions: { field2: "--" } },
1291
- { action: "delete", priority: "low", dstPath: "path1/doc4" },
1292
- { action: "merge", priority: "normal", dstPath: "", journalEntry: journalEntry },
1293
- ],
1294
- },
1295
- {
1296
- name: "logic 3",
1297
- timeFinished: firebase_admin_1.firestore.Timestamp.now(),
1298
- status: "finished",
1299
- documents: [
1300
- { action: "merge", priority: "high", dstPath: "path1/doc5", doc: { field2: "value" }, journalEntry: recordedJournalEntry },
1301
- { action: "create", priority: "normal", dstPath: "path1/doc6", doc: { field3: "value" }, journalEntry: zeroJournalEntry },
1302
- ],
1303
- },
1304
- ];
1305
- // Act
1306
- const logicResultDocs = logicResults.map((logicResult) => logicResult.documents).flat();
1307
- const result = await indexUtils.expandConsolidateAndGroupByDstPath(logicResultDocs);
1308
- // Assert
1309
- const expectedResult = new Map([
1310
- ["path1/doc6", [{ action: "create", priority: "normal", dstPath: "path1/doc6", doc: { field3: "value" } }]],
1311
- ["path1/doc5", [{ action: "merge", priority: "high", dstPath: "path1/doc5", doc: { field2: "value" }, instructions: { doneCount: "-1", inProgressCount: "+1" } }]],
1312
- ["path1/doc5/@ledgers/doc550", [{ action: "create", priority: "high", dstPath: "path1/doc5/@ledgers/doc550", doc: { journalEntryId: "doc55", account: "inProgressCount", credit: 1, debit: 0 } }]],
1313
- ["path1/doc5/@ledgers/doc551", [{ action: "create", priority: "high", dstPath: "path1/doc5/@ledgers/doc551", doc: { journalEntryId: "doc55", account: "doneCount", credit: 0, debit: 1 } }]],
1314
- ["path1/doc4", [{ action: "delete", priority: "low", dstPath: "path1/doc4" }]],
1315
- ["path1/doc3", [{ action: "merge", priority: "normal", dstPath: "path1/doc3", doc: { field1: "value" }, instructions: { field2: "--" } }]],
1316
- ["path1/doc2", [{ action: "create", priority: "normal", dstPath: "path1/doc2" }]],
1317
- ["path1/doc1", [{ action: "merge", priority: "normal", dstPath: "path1/doc1", instructions: { totalTodos: "+1", notStartedCount: "+1" } }]],
1318
- ]);
1319
- expect(consoleErrorSpy.mock.calls[0][0]).toBe("Dst path has no docId");
1320
- expect(consoleErrorSpy.mock.calls[1][0]).toBe("Debit and credit should be equal");
1321
- expect(result).toStrictEqual(expectedResult);
1322
- });
1323
1202
  it("should expand recursive-copy logic results documents to merge logic results", async () => {
1324
1203
  const logicResults = [
1325
1204
  {