@mesh-tech/mesh-cli 0.31.1 → 0.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/mesh.js +162 -42
- package/dist/bin/mesh.js.map +1 -1
- package/dist/build-info.json +2 -2
- package/dist/src/commands/app-check.d.ts +6 -1
- package/dist/src/commands/app-check.js +70 -12
- package/dist/src/commands/create-app.d.ts +3 -0
- package/dist/src/commands/create-app.js +25 -0
- package/dist/src/commands/hub/index.d.ts +6 -1
- package/dist/src/commands/hub/index.js +67 -26
- package/dist/src/commands/temporal.js +1 -1
- package/dist/src/commands/temporal.js.map +1 -1
- package/dist/src/utils/scaffold-versions.d.ts +2 -0
- package/dist/src/utils/scaffold-versions.js +2 -0
- package/fragments/base/index.ts.hbs +104 -0
- package/fragments/base/package.json.hbs +10 -0
- package/fragments/events/api/src/events.ts.hbs +161 -0
- package/fragments/events/schema.ts.hbs +23 -0
- package/fragments/service/api/src/index.ts.hbs +27 -0
- package/package.json +2 -2
- package/skills/core/SKILL.md +3 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/log.ts", "../../../src/utils/pulumi.ts", "../../../src/utils/auth-preflight.ts", "../../../src/utils/errors.ts", "../../../src/utils/first-party-contexts.ts", "../../../src/utils/mesh-json.ts", "../../../src/utils/context.ts", "../../../src/utils/bastion.ts", "../../../src/utils/credentials.ts", "../../../src/utils/vpn.ts", "../../../src/utils/index.ts", "../../../src/utils/pid.ts", "../../../src/utils/vpn-join.ts", "../../../src/utils/pulumi-run.ts", "../../../src/utils/kubeconfig.ts", "../../../src/utils/temporal-auth.ts", "../../../src/utils/reachability.ts", "../../../src/utils/workflow-fingerprint.ts", "../../../src/commands/dev-launch.ts", "../../../src/commands/local/seed.ts", "../../../src/commands/local/helpers.ts", "../../../src/utils/cache-home.ts", "../../../src/commands/local/stack.ts", "../../../src/commands/local/mocks.ts", "../../../../api-registry/src/hub-roles.ts", "../../../../api-registry/src/index.ts", "../../../src/commands/local/mock-idps.ts", "../../../src/commands/local/seed-zitadel.ts", "../../../src/commands/local/auth-provision.ts", "../../../src/commands/local/dev-local.ts", "../../../src/commands/local/docker-runner.ts", "../../../src/utils/stack-flag.ts", "../../../src/commands/peer-addressing.ts", "../../../src/commands/dev-doctor.ts", "../../../src/utils/worktree-identity.ts", "../../../src/commands/dev.ts", "../../../src/utils/tailscale-targets.ts", "../../../src/utils/socks-forward.ts", "../../../src/utils/tunnel-ownership.ts", "../../../src/utils/tailscale.ts", "../../../src/commands/vpn/tunnel.ts", "../../../src/commands/vpn/index.ts", "../../../src/commands/login.ts", "../../../src/utils/aws-auth.ts", "../../../src/utils/capture-history.ts", "../../../src/commands/temporal.ts", "../../../src/utils/recover-conversation.ts", "../../../src/utils/temporal-codec.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;AASA,OAAO,WAAW;AAMX,SAAS,UAAU,MAIf;AACT,QAAM,UAAU,KAAK,YAAY,OAAQ,KAAK,YAAY,OAAO,CAAC,KAAK;AACvE,SAAO,UAAU,IAAI,KAAK,IAAI,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC,OAAO;AAClE;AAEA,SAAS,SAAiB;AACxB,SAAO,MAAM;AAAA,IACX,UAAU;AAAA,MACR,OAAO,CAAC,CAAC,QAAQ,OAAO;AAAA,MACxB,SAAS,QAAQ,IAAI;AAAA,MACrB,KAAK,oBAAI,KAAK;AAAA,IAChB,CAAC;AAAA,EACH;AACF;AAEO,SAAS,QAAQ,SAAuB;AAC7C,UAAQ,MAAM,OAAO,IAAI,MAAM,KAAK,QAAG,GAAG,OAAO;AACnD;AAEO,SAAS,WAAW,SAAuB;AAChD,UAAQ,MAAM,OAAO,IAAI,MAAM,MAAM,QAAG,GAAG,OAAO;AACpD;AAEO,SAAS,QAAQ,SAAuB;AAC7C,UAAQ,MAAM,OAAO,IAAI,MAAM,OAAO,QAAG,GAAG,OAAO;AACrD;AAEO,SAAS,SAAS,SAAuB;AAC9C,UAAQ,MAAM,OAAO,IAAI,MAAM,IAAI,QAAG,GAAG,OAAO;AAClD;AAhDA;AAAA;AAAA;AAAA;AAAA;;;ACIA,SAAS,oBAAoB;AAC7B,YAAY,UAAU;AACtB,YAAY,QAAQ;AAMb,SAAS,YAAY,UAAiC;AAC3D,MAAI,MAAM;AACV,SAAO,MAAM;AACX,QAAO,cAAgB,UAAK,KAAK,aAAa,CAAC,EAAG,QAAO;AACzD,UAAM,SAAc,aAAQ,GAAG;AAC/B,QAAI,WAAW,IAAK,QAAO;AAC3B,UAAM;AAAA,EACR;AACF;AAMO,SAAS,iBAAiB,SAA2B;AAC1D,SAAU,eAAY,OAAO,EAC1B,OAAO,CAAC,MAAM,qBAAqB,KAAK,CAAC,KAAK,MAAM,aAAa,EACjE,IAAI,CAAC,MAAM,EAAE,QAAQ,aAAa,EAAE,EAAE,QAAQ,WAAW,EAAE,CAAC;AACjE;AAKO,SAAS,gBAAgB,SAAgC;AAC9D,MAAI;AACF,UAAM,SAAS,aAAa,UAAU,CAAC,SAAS,aAAa,GAAG;AAAA,MAC9D,UAAU;AAAA,MACV,KAAK;AAAA,MACL,OAAO,CAAC,QAAQ,QAAQ,MAAM;AAAA,IAChC,CAAC;AACD,WAAO,OAAO,KAAK,KAAK;AAAA,EAC1B,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAOO,SAAS,gBAAgB,SAAiB,OAAe,KAA4B;AAC1F,QAAM,aAAkB,UAAK,SAAS,UAAU,KAAK,OAAO;AAC5D,MAAI,CAAI,cAAW,UAAU,EAAG,QAAO;AAEvC,QAAM,UAAa,gBAAa,YAAY,OAAO;AACnD,QAAM,UAAU,IAAI,OAAO,QAAQ,IAAI,QAAQ,uBAAuB,MAAM,CAAC,cAAc,GAAG;AAC9F,QAAM,QAAQ,QAAQ,MAAM,OAAO;AACnC,MAAI,CAAC,MAAO,QAAO;AAEnB,SAAO,MAAM,CAAC,EAAG,KAAK,EAAE,QAAQ,gBAAgB,EAAE;AACpD;AAgBO,SAAS,kBACd,SACA,KACA,WACA,KACQ;AACR,QAAM,UAAU,MAAM,EAAE,GAAG,QAAQ,KAAK,GAAG,IAAI,IAAI;AAEnD,MAAI;AACF,UAAM,SAAS;AAAA,MACb;AAAA,MACA,CAAC,SAAS,UAAU,KAAK,UAAU,GAAG,SAAS;AAAA,MAC/C,EAAE,KAAK,SAAS,UAAU,SAAS,OAAO,CAAC,UAAU,QAAQ,MAAM,GAAG,KAAK,QAAQ;AAAA,IACrF;AAEA,QAAI,OAAO,SAAS,YAAY,GAAG;AACjC,aAAO;AAAA,QACL;AAAA,QACA,CAAC,SAAS,UAAU,KAAK,UAAU,kBAAkB,GAAG,SAAS;AAAA,QACjE,EAAE,KAAK,SAAS,UAAU,SAAS,OAAO,CAAC,UAAU,QAAQ,MAAM,GAAG,KAAK,QAAQ;AAAA,MACrF;AAAA,IACF;AACA,WAAO;AAAA,EACT,SAAS,KAAc;AAGrB,UAAM,SAAU,KAA6B,UAAU;AACvD,QAAI,OAAO,SAAS,MAAM,KAAK,OAAO,SAAS,KAAK,KAAK,OAAO,SAAS,iBAAiB,GAAG;AAC3F,YAAM;AAAA,IACR;AACA,WAAO;AAAA,MACL;AAAA,MACA,CAAC,SAAS,UAAU,KAAK,UAAU,kBAAkB,GAAG,SAAS;AAAA,MACjE,EAAE,KAAK,SAAS,UAAU,SAAS,OAAO,CAAC,UAAU,QAAQ,MAAM,GAAG,KAAK,QAAQ;AAAA,IACrF;AAAA,EACF;AACF;AAnHA;AAAA;AAAA;AAAA;AAAA;;;ACyVO,SAAS,yBAAyB,SAA0B;AACjE,SAAO,mIAAmI;AAAA,IACxI;AAAA,EACF;AACF;AA7VA,IAkDa;AAlDb;AAAA;AAAA;AAkDO,IAAM,gBAAgB;AAAA;AAAA;;;AC1C7B,OAAOA,YAAW;AARlB;AAAA;AAAA;AAAA;AAAA;;;AC+CO,SAAS,oBAAoB,SAAgC;AAClE,MAAI,CAAC,OAAO,OAAO,sBAAsB,OAAO,EAAG,QAAO;AAC1D,QAAM,SAAS,qBAAqB,OAAO;AAC3C,SAAO,OAAO,WAAW,YAAY,SAAS,SAAS;AACzD;AAnDA,IA6Ba;AA7Bb;AAAA;AAAA;AA6BO,IAAM,uBAAyD,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAOlF,YAAY;AAAA,IACd,CAAC;AAAA;AAAA;;;ACrCD;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAiBA;AACA;AACA;AAAA;AAAA;;;ACfA,SAAS,WAAW,2BAA2B;AAJ/C;AAAA;AAAA;AAKA;AAAA;AAAA;;;ACDA;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAPP;AAAA;AAAA;AAQA;AAAA;AAAA;;;ACRA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;;;ACVA;AAAA;AAAA;AAyBA;AAAA;AAAA;;;ACzBA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAmBA;AACA;AACA;AACA;AAAA;AAAA;;;ACtBA;AAAA;AAAA;AAAA;AAAA;;;ACkBA,SAAS,gBAAAC,qBAAoB;AAe7B,eAAsB,oBACpB,QACA,KACA,eAAuB,QACU;AACjC,QAAM,EAAE,WAAAC,YAAW,qBAAAC,qBAAoB,IAAI,MAAM,OAAO,qBAAqB;AAC7E,QAAM,MAAM,IAAID,WAAU,EAAE,QAAQ,QAAQ,IAAI,cAAc,YAAY,CAAC;AAE3E,QAAM,UAAkC,CAAC;AAIzC,iBAAe,OAAO,MAA2C;AAC/D,QAAI;AACF,YAAM,OAAO,MAAM,IAAI,KAAK,IAAIC,qBAAoB,EAAE,MAAM,MAAM,gBAAgB,KAAK,CAAC,CAAC;AACzF,aAAO,KAAK,WAAW,SAAS;AAAA,IAClC,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AAEA,MAAI;AAEF,UAAM,aAAa,kBAAkB,MAAM,IAAI,GAAG;AAClD,UAAM,eAAe,kBAAkB,MAAM,IAAI,GAAG;AAEpD,UAAM,aAAa,MAAM,OAAO,UAAU;AAC1C,QAAI,YAAY;AACd,YAAM,SAAS,KAAK,MAAM,UAAU;AACpC,cAAQ,0BAA0B,OAAO;AACzC,cAAQ,8BAA8B,OAAO;AAAA,IAC/C;AAGA,UAAM,eAAe,MAAM,OAAO,YAAY;AAC9C,QAAI,cAAc;AAChB,YAAM,WAAW,KAAK,MAAM,YAAY;AACxC,cAAQ,mCAAmC,SAAS;AACpD,cAAQ,uCAAuC,SAAS;AAAA,IAC1D;AAIA,UAAM,eAAe,MAAM,OAAO,kBAAkB,YAAY,IAAI,GAAG,mBAAmB;AAC1F,QAAI,cAAc;AAChB,YAAM,WAAW,KAAK,MAAM,YAAY;AACxC,UAAI,SAAS,SAAU,SAAQ,iBAAiB,SAAS;AACzD,UAAI,SAAS,UAAW,SAAQ,qBAAqB,SAAS;AAAA,IAChE;AAGA,QAAI,CAAC,QAAQ,yBAAyB;AACpC,YAAM,iBAAiB,MAAM,OAAO,mCAAmC;AACvE,YAAM,qBAAqB,MAAM,OAAO,uCAAuC;AAC/E,UAAI,kBAAkB,oBAAoB;AACxC,gBAAQ,0BAA0B;AAClC,gBAAQ,8BAA8B;AAAA,MACxC;AAAA,IACF;AAGA,QAAI,CAAC,QAAQ,gBAAgB;AAC3B,UAAI;AACF,cAAM,SAASF;AAAA,UACb;AAAA,UACA;AAAA,YACE;AAAA,YACA;AAAA,YACA;AAAA,YACA,YAAY,GAAG;AAAA,YACf;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,EAAE,UAAU,SAAS,SAAS,KAAQ,OAAO,CAAC,QAAQ,QAAQ,MAAM,EAAE;AAAA,QACxE,EAAE,KAAK;AAEP,YAAI,QAAQ;AACV,gBAAM,UAAU,KAAK,MAAM,MAAM;AACjC,qBAAW,KAAK,SAAS;AACvB,gBAAI,EAAE,SAAS,wBAAwB,EAAE,SAAS,CAAC,QAAQ,gBAAgB;AACzE,sBAAQ,iBAAiB,EAAE;AAAA,YAC7B;AACA,gBAAI,EAAE,SAAS,wBAAwB,EAAE,SAAS,CAAC,QAAQ,oBAAoB;AAC7E,sBAAQ,qBAAqB,EAAE;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,SAAS,KAAK;AACZ,cAAM,SAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAC9D,cAAM,SAAS,OAAQ,KAA8B,UAAU,EAAE;AACjE,YAAI,+CAA+C,KAAK,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG;AAC9E;AAAA,YACE;AAAA,UAGF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,QAAI,QAAQ,2BAA2B,QAAQ,gBAAgB;AAC7D,iBAAW,mCAAmC,QAAQ,uBAAuB,GAAG;AAAA,IAClF,WAAW,OAAO,KAAK,OAAO,EAAE,SAAS,GAAG;AAC1C,cAAQ,2DAA2D;AAAA,IACrE;AAAA,EACF,SAAS,KAAK;AACZ;AAAA,MACE,6CAA6C,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAAA,IAC/F;AAAA,EACF;AAEA,SAAO;AACT;AAaA,eAAsB,sBACpB,OAA2C,CAAC,GACf;AAC7B,QAAM,YAAY,KAAK,kBAAkB,QAAQ,IAAI;AACrD,QAAM,YAAY,KAAK,sBAAsB,QAAQ,IAAI;AACzD,QAAM,WAAW,KAAK,2BAA2B,QAAQ,IAAI;AAC7D,QAAM,eAAe,KAAK,+BAA+B,QAAQ,IAAI;AAErE,MAAI,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc;AAC5C,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,CAAC,QAAQ;AACxB,MAAI,WAAW;AACb,WAAO,KAAK,kCAAkC,SAAS,MAAM;AAI7D,QAAI,QAAQ,IAAI,kCAAkC,QAAQ;AACxD,aAAO,KAAK,oCAAoC;AAAA,IAClD;AAAA,EACF;AAEA,QAAM,WAAW,MAAM,MAAM,GAAG,SAAS,mBAAmB;AAAA,IAC1D,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,oCAAoC;AAAA,IAC/D,MAAM,IAAI,gBAAgB;AAAA,MACxB,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,eAAe;AAAA,MACf,OAAO,OAAO,KAAK,GAAG;AAAA,IACxB,CAAC;AAAA,EACH,CAAC;AAED,MAAI,CAAC,SAAS,IAAI;AAChB,UAAM,OAAO,MAAM,SAAS,KAAK;AACjC,UAAM,IAAI;AAAA,MACR,sCAAsC,SAAS,MAAM,IAAI,SAAS,UAAU,WAAM,IAAI;AAAA,IACxF;AAAA,EACF;AAEA,QAAM,OAAQ,MAAM,SAAS,KAAK;AAClC,SAAO,KAAK;AACd;AA3MA;AAAA;AAAA;AAmBA;AAAA;AAAA;;;ACnBA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAgBa,cACA,WAaA,mBAOP,mBA4EO,mBAIA;AArHb;AAAA;AAAA;AAaA;AACA;AAEO,IAAM,eAAe;AACrB,IAAM,YAAY;AAalB,IAAM,oBAAoB,kBAAkB,YAAY,IAAI,SAAS;AAO5E,IAAM,oBAAkE;AAAA,MACtE;AAAA,QACE,KAAK;AAAA,QACL,MAAM,KAAK;AAAA,UACT;AAAA,YACE,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,SAAS;AAAA,YACT,MAAM;AAAA,YACN,OAAO,CAAC,EAAE,QAAQ,UAAU,UAAU,OAAO,aAAa,gBAAgB,CAAC;AAAA,UAC7E;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AA6DO,IAAM,oBAAoB,kBAAkB,YAAY,IAAI,SAAS;AAIrE,IAAM,qBAAqB,GAAG,YAAY,IAAI,SAAS;AAAA;AAAA;;;ACrH9D;AAAA;AAAA;AAQA;AAAA;AAAA;;;ACRA;AAAA;AAAA;AAAA;AAAA;;;ACaA,SAAS,SAAS,iBAAiB;AAbnC,IAuMa;AAvMb;AAAA;AAAA;AAUA;AAIA;AACA;AACA;AAuLO,IAAM,mBAAmB;AAAA;AAAA;;;ACvMhC;AAAA;AAAA;AAkFA;AACA;AACA;AACA;AACA;AAAA;AAAA;;;ACoMO,SAAS,oBAAoB,SAA6B;AAC/D,QAAM,UAAU,CAAC,GAAG,IAAI,IAAI,QAAQ,OAAO,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK;AACnE,aAAW,UAAU,SAAS;AAC5B,eAAW,OAAO,CAAC,wBAAwB,sBAAsB,GAAG;AAClE,UAAI,OAAO,SAAS,GAAG,GAAG;AACxB,cAAM,IAAI;AAAA,UACR,qCAAqC,MAAM,sCACrC,GAAG;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG,QAAQ;AAAA,MAAQ,CAAC,WAClB,qBAAqB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,sBAAsB,GAAG,MAAM,EAAE;AAAA,IAChF;AAAA,EACF;AACF;AA5SA,IAyEa,iBAMA,sBAgBA,sBAMA,iBA4BA,gBAWA,gBAqDA,wBASA,wBAEP,YACA;AA7MN;AAAA;AAAA;AAyEO,IAAM,kBAAkB,CAAC,OAAO,OAAO;AAMvC,IAAM,uBAAuB,CAAC,aAAa,WAAW,UAAU,MAAM;AAgBtE,IAAM,uBAAuB;AAM7B,IAAM,kBAAkB,CAAC,oBAAoB;AA4B7C,IAAM,iBAAiB;AAAA,MAC5B,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAQO,IAAM,iBAAiB;AAAA,MAC5B,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAkDO,IAAM,yBAAyB;AAS/B,IAAM,yBAAyB;AAEtC,IAAM,aAAa,IAAI,IAAY,oBAAoB;AACvD,IAAM,SAAS,IAAI,IAAY,eAAe;AAAA;AAAA;;;ACtM9C,SAAS,SAAS;AAPlB,IAiCa,qBAoBA,yBAiDA,yBAmDA,sBAqCA,2BAmLA,kBAUA,wBA8GA,yBAoUA;AA7yBb;AAAA;AAAA;AAw2BA;AAv0BO,IAAM,sBAAsB,EAAE,OAAO;AAAA,MAC1C,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;AAAA,MAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;AAAA,IAC/B,CAAC;AAiBM,IAAM,0BAA0B,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,mBAAmB;AAiD/E,IAAM,0BAA0B,EAAE,MAAM;AAAA,MAC7C,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;AAAA,MACzC,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;AAAA,IACpD,CAAC;AAgDM,IAAM,uBAAuB,EAAE,KAAK,CAAC,OAAO,QAAQ,CAAC;AAqCrD,IAAM,4BAA4B,EAAE,mBAAmB,WAAW;AAAA,MACvE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,SAAS,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;AAAA,MAC7E,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,UAAU,EAAE,CAAC;AAAA,IAC7C,CAAC;AAgLM,IAAM,mBAAmB,EAAE,OAAO;AAAA,MACvC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS;AAAA,MACpD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS;AAAA,IAC1F,CAAC;AAOM,IAAM,yBAAyB,EAAE,OAAO;AAAA,MAC7C,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;AAAA,MACpD,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,MACtB,MAAM,qBAAqB,SAAS;AAAA,MACpC,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,MAC9B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,MAC7B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,MAC3B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,MACjC,UAAU;AAAA,MACV,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS;AAAA,MAClE,MAAM,EAAE,OAAO;AAAA,QACb,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,QACrB,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,QAC7B,SAAS,EACN,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,EACjE,SAAS;AAAA,QACZ,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,QACpC,UAAU,0BAA0B,SAAS;AAAA,MAC/C,CAAC;AAAA,MACD,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC;AAAA;AAAA;AAAA,MAG9B,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS;AAAA,MACtD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS;AAAA,MACrD,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,MACvC,YAAY,wBAAwB,SAAS;AAAA,MAC7C,QAAQ,wBAAwB,SAAS;AAAA,MACzC,qBAAqB,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS;AAAA,IAC3D,CAAC;AAkFM,IAAM,0BAA0B,EAAE,OAAO;AAAA,MAC9C,UAAU,EAAE,QAAQ,IAAI;AAAA,MACxB,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,MACtB,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,MAC9B,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,MAC1B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,MAC3B,mBAAmB,EAAE,OAAO,EAAE,SAAS;AAAA,MACvC,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,MAC3C,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,MACxB,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,MACjC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,OAAO,CAAC,CAAC;AAAA,MAC3C,UAAU,EAAE,KAAK,CAAC,QAAQ,MAAM,CAAC;AAAA,MACjC,gBAAgB,EAAE,OAAO,EAAE,SAAS;AAAA,MACpC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC;AAAA,MAC9B,kBAAkB,EAAE,QAAQ;AAAA,MAC5B,YAAY,wBAAwB,SAAS;AAAA,MAC7C,QAAQ,wBAAwB,SAAS;AAAA,MACzC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,IAC7B,CAAC;AAkTM,IAAM,wBAAwB,EAAE,OAAO;AAAA,MAC5C,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,MACxB,MAAM,EACH;AAAA,QACC,EAAE,OAAO;AAAA,UACP,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,UACrB,KAAK,EAAE,QAAQ,KAAK;AAAA,UACpB,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,UACnB,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,UACnB,KAAK,EAAE,OAAO,EAAE,SAAS;AAAA,UACzB,KAAK,EAAE,OAAO,EAAE,SAAS;AAAA,QAC3B,CAAC;AAAA,MACH,EACC,IAAI,CAAC;AAAA,IACV,CAAC;AAAA;AAAA;;;AC3zBD;AAAA;AAAA;AAsBA;AACA;AAAA;AAAA;;;ACvBA,IAoFa,0BACA,WACA,mBACA;AAvFb;AAAA;AAAA;AA8BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA+CO,IAAM,2BAA2B,oBAAoB,gBAAgB;AACrE,IAAM,YAAY,oBAAoB,CAAC,YAAY,CAAC;AACpD,IAAM,oBAAoB,kBAAkB,YAAY,IAAI,SAAS;AACrE,IAAM,wBAAwB,kBAAkB,YAAY,IAAI,SAAS;AAAA;AAAA;;;ACvFhF;AAAA;AAAA;AAmBA;AACA;AACA;AACA;AAAA;AAAA;;;ACtBA;AAAA;AAAA;AAqBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;;;AC9BA;AAAA;AAAA;AAwBA;AACA;AAAA;AAAA;;;ACzBA;AAAA;AAAA;AAUA;AAAA;AAAA;;;ACVA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAmBA;AAEA;AAKA;AAAA;AAAA;;;AC1BA;AAAA;AAAA;AAAA;AAAA;;;ACqBA,SAAkB,cAAc;AAChC,SAAS,wBAAAG,uBAAsB,yBAAAC,8BAA6B;AAtB5D;AAAA;AAAA;AAuBA;AAcA;AAUA;AACA;AACA;AACA;AAOA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AAAA;AAAA;;;AChGA;AAAA;AAAA;AAWA;AACA;AAAA;AAAA;;;ACZA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAeA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;;;ACxBA;AAAA;AAAA;AAWA;AACA;AACA;AAAA;AAAA;;;ACGA,SAAS,gBAAAC,qBAA8C;AA+XvD,SAAS,kBAA0C;AACjD,MAAI;AACF,UAAM,OAAOA,cAAa,aAAa,CAAC,UAAU,QAAQ,GAAG;AAAA,MAC3D,UAAU;AAAA,MACV,OAAO,CAAC,QAAQ,QAAQ,MAAM;AAAA,IAChC,CAAC;AACD,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGO,SAAS,wBAAuC;AACrD,SAAO,gBAAgB,GAAG,gBAAgB;AAC5C;AA9ZA,IAAAC,YAAA;AAAA;AAAA;AAkBA;AACA;AACA;AACA;AAAA;AAAA;;;ACOA,YAAY,UAAU;AACtB,YAAY,YAAY;AACxB,YAAYC,SAAQ;AACpB,YAAYC,WAAU;AACtB,SAAS,gBAAAC,qBAAoB;AAyDtB,SAAS,YAAY,QAAqD;AAC/E,SAAO,OAAO,eACV,GAAG,WAAW,mCAAmC,OAAO,YAAY,SACpE;AACN;AAuDO,SAAS,qBACd,QACA,MACe;AACf,QAAM,MAAqB,EAAE,GAAG,OAAO;AACvC,aAAW,OAAO,CAAC,OAAO,iBAAiB,kBAAkB,cAAc,GAAY;AACrF,UAAM,QAAQ,KAAK,GAAG;AACtB,QAAI,OAAO,UAAU,YAAY,MAAO,KAAI,GAAG,IAAI;AAAA,EACrD;AACA,SAAO;AACT;AAcA,SAAS,aAAyB;AAChC,MAAI,CAAI,eAAW,WAAW,EAAG,QAAO,CAAC;AACzC,MAAI;AACF,WAAO,KAAK,MAAS,iBAAa,aAAa,OAAO,CAAC;AAAA,EACzD,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;AAEO,SAAS,mBAAmB,SAAiB,QAA6B;AAC/E,QAAM,WAAW,WAAW;AAC5B,WAAS,OAAO,IAAI;AACpB,EAAG,cAAU,YAAY,EAAE,WAAW,KAAK,CAAC;AAC5C,EAAG,kBAAc,aAAa,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AACjE;AAgBA,SAAS,iBAAiB,SAAuC;AAC/D,QAAM,SAAS,WAAW;AAC1B,SAAO,OAAO,OAAO,KAAK;AAC5B;AAMA,SAAS,eAAe,SAAyD;AAC/E,QAAM,QAAQ,QAAQ,MAAM,GAAG;AAC/B,MAAI,MAAM,WAAW,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAG,QAAO;AACzD,SAAO,EAAE,QAAQ,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE;AAC3C;AAgBA,eAAe,sBACb,SACA,OAA8C,CAAC,GAChB;AAC/B,QAAM,SAAS,eAAe,OAAO;AACrC,MAAI,CAAC,OAAQ,QAAO;AAEpB,QAAM,EAAE,QAAQ,IAAI,IAAI;AACxB,QAAM,UAAU,kBAAkB,MAAM,IAAI,GAAG;AAC/C,MAAI,CAAC,KAAK,MAAO,SAAQ,iCAAiC,OAAO,KAAK;AAEtE,MAAI;AACF,UAAM,EAAE,WAAAC,YAAW,qBAAAC,qBAAoB,IAAI,MAAM,OAAO,qBAAqB;AAC7E,UAAM,SAAS,QAAQ,IAAI,cAAc,QAAQ,IAAI,sBAAsB;AAC3E,UAAM,MAAM,IAAID,WAAU,EAAE,OAAO,CAAC;AAEpC,UAAM,OAAO,MAAM,IAAI,KAAK,IAAIC,qBAAoB,EAAE,MAAM,QAAQ,CAAC,CAAC;AACtE,UAAM,MAAM,KAAK,WAAW;AAC5B,QAAI,CAAC,KAAK;AACR,UAAI,CAAC,KAAK,OAAQ,SAAQ,iBAAiB,OAAO,eAAe;AACjE,aAAO;AAAA,IACT;AAEA,UAAM,OAAO,KAAK,MAAM,GAAG;AAC3B,UAAM,SAAS,KAAK;AACpB,UAAM,WAAW,KAAK;AAEtB,QAAI,OAAO,WAAW,YAAY,CAAC,QAAQ;AACzC,UAAI,CAAC,KAAK,OAAQ,SAAQ,4CAA4C;AACtE,aAAO;AAAA,IACT;AACA,QAAI,OAAO,aAAa,YAAY,CAAC,UAAU;AAC7C,UAAI,CAAC,KAAK,QAAQ;AAChB;AAAA,UACE;AAAA,QAGF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAEA,UAAM,SAAS,qBAAqB,EAAE,QAAQ,SAAS,GAAG,IAAI;AAC9D,QAAI,KAAK,MAAO,QAAO;AACvB,uBAAmB,SAAS,MAAM;AAClC,eAAW,yCAAyC,OAAO,UAAU;AACrE,WAAO;AAAA,EACT,SAAS,KAAc;AACrB,QAAI,KAAK,OAAQ,QAAO;AACxB,UAAM,UAAU,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAC/D,QAAI,QAAQ,SAAS,cAAc,KAAK,QAAQ,SAAS,aAAa,GAAG;AACvE,cAAQ,+DAA+D;AAIvE,UAAI,oBAAoB,OAAO,KAAK,QAAQ,MAAM,GAAG,EAAE,SAAS,KAAK,GAAG;AACtE,gBAAQ,mEAA8D;AAAA,MACxE,OAAO;AACL,gBAAQ,iEAAiE;AACzE,gBAAQ,sFAAsF;AAAA,MAChG;AAAA,IACF,WAAW,QAAQ,SAAS,mBAAmB,GAAG;AAChD,cAAQ,4BAA4B,OAAO,EAAE;AAC7C,cAAQ,8CAA8C;AAAA,IACxD,OAAO;AACL,cAAQ,yBAAyB,OAAO,EAAE;AAAA,IAC5C;AACA,WAAO;AAAA,EACT;AACF;AAWA,eAAe,eACb,QACA,aAAqB,QACrB,OAA8C,CAAC,GAChB;AAC/B,QAAM,MAAM,eAAe,MAAM;AACjC,MAAI,CAAC,KAAK,MAAO,SAAQ,6BAA6B,GAAG,KAAK;AAE9D,MAAI;AACF,UAAM,aAAa,IAAI,gBAAgB;AACvC,UAAM,UAAU,WAAW,MAAM,WAAW,MAAM,GAAG,GAAI;AACzD,UAAM,OAAO,MAAM,MAAM,KAAK,EAAE,QAAQ,WAAW,OAAO,CAAC;AAC3D,iBAAa,OAAO;AAEpB,QAAI,CAAC,KAAK,IAAI;AACZ,UAAI,CAAC,KAAK,OAAQ,SAAQ,+BAA+B,KAAK,MAAM,EAAE;AACtE,aAAO;AAAA,IACT;AAEA,UAAM,OAAQ,MAAM,KAAK,KAAK;AAC9B,UAAM,SAAS,KAAK;AACpB,UAAM,WAAW,KAAK;AAEtB,QAAI,OAAO,WAAW,YAAY,CAAC,UAAU,OAAO,aAAa,YAAY,CAAC,UAAU;AACtF,UAAI,CAAC,KAAK,OAAQ,SAAQ,yEAAyE;AACnG,aAAO;AAAA,IACT;AAEA,UAAM,SAAS,qBAAqB,EAAE,QAAQ,SAAS,GAAG,IAAI;AAC9D,QAAI,CAAC,KAAK,OAAO;AACf,yBAAmB,YAAY,MAAM;AACrC,iBAAW,yCAAyC,UAAU,EAAE;AAAA,IAClE;AACA,WAAO;AAAA,EACT,SAAS,KAAc;AACrB,QAAI,KAAK,OAAQ,QAAO;AACxB,UAAM,UAAU,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAC/D,QAAI,QAAQ,SAAS,OAAO,GAAG;AAC7B,cAAQ,qBAAqB;AAAA,IAC/B,OAAO;AACL,cAAQ,qBAAqB,OAAO,EAAE;AAAA,IACxC;AACA,WAAO;AAAA,EACT;AACF;AAsBA,SAAS,qBAAsC;AAC7C,MAAI,CAAI,eAAW,gBAAgB,EAAG,QAAO,CAAC;AAC9C,MAAI;AACF,WAAO,KAAK,MAAS,iBAAa,kBAAkB,OAAO,CAAC;AAAA,EAC9D,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;AAEA,SAAS,gBAAgB,SAA2C;AAClE,SAAO,mBAAmB,EAAE,OAAO,KAAK;AAC1C;AAmBO,SAAS,oBAAoBH,OAAc,MAAc,MAAoB;AAClF,QAAM,UAAU,GAAGA,KAAI,IAAI,QAAQ,GAAG,IAAI,oBAAoB;AAC9D,MAAI;AACF,IAAG,kBAAc,SAAS,MAAM,EAAE,KAAK,CAAC;AACxC,IAAG,eAAW,SAASA,KAAI;AAAA,EAC7B,SAAS,KAAK;AACZ,QAAI;AACF,MAAG,eAAW,OAAO;AAAA,IACvB,QAAQ;AAAA,IAER;AACA,UAAM;AAAA,EACR;AACF;AAEA,SAAS,iBAAiB,SAAiB,OAAgC;AACzE,EAAG,cAAU,YAAY,EAAE,WAAW,KAAK,CAAC;AAC5C,QAAM,MAAM,mBAAmB;AAC/B,MAAI,OAAO,IAAI;AACf,sBAAoB,kBAAkB,KAAK,UAAU,KAAK,MAAM,CAAC,GAAG,GAAK;AAC3E;AAuBA,SAAS,UAAU,QAAwB;AACzC,SAAO,OAAO,SAAS,WAAW;AACpC;AAEA,SAAS,uBAA+B;AACtC,SAAO,UAAiB,mBAAY,EAAE,CAAC;AACzC;AAEA,SAAS,sBAAsB,UAA0B;AACvD,SAAO,UAAiB,kBAAW,QAAQ,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC;AACxE;AAEA,SAAS,iBAAiB,OAAwC;AAChE,QAAM,QAAQ,MAAM,MAAM,GAAG;AAC7B,MAAI,MAAM,WAAW,EAAG,OAAM,IAAI,MAAM,aAAa;AACrD,SAAO,KAAK,MAAM,OAAO,KAAK,MAAM,CAAC,GAAI,WAAW,EAAE,SAAS,CAAC;AAClE;AAEA,eAAe,aACb,QACA,UACA,MACA,cACwB;AACxB,QAAM,OAAO,IAAI,gBAAgB;AAAA,IAC/B,YAAY;AAAA,IACZ;AAAA,IACA,cAAc;AAAA,IACd,WAAW;AAAA,IACX,eAAe;AAAA,EACjB,CAAC;AAED,QAAM,OAAO,MAAM,MAAM,GAAG,MAAM,mBAAmB;AAAA,IACnD,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,oCAAoC;AAAA,IAC/D,MAAM,KAAK,SAAS;AAAA,EACtB,CAAC;AAED,MAAI,CAAC,KAAK,IAAI;AACZ,UAAM,OAAO,MAAM,KAAK,KAAK;AAC7B,UAAM,IAAI,MAAM,0BAA0B,KAAK,MAAM,MAAM,IAAI,EAAE;AAAA,EACnE;AAEA,SAAO,KAAK,KAAK;AACnB;AAEA,eAAe,cACb,QACA,UACA,cACwB;AACxB,QAAM,OAAO,IAAI,gBAAgB;AAAA,IAC/B,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,WAAW;AAAA,EACb,CAAC;AAED,QAAM,OAAO,MAAM,MAAM,GAAG,MAAM,mBAAmB;AAAA,IACnD,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,oCAAoC;AAAA,IAC/D,MAAM,KAAK,SAAS;AAAA,EACtB,CAAC;AAED,MAAI,CAAC,KAAK,IAAI;AACZ,UAAM,IAAI,MAAM,yBAAyB,KAAK,MAAM,GAAG;AAAA,EACzD;AAEA,SAAO,KAAK,KAAK;AACnB;AAMA,SAAS,MAAM,SAAiB,QAAsC;AACpE,SAAO,IAAI,QAAQ,CAACI,UAAS,WAAW;AACtC,UAAM,eAAe,qBAAqB;AAC1C,UAAM,gBAAgB,sBAAsB,YAAY;AACxD,UAAM,QAAQ,UAAiB,mBAAY,EAAE,CAAC;AAE9C,UAAM,UAAU,IAAI,IAAI,GAAG,OAAO,MAAM,qBAAqB;AAC7D,YAAQ,aAAa,IAAI,aAAa,OAAO,QAAQ;AACrD,YAAQ,aAAa,IAAI,gBAAgB,YAAY;AACrD,YAAQ,aAAa,IAAI,iBAAiB,MAAM;AAChD,YAAQ,aAAa,IAAI,SAAS,YAAY,MAAM,CAAC;AACrD,YAAQ,aAAa,IAAI,kBAAkB,aAAa;AACxD,YAAQ,aAAa,IAAI,yBAAyB,MAAM;AACxD,YAAQ,aAAa,IAAI,SAAS,KAAK;AAMvC,QAAI;AAEJ,UAAM,SAAc,kBAAa,OAAO,KAAK,QAAQ;AACnD,UAAI;AACF,cAAM,MAAM,IAAI,IAAI,IAAI,OAAO,KAAK,oBAAoB,aAAa,EAAE;AACvE,YAAI,IAAI,aAAa,aAAa;AAChC,cAAI,UAAU,GAAG;AACjB,cAAI,IAAI,WAAW;AACnB;AAAA,QACF;AAEA,cAAM,QAAQ,IAAI,aAAa,IAAI,OAAO;AAC1C,YAAI,OAAO;AACT,gBAAM,OACJ,IAAI,aAAa,IAAI,mBAAmB,KAAK;AAC/C,gBAAM,WAAW,KAAK,QAAQ,MAAM,OAAO,EAAE,QAAQ,MAAM,MAAM,EAAE,QAAQ,MAAM,MAAM,EAAE,QAAQ,MAAM,QAAQ;AAC/G,cAAI,UAAU,KAAK,EAAE,gBAAgB,2BAA2B,CAAC;AACjE,cAAI;AAAA,YACF,uCAAuC,QAAQ;AAAA,UACjD;AACA,mBAAS;AACT,iBAAO,IAAI,MAAM,IAAI,CAAC;AACtB;AAAA,QACF;AAEA,cAAM,gBAAgB,IAAI,aAAa,IAAI,OAAO;AAClD,YAAI,kBAAkB,OAAO;AAC3B,cAAI,UAAU,GAAG;AACjB,cAAI,IAAI,gBAAgB;AACxB,mBAAS;AACT,iBAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC;AAAA,QACF;AAEA,cAAM,OAAO,IAAI,aAAa,IAAI,MAAM;AACxC,YAAI,CAAC,MAAM;AACT,cAAI,UAAU,GAAG;AACjB,cAAI,IAAI,SAAS;AACjB,mBAAS;AACT,iBAAO,IAAI,MAAM,gCAAgC,CAAC;AAClD;AAAA,QACF;AAGA,cAAM,SAAS,MAAM;AAAA,UACnB,OAAO;AAAA,UACP,OAAO;AAAA,UACP;AAAA,UACA;AAAA,QACF;AACA,cAAM,YAAY,iBAAiB,OAAO,QAAQ;AAClD,cAAM,QACH,UAAU,SACV,UAAU,sBACX;AACF,cAAM,MAAM,UAAU;AAItB,YAAI,UAAoB,CAAC;AACzB,YAAI;AACF,gBAAM,gBAAgB,iBAAiB,OAAO,YAAY;AAC1D,oBACG,cAAc,kBAAkB,KAAkB,CAAC;AAAA,QACxD,QAAQ;AAAA,QAER;AAGA,yBAAiB,SAAS;AAAA,UACxB,SAAS,OAAO;AAAA,UAChB,aAAa,OAAO;AAAA,UACpB,cAAc,OAAO;AAAA,UACrB,WAAW,IAAI;AAAA,YACb,KAAK,IAAI,IAAI,OAAO,aAAa;AAAA,UACnC,EAAE,YAAY;AAAA,UACd;AAAA,UACA;AAAA,QACF,CAAC;AAED,YAAI,UAAU,KAAK,EAAE,gBAAgB,2BAA2B,CAAC;AACjE,YAAI;AAAA,UACF,yCAAyC,OAAO;AAAA,QAClD;AAEA,mBAAW,gBAAgB,KAAK,KAAK,OAAO,GAAG;AAC/C,YAAI,QAAQ,SAAS,GAAG;AACtB,kBAAQ,uBAAuB,QAAQ,KAAK,IAAI,CAAC,EAAE;AAAA,QACrD;AACA,8BAAsB,OAAO;AAE7B,iBAAS;AACT,QAAAA,SAAQ;AAAA,MACV,SAAS,KAAK;AACZ,iBAAS;AACT,eAAO,GAAG;AAAA,MACZ;AAAA,IACF,CAAC;AAID,UAAM,WAAW,MAAM;AACrB,UAAI,UAAW,cAAa,SAAS;AACrC,aAAO,sBAAsB;AAC7B,aAAO,MAAM;AAAA,IACf;AAEA,WAAO,OAAO,eAAe,MAAM;AACjC,cAAQ,uCAAuC,OAAO,MAAM;AAE5D,YAAM,MAAM,QAAQ,SAAS;AAC7B,UAAI;AACF,YAAI,QAAQ,aAAa,UAAU;AACjC,UAAAH,cAAa,QAAQ,CAAC,GAAG,GAAG,EAAE,OAAO,SAAS,CAAC;AAAA,QACjD,WAAW,QAAQ,aAAa,SAAS;AACvC,UAAAA,cAAa,YAAY,CAAC,GAAG,GAAG,EAAE,OAAO,SAAS,CAAC;AAAA,QACrD,OAAO;AACL,kBAAQ;AAAA,EAAmC,GAAG,EAAE;AAAA,QAClD;AAAA,MACF,QAAQ;AACN,gBAAQ;AAAA,EAAmC,GAAG,EAAE;AAAA,MAClD;AAAA,IACF,CAAC;AAMD,gBAAY,WAAW,MAAM;AAC3B,eAAS;AACT,aAAO,IAAI,MAAM,oBAAoB,OAAO,CAAC,CAAC;AAAA,IAChD,GAAG,IAAO;AAAA,EACZ,CAAC;AACH;AA4BA,eAAsB,uBACpB,SACA,WAAmB,kBACJ;AACf,WAAS,IAAI,GAAG,KAAK,UAAU,KAAK;AAClC,QAAI,IAAI,EAAG,SAAQ,iDAA4C,CAAC,IAAI,QAAQ,SAAI;AAChF,QAAK,MAAM,QAAQ,CAAC,MAAO,UAAW;AAAA,EACxC;AACA,QAAM,IAAI;AAAA,IACR,oCAAoC,QAAQ;AAAA,EAC9C;AACF;AAEA,eAAe,gBAAgB,SAAiB,QAAsC;AACpF,QAAM,uBAAuB,MAAM,kBAAkB,SAAS,MAAM,CAAC;AACvE;AAEA,eAAe,kBACb,SACA,QACgC;AAEhC,QAAM,OAAO,MAAM,MAAM,GAAG,OAAO,MAAM,kCAAkC;AAAA,IACzE,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,oCAAoC;AAAA,IAC/D,MAAM,IAAI,gBAAgB;AAAA,MACxB,WAAW,OAAO;AAAA,MAClB,OAAO,YAAY,MAAM;AAAA,IAC3B,CAAC,EAAE,SAAS;AAAA,EACd,CAAC;AAED,MAAI,CAAC,KAAK,IAAI;AACZ,UAAM,OAAO,MAAM,KAAK,KAAK;AAC7B,UAAM,IAAI,MAAM,wCAAwC,KAAK,MAAM,MAAM,IAAI,EAAE;AAAA,EACjF;AAEA,QAAM,aAAa,MAAM,KAAK,KAAK;AACnC,QAAM,UAAU,WAAW,6BAA6B,WAAW;AAGnE,UAAQ,IAAI;AACZ,UAAQ;AAAA,CAAkC;AAC1C,UAAQ,KAAK,OAAO;AAAA,CAAI;AACxB,UAAQ,SAAS,WAAW,SAAS,EAAE;AACvC,UAAQ,IAAI;AACZ,UAAQ,8BAA8B;AAGtC,MAAI;AACF,QAAI,QAAQ,aAAa,UAAU;AACjC,MAAAA,cAAa,QAAQ,CAAC,OAAO,GAAG,EAAE,OAAO,SAAS,CAAC;AAAA,IACrD,WAAW,QAAQ,aAAa,SAAS;AACvC,MAAAA,cAAa,YAAY,CAAC,OAAO,GAAG,EAAE,OAAO,SAAS,CAAC;AAAA,IACzD;AAAA,EACF,QAAQ;AAAA,EAAwC;AAGhD,QAAM,WAAW,KAAK,IAAI,IAAI,WAAW,aAAa;AACtD,MAAI,WAAW,WAAW,WAAW;AAErC,SAAO,KAAK,IAAI,IAAI,UAAU;AAC5B,UAAM,IAAI,QAAQ,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEhD,UAAM,YAAY,MAAM,MAAM,GAAG,OAAO,MAAM,mBAAmB;AAAA,MAC/D,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,oCAAoC;AAAA,MAC/D,MAAM,IAAI,gBAAgB;AAAA,QACxB,WAAW,OAAO;AAAA,QAClB,YAAY;AAAA,QACZ,aAAa,WAAW;AAAA,MAC1B,CAAC,EAAE,SAAS;AAAA,IACd,CAAC;AAED,QAAI,UAAU,IAAI;AAChB,YAAM,SAAS,MAAM,UAAU,KAAK;AACpC,YAAM,YAAY,iBAAiB,OAAO,QAAQ;AAClD,YAAM,QAAS,UAAU,SAAqB,UAAU,sBAAiC;AACzF,YAAM,MAAM,UAAU;AAEtB,UAAI,UAAoB,CAAC;AACzB,UAAI;AACF,cAAM,gBAAgB,iBAAiB,OAAO,YAAY;AAC1D,kBAAW,cAAc,kBAAkB,KAAkB,CAAC;AAAA,MAChE,QAAQ;AAAA,MAA4B;AAEpC,uBAAiB,SAAS;AAAA,QACxB,SAAS,OAAO;AAAA,QAChB,aAAa,OAAO;AAAA,QACpB,cAAc,OAAO;AAAA,QACrB,WAAW,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,aAAa,GAAI,EAAE,YAAY;AAAA,QACvE;AAAA,QACA;AAAA,MACF,CAAC;AAED,iBAAW,gBAAgB,KAAK,KAAK,OAAO,GAAG;AAC/C,UAAI,QAAQ,SAAS,GAAG;AACtB,gBAAQ,uBAAuB,QAAQ,KAAK,IAAI,CAAC,EAAE;AAAA,MACrD;AACA,4BAAsB,OAAO;AAC7B,aAAO;AAAA,IACT;AAEA,UAAM,QAAQ,MAAM,UAAU,KAAK;AACnC,YAAQ,MAAM,OAAO;AAAA,MACnB,KAAK;AACH;AAAA,MACF,KAAK;AACH,oBAAY;AACZ;AAAA,MACF,KAAK;AACH,eAAO;AAAA;AAAA,MACT,KAAK;AACH,cAAM,IAAI,MAAM,+BAA+B;AAAA,MACjD;AACE,cAAM,IAAI,MAAM,0BAA0B,MAAM,KAAK,WAAM,MAAM,qBAAqB,EAAE,EAAE;AAAA,IAC9F;AAAA,EACF;AAEA,SAAO;AACT;AAYO,SAAS,oBAAoB,SAAyB;AAC3D,QAAM,OAAO;AACb,MAAI,YAAY,QAAS,QAAO;AAChC,SACE,GAAG,IAAI;AAGX;AAYO,SAAS,sBAA+B;AAE7C,MAAI,QAAQ,IAAI,qBAAqB,QAAQ,IAAI,WAAY,QAAO;AACpE,MAAO,eAAW,aAAa,EAAG,QAAO;AAEzC,MAAI,QAAQ,IAAI,cAAc,QAAQ,IAAI,QAAS,QAAO;AAO1D,MAAI,CAAC,QAAQ,OAAO,SAAS,CAAC,QAAQ,MAAM,MAAO,QAAO;AAC1D,SAAO;AACT;AAMA,SAAS,sBAAsB,SAAuB;AAEpD,MAAI,YAAY,0BAA2B;AAC3C,MAAI;AACF,UAAM,QAAQ,sBAAsB;AACpC,QAAI,UAAU,WAAW;AACvB,cAAQ,IAAI,EAAE;AACd,cAAQ,iDAAiD;AACzD,cAAQ,sBAAsB,OAAO,EAAE;AAAA,IACzC;AAAA,EACF,QAAQ;AAAA,EAER;AACF;AA+eO,SAAS,gBAAgB,WAAmB,WAAW,GAAG,MAAM,KAAK,IAAI,GAAY;AAC1F,SAAO,IAAI,KAAK,SAAS,EAAE,QAAQ,IAAI,WAAW;AACpD;AAEA,eAAe,cACb,SACA,OAA8B,CAAC,GACP;AACxB,QAAM,SAAS,iBAAiB,OAAO;AACvC,MAAI,CAAC,OAAQ,QAAO;AAEpB,QAAM,QAAQ,gBAAgB,OAAO;AACrC,MAAI,CAAC,MAAO,QAAO;AAEnB,MAAI,gBAAgB,MAAM,WAAW,KAAK,YAAY,CAAC,GAAG;AACxD,WAAO,MAAM;AAAA,EACf;AACA,SAAO,YAAY,SAAS,QAAQ,KAAK;AAC3C;AAYA,eAAe,YACb,SACA,QACA,OACwB;AACxB,MAAI,CAAC,MAAM,aAAc,QAAO;AAChC,MAAI;AACJ,MAAI;AACF,aAAS,MAAM,cAAc,OAAO,QAAQ,OAAO,UAAU,MAAM,YAAY;AAAA,EACjF,QAAQ;AACN,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ,MAAM;AAClB,MAAI;AACF,YAAS,iBAAiB,OAAO,QAAQ,EAAE,SAAoB,MAAM;AAAA,EACvE,QAAQ;AAAA,EAER;AAEA,MAAI;AACF,qBAAiB,SAAS;AAAA,MACxB,GAAG;AAAA,MACH,SAAS,OAAO;AAAA,MAChB,aAAa,OAAO;AAAA,MACpB,cAAc,OAAO,iBAAiB,MAAM;AAAA,MAC5C,WAAW,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,aAAa,GAAI,EAAE,YAAY;AAAA,MACvE;AAAA,IACF,CAAC;AAAA,EACH,SAAS,KAAK;AACZ;AAAA,MACE,iBAAiB,OAAO,iCAAiC,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAAA,IAE3G;AAAA,EACF;AACA,SAAO,OAAO;AAChB;AA6NA,eAAsB,aACpB,SACA,QACA,OAA6B,CAAC,GACf;AACf,QAAM,YAAY,KAAK,UAAU,oBAAoB;AACrD,MAAI,WAAW;AACb,YAAQ,wBAAwB;AAChC,UAAM,gBAAgB,SAAS,MAAM;AAAA,EACvC,OAAO;AACL,UAAM,MAAM,SAAS,MAAM;AAAA,EAC7B;AACF;AAEA,eAAe,iBACb,SACA,QACA,MACwB;AACxB,MAAI,QAAQ,MAAM,cAAc,OAAO;AACvC,MAAI,MAAO,QAAO;AAElB,UAAQ,gCAAgC,OAAO,4BAAuB;AAItE,QAAM,UAAU,MAAM,yBAAyB,SAAS,MAAM;AAC9D,MAAI;AACF,UAAM,aAAa,SAAS,SAAS,IAAI;AAAA,EAC3C,SAAS,KAAK;AACZ,aAAS,iBAAkB,IAAc,OAAO,EAAE;AAClD,WAAO;AAAA,EACT;AACA,SAAO,MAAM,cAAc,OAAO;AACpC;AAUA,eAAsB,YACpB,SACA,OAAoD,CAAC,GAClB;AACnC,QAAM,WAAW,gBAAgB,OAAO;AACxC,MAAI,YAAY,IAAI,KAAK,SAAS,SAAS,IAAI,oBAAI,KAAK,EAAG,QAAO;AAKlE,MAAI,KAAK,gBAAgB,MAAO,QAAO;AAOvC,QAAM,SAAS,iBAAiB,OAAO,KAAM,MAAM,sBAAsB,OAAO;AAChF,MAAI,CAAC,QAAQ;AACX,YAAQ,wBAAwB,OAAO,sBAAsB,OAAO,EAAE;AACtE,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,MAAM,iBAAiB,SAAS,QAAQ,IAAI;AAC1D,MAAI,CAAC,MAAO,QAAO;AACnB,SAAO,gBAAgB,OAAO;AAChC;AAmBA,eAAe,sBACb,SACA,OAA8C,CAAC,GAChB;AAC/B,MAAI,SAA+B;AACnC,MAAI,eAAe,OAAO,GAAG;AAC3B,aAAS,MAAM,sBAAsB,SAAS,IAAI;AAAA,EACpD;AACA,MAAI,CAAC,QAAQ;AACX,UAAM,SAAS,oBAAoB,OAAO;AAC1C,QAAI,QAAQ;AACV,UAAI,CAAC,KAAK,OAAO;AACf,gBAAQ,IAAI,OAAO,mDAA8C,MAAM,kBAAkB;AAAA,MAC3F;AACA,eAAS,MAAM,eAAe,QAAQ,SAAS,IAAI;AAAA,IACrD;AAAA,EACF;AACA,MAAI,CAAC,UAAU,QAAQ,MAAM,GAAG,EAAE,SAAS,KAAK,GAAG;AACjD,aAAS,MAAM,eAAe,SAAS,SAAS,IAAI;AAAA,EACtD;AACA,SAAO;AACT;AAmBA,eAAsB,yBACpB,SACA,QACA,WAGqC,uBACrC,QAA0D,oBAClC;AACxB,MAAI,OAAO,aAAc,QAAO;AAChC,QAAM,QAAQ,MAAM,SAAS,SAAS,EAAE,OAAO,MAAM,QAAQ,KAAK,CAAC;AACnE,MAAI,CAAC,OAAO,aAAc,QAAO;AACjC,QAAM,SAAS,EAAE,GAAG,QAAQ,cAAc,MAAM,aAAa;AAC7D,QAAM,SAAS,MAAM;AACrB,UAAQ,GAAG,OAAO,+BAA+B,MAAM,YAAY,qDAAgD;AACnH,SAAO;AACT;AArxDA,IAuDM,YAIA,aACA,kBAEA,eACA,cAQA,aAkUF,oBA8SE,kBAgjBO;AAvuCb;AAAA;AAAA;AAiCA;AACA;AACA;AAcA;AACA,IAAAI;AAKA,IAAM,aAAkB;AAAA,MACtB,QAAQ,IAAI,mBAAwB,WAAK,QAAQ,IAAI,QAAQ,KAAK,SAAS;AAAA,MAC3E;AAAA,IACF;AACA,IAAM,cAAmB,WAAK,YAAY,aAAa;AACvD,IAAM,mBAAwB,WAAK,YAAY,kBAAkB;AAEjE,IAAM,gBAAgB;AACtB,IAAM,eAAe,oBAAoB,aAAa;AAQtD,IAAM,cACJ;AAiUF,IAAI,qBAAqB;AA8SzB,IAAM,mBAAmB;AAgjBlB,IAAM,4BAA4B;AAAA;AAAA;;;AC3tCzC,YAAYC,SAAQ;AACpB,YAAYC,WAAU;AACtB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAiBA,SAAS,sBAAsB,SAAiB,OAA8B;AACnF,QAAM,aAAkB,WAAK,SAAS,UAAU,KAAK,OAAO;AAC5D,MAAI,CAAI,eAAW,UAAU,EAAG,QAAO;AAEvC,QAAM,UAAa,iBAAa,YAAY,OAAO;AAGnD,QAAM,YAAY,QAAQ,MAAM,gCAAgC;AAChE,MAAI,WAAW;AACb,QAAI;AACF,YAAM,SAAS,KAAK,MAAM,UAAU,CAAC,CAAE;AACvC,UAAI,OAAO,QAAQ,OAAO,IAAK,QAAO,GAAG,OAAO,IAAI,IAAI,OAAO,GAAG;AAAA,IACpE,QAAQ;AAAA,IAER;AAAA,EACF;AAGA,QAAM,YAAY,QAAQ,MAAM,qCAAqC;AACrE,QAAM,WAAW,QAAQ,MAAM,oCAAoC;AACnE,MAAI,aAAa,UAAU;AACzB,WAAO,GAAG,UAAU,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;AAAA,EACvC;AAEA,SAAO;AACT;AAgNA,SAAS,eAA0B;AACjC,SAAO,IAAI,UAAU,EAAE,QAAQ,eAAe,CAAC;AACjD;AAGA,SAAS,MAAM,aAImB;AAChC,QAAM,EAAE,aAAa,iBAAiB,aAAa,IAAI;AACvD,MAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,aAAc,QAAO;AAC9D,SAAO;AAAA,IACL,mBAAmB;AAAA,IACnB,uBAAuB;AAAA,IACvB,mBAAmB;AAAA,EACrB;AACF;AAMA,SAAS,0BAA0B,KAAuB;AACxD,MAAI,EAAE,eAAe,OAAQ,QAAO;AACpC,QAAM,UAAU,IAAI,WAAW;AAC/B,SACE,QAAQ,SAAS,oBAAoB,KACrC,QAAQ,SAAS,iBAAiB;AAEtC;AAGA,eAAsB,WACpB,SACA,cAAsB,YACtB,kBAA0B,OACc;AACxC,QAAM,MAAM,aAAa;AACzB,aAAW,YAAY,CAAC,iBAAiB,IAAI,GAAG;AAC9C,QAAI;AACF,YAAM,OAAO,MAAM,IAAI;AAAA,QACrB,IAAI,kBAAkB;AAAA,UACpB,SAAS;AAAA,UACT,iBAAiB;AAAA,UACjB,iBAAiB;AAAA,QACnB,CAAC;AAAA,MACH;AACA,UAAI,CAAC,KAAK,YAAa,QAAO;AAC9B,aAAO,MAAM,KAAK,WAAW;AAAA,IAC/B,SAAS,KAAK;AACZ,UAAI,CAAC,0BAA0B,GAAG,KAAK,aAAa,MAAM;AACxD,cAAM,UAAU,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAC/D,gBAAQ,sBAAsB,OAAO,EAAE;AAGvC,YAAI,yBAAyB,OAAO,GAAG;AACrC,kBAAQ,wEAAmE,aAAa,EAAE;AAAA,QAC5F;AACA,eAAO;AAAA,MACT;AAAA,IAEF;AAAA,EACF;AACA,SAAO;AACT;AAiBA,eAAsB,sBACpB,SACA,SACA,aACA,kBAA0B,OACA;AAE1B,QAAM,MAAM,aAAa;AACzB,aAAW,YAAY,CAAC,iBAAiB,IAAI,GAAG;AAC9C,QAAI;AACF,YAAM,OAAO,MAAM,IAAI;AAAA,QACrB,IAAI,iCAAiC;AAAA,UACnC,SAAS;AAAA,UACT,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,iBAAiB;AAAA,QACnB,CAAC;AAAA,MACH;AACA,UAAI,CAAC,KAAK,YAAa,QAAO;AAC9B,YAAM,MAAM,MAAM,KAAK,WAAW;AAClC,UAAI,CAAC,IAAK,QAAO;AACjB,aAAO;AAAA;AAAA;AAAA;AAAA,QAIL,aAAa,IAAI;AAAA,QACjB,iBAAiB,IAAI;AAAA,QACrB,cAAc,IAAI;AAAA,QAClB,YAAY,KAAK,YAAY,WAAY,YAAY;AAAA,MACvD;AAAA,IACF,SAAS,KAAK;AACZ,UAAI,CAAC,0BAA0B,GAAG,KAAK,aAAa,MAAM;AACxD;AAAA,UACE,qCAAqC,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAAA,QACvF;AACA,eAAO;AAAA,MACT;AAAA,IAEF;AAAA,EACF;AACA,SAAO;AACT;AAGA,eAAsB,0BACpB,SACA,SACA,aACA,kBAA0B,OACc;AACxC,QAAM,QAAQ,MAAM,sBAAsB,SAAS,SAAS,aAAa,eAAe;AACxF,MAAI,CAAC,MAAO,QAAO;AACnB,SAAO,MAAM,KAAK;AACpB;AAuNA,eAAsB,sBACpB,SACA,SACA,OACkC;AAClC,QAAM,WAAW,QAAQ,MAAM,GAAG,EAAE,IAAI,KAAK;AAG7C,MAAI,QAAQ,IAAI,qBAAqB,QAAQ,IAAI,mBAAmB;AAClE,YAAQ,iDAAiD;AACzD,WAAO;AAAA,MACL,KAAK;AAAA,QACH,mBAAmB,QAAQ,IAAI;AAAA,QAC/B,uBAAuB,QAAQ,IAAI,yBAAyB;AAAA,QAC5D,mBAAmB,QAAQ,IAAI;AAAA,MACjC;AAAA,MACA,QAAQ;AAAA,IACV;AAAA,EACF;AAOA,QAAM,kBAAkB,sBAAsB,SAAS,KAAK;AAC5D,MAAI,iBAAiB;AACnB,UAAM,YAAY,MAAM,YAAY,iBAAiB,EAAE,aAAa,MAAM,CAAC;AAC3E,QAAI,WAAW;AACb,YAAM,eAAe,UAAU,SAAS,YACrC,QAAQ,sBAAsB,GAAG,EACjC,MAAM,GAAG,EAAE;AACd,cAAQ,YAAY,QAAQ,iBAAiB,UAAU,SAAS,eAAe,GAAG;AAElF,YAAMC,SAAQ,MAAM,0BAA0B,SAAS,UAAU,SAAS,WAAW;AACrF,UAAIA,QAAO;AACT,mBAAW,WAAW,QAAQ,cAAc;AAC5C,eAAO,EAAE,KAAKA,QAAO,QAAQ,UAAU;AAAA,MACzC;AAEA;AAAA,QACE;AAAA,qBACwB,eAAe;AAAA,MACzC;AAAA,IACF;AAAA,EACF;AAGA,UAAQ,YAAY,QAAQ,cAAc;AAC1C,QAAM,QAAQ,MAAM,WAAW,SAAS,UAAU;AAClD,MAAI,OAAO;AACT,eAAW,WAAW,QAAQ,EAAE;AAChC,WAAO,EAAE,KAAK,OAAO,QAAQ,MAAM;AAAA,EACrC;AAKA,MAAI,mBAAmB,QAAQ,OAAO,OAAO;AAC3C,UAAM,YAAY,MAAM,YAAY,eAAe;AACnD,QAAI,WAAW;AACb,YAAM,eAAe,UAAU,SAAS,YACrC,QAAQ,sBAAsB,GAAG,EACjC,MAAM,GAAG,EAAE;AACd,cAAQ,YAAY,QAAQ,iBAAiB,UAAU,SAAS,eAAe,GAAG;AAClF,YAAM,SAAS,MAAM,0BAA0B,SAAS,UAAU,SAAS,WAAW;AACtF,UAAI,QAAQ;AACV,mBAAW,WAAW,QAAQ,cAAc;AAC5C,eAAO,EAAE,KAAK,QAAQ,QAAQ,UAAU;AAAA,MAC1C;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AArrBA,IAwBM;AAxBN;AAAA;AAAA;AAoBA;AACA;AACA;AAEA,IAAM,iBACJ,QAAQ,IAAI,cAAc,QAAQ,IAAI,sBAAsB;AAAA;AAAA;;;ACzB9D;AAAA;AAAA;AAAA;AAAA;AA2BA,SAAS,qBAAqB;AAc9B,SAAS,UAAU,OAAyC;AAC1D,SACE,SAAS,QACT,OAAO,UAAU,YACjB,cAAc,SACd,UAAU;AAEd;AAaA,eAAsB,uBACpB,MACA,SACiB;AACjB,MAAI,QAAQ,QAAQ,OAAO,SAAS,SAAU,QAAO;AAErD,MAAI,UAAU,IAAI,GAAG;AACnB,UAAM,QAAQ,MAAM,QAAQ,IAAkB;AAC9C,QAAI,UAAU,KAAM,QAAO;AAE3B,SAAK,WAAW,MAAM,YAAY,CAAC;AACnC,SAAK,OAAO,MAAM,QAAQ,IAAI,WAAW,CAAC;AAC1C,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ;AACZ,MAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAW,QAAQ,KAAM,UAAS,MAAM,uBAAuB,MAAM,OAAO;AAAA,EAC9E,OAAO;AACL,eAAW,SAAS,OAAO,OAAO,IAA+B,GAAG;AAClE,eAAS,MAAM,uBAAuB,OAAO,OAAO;AAAA,IACtD;AAAA,EACF;AACA,SAAO;AACT;AA2BA,eAAsB,0BACpB,QACA,WACwB;AACxB,MAAI,oBAAoB;AACxB,MAAI,WAAW;AACb,eAAW,SAAS,QAAQ;AAC1B,2BAAqB,MAAM,uBAAuB,OAAO,SAAS;AAAA,IACpE;AAAA,EACF;AAEA,QAAM,UAAU,KAAK,MAAM,cAAc,EAAE,OAAO,CAAU,CAAC;AAC7D,SAAO,EAAE,SAAS,YAAY,OAAO,QAAQ,kBAAkB;AACjE;AA7HA;AAAA;AAAA;AAAA;AAAA;;;ACkBA;AALA,SAAS,iBAAiB;AAC1B,SAAS,iBAAAC,gBAAe,aAAAC,kBAAiB;AACzC,SAAS,eAAe;AACxB,SAAS,WAAAC,UAAS,QAAAC,OAAM,WAAAC,gBAAe;;;ACgFvC,eAAsB,sBACpB,WACA,eACyB;AAGzB,QAAM,4BAA4B,oBAAI,IAAoB;AAC1D,QAAM,SAAyB,CAAC;AAEhC,aAAW,SAAS,WAAW;AAC7B,UAAM,UAAU,OAAO,MAAM,OAAO;AAEpC,UAAM,YAAY,MAAM;AACxB,QAAI,WAAW;AACb,YAAM,OAAO,UAAU,cAAc;AACrC,UAAI,KAAM,2BAA0B,IAAI,SAAS,IAAI;AACrD;AAAA,IACF;AAEA,UAAM,SAAS,MAAM;AACrB,QAAI,QAAQ,eAAe,uBAAuB;AAChD,aAAO,KAAK;AAAA,QACV;AAAA,QACA,MAAM;AAAA,QACN,SAAS,MAAM,cAAc,OAAO,OAAO,QAAQ;AAAA,MACrD,CAAC;AACD;AAAA,IACF;AAEA,UAAM,YAAY,MAAM;AACxB,QAAI,WAAW;AACb,YAAM,cAAc,OAAO,UAAU,gBAAgB;AACrD,UAAI,0BAA0B,IAAI,WAAW,MAAM,WAAW;AAC5D,eAAO,KAAK;AAAA,UACV;AAAA,UACA,MAAM;AAAA,UACN,SAAS,MAAM,cAAc,UAAU,QAAQ,QAAQ;AAAA,QACzD,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAqCA,eAAsB,wBACpB,WACA,eACyB;AAIzB,MAAI;AACJ,MAAI;AAEJ,QAAM,4BAA4B,oBAAI,IAAoB;AAG1D,MAAI;AAEJ,aAAW,SAAS,WAAW;AAC7B,UAAM,UAAU,OAAO,MAAM,OAAO;AAEpC,UAAM,YAAY,MAAM;AACxB,QAAI,WAAW;AACb,YAAM,OAAO,UAAU,cAAc;AACrC,UAAI,KAAM,2BAA0B,IAAI,SAAS,IAAI;AACrD,UAAI,SAAS,WAAW;AACtB,iCAAyB;AACzB,mCAA2B,UAAU,OAAO;AAO5C,oCAA4B;AAAA,MAC9B;AACA;AAAA,IACF;AAEA,UAAM,YAAY,MAAM;AACxB,QAAI,WAAW;AACb,YAAM,cAAc,OAAO,UAAU,gBAAgB;AACrD,UAAI,0BAA0B,IAAI,WAAW,MAAM,WAAW;AAC5D,oCAA4B,UAAU,QAAQ;AAAA,MAChD;AAAA,IACF;AAAA,EACF;AAEA,MAAI,2BAA2B,OAAW,QAAO,CAAC;AAElD,QAAM,YAAY,MAAM,cAAc,wBAAwB;AAC9D,QAAM,gBAAgB,aAAa,SAAS;AAE5C,QAAM,SAAS,MAAM,cAAc,yBAAyB;AAC5D,QAAM,iBAAiB,aAAa,MAAM;AAE1C,SAAO,CAAC,GAAG,eAAe,GAAG,cAAc;AAC7C;AAGA,SAAS,aAAa,SAAkC;AACtD,MAAI,SAAS,OAAO,KAAK,MAAM,QAAQ,QAAQ,QAAQ,GAAG;AACxD,WAAO,QAAQ;AAAA,EACjB;AACA,SAAO,CAAC;AACV;AAgBA,SAAS,YAAY,SAA0B;AAC7C,MAAI,OAAO,YAAY,SAAU,QAAO;AACxC,MAAI,MAAM,QAAQ,OAAO,GAAG;AAC1B,WAAO,QACJ;AAAA,MACC,CAAC,MACC,CAAC,CAAC,KAAK,OAAO,MAAM,YAAa,EAAyB,SAAS;AAAA,IACvE,EACC,IAAI,CAAC,MAAO,OAAO,EAAE,SAAS,WAAW,EAAE,OAAO,EAAG,EACrD,KAAK,EAAE;AAAA,EACZ;AACA,SAAO;AACT;AAGA,SAAS,cAAc,MAAuB;AAC5C,MAAI;AACF,UAAM,MAAM,KAAK,UAAU,QAAQ,CAAC,CAAC;AACrC,WAAO,IAAI,SAAS,MAAM,IAAI,UAAU,GAAG,EAAE,IAAI,QAAQ;AAAA,EAC3D,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGA,SAAS,eAAe,MAAuC;AAC7D,QAAM,OAAO,OAAO,KAAK,aAAa,WAAW,KAAK,WAAW;AAEjE,QAAM,OAAO,WAAW,OAAO,KAAK,QAAQ,KAAK;AACjD,SAAO,GAAG,IAAI,IAAI,cAAc,IAAI,CAAC;AACvC;AAEA,SAAS,SAAS,GAA0C;AAC1D,SAAO,CAAC,CAAC,KAAK,OAAO,MAAM;AAC7B;AAMA,SAAS,gBAAgB,SAAiC;AACxD,MAAI,CAAC,SAAS,OAAO,EAAG,QAAO;AAE/B,QAAM,WAAW,QAAQ;AACzB,MAAI,MAAM,QAAQ,QAAQ,GAAG;AAC3B,UAAM,QAAkB,CAAC;AACzB,eAAW,KAAK,UAAU;AACxB,UAAI,SAAS,CAAC,KAAK,EAAE,SAAS,QAAQ;AACpC,cAAM,IAAI,YAAY,EAAE,OAAO;AAC/B,YAAI,EAAG,OAAM,KAAK,CAAC;AAAA,MACrB;AAAA,IACF;AACA,QAAI,MAAM,SAAS,EAAG,QAAO,MAAM,KAAK,IAAI;AAAA,EAC9C;AAGA,aAAW,SAAS,CAAC,WAAW,QAAQ,SAAS,GAAY;AAC3D,UAAM,IAAI,QAAQ,KAAK;AACvB,QAAI,OAAO,MAAM,YAAY,EAAG,QAAO;AACvC,UAAM,IAAI,YAAY,CAAC;AACvB,QAAI,EAAG,QAAO;AAAA,EAChB;AACA,SAAO;AACT;AAOA,SAAS,qBACP,SAC8C;AAC9C,MAAI,CAAC,SAAS,OAAO,EAAG,QAAO;AAE/B,QAAM,WAAW,QAAQ;AACzB,MAAI,CAAC,MAAM,QAAQ,QAAQ,GAAG;AAE5B,UAAM,IAAI,YAAY,QAAQ,OAAO,KAAK,YAAY,QAAQ,IAAI;AAClE,WAAO,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,EAAE,IAAI;AAAA,EAC1C;AAEA,MAAI,OAAO;AACX,QAAM,YAAsB,CAAC;AAC7B,aAAW,KAAK,UAAU;AACxB,QAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,YAAa;AAC5C,YAAQ,YAAY,EAAE,OAAO;AAC7B,QAAI,MAAM,QAAQ,EAAE,OAAO,GAAG;AAC5B,iBAAW,KAAK,EAAE,SAAS;AACzB,YAAI,SAAS,CAAC,KAAK,EAAE,SAAS,aAAa;AACzC,oBAAU,KAAK,eAAe,CAAC,CAAC;AAAA,QAClC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,CAAC,QAAQ,UAAU,WAAW,EAAG,QAAO;AAC5C,SAAO,EAAE,MAAM,UAAU;AAC3B;AAWO,SAAS,sBAAsB,QAAgC;AACpE,QAAM,QAAgB,CAAC;AACvB,aAAW,SAAS,QAAQ;AAC1B,QAAI,MAAM,SAAS,cAAc;AAC/B,YAAM,OAAO,gBAAgB,MAAM,OAAO;AAC1C,YAAM;AAAA,QACJ,SAAS,OACL,EAAE,MAAM,QAAQ,MAAM,SAAS,MAAM,QAAQ,IAC7C,EAAE,MAAM,QAAQ,MAAM,YAAY,MAAM,OAAO,GAAG,SAAS,MAAM,QAAQ;AAAA,MAC/E;AAAA,IACF,WAAW,MAAM,SAAS,iBAAiB;AACzC,YAAM,OAAO,qBAAqB,MAAM,OAAO;AAC/C,UAAI,MAAM;AACR,cAAM,KAAK;AAAA,UACT,MAAM;AAAA,UACN,MAAM,KAAK;AAAA,UACX,SAAS,MAAM;AAAA,UACf,GAAI,KAAK,UAAU,SAAS,IAAI,EAAE,WAAW,KAAK,UAAU,IAAI,CAAC;AAAA,QACnE,CAAC;AAAA,MACH,OAAO;AACL,cAAM,KAAK;AAAA,UACT,MAAM;AAAA,UACN,MAAM,YAAY,MAAM,OAAO;AAAA,UAC/B,SAAS,MAAM;AAAA,QACjB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EAEF;AACA,SAAO;AACT;AAEA,SAAS,YAAY,SAAyB;AAC5C,SAAO,uBAAuB,OAAO;AACvC;AAKO,SAAS,yBAAyB,OAAuB;AAC9D,QAAM,SAAmB,CAAC;AAC1B,aAAW,QAAQ,OAAO;AACxB,UAAM,UAAU,KAAK,SAAS,SAAS,YAAY;AACnD,UAAM,QAAkB,CAAC,SAAS,EAAE;AACpC,QAAI,KAAK,KAAM,OAAM,KAAK,KAAK,IAAI;AACnC,QAAI,KAAK,aAAa,KAAK,UAAU,SAAS,GAAG;AAC/C,UAAI,KAAK,KAAM,OAAM,KAAK,EAAE;AAC5B,iBAAW,MAAM,KAAK,UAAW,OAAM,KAAK,gBAAW,EAAE,EAAE;AAAA,IAC7D;AACA,WAAO,KAAK,MAAM,KAAK,IAAI,CAAC;AAAA,EAC9B;AACA,SAAO,OAAO,KAAK,MAAM,IAAI;AAC/B;;;ADtYA;AAOA;AACA;;;AEXA;AAFA,SAAS,gBAAAC,qBAAoB;AAC7B,SAAS,aAAaC,eAAc;AAiB7B,SAAS,kCACd,WACoB;AACpB,QAAM,aAAa,GAAG,SAAS;AAC/B,MAAI;AACF,UAAM,MAAMD;AAAA,MACV;AAAA,MACA;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,EAAE,UAAU,SAAS,SAAS,KAAQ,OAAO,CAAC,QAAQ,QAAQ,MAAM,EAAE;AAAA,IACxE,EAAE,KAAK;AAEP,QAAI,CAAC,IAAK,QAAO;AACjB,WAAO,OAAO,KAAK,KAAK,QAAQ,EAAE,SAAS,OAAO;AAAA,EACpD,QAAQ;AAEN,WAAO;AAAA,EACT;AACF;AAIA,IAAM,qBAAqB;AAC3B,IAAM,YAAY;AAElB,eAAe,UAAU,aAAgD;AACvE,QAAM,UAAU,MAAMC,QAAO,OAAO;AAAA,IAClC;AAAA,IACA,IAAI,YAAY,EAAE,OAAO,WAAW;AAAA,EACtC;AACA,SAAOA,QAAO,OAAO;AAAA,IACnB;AAAA,IACA;AAAA,IACA,EAAE,MAAM,UAAU;AAAA,IAClB;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AACF;AAEA,eAAe,cACb,MACA,KACqB;AACrB,QAAM,KAAK,KAAK,MAAM,GAAG,SAAS;AAClC,QAAM,oBAAoB,KAAK,MAAM,SAAS;AAC9C,QAAM,YAAY,MAAMA,QAAO,OAAO;AAAA,IACpC,EAAE,MAAM,WAAW,GAAG;AAAA,IACtB;AAAA,IACA;AAAA,EACF;AACA,SAAO,IAAI,WAAW,SAAS;AACjC;AA+BA,eAAsB,uBACpB,aAC2B;AAC3B,QAAM,MAAM,MAAM,UAAU,WAAW;AAEvC,SAAO,OAAO,YAAY;AACxB,QAAI,CAAC,SAAS,SAAU,QAAO;AAE/B,UAAM,gBAAgB,QAAQ,SAAS,UAAU;AACjD,QAAI,CAAC,cAAe,QAAO;AAC3B,UAAM,WAAW,IAAI,YAAY,EAAE,OAAO,aAAa;AACvD,QAAI,aAAa,mBAAoB,QAAO;AAE5C,QAAI,CAAC,QAAQ,KAAM,QAAO;AAE1B,QAAI;AACJ,QAAI;AACF,YAAM,YAAY,MAAM,cAAc,QAAQ,MAAM,GAAG;AACvD,cAAQ,sBAAsB,SAAS;AAAA,IACzC,SAAS,KAAK;AACZ,YAAM,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAC3D,aAAO,mBAAmB,GAAG;AAAA,IAC/B;AAEA,WAAO,mBAAmB,KAAK;AAAA,EACjC;AACF;AAuBA,eAAsB,0BACpB,aAC8B;AAC9B,QAAM,MAAM,MAAM,UAAU,WAAW;AAEvC,SAAO,OAAO,YAAY;AACxB,QAAI,CAAC,SAAS,SAAU,QAAO;AAE/B,UAAM,gBAAgB,QAAQ,SAAS,UAAU;AACjD,QAAI,CAAC,cAAe,QAAO;AAC3B,UAAM,WAAW,IAAI,YAAY,EAAE,OAAO,aAAa;AACvD,QAAI,aAAa,mBAAoB,QAAO;AAE5C,QAAI,CAAC,QAAQ,MAAM;AACjB,YAAM,IAAI,MAAM,0CAA0C;AAAA,IAC5D;AAEA,UAAM,YAAY,MAAM,cAAc,QAAQ,MAAM,GAAG;AACvD,WAAO,sBAAsB,SAAS;AAAA,EACxC;AACF;AAgBA,SAAS,WAAW,KAAiB,KAA8C;AACjF,MAAI,QAAQ;AACZ,MAAI,QAAQ;AACZ,MAAI,OAAO;AACX,SAAO,OAAO,IAAI,QAAQ;AACxB,UAAM,OAAO,IAAI,IAAI;AACrB,YAAQ;AACR,cAAU,OAAO,QAAS;AAC1B,SAAK,OAAO,SAAU,EAAG,QAAO,EAAE,OAAO,KAAK;AAC9C,aAAS;AACT,QAAI,SAAS,GAAI,OAAM,IAAI,MAAM,kBAAkB;AAAA,EACrD;AACA,QAAM,IAAI,MAAM,kBAAkB;AACpC;AAEA,SAAS,oBACP,KACA,KACqC;AACrC,QAAM,EAAE,OAAO,QAAQ,MAAM,SAAS,IAAI,WAAW,KAAK,GAAG;AAC7D,QAAM,MAAM,WAAW;AACvB,MAAI,MAAM,IAAI,OAAQ,OAAM,IAAI,MAAM,kCAAkC;AACxE,SAAO,EAAE,OAAO,IAAI,MAAM,UAAU,GAAG,GAAG,MAAM,IAAI;AACtD;AAQA,SAAS,sBAAsB,KAA6B;AAC1D,QAAM,WAAuC,CAAC;AAC9C,MAAI;AACJ,MAAI,MAAM;AAEV,SAAO,MAAM,IAAI,QAAQ;AACvB,UAAM,EAAE,OAAO,KAAK,MAAM,SAAS,IAAI,WAAW,KAAK,GAAG;AAC1D,UAAM,cAAc,QAAQ;AAC5B,UAAM,WAAW,MAAM;AACvB,UAAM;AAEN,QAAI,aAAa,GAAG;AAClB,YAAM,EAAE,OAAO,KAAK,IAAI,oBAAoB,KAAK,GAAG;AACpD,YAAM;AACN,UAAI,gBAAgB,GAAG;AACrB,cAAM,QAAQ,oBAAoB,KAAK;AACvC,YAAI,MAAO,UAAS,MAAM,GAAG,IAAI,MAAM;AAAA,MACzC,WAAW,gBAAgB,GAAG;AAC5B,eAAO;AAAA,MACT;AAAA,IAEF,WAAW,aAAa,GAAG;AAEzB,YAAM,WAAW,KAAK,GAAG,EAAE;AAAA,IAC7B,WAAW,aAAa,GAAG;AACzB,aAAO;AAAA,IACT,WAAW,aAAa,GAAG;AACzB,aAAO;AAAA,IACT,OAAO;AACL,YAAM,IAAI,MAAM,yBAAyB,QAAQ,WAAW,GAAG,EAAE;AAAA,IACnE;AAAA,EACF;AAEA,SAAO,EAAE,UAAU,MAAM,QAAQ,IAAI,WAAW,CAAC,EAAE;AACrD;AAEA,SAAS,oBACP,KAC2C;AAC3C,MAAI;AACJ,MAAI;AACJ,MAAI,MAAM;AAEV,SAAO,MAAM,IAAI,QAAQ;AACvB,UAAM,EAAE,OAAO,KAAK,MAAM,SAAS,IAAI,WAAW,KAAK,GAAG;AAC1D,UAAM,cAAc,QAAQ;AAC5B,UAAM,WAAW,MAAM;AACvB,UAAM;AACN,QAAI,aAAa,GAAG;AAElB,UAAI,aAAa,EAAG,OAAM,WAAW,KAAK,GAAG,EAAE;AAAA,eACtC,aAAa,EAAG,QAAO;AAAA,eACvB,aAAa,EAAG,QAAO;AAAA,UAC3B,OAAM,IAAI,MAAM,kCAAkC,QAAQ,EAAE;AACjE;AAAA,IACF;AACA,UAAM,EAAE,OAAO,KAAK,IAAI,oBAAoB,KAAK,GAAG;AACpD,UAAM;AACN,QAAI,gBAAgB,EAAG,OAAM,IAAI,YAAY,EAAE,OAAO,KAAK;AAAA,aAClD,gBAAgB,EAAG,SAAQ;AAAA,EACtC;AAEA,MAAI,QAAQ,UAAa,UAAU,OAAW,QAAO;AACrD,SAAO,EAAE,KAAK,MAAM;AACtB;AAWA,SAAS,mBAAmB,SAA6B;AACvD,QAAM,OAAO,QAAQ,YAAY,CAAC;AAClC,QAAM,gBAAgB,KAAK,UAAU;AACrC,QAAM,WAAW,gBACb,IAAI,YAAY,EAAE,OAAO,aAAa,IACtC;AACJ,QAAM,OAAO,QAAQ,QAAQ,IAAI,WAAW,CAAC;AAE7C,MAAI,aAAa,cAAe,QAAO;AACvC,MAAI,aAAa,cAAc;AAC7B,UAAM,OAAO,IAAI,YAAY,EAAE,OAAO,IAAI;AAC1C,QAAI;AACF,aAAO,KAAK,UAAU,KAAK,MAAM,IAAI,GAAG,MAAM,CAAC;AAAA,IACjD,QAAQ;AAGN,aAAO;AAAA,IACT;AAAA,EACF;AACA,MAAI,aAAa,eAAgB,QAAO,YAAY,KAAK,MAAM;AAC/D,SAAO,aAAa,QAAQ,KAAK,KAAK,MAAM;AAC9C;AAeO,SAAS,mBAAmB,WAAuC;AACxE,QAAM,UAAU,kCAAkC,SAAS;AAC3D,QAAM,MAAM,WAAW,QAAQ,IAAI;AACnC,MAAI,CAAC,KAAK;AACR;AAAA,MACE,oDACK,SAAS,IAAI,SAAS;AAAA,IAG7B;AACA,WAAO;AAAA,EACT;AACA;AAAA,IACE,UACI,8BAA8B,SAAS,2BACvC;AAAA,EACN;AACA,SAAO;AACT;AAOA,eAAsB,2BACpB,WACuC;AACvC,QAAM,MAAM,mBAAmB,SAAS;AACxC,MAAI,CAAC,IAAK,QAAO;AACjB,SAAO,uBAAuB,GAAG;AACnC;AAQA,eAAsB,8BACpB,WAC0C;AAC1C,QAAM,MAAM,mBAAmB,SAAS;AACxC,MAAI,CAAC,IAAK,QAAO;AACjB,SAAO,0BAA0B,GAAG;AACtC;;;AFvVA,eAAe,kBACb,SACiC;AAEjC,MAAI,QAAQ,WAAW,QAAQ,WAAW;AACxC,WAAO,EAAE,SAAS,QAAQ,SAAS,WAAW,QAAQ,UAAU;AAAA,EAClE;AAGA,MAAI,CAAC,QAAQ,WAAW,QAAQ,IAAI,kBAAkB;AACpD,UAAM,UAAU,QAAQ,IAAI;AAC5B,UAAMC,aAAY,QAAQ,aAAa,QAAQ,IAAI;AACnD,QAAIA,WAAW,QAAO,EAAE,SAAS,WAAAA,WAAU;AAAA,EAC7C;AAGA,QAAM,UAAU,YAAY,QAAQ,IAAI,CAAC;AACzC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI;AAAA,MACR;AAAA,IAEF;AAAA,EACF;AAEA,QAAM,QAAQ,QAAQ,SAAS,gBAAgB,OAAO;AACtD,MAAI,CAAC,OAAO;AACV,UAAM,SAAS,iBAAiB,OAAO;AACvC,UAAM,IAAI;AAAA,MACR;AAAA,KACC,OAAO,SAAS,IACb,cAAc,OAAO,KAAK,IAAI,CAAC;AAAA,yCAC/B;AAAA,IACN;AAAA,EACF;AAEA,QAAM,KAAK,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC;AAGzC,QAAM,eAAe,gBAAgB,SAAS,OAAO,mBAAmB;AACxE,QAAM,WAAW,gBACZ,MAAM,sBAAsB,cAAc,SAAS,KAAK,IAAI,MAC7D;AAOJ,MAAI;AACJ,MAAI;AACJ,MAAI;AACF,UAAM,SAAS,kBAAkB,SAAS,OAAO,IAAI,QAAQ;AAC7D,gBAAY,KAAK,MAAM,MAAM;AAC7B,gBAAY,UAAU,OAAO;AAAA,EAC/B,QAAQ;AAEN,QAAI;AACF,YAAM,SAAS,kBAAkB,SAAS,OAAO,IAAI,QAAQ;AAC7D,kBAAY,KAAK,MAAM,MAAM;AAC7B,kBAAY;AAAA,IACd,QAAQ;AACN,YAAM,IAAI;AAAA,QACR,oCAAoC,KAAK;AAAA;AAAA;AAAA,MAG3C;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAS,WAAW,SAAS;AAEnC,QAAM,YAAY,QAAQ,aAAa,WAAW,aAAa,WAAW;AAE1E,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,MAAM,2CAA2C;AAAA,EAC7D;AACA,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,MAAM,8CAA8C;AAAA,EAChE;AAKA,QAAM,WAAY,WAAW,YAAY,WAAW;AAGpD,QAAM,OAAO,WACT;AAAA,IACE,QAAQ,SAAS,UAAU;AAAA,IAC3B,KAAK,SAAS,OAAO;AAAA,IACrB,cAAc,SAAS,QAAQ,SAAS,UAAU;AAAA,EACpD,IACA;AAEJ,SAAO;AAAA,IACL,SAAS,QAAQ,WAAW,GAAG,OAAO,IAAI,IAAI,OAAO,IAAI;AAAA,IACzD;AAAA,IACA;AAAA,EACF;AACF;AAQA,eAAe,mBACb,MAC6B;AAC7B,MAAI;AACF,UAAM,eACJ,CAAC,CAAC,QAAQ,IAAI,2BAA2B,CAAC,CAAC,QAAQ,IAAI;AACzD,UAAM,OACJ,CAAC,gBAAgB,OACb,MAAM,oBAAoB,KAAK,QAAQ,KAAK,KAAK,KAAK,YAAY,IAClE,CAAC;AACP,WAAO,MAAM,sBAAsB,IAAI;AAAA,EACzC,SAAS,KAAK;AACZ;AAAA,MACE,8BAA8B,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAAA,IAEhF;AACA,WAAO;AAAA,EACT;AACF;AAKA,IAAM,mBAA2C;AAAA,EAC/C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAGA,IAAM,eAAuC;AAAA,EAC3C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAIA,eAAe,iBACb,YACA,OACA,SACe;AACf,QAAM,OAAO,MAAM,QAAQ,OAAO;AAClC,MAAI;AACF,UAAM,OAAO,MAAM,KAAK,WAAW,gBAAgB,0BAA0B;AAAA,MAC3E,WAAW,KAAK;AAAA,MAChB,WAAW,EAAE,YAAY,MAAM;AAAA,IACjC,CAAC;AAED,UAAM,OAAO,KAAK;AAClB,QAAI,CAAC,MAAM;AACT,eAAS,sCAAsC;AAC/C;AAAA,IACF;AAEA,YAAQ,IAAI,eAAe,UAAU,EAAE;AACvC,YAAQ,IAAI,eAAe,KAAK,WAAW,SAAS,SAAS,GAAG,EAAE;AAClE,YAAQ,IAAI,eAAe,KAAK,MAAM,QAAQ,GAAG,EAAE;AACnD,YAAQ,IAAI,eAAe,aAAa,KAAK,UAAU,CAAC,KAAK,KAAK,MAAM,EAAE;AAC1E,YAAQ,IAAI,eAAe,KAAK,aAAa,GAAG,EAAE;AAClD,YAAQ,IAAI,eAAe,KAAK,SAAS,EAAE;AAG3C,UAAM,UAAU,KAAK,qBAAqB,CAAC;AAC3C,QAAI,QAAQ,SAAS,GAAG;AACtB,cAAQ,IAAI;AAAA,sBAAyB,QAAQ,MAAM,IAAI;AACvD,iBAAW,MAAM,SAAS;AACxB,gBAAQ,IAAI,OAAO,GAAG,cAAc,QAAQ,GAAG,aAAa,GAAG,OAAO,YAAY,GAAG,KAAK,GAAG;AAAA,MAC/F;AAAA,IACF;AAGA,UAAM,eAAe,KAAK,0BAA0B,CAAC;AACrD,QAAI,aAAa,SAAS,GAAG;AAC3B,cAAQ,IAAI;AAAA,4BAA+B,aAAa,MAAM,IAAI;AAClE,iBAAW,MAAM,cAAc;AAC7B,gBAAQ,IAAI,OAAO,GAAG,aAAa,GAAG,WAAM,GAAG,YAAY,GAAG,YAAY,GAAG,KAAK,GAAG;AAAA,MACvF;AAAA,IACF;AAAA,EACF,UAAE;AACA,SAAK,WAAW,MAAM;AAAA,EACxB;AACF;AAQA,gBAAgB,kBACd,iBACA,WACA,YACA,OACA,kBAAkB,KACG;AACrB,MAAI;AACJ,KAAG;AACD,UAAM,OAAO,MAAM,gBAAgB,4BAA4B;AAAA,MAC7D;AAAA,MACA,WAAW,EAAE,YAAY,MAAM;AAAA,MAC/B;AAAA,MACA;AAAA,IACF,CAAC;AAED,eAAW,SAAS,KAAK,SAAS,UAAU,CAAC,GAAG;AAC9C,YAAM;AAAA,IACR;AAEA,oBAAgB,KAAK,eAAe,SAAS,KAAK,gBAAgB;AAAA,EACpE,SAAS;AACX;AAEA,eAAe,YACb,YACA,OACA,SASe;AACf,QAAM,OAAO,MAAM,QAAQ,OAAO;AAClC,QAAM,YAAY,QAAQ,SAAS,WAAW,SAAS,QAAQ,SAAS,OAAO,EAAE;AAGjF,QAAM,YAAY,oBAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AAMzC,QAAM,YAA0C,QAAQ,eACpD,MAAM,2BAA2B,KAAK,SAAS,IAC/C;AAEJ,MAAI;AACF,QAAI,aAAa;AACjB,QAAI,cAAc;AAElB,YAAQ,IAAI,eAAe,UAAU,gBAAgB,KAAK,SAAS,IAAI,QAAQ,SAAS,iBAAiB,EAAE;AAAA,CAAI;AAG/G,qBAAiB,SAAS;AAAA,MACxB,KAAK,WAAW;AAAA,MAChB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,GAAG;AACD,oBAAc,OAAO,MAAM,OAAO;AAClC,YAAM,YAAY,MAAM,aAAa;AACrC,UAAI,QAAQ,YAAY,SAAS,UAAU,IAAI,SAAS,EAAG;AAC3D,YAAM,WAAW,OAAO,SAAS;AACjC;AACA,UAAI,cAAc,UAAW;AAAA,IAC/B;AAEA,QAAI,CAAC,QAAQ,QAAQ;AACnB,cAAQ,IAAI;AAAA,EAAK,UAAU,gBAAgB;AAC3C;AAAA,IACF;AAGA,UAAM,gBAAgB,oBAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;AACnD,QAAI,OAAO;AAEX,WAAO,CAAC,MAAM;AACZ,UAAI;AACF,cAAM,OAAO,MAAM,KAAK,WAAW,gBAAgB,4BAA4B;AAAA,UAC7E,WAAW,KAAK;AAAA,UAChB,WAAW,EAAE,YAAY,MAAM;AAAA,UAC/B,iBAAiB;AAAA,UACjB,cAAc;AAAA;AAAA,UAEd,GAAI,cAAc,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;AAAA,QAClD,CAAC;AAED,mBAAW,SAAS,KAAK,SAAS,UAAU,CAAC,GAAG;AAC9C,gBAAM,MAAM,OAAO,MAAM,OAAO;AAChC,cAAI,OAAO,YAAa;AACxB,wBAAc;AAEd,gBAAM,YAAY,MAAM,aAAa;AACrC,cAAI,QAAQ,YAAY,SAAS,UAAU,IAAI,SAAS,EAAG;AAC3D,gBAAM,WAAW,OAAO,SAAS;AACjC;AAGA,cAAI,cAAc,IAAI,SAAS,GAAG;AAChC,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF,SAAS,KAAU;AAEjB,YAAI,KAAK,SAAS,KAAqB,KAAK,SAAS,SAAS,WAAW,GAAG;AAC1E,kBAAQ,IAAI,oCAAoC;AAChD,iBAAO;AAAA,QACT,OAAO;AACL,gBAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,IAAI;AAAA,EAAK,UAAU,iCAAiC;AAAA,EAC9D,UAAE;AACA,SAAK,WAAW,MAAM;AAAA,EACxB;AACF;AAEA,eAAe,WACb,OACA,WACe;AACf,QAAM,YAAY,MAAM,aAAa;AACrC,QAAM,WAAW,iBAAiB,SAAS,KAAK,WAAW,SAAS;AACpE,QAAM,KAAK,OAAO,MAAM,OAAO,EAAE,SAAS,CAAC;AAC3C,QAAM,SAAS,mBAAmB,KAAK;AACvC,QAAM,YAAY,SAAS,WAAM,MAAM,KAAK;AAC5C,UAAQ,IAAI,GAAG,EAAE,KAAK,QAAQ,GAAG,SAAS,EAAE;AAE5C,MAAI,CAAC,UAAW;AAMhB,aAAW,SAAS,qBAAqB,KAAK,GAAG;AAC/C,UAAM,WAAW,MAAM,eAAe,MAAM,UAAU,SAAS;AAC/D,QAAI,aAAa,KAAM;AACvB,YAAQ,IAAI,SAAS,MAAM,KAAK,GAAG;AACnC,eAAW,QAAQ,SAAS,MAAM,IAAI,GAAG;AACvC,cAAQ,IAAI,WAAW,IAAI,EAAE;AAAA,IAC/B;AAAA,EACF;AACF;AAYA,SAAS,qBAAqB,OAA4B;AACxD,QAAM,SAAyB,CAAC;AAChC,QAAM,YAAY,CAAC,OAAe,aAA2C;AAC3E,QAAI,YAAY,SAAS,SAAS,EAAG,QAAO,KAAK,EAAE,OAAO,SAAS,CAAC;AAAA,EACtE;AAEA,MAAI,MAAM,yCAAyC;AACjD,cAAU,SAAS,MAAM,wCAAwC,OAAO,QAAQ;AAAA,EAClF;AACA,MAAI,MAAM,2CAA2C;AACnD,cAAU,UAAU,MAAM,0CAA0C,QAAQ,QAAQ;AAAA,EACtF;AACA,MAAI,MAAM,wCAAwC;AAChD,UAAM,UAAU,MAAM,uCAAuC;AAC7D,QAAI,SAAS,QAAS,QAAO,KAAK,EAAE,OAAO,WAAW,UAAU,CAAC,EAAE,WAAW,QAAQ,CAAC,EAAE,CAAC;AAAA,EAC5F;AACA,MAAI,MAAM,0CAA0C;AAClD,cAAU,gBAAgB,MAAM,yCAAyC,OAAO,QAAQ;AAAA,EAC1F;AACA,MAAI,MAAM,sCAAsC;AAC9C,cAAU,SAAS,MAAM,qCAAqC,OAAO,QAAQ;AAAA,EAC/E;AACA,MAAI,MAAM,sCAAsC;AAC9C,cAAU,UAAU,MAAM,qCAAqC,QAAQ,QAAQ;AAAA,EACjF;AACA,MAAI,MAAM,mCAAmC;AAC3C,UAAM,UAAU,MAAM,kCAAkC;AACxD,QAAI,SAAS,QAAS,QAAO,KAAK,EAAE,OAAO,WAAW,UAAU,CAAC,EAAE,WAAW,QAAQ,CAAC,EAAE,CAAC;AAAA,EAC5F;AACA,MAAI,MAAM,wCAAwC;AAChD,UAAM,QAAQ,MAAM,uCAAuC;AAC3D,QAAI,MAAO,WAAU,SAAS,CAAC,KAAK,CAAC;AAAA,EACvC;AACA,MAAI,MAAM,wCAAwC;AAChD,UAAM,SAAS,MAAM,uCAAuC;AAC5D,QAAI,OAAQ,WAAU,UAAU,CAAC,MAAM,CAAC;AAAA,EAC1C;AACA,MAAI,MAAM,qCAAqC;AAC7C,UAAM,UAAU,MAAM,oCAAoC;AAC1D,QAAI,SAAS,QAAS,QAAO,KAAK,EAAE,OAAO,WAAW,UAAU,CAAC,EAAE,WAAW,QAAQ,CAAC,EAAE,CAAC;AAAA,EAC5F;AACA,SAAO;AACT;AASA,eAAe,eACb,UACA,WACwB;AACxB,QAAM,QAAkB,CAAC;AACzB,aAAW,WAAW,UAAU;AAC9B,QAAI,WAAW,OAAO,YAAY,YAAY,eAAe,SAAS;AACpE,YAAM,UAAW,QAAsF;AACvG,YAAM,KAAK,cAAc,OAAO,CAAC;AACjC;AAAA,IACF;AACA,UAAM,UAAU,MAAM,UAAU,OAA0C;AAC1E,QAAI,YAAY,MAAM;AACpB,YAAM,KAAK,yBAAyB;AAAA,IACtC,OAAO;AACL,YAAM,KAAK,OAAO;AAAA,IACpB;AAAA,EACF;AACA,SAAO,MAAM,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI;AACpD;AAEA,SAAS,cAAc,SAA6E;AAClG,QAAM,QAAQ,CAAC,QAAQ,WAAW,cAAc;AAChD,MAAI,QAAQ,WAAY,OAAM,KAAK,QAAQ,UAAU;AACrD,SAAO,MAAM,KAAK,IAAI;AACxB;AAGA,SAAS,mBAAmB,OAA2B;AAErD,MAAI,MAAM,sCAAsC;AAC9C,UAAM,IAAI,MAAM;AAChB,WAAO,aAAa,EAAE,cAAc,QAAQ,GAAG,YAAY,EAAE,WAAW,QAAQ,GAAG;AAAA,EACrF;AAEA,MAAI,MAAM,sCAAsC;AAC9C,WAAO,gBAAgB,MAAM,qCAAqC,gBAAgB;AAAA,EACpF;AAEA,MAAI,MAAM,mCAAmC;AAC3C,UAAM,IAAI,MAAM;AAChB,UAAM,MAAM,EAAE,SAAS,WAAW;AAClC,WAAO,gBAAgB,EAAE,gBAAgB,GAAG,MAAM,YAAY,IAAI,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE;AAAA,EACxF;AAEA,MAAI,MAAM,qCAAqC;AAC7C,WAAO,gBAAgB,MAAM,oCAAoC,gBAAgB;AAAA,EACnF;AAEA,MAAI,MAAM,wCAAwC;AAChD,UAAM,IAAI,MAAM;AAChB,WAAO,aAAa,EAAE,YAAY,GAAG,gBAAgB,EAAE,aAAa,GAAG,cAAc,EAAE,WAAW,GAAG;AAAA,EACvG;AAEA,MAAI,MAAM,wCAAwC;AAChD,WAAO,gBAAgB,MAAM,uCAAuC,gBAAgB;AAAA,EACtF;AACA,MAAI,MAAM,qCAAqC;AAC7C,UAAM,IAAI,MAAM;AAChB,WAAO,gBAAgB,EAAE,gBAAgB,YAAY,EAAE,SAAS,SAAS,MAAM,GAAG,GAAG,KAAK,GAAG;AAAA,EAC/F;AACA,MAAI,MAAM,uCAAuC;AAC/C,WAAO,gBAAgB,MAAM,sCAAsC,gBAAgB;AAAA,EACrF;AAEA,MAAI,MAAM,0CAA0C;AAClD,WAAO,WAAW,MAAM,yCAAyC,cAAc,GAAG;AAAA,EACpF;AAEA,MAAI,MAAM,yCAAyC;AACjD,UAAM,IAAI,MAAM;AAChB,WAAO,SAAS,EAAE,cAAc,QAAQ,GAAG,YAAY,EAAE,WAAW,QAAQ,GAAG;AAAA,EACjF;AAEA,MAAI,MAAM,0CAA2C,QAAO;AAC5D,MAAI,MAAM,wCAAwC;AAChD,WAAO,UAAU,MAAM,uCAAuC,SAAS,SAAS,MAAM,GAAG,GAAG,KAAK,GAAG;AAAA,EACtG;AAEA,MAAI,MAAM,6BAA6B;AACrC,UAAM,MAAM,MAAM,4BAA4B;AAC9C,WAAO,YAAY,MAAM,4BAA4B,OAAO,eAAe,KAAK,WAAW,GAAG;AAAA,EAChG;AACA,MAAI,MAAM,2BAA2B;AACnC,WAAO,YAAY,MAAM,0BAA0B,OAAO;AAAA,EAC5D;AACA,SAAO;AACT;AAUA,eAAe,oBACb,YACA,OACA,SAQe;AACf,QAAM,OAAO,MAAM,QAAQ,OAAO;AAIlC,QAAM,YAAY,MAAM,2BAA2B,KAAK,SAAS;AACjE,MAAI,CAAC,WAAW;AACd,SAAK,WAAW,MAAM;AACtB,UAAM,IAAI;AAAA,MACR;AAAA,IAGF;AAAA,EACF;AAEA,MAAI;AAIF,UAAM,gBAAgB,OACpB,aACqB;AACrB,YAAM,QAAQ,WAAW,CAAC;AAC1B,UAAI,UAAU,OAAW,QAAO;AAChC,YAAM,UAAU,MAAM,UAAU,KAAwC;AACxE,UAAI,YAAY,KAAM,QAAO;AAC7B,UAAI;AACF,eAAO,KAAK,MAAM,OAAO;AAAA,MAC3B,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AAKA,UAAM,YAAY,CAAC;AACnB,qBAAiB,SAAS;AAAA,MACxB,KAAK,WAAW;AAAA,MAChB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,GAAG;AACD,gBAAU,KAAK,KAAK;AAAA,IACtB;AAOA,QAAI,QAAQ,UAAU;AACpB,YAAM,WAAW,MAAM,wBAAwB,WAAW,aAAa;AACvE,YAAM,OAAO;AAAA,QACX,gBAAgB;AAAA,QAChB;AAAA,QACA,WAAW,CAAC;AAAA,QACZ,OAAO;AAAA,MACT;AACA,YAAMC,UAAS,KAAK,UAAU,MAAM,MAAM,CAAC,IAAI;AAC/C,UAAI,QAAQ,KAAK;AACf,QAAAC,eAAc,QAAQ,KAAKD,OAAM;AACjC;AAAA,UACE,mBAAmB,SAAS,MAAM,iBAAiB,QAAQ,GAAG;AAAA,QAChE;AAAA,MACF,OAAO;AACL,gBAAQ,OAAO,MAAMA,OAAM;AAAA,MAC7B;AACA;AAAA,IACF;AAEA,UAAM,SAAS,MAAM,sBAAsB,WAAW,aAAa;AACnE,UAAM,QAAQ,sBAAsB,MAAM;AAE1C,UAAM,SAAS,QAAQ,OACnB,KAAK;AAAA,MACH;AAAA,QACE,OAAO,MAAM,IAAI,CAAC,OAAO;AAAA,UACvB,MAAM,EAAE;AAAA,UACR,MAAM,EAAE;AAAA,UACR,GAAI,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,IAAI,CAAC;AAAA,QAClD,EAAE;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,OACJ,yBAAyB,KAAK;AAElC,QAAI,QAAQ,KAAK;AACf,MAAAC,eAAc,QAAQ,KAAK,MAAM;AACjC,iBAAW,SAAS,MAAM,MAAM,aAAa,QAAQ,GAAG,EAAE;AAAA,IAC5D,OAAO;AACL,cAAQ,OAAO,MAAM,MAAM;AAAA,IAC7B;AAAA,EACF,UAAE;AACA,SAAK,WAAW,MAAM;AAAA,EACxB;AACF;AAoBA,eAAe,eACb,YACA,OACA,SAMe;AACf,QAAM,OAAO,MAAM,QAAQ,OAAO;AAKlC,QAAM,YAAY,MAAM,8BAA8B,KAAK,SAAS;AACpE,MAAI,CAAC,WAAW;AACd,SAAK,WAAW,MAAM;AACtB,UAAM,IAAI;AAAA,MACR;AAAA,IAIF;AAAA,EACF;AAEA,MAAI;AACF,UAAM,SAAoB,CAAC;AAC3B,qBAAiB,SAAS;AAAA,MACxB,KAAK,WAAW;AAAA,MAChB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,GAAG;AACD,aAAO,KAAK,KAAK;AAAA,IACnB;AAEA,QAAI,OAAO,WAAW,GAAG;AACvB,YAAM,IAAI;AAAA,QACR,yCAAyC,UAAU,OAChD,QAAQ,SAAS,KAAK,MAAM,MAC7B,0CAA0C,KAAK,SAAS;AAAA,MAC5D;AAAA,IACF;AAIA,UAAM,EAAE,2BAAAC,2BAA0B,IAAI,MAAM;AAG5C,UAAM,EAAE,SAAS,YAAY,kBAAkB,IAC7C,MAAMA,2BAA0B,QAAQ,SAAS;AAEnD,UAAM,UACJ,QAAQ,OACRC,MAAK,QAAQ,GAAG,SAAS,oBAAoB,GAAG,eAAe,UAAU,CAAC,OAAO;AACnF,IAAAC,WAAUC,SAAQ,OAAO,GAAG,EAAE,WAAW,KAAK,CAAC;AAC/C,QAAI,QAAQ,IAAK,qBAAoB,QAAQ,GAAG;AAChD,IAAAJ,eAAc,SAAS,KAAK,UAAU,SAAS,MAAM,CAAC,IAAI,IAAI;AAE9D;AAAA,MACE,yBAAyB,UAAU,YAAY,iBAAiB,2BAA2B,OAAO;AAAA,IACpG;AACA;AAAA,MACE;AAAA,IAIF;AAAA,EACF,UAAE;AACA,SAAK,WAAW,MAAM;AAAA,EACxB;AACF;AAGA,SAAS,eAAe,IAAoB;AAC1C,SAAO,GAAG,QAAQ,oBAAoB,GAAG;AAC3C;AAUA,SAAS,oBAAoB,SAAuB;AAClD,QAAM,MAAMK,SAAQ,OAAO;AAC3B,MAAI;AAEF,UAAM,MAAM,UAAU,OAAO,CAAC,MAAMD,SAAQ,GAAG,GAAG,gBAAgB,MAAM,GAAG,GAAG;AAAA,MAC5E,OAAO;AAAA,IACT,CAAC;AACD,QAAI,IAAI,WAAW,EAAG;AAAA,EACxB,QAAQ;AACN;AAAA,EACF;AACA;AAAA,IACE;AAAA,KACQ,GAAG;AAAA;AAAA,EAGb;AACF;AAEA,eAAe,kBACb,YACA,OACA,SACe;AACf,QAAM,OAAO,MAAM,QAAQ,OAAO;AAClC,MAAI;AACF,UAAM,KAAK,WAAW,gBAAgB,2BAA2B;AAAA,MAC/D,WAAW,KAAK;AAAA,MAChB,mBAAmB,EAAE,YAAY,MAAM;AAAA,MACvC,QAAQ,QAAQ,UAAU;AAAA,MAC1B,UAAU;AAAA,IACZ,CAAC;AACD;AAAA,MACE,cAAc,UAAU,GAAG,QAAQ,SAAS,KAAK,MAAM,EAAE,iBAAiB,KAAK,SAAS;AAAA,IAC1F;AAAA,EACF,UAAE;AACA,SAAK,WAAW,MAAM;AAAA,EACxB;AACF;AAmBA,eAAsB,QACpB,SACA;AACA,QAAM,OAAO,MAAM,kBAAkB,OAAO;AAC5C,UAAQ,iBAAiB,KAAK,OAAO,gBAAgB,KAAK,SAAS,GAAG;AAItE,QAAM,EAAE,WAAW,IAAI,MAAM,OAAO,oBAAoB;AAIxD,QAAM,QAAQ,MAAM,mBAAmB,KAAK,IAAI;AAChD,QAAM,WAAW,QAAQ,EAAE,eAAe,UAAU,KAAK,GAAG,IAAI;AAUhE,QAAM,aAAa,MAAM,WAAW,QAAQ;AAAA,IAC1C,SAAS,KAAK;AAAA,IACd;AAAA,IACA,aAAa,EAAE,mCAAmC,MAAM,OAAO,KAAK;AAAA,EACtE,CAAC;AAED,SAAO,EAAE,YAAY,WAAW,KAAK,UAAU;AACjD;AAIO,SAAS,yBAAyB,SAAwB;AAC/D,QAAM,WAAW,QACd,QAAQ,UAAU,EAClB,YAAY,sDAAsD;AAErE,QAAM,aAAa,CAAC,QAClB,IACG,OAAO,mBAAmB,0DAA0D,EACpF,OAAO,oBAAoB,sDAAsD,EACjF,OAAO,oBAAoB,iDAAiD;AAEjF;AAAA,IACE,SACG,QAAQ,+BAA+B,EACvC,YAAY,mCAAmC;AAAA,EACpD,EAAE,OAAO,OAAO,YAAoB,OAA2B,SAAS;AACtE,QAAI;AACF,YAAM,iBAAiB,YAAY,OAAO,IAAI;AAAA,IAChD,SAAS,KAAK;AACZ,eAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AACzD,cAAQ,WAAW;AAAA,IACrB;AAAA,EACF,CAAC;AAED;AAAA,IACE,SACG,QAAQ,gCAAgC,EACxC,YAAY,mEAAmE;AAAA,EACpF,EACG,OAAO,qBAAqB,mDAAmD,EAC/E,OAAO,OAAO,YAAoB,OAA2B,SAAS;AACrE,QAAI;AACF,YAAM,kBAAkB,YAAY,OAAO,IAAI;AAAA,IACjD,SAAS,KAAK;AACZ,eAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AACzD,cAAQ,WAAW;AAAA,IACrB;AAAA,EACF,CAAC;AAEH;AAAA,IACE,SACG,QAAQ,8BAA8B,EACtC,YAAY,6BAA6B,EACzC,OAAO,mBAAmB,uCAAuC,EACjE,OAAO,gBAAgB,uEAAuE,EAC9F,OAAO,gBAAgB,yDAAyD,EAChF,OAAO,uBAAuB,+GAA+G;AAAA,EAClJ,EAAE,OAAO,OAAO,YAAoB,OAA2B,SAAS;AACtE,QAAI;AACF,YAAM,YAAY,YAAY,OAAO,IAAI;AAAA,IAC3C,SAAS,KAAK;AACZ,eAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AACzD,cAAQ,WAAW;AAAA,IACrB;AAAA,EACF,CAAC;AAED;AAAA,IACE,SACG,QAAQ,2CAA2C,EACnD;AAAA,MACC;AAAA,IAGF,EACC,OAAO,gBAAgB,kDAAkD,EACzE,OAAO,UAAU,mEAAmE,EACpF;AAAA,MACC;AAAA,MACA;AAAA,IAEF;AAAA,EACJ,EAAE,OAAO,OAAO,YAAoB,OAA2B,SAAS;AACtE,QAAI;AACF,YAAM,oBAAoB,YAAY,OAAO,IAAI;AAAA,IACnD,SAAS,KAAK;AACZ,eAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AACzD,cAAQ,WAAW;AAAA,IACrB;AAAA,EACF,CAAC;AAED;AAAA,IACE,SACG,QAAQ,sCAAsC,EAC9C;AAAA,MACC;AAAA,IAIF,EACC;AAAA,MACC;AAAA,MACA;AAAA,IAEF;AAAA,EACJ,EAAE,OAAO,OAAO,YAAoB,OAA2B,SAAS;AACtE,QAAI;AACF,YAAM,eAAe,YAAY,OAAO,IAAI;AAAA,IAC9C,SAAS,KAAK;AACZ,eAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AACzD,cAAQ,WAAW;AAAA,IACrB;AAAA,EACF,CAAC;AACH;",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["chalk", "execFileSync", "SSMClient", "GetParameterCommand", "SecretsManagerClient", "GetSecretValueCommand", "execFileSync", "init_vpn", "fs", "path", "execFileSync", "SSMClient", "GetParameterCommand", "resolve", "init_vpn", "fs", "path", "creds", "writeFileSync", "mkdirSync", "dirname", "join", "resolve", "execFileSync", "crypto", "namespace", "output", "writeFileSync", "serializeHistoryToFixture", "join", "mkdirSync", "dirname", "resolve"]
|
|
6
6
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export declare const SCAFFOLD_PACKAGE_LINES: {
|
|
2
2
|
readonly "@mesh-tech/app-kit": "^1.45.0";
|
|
3
3
|
readonly "@mesh-tech/esm-bundle": "^0.1.1";
|
|
4
|
+
readonly "@mesh-tech/events-service": "^0.1.0";
|
|
5
|
+
readonly "@mesh-tech/authz": "^1.19.0";
|
|
4
6
|
};
|
|
5
7
|
export type ScaffoldPackage = keyof typeof SCAFFOLD_PACKAGE_LINES;
|
|
6
8
|
export declare const SCAFFOLD_TOOLCHAIN: {
|
|
@@ -2,6 +2,8 @@ import { execFileSync } from "child_process";
|
|
|
2
2
|
export const SCAFFOLD_PACKAGE_LINES = {
|
|
3
3
|
"@mesh-tech/app-kit": "^1.45.0",
|
|
4
4
|
"@mesh-tech/esm-bundle": "^0.1.1",
|
|
5
|
+
"@mesh-tech/events-service": "^0.1.0",
|
|
6
|
+
"@mesh-tech/authz": "^1.19.0",
|
|
5
7
|
};
|
|
6
8
|
export const SCAFFOLD_TOOLCHAIN = {
|
|
7
9
|
"@types/node": "^24.2.1",
|
|
@@ -8,6 +8,12 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
8
8
|
import * as path from "node:path";
|
|
9
9
|
import { fileURLToPath } from "node:url";
|
|
10
10
|
import { mesh } from "@mesh-tech/app-kit/infra";
|
|
11
|
+
{{#if events}}
|
|
12
|
+
import { compileOpsHubMetadata } from "@mesh-tech/authz";
|
|
13
|
+
// The authz schema is the single source of truth, shared by the api (enforces
|
|
14
|
+
// it) and this program (compiles it to ops-hub metadata + Zitadel roles).
|
|
15
|
+
import schemaDef from "./schema.js";
|
|
16
|
+
{{/if}}
|
|
11
17
|
|
|
12
18
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
13
19
|
const { tenant, platform, stack, deploy } = mesh.apps.getConfig(pulumi);
|
|
@@ -16,6 +22,32 @@ const { tenant, platform, stack, deploy } = mesh.apps.getConfig(pulumi);
|
|
|
16
22
|
const TASK_QUEUE = "{{name}}";
|
|
17
23
|
{{/if}}
|
|
18
24
|
|
|
25
|
+
{{#if events}}
|
|
26
|
+
// =============================================================================
|
|
27
|
+
// Identity — this app's OWN Zitadel project, BEFORE the environment
|
|
28
|
+
// =============================================================================
|
|
29
|
+
//
|
|
30
|
+
// The events service authorizes bearer callers by this project's roles claim,
|
|
31
|
+
// so the two events roles are project roles here. They are spread rather than
|
|
32
|
+
// written out: `mesh.apps.EVENTS_PROJECT_ROLES` is the vocabulary the service
|
|
33
|
+
// itself reads, and a hand-copied spelling that drifts is a partner refused
|
|
34
|
+
// with no explanation. The primitive cannot add them for you — this identity
|
|
35
|
+
// builds its roles now, before the events service exists.
|
|
36
|
+
|
|
37
|
+
const connector = new mesh.auth.ZitadelConnector("idp", { tenant, env: platform.env });
|
|
38
|
+
|
|
39
|
+
const identity = new mesh.auth.ZitadelAppIdentity("identity", {
|
|
40
|
+
connector,
|
|
41
|
+
tenant,
|
|
42
|
+
env: platform.env,
|
|
43
|
+
project: { name: "{{name}}" },
|
|
44
|
+
roles: [...schemaDef.coarseRoles, ...mesh.apps.EVENTS_PROJECT_ROLES],
|
|
45
|
+
applications: {
|
|
46
|
+
api: { type: "api" },
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
{{/if}}
|
|
19
51
|
// =============================================================================
|
|
20
52
|
// Environment
|
|
21
53
|
// =============================================================================
|
|
@@ -28,6 +60,17 @@ const env = new mesh.apps.AppEnvironment("env", {
|
|
|
28
60
|
appName: "{{name}}",
|
|
29
61
|
namespace: true,
|
|
30
62
|
rootDir: __dirname,
|
|
63
|
+
{{#if events}}
|
|
64
|
+
// Bind the env to the app's OWN project. Without it env.zitadel silently
|
|
65
|
+
// falls back to the shared platform project, whose roles are not this app's.
|
|
66
|
+
zitadelAppProjectId: identity.projectId,
|
|
67
|
+
// The events service's delivery worker is one Temporal workflow per event.
|
|
68
|
+
temporal: {
|
|
69
|
+
codecServer: {
|
|
70
|
+
ingressSubdomain: "codec-{{name}}",
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
{{else}}
|
|
31
74
|
{{#if temporal}}
|
|
32
75
|
temporal: {
|
|
33
76
|
codecServer: {
|
|
@@ -35,6 +78,7 @@ const env = new mesh.apps.AppEnvironment("env", {
|
|
|
35
78
|
},
|
|
36
79
|
},
|
|
37
80
|
{{/if}}
|
|
81
|
+
{{/if}}
|
|
38
82
|
});
|
|
39
83
|
|
|
40
84
|
// =============================================================================
|
|
@@ -51,6 +95,41 @@ const uploads = new mesh.apps.Bucket("uploads", {
|
|
|
51
95
|
forceDestroy: stack !== "prod",
|
|
52
96
|
});
|
|
53
97
|
{{/if}}
|
|
98
|
+
{{#if events}}
|
|
99
|
+
|
|
100
|
+
// The knobs an operator tunes from the Hub's Config tab. The events service's
|
|
101
|
+
// own tunables are spread in rather than declared here, and the primitive
|
|
102
|
+
// deliberately creates no config of its own: app config values are singular
|
|
103
|
+
// per app — one value store, one synced Secret, one published schema — so a
|
|
104
|
+
// second component declaring them would collide with this one.
|
|
105
|
+
const config = new mesh.apps.AppConfig("config", {
|
|
106
|
+
env,
|
|
107
|
+
fields: {
|
|
108
|
+
...mesh.apps.eventsConfigFields(),
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
// Events and webhooks: the service, its own database, an app-scoped KMS key
|
|
113
|
+
// for endpoint credentials, the publisher key, the Zitadel introspection app,
|
|
114
|
+
// the delivery task queue and the registry surface — all children of this one
|
|
115
|
+
// declaration.
|
|
116
|
+
//
|
|
117
|
+
// A knob written HERE is pinned in code: Kubernetes keeps an explicit `env`
|
|
118
|
+
// entry over the `envFrom` the app values arrive through, so a value in this
|
|
119
|
+
// block wins over whatever an operator saves in the Hub. Leave one out to hand
|
|
120
|
+
// it over; an app value nobody has set arrives empty and the service reads
|
|
121
|
+
// that as "use the default".
|
|
122
|
+
const events = new mesh.apps.EventsService("events", {
|
|
123
|
+
env,
|
|
124
|
+
identity: { connector, projectId: identity.projectId },
|
|
125
|
+
config,
|
|
126
|
+
// "thin" sends identifiers only, so nothing the API would mask reaches a
|
|
127
|
+
// third-party endpoint and the consumer follows the identifiers back to the
|
|
128
|
+
// API, where field policy applies as on any read. Switch to "full" only for
|
|
129
|
+
// an app whose events carry no policy-governed fields.
|
|
130
|
+
payload: "thin",
|
|
131
|
+
});
|
|
132
|
+
{{/if}}
|
|
54
133
|
|
|
55
134
|
// =============================================================================
|
|
56
135
|
// Services
|
|
@@ -76,6 +155,11 @@ const api = new mesh.apps.Service("api", {
|
|
|
76
155
|
{{/if}}
|
|
77
156
|
{{#if temporal}}
|
|
78
157
|
env.temporal!.link({ environmentPrefix: "TEMPORAL", taskQueue: TASK_QUEUE }),
|
|
158
|
+
{{/if}}
|
|
159
|
+
{{#if events}}
|
|
160
|
+
// EVENTS_SERVICE_URL + EVENTS_API_KEY — the only two values that cross
|
|
161
|
+
// between this process and the events service.
|
|
162
|
+
events.link(),
|
|
79
163
|
{{/if}}
|
|
80
164
|
],
|
|
81
165
|
ingress: env.buildIngress({ subdomain: "{{name}}" }),
|
|
@@ -151,6 +235,20 @@ new mesh.apps.ApiDocs("docs", {
|
|
|
151
235
|
// Outputs
|
|
152
236
|
// =============================================================================
|
|
153
237
|
|
|
238
|
+
{{#if events}}
|
|
239
|
+
// =============================================================================
|
|
240
|
+
// Access — LAST. The pointer is what the Hub's App -> Access tab reads; without
|
|
241
|
+
// it the tab is blank and no one can be granted a role, including the two the
|
|
242
|
+
// events service authorizes its subscribers by.
|
|
243
|
+
// =============================================================================
|
|
244
|
+
|
|
245
|
+
new mesh.auth.AppAuthzPointer("authz", {
|
|
246
|
+
env,
|
|
247
|
+
mode: "role-gating",
|
|
248
|
+
opsHubMetadata: compileOpsHubMetadata(schemaDef),
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
{{/if}}
|
|
154
252
|
export const app = env.register({
|
|
155
253
|
// The line under this app's name on the Hub's Apps list, read by the
|
|
156
254
|
// client's own operators more often than by anyone on the team. One
|
|
@@ -175,3 +273,9 @@ export const apiUrl = api.url;
|
|
|
175
273
|
{{#if temporal}}
|
|
176
274
|
export const workerTaskQueue = worker.taskQueue;
|
|
177
275
|
{{/if}}
|
|
276
|
+
{{#if events}}
|
|
277
|
+
/** The events service's base URL — where subscribers register and publishers post. */
|
|
278
|
+
export const eventsUrl = events.url;
|
|
279
|
+
/** This app's own Zitadel project id — grant events:subscriber against it. */
|
|
280
|
+
export const zitadelProjectId = identity.projectId;
|
|
281
|
+
{{/if}}
|
|
@@ -9,13 +9,23 @@
|
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@mesh-tech/app-kit": "{{#if workspaceDeps}}workspace:*{{else}}{{meshRange}}{{/if}}",
|
|
12
|
+
{{#if events}}
|
|
13
|
+
"@mesh-tech/authz": "{{#if workspaceDeps}}workspace:*{{else}}{{authzRange}}{{/if}}",
|
|
14
|
+
"@mesh-tech/events-service": "{{#if workspaceDeps}}workspace:*{{else}}{{eventsServiceRange}}{{/if}}",
|
|
15
|
+
{{/if}}
|
|
12
16
|
"@mesh-tech/infra-components": "{{#if workspaceDeps}}workspace:*{{else}}{{meshRange}}{{/if}}",
|
|
17
|
+
{{#if events}}
|
|
18
|
+
"@temporalio/worker": "^1.17.0",
|
|
19
|
+
{{/if}}
|
|
13
20
|
"@pulumi/aws": "6.66.2",
|
|
14
21
|
"@pulumi/kubernetes": "4.24.1",
|
|
15
22
|
"@pulumi/pulumi": "3.214.1"
|
|
16
23
|
},
|
|
17
24
|
"devDependencies": {
|
|
18
25
|
"@types/node": "{{#if workspaceDeps}}catalog:{{else}}{{typesNodeRange}}{{/if}}",
|
|
26
|
+
{{#if events}}
|
|
27
|
+
"esbuild": "^0.25.8",
|
|
28
|
+
{{/if}}
|
|
19
29
|
"tsx": "{{#if workspaceDeps}}catalog:{{else}}{{tsxRange}}{{/if}}",
|
|
20
30
|
"typescript": "{{#if workspaceDeps}}catalog:{{else}}{{typescriptRange}}{{/if}}"
|
|
21
31
|
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The publisher side of {{titleCase name}}'s events.
|
|
3
|
+
*
|
|
4
|
+
* Two environment variables reach this process through the events service's
|
|
5
|
+
* `link()` — `EVENTS_SERVICE_URL` and `EVENTS_API_KEY` — and nothing else
|
|
6
|
+
* crosses between the app and the events service.
|
|
7
|
+
*
|
|
8
|
+
* Publishing is **fail-open and fire-and-forget**: a publish never fails the
|
|
9
|
+
* operation that emitted the event, and a process whose environment is not
|
|
10
|
+
* wired gets a client that resolves every call to nothing. That is the design,
|
|
11
|
+
* not a shortcut — making it strict would couple every request this app serves
|
|
12
|
+
* to the events service being up. The guarantee it buys is stated plainly:
|
|
13
|
+
* before the service accepts an event, delivery is at-most-once; after it, the
|
|
14
|
+
* workflow id dedupes and the retry ladder guarantees attempts.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // in a handler, AFTER the write commits
|
|
18
|
+
* void publish("{{name}}.thing.created", { thing_id: id }, `{{name}}:${requestId}`);
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import { createLogger } from "@mesh-tech/logger";
|
|
22
|
+
|
|
23
|
+
const log = createLogger({ service: "{{name}}-api" });
|
|
24
|
+
|
|
25
|
+
const SERVICE_URL = process.env.EVENTS_SERVICE_URL;
|
|
26
|
+
const API_KEY = process.env.EVENTS_API_KEY;
|
|
27
|
+
|
|
28
|
+
if (!SERVICE_URL || !API_KEY) {
|
|
29
|
+
log.warn(
|
|
30
|
+
"EVENTS_SERVICE_URL or EVENTS_API_KEY is unset — publishes are no-ops in this process",
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The wait before each successive registration attempt, in milliseconds.
|
|
36
|
+
*
|
|
37
|
+
* Registration is idempotent and additive, so it retries forever rather than
|
|
38
|
+
* giving up — the design's contract is that a service can boot before its
|
|
39
|
+
* events service is reachable. The ladder is bounded and then capped, so a
|
|
40
|
+
* long outage settles at one attempt every five minutes instead of hammering.
|
|
41
|
+
*/
|
|
42
|
+
const REGISTER_BACKOFF_MS = [1_000, 2_000, 4_000, 8_000, 16_000, 30_000, 60_000, 300_000];
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* How long to wait after `attemptsMade` failed attempts.
|
|
46
|
+
*
|
|
47
|
+
* The index trails the attempt COUNT by one, deliberately: after the first
|
|
48
|
+
* attempt fails the wait is the FIRST rung. They are two different counters,
|
|
49
|
+
* and handing one across as the other is what makes a ladder's first rung
|
|
50
|
+
* unreachable while every document describing it still reads correctly.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* registerBackoffMs(1); // => 1000 — the first rung, after the first failure
|
|
54
|
+
* registerBackoffMs(2); // => 2000
|
|
55
|
+
* registerBackoffMs(99); // => 300000 — saturated at the cap
|
|
56
|
+
*/
|
|
57
|
+
export function registerBackoffMs(attemptsMade: number): number {
|
|
58
|
+
const index = Math.min(Math.max(attemptsMade - 1, 0), REGISTER_BACKOFF_MS.length - 1);
|
|
59
|
+
return REGISTER_BACKOFF_MS[index]!;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const sleep = (ms: number) => new Promise<void>((resolve) => setTimeout(resolve, ms));
|
|
63
|
+
|
|
64
|
+
/** The event catalog this service publishes. Names are `{service}.{resource}.{action}`. */
|
|
65
|
+
export const EVENT_TYPES = {
|
|
66
|
+
thingCreated: "{{name}}.thing.created",
|
|
67
|
+
} as const;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Register this service's catalog with the events service. Additive and
|
|
71
|
+
* first-registrar-wins: removing a type here never deletes the row, and
|
|
72
|
+
* subscribers keep working across a deploy. Call it once at boot.
|
|
73
|
+
*
|
|
74
|
+
* **This never rejects.** A transient failure — the events pod still starting,
|
|
75
|
+
* a connection refused, a DNS miss — retries in the background on
|
|
76
|
+
* {@link registerBackoffMs} forever, because registration is idempotent. That
|
|
77
|
+
* is not politeness: the caller is `void registerEvents()` at module scope, so
|
|
78
|
+
* a rejection would be unhandled, and Node turns an unhandled rejection into
|
|
79
|
+
* an uncaught exception and exits — this API's pod would CrashLoopBackOff on a
|
|
80
|
+
* condition in a sibling service.
|
|
81
|
+
*/
|
|
82
|
+
export async function registerEvents(): Promise<void> {
|
|
83
|
+
if (!SERVICE_URL || !API_KEY) return;
|
|
84
|
+
for (let attemptsMade = 1; ; attemptsMade++) {
|
|
85
|
+
try {
|
|
86
|
+
await attemptRegister();
|
|
87
|
+
if (attemptsMade > 1) log.info({ attemptsMade }, "event catalog registered");
|
|
88
|
+
return;
|
|
89
|
+
} catch (error) {
|
|
90
|
+
const waitMs = registerBackoffMs(attemptsMade);
|
|
91
|
+
// Escalate as the ladder REACHES its cap, not one attempt after it:
|
|
92
|
+
// by here the wait is already the longest this will ever be, and that
|
|
93
|
+
// is the moment an operator wants to hear about.
|
|
94
|
+
const saturated = attemptsMade >= REGISTER_BACKOFF_MS.length;
|
|
95
|
+
const line = { err: error, attemptsMade, retryInMs: waitMs };
|
|
96
|
+
if (saturated) log.error(line, "event catalog registration still failing");
|
|
97
|
+
else log.warn(line, "event catalog registration failed, retrying");
|
|
98
|
+
await sleep(waitMs);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/** One registration attempt. Throws; {@link registerEvents} owns the retrying. */
|
|
104
|
+
async function attemptRegister(): Promise<void> {
|
|
105
|
+
await post("/events/registry/register", {
|
|
106
|
+
service: "{{name}}",
|
|
107
|
+
events: [
|
|
108
|
+
{
|
|
109
|
+
name: EVENT_TYPES.thingCreated,
|
|
110
|
+
description: "A thing reached a terminal created state",
|
|
111
|
+
payload_schema: {
|
|
112
|
+
type: "object",
|
|
113
|
+
properties: { thing_id: { type: "string" } },
|
|
114
|
+
required: ["thing_id"],
|
|
115
|
+
// Identifiers the thin envelope carries when a delivery has no body.
|
|
116
|
+
// The keys must be snake_case: they become keys in a snake_case
|
|
117
|
+
// envelope, and registration refuses anything else.
|
|
118
|
+
"x-mesh-resource": { type: "thing", id: "thing_id" },
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Publish one event, after the write it describes has committed.
|
|
127
|
+
*
|
|
128
|
+
* `idempotencyKey` is what makes a retry safe: the service persists one event
|
|
129
|
+
* row and starts one delivery workflow per key, and a replay answers 409,
|
|
130
|
+
* which is success.
|
|
131
|
+
*/
|
|
132
|
+
export async function publish(
|
|
133
|
+
eventType: string,
|
|
134
|
+
payload: Record<string, unknown>,
|
|
135
|
+
idempotencyKey: string,
|
|
136
|
+
): Promise<void> {
|
|
137
|
+
if (!SERVICE_URL || !API_KEY) return;
|
|
138
|
+
try {
|
|
139
|
+
await post("/events/publish", {
|
|
140
|
+
event_type: eventType,
|
|
141
|
+
source_service: "{{name}}",
|
|
142
|
+
payload,
|
|
143
|
+
idempotency_key: idempotencyKey,
|
|
144
|
+
});
|
|
145
|
+
} catch (error) {
|
|
146
|
+
// A publish never fails the operation it describes.
|
|
147
|
+
log.warn({ err: error, eventType }, "publish failed");
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
async function post(path: string, body: unknown): Promise<void> {
|
|
152
|
+
const response = await fetch(`${SERVICE_URL}${path}`, {
|
|
153
|
+
method: "POST",
|
|
154
|
+
headers: { "content-type": "application/json", "x-api-key": API_KEY! },
|
|
155
|
+
body: JSON.stringify(body),
|
|
156
|
+
});
|
|
157
|
+
// A replay of an already-accepted event is a 409 and is success.
|
|
158
|
+
if (!response.ok && response.status !== 409) {
|
|
159
|
+
throw new Error(`${path} answered ${response.status}`);
|
|
160
|
+
}
|
|
161
|
+
}
|