@cotal-ai/auth 0.92.2 → 0.94.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.
Files changed (58) hide show
  1. package/dist/callout.d.ts.map +1 -1
  2. package/dist/callout.js +12 -3
  3. package/dist/callout.js.map +1 -1
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +1 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/ledger.d.ts.map +1 -1
  9. package/dist/ledger.js +6 -2
  10. package/dist/ledger.js.map +1 -1
  11. package/dist/lifecycle-registry.d.ts +5 -0
  12. package/dist/lifecycle-registry.d.ts.map +1 -1
  13. package/dist/lifecycle-registry.js +8 -1
  14. package/dist/lifecycle-registry.js.map +1 -1
  15. package/dist/permissions.d.ts +9 -0
  16. package/dist/permissions.d.ts.map +1 -1
  17. package/dist/permissions.js +11 -2
  18. package/dist/permissions.js.map +1 -1
  19. package/dist/provider.d.ts.map +1 -1
  20. package/dist/provider.js +26 -0
  21. package/dist/provider.js.map +1 -1
  22. package/dist/service-caller-ancestry.d.ts +19 -0
  23. package/dist/service-caller-ancestry.d.ts.map +1 -0
  24. package/dist/service-caller-ancestry.js +56 -0
  25. package/dist/service-caller-ancestry.js.map +1 -0
  26. package/dist/service-caller-effective.d.ts +12 -0
  27. package/dist/service-caller-effective.d.ts.map +1 -0
  28. package/dist/service-caller-effective.js +94 -0
  29. package/dist/service-caller-effective.js.map +1 -0
  30. package/dist/service-caller-payload-bootstrap.d.ts +30 -0
  31. package/dist/service-caller-payload-bootstrap.d.ts.map +1 -0
  32. package/dist/service-caller-payload-bootstrap.js +154 -0
  33. package/dist/service-caller-payload-bootstrap.js.map +1 -0
  34. package/dist/service-caller-payload.d.ts +50 -0
  35. package/dist/service-caller-payload.d.ts.map +1 -0
  36. package/dist/service-caller-payload.js +77 -0
  37. package/dist/service-caller-payload.js.map +1 -0
  38. package/dist/service-caller-policy.d.ts +71 -0
  39. package/dist/service-caller-policy.d.ts.map +1 -1
  40. package/dist/service-caller-policy.js +83 -20
  41. package/dist/service-caller-policy.js.map +1 -1
  42. package/dist/service-host-contract.d.ts +8 -2
  43. package/dist/service-host-contract.d.ts.map +1 -1
  44. package/dist/service-host-contract.js +67 -4
  45. package/dist/service-host-contract.js.map +1 -1
  46. package/dist/service-host-ops.d.ts +85 -7
  47. package/dist/service-host-ops.d.ts.map +1 -1
  48. package/dist/service-host-ops.js +804 -18
  49. package/dist/service-host-ops.js.map +1 -1
  50. package/dist/service-write.d.ts +3 -0
  51. package/dist/service-write.d.ts.map +1 -1
  52. package/dist/service-write.js +1 -1
  53. package/dist/service-write.js.map +1 -1
  54. package/dist/service.d.ts +8 -3
  55. package/dist/service.d.ts.map +1 -1
  56. package/dist/service.js +44 -2
  57. package/dist/service.js.map +1 -1
  58. package/package.json +7 -4
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAA86B,MAAM,gBAAgB,CAAC;AACz+B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AACpJ,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,eAAe,EAA0C,MAAM,gBAAgB,CAAC;AAClI,OAAO,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AACxL,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,uBAAuB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/L,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AACjI,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB;;;;6BAI6B;AAC7B,KAAK,UAAU,oBAAoB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAsB;IAC5E,MAAM,MAAM,GAAG,CAAC,MAA6D,EAAE,KAAc,EAAwB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjN,2FAA2F;IAC3F,+DAA+D;IAC/D,IAAI,CAAC;QAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;IAC/E,gGAAgG;IAChG,6DAA6D;IAC7D,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QAAC,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;IAC1F,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QAAC,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;IAC7J,+FAA+F;IAC/F,+FAA+F;IAC/F,mDAAmD;IACnD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC;YAAC,MAAM,YAAY,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,OAAO,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAAC,CAAC;IAC/G,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC;;;;;;;wBAOwB;AACxB,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC;;;mFAGmF;AACnF,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC;AACxC,CAAC;AAED,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;AAEnL,MAAM,CAAC,MAAM,iBAAiB,GAAiB;IAC7C,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,kBAAkB;IACxB,KAAK,CAAC,0BAA0B,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE;QACtD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAC9H,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,sBAAsB,CAAgE,CAAC;IAC/J,CAAC;IACD,KAAK,CAAC,yBAAyB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAA2E;QAC9H,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;QAChI,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,uBAAuB,CAAsC,CAAC;IACtI,CAAC;IACD,KAAK,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAyE;QAC1H,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;QACxI,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,sBAAsB,CAAoC,CAAC;IACnI,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE;QAClD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;QACjI,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,CAA4D,CAAC;IACzJ,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE;QAClD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;QAC/H,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,CAA4D,CAAC;IACzJ,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;QACpC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,gHAAgH,CAAC,CAAC;QAC/J,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,oBAAoB,EAAE,uBAAuB;IAC7C,0BAA0B,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QACrE,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QACzD,IAAI,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,wBAAwB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/F,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC;IAC/E,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC;IACrF,eAAe,EAAE,oBAAoB;IACrC,KAAK,CAAC,aAAa,CAAC,KAAuB;QACzC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAC5C,8FAA8F;QAC9F,8FAA8F;QAC9F,qEAAqE;QACrE,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClD,gGAAgG;QAChG,iCAAiC;QACjC,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3H,MAAM,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACrE,0FAA0F;QAC1F,mGAAmG;QACnG,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEzH,MAAM,UAAU,GAAiB,kBAAkB,CAAC;YAClD,QAAQ,EAAE,kBAAkB;YAC5B,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE;SAClE,CAAC,CAAC;QACH,OAAO;YACL,aAAa,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACvE,UAAU,EAAE,UAAgD;YAC5D,OAAO,EAAE;gBACP,qFAAqF;gBACrF,OAAO,EAAE,uBAAuB;gBAChC,4FAA4F;gBAC5F,wFAAwF;gBACxF,0FAA0F;gBAC1F,0FAA0F;gBAC1F,yFAAyF;gBACzF,qFAAqF;gBACrF,sFAAsF;gBACtF,wFAAwF;gBACxF,sBAAsB;gBACtB,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,GAAG,gBAAgB,EAAE,GAAG,EAAE,SAAS,GAAG,iBAAiB,EAAE;oBAC7F,sFAAsF;oBACtF,uFAAuF;oBACvF,uFAAuF;oBACvF,wFAAwF;oBACxF,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;wBAC3E,MAAM,IAAI,KAAK,CAAC,sEAAsE,GAAG,GAAG,CAAC,CAAC;oBAChG,MAAM,SAAS,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;oBACnE,oFAAoF;oBACpF,kFAAkF;oBAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;oBACrG,IAAI,UAAU,GAAG,yDAAyD,CAAC;oBAC3E,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;wBAC7B,IAAI,CAAC;4BACH,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;4BAC3C,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC/B,+EAA+E;gCAC/E,kFAAkF;gCAClF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCACrF,iFAAiF;gCACjF,kFAAkF;gCAClF,IAAI,GAAG,CAAC,EAAE;oCAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gCAC7G,UAAU,GAAG,mBAAmB,IAAI,CAAC,GAAG,yBAAyB,GAAG,CAAC,MAAM,EAAE,CAAC;4BAChF,CAAC;iCAAM,IAAI,IAAI,EAAE,CAAC;gCAChB,gFAAgF;gCAChF,oFAAoF;gCACpF,wFAAwF;gCACxF,UAAU;oCACR,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS;wCACnC,CAAC,CAAC,4BAA4B,IAAI,CAAC,GAAG,+IAA+I;wCACrL,CAAC,CAAC,4BAA4B,IAAI,CAAC,GAAG,sCAAsC,CAAC;4BACnF,CAAC;wBACH,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,UAAU,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC1D,CAAC;wBACD,gFAAgF;wBAChF,8EAA8E;wBAC9E,IAAI,SAAS,KAAK,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,KAAK,MAAM;4BAChE,MAAM,IAAI,KAAK,CAAC,6CAA6C,SAAS,mCAAmC,UAAU,GAAG,CAAC,CAAC;wBAC1H,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC/C,CAAC;oBACD,IAAI,SAAS,KAAK,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,KAAK,OAAO;wBACjE,qFAAqF;wBACrF,sFAAsF;wBACtF,oFAAoF;wBACpF,mEAAmE;wBACnE,MAAM,IAAI,KAAK,CACb,gCAAgC,SAAS,yBAAyB,SAAS,kCAAkC,UAAU,kGAAkG,CAC1N,CAAC;oBACJ,qFAAqF;oBACrF,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,OAAO,UAAU,GAAG,CAAC,CAAC;gBACjF,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAED;;kGAE8F;IAC9F,KAAK,CAAC,eAAe,CAAC,OAA+B;QACnD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACnD,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpD,2FAA2F;QAC3F,6FAA6F;QAC7F,+FAA+F;QAC/F,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO;YAAE,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC5D,8FAA8F;QAC9F,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3D,wFAAwF;QACxF,wFAAwF;QACxF,wFAAwF;QACxF,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS;YAC/C,MAAM,IAAI,KAAK,CACb,oCAAoC,KAAK,iBAAiB,IAAI,CAAC,GAAG,yKAAyK;gBACzO,iEAAiE,IAAI,CAAC,GAAG,gCAAgC,CAC5G,CAAC;QACJ,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAC9B,MAAM,iBAAiB,CACrB,aAAa,EACb,oCAAoC,KAAK,oFAAoF,KAAK,uBAAuB,CAC1J,CAAC;QACJ,+FAA+F;QAC/F,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,WAAW,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE;gBACpF,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;gBACnC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,iBAAiB,CACrB,aAAa,EACb,oCAAoC,KAAK,uBAAuB,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,kCAAkC,CAC1J,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAuB,CAAC;YACxE,0FAA0F;YAC1F,0FAA0F;YAC1F,MAAM,iBAAiB,CACrB,SAAS,EACT,0CAA0C,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,iBAAiB,IAAI,CAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,CACxI,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAuB,CAAC;QACvE,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK;YAC7C,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC;QAC1H,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;QAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACtD,OAAO,8BAA8B,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE;QACnF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,OAAO,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;QACjF,OAAO,0BAA0B,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3F,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9D,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;gBAC5F,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;YAC5F,MAAM,OAAO,GAAG,6BAA6B,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;YACpH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;YAClD,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;YACtI,MAAM,WAAW,GAAG,KAAK,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAc,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC3H,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YAClB,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC1J,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC9C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QACnC,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC;IAED;;mEAE+D;IAC/D,KAAK,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;QACxF,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/D,IAAI,MAAM,KAAK,SAAS;YAAE,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACxE,MAAM,CAAC,GAAG,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAqE,CAAC;QAC3M,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;YACtG,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,oCAAoC,KAAK,yFAAyF,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACrM,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;IAClF,CAAC;IAED;uCACmC;IACnC,KAAK,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;QACxD,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAuC,CAAC;QACxH,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;YAC5E,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,+CAA+C,KAAK,4DAA4D,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QACxL,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC7E,CAAC;IAED;4FACwF;IACxF,KAAK,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE;QACtE,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAA6C,CAAC;QAC5I,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,gBAAgB,IAAI,CAAC,CAAC,OAAO,KAAK,YAAY,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ;YACnH,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,0CAA0C,KAAK,+BAA+B,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACjJ,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ;YAAE,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACxF,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAA+E;QAChI,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;QAC9I,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,2BAA2B,CAA4C,CAAC;IAChJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAiF;QAChI,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;QACxI,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,qBAAqB,CAA4C,CAAC;IAC1I,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAmF;QACvI,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;QACvI,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,yBAAyB,CAA8C,CAAC;IAChJ,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAwF;QAC7I,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,iCAAiC,CAAC,CAAC;QACzI,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,6BAA6B,CAAmD,CAAC;IACzJ,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAsF;QAC3I,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,uCAAuC,CAAC,CAAC;QAC/I,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,mCAAmC,CAAiD,CAAC;IAC7J,CAAC;IAED;;;;sEAIkE;IAClE,KAAK,CAAC,wBAAwB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAqF;QACvI,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;QACnI,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,0BAA0B,CAAgD,CAAC;IACnJ,CAAC;IAED;;sDAEkD;IAClD,KAAK,CAAC,mCAAmC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAA4F;QACzJ,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;QAC9I,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,sCAAsC,CAAuD,CAAC;IACtK,CAAC;IAED;oEACgE;IAChE,KAAK,CAAC,gCAAgC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAkF;QAC5I,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,sCAAsC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,8BAA8B,CAAC;QACvI,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC;QAC9H,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAA6C,CAAC;IAC1H,CAAC;IAED;sGACkG;IAClG,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;QACvC,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;YACjB,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,8HAA8H,CAAC,CAAC;QACjK,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,GAAG;YACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,GAAG,2EAA2E,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1I,OAAO,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;IAED;;;;oEAIgE;IAChE,KAAK,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAkD;QAChG,8FAA8F;QAC9F,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACrB,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE,EAAE;gBACzF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;gBAC/B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,4DAA4D,GAAG,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrI,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG;YACvC,MAAM,IAAI,KAAK,CACb,mDAAmD,GAAG,CAAC,MAAM,2BAA2B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,gFAAgF,CAC1N,CAAC;QACJ,MAAM,IAAI,GAAY,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GAAI,IAA2B,CAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YAC1E,0FAA0F;YAC1F,4FAA4F;YAC5F,kBAAkB;YAClB,MAAM,IAAI,KAAK,CACb,GAAG,CAAC,MAAM,KAAK,GAAG;gBAChB,CAAC,CAAC,uDAAuD,MAAM,gEAAgE,MAAM,IAAI;gBACzI,CAAC,CAAC,wCAAwC,KAAK,MAAM,MAAM,EAAE,CAChE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;oCAGgC;IAChC,KAAK,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAoC;QACzE,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,uJAAuJ,CAAC,CAAC;QAC3K,IAAI,MAAM,IAAI,cAAc,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,uJAAuJ,CAAC,CAAC;QAC3K,2FAA2F;QAC3F,2FAA2F;QAC3F,4FAA4F;QAC5F,8FAA8F;QAC9F,yEAAyE;QACzE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAU;YACpH,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;QAC1F,IAAI,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC;YAClF,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC9G,IAAI,UAAe,CAAC;QACpB,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,KAAK,GAAG;YACzB,MAAM,IAAI,KAAK,CAAC,kGAAkG,CAAC,CAAC;QACtH,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI;YACpF,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,IAAI,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClH,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;QAC7G,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;gBAC5B,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG;YACvC,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,MAAM,uFAAuF,CAAC,CAAC;QACzJ,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;oGASgG;IAChG,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;QAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE;YACb,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,sLAAsL,CACtM,CAAC;QACJ,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE,GAAG;YAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QACjE,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO;YACL,MAAM;YACN,KAAK;YACL,KAAK;YACL,KAAK,EAAE,GAAG;gBACR,CAAC,CAAC;oBACE,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,cAAc,EAAE,GAAG,CAAC,cAAc;oBAClC,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3C;gBACH,CAAC,CAAC,aAAa;SAClB,CAAC;IACJ,CAAC;IAED;;;kCAG8B;IAC9B,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;QAC1I,4FAA4F;QAC5F,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,qCAAqC,GAAG,yFAAyF,CAAC,CAAC;QACpK,IAAI,OAAO,EAAE,IAAI,KAAK,eAAe,IAAI,OAAO,EAAE,IAAI,KAAK,YAAY;YACrE,MAAM,IAAI,KAAK,CAAC,2IAA2I,CAAC,CAAC;QAC/J,4FAA4F;QAC5F,4FAA4F;QAC5F,8FAA8F;QAC9F,MAAM,UAAU,GAAG,2BAA2B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;YACzD,IAAI,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,SAAS;gBAC9C,MAAM,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;YAC/B,EAAE,CAAC,YAAY,CAAC;gBACd,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,cAAc;gBACd,YAAY;gBACZ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY;gBACZ,OAAO;aACR,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,UAAU,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE;QAC9E,IAAI,aAAa,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;YAC3D,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;QAC7G,4FAA4F;QAC5F,OAAO,2BAA2B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;YAC7C,IAAI,UAAU,KAAK,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,SAAS,KAAK,cAAc,CAAC,UAAU,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC9G,IAAI,aAAa,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,YAAa,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,KAAK,SAAS,CAAC;YAChJ,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACtH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IAErB;;mGAE+F;IAC/F,KAAK,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;QACvC,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM;YACjB,MAAM,IAAI,KAAK,CACb,sCAAsC,QAAQ,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,UAAU,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,kDAAkD,CACvJ,CAAC;IACN,CAAC;IAED;;mGAE+F;IAC/F,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;QACpC,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;QAC1C,OAAO,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAAI;QAC9B,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB,EAAE,cAAc;CACnC,CAAC;AAEF,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAErC;;;sEAGsE;AACtE,SAAS,iBAAiB,CAAC,IAAY,EAAE,KAAa;IACpD,IAAI,CAAM,CAAC;IACX,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,oCAAoC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2CAA2C,KAAK,iBAAiB,CACzI,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvF,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,gCAAgC,IAAI,mIAAmI,KAAK,uBAAuB,CACnN,CAAC;IACJ,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC;IACzD,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IACd,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IACZ,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED;wFACwF;AACxF,SAAS,mBAAmB,CAAC,IAAY,EAAE,KAAa;IACtD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,4BAA4B,CAAC;IACrF,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED;;iGAEiG;AACjG,KAAK,UAAU,wBAAwB,CACrC,KAAkB,EAClB,GAAW,EACX,KAAa,EACb,IAAY;IAEZ,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpD,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,0DAA0D,IAAI,EAAE,CAAC,CAAC;QAC7H,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,4BAA4B,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACrH,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,IAAI,EAAE,EAAE,MAAM,KAAK,IAAI,IAAI,OAAO,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,QAAQ;QAC9D,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,8FAA8F,KAAK,iBAAiB,CAAC,CAAC;IACvJ,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACxF,CAAC;AAED;;4FAE4F;AAC5F,KAAK,UAAU,oBAAoB,CACjC,QAAgB,EAChB,MAAc,EACd,aAAiC,EACjC,OAAgB,EAChB,IAAY;IAEZ,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAC5F,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACnD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,+BAA+B,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5J,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG;QACjD,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,sBAAsB,QAAQ,CAAC,MAAM,2BAA2B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,0BAA0B,CAAC,CAAC;IAC/K,gFAAgF;IAChF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,gBAAgB,QAAQ,kBAAkB,QAAQ,CAAC,MAAM,6CAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxL,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;+DAC+D;AAC/D,MAAM,aAAa,GAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAyB,CAAC,OAAO,CAAC;AAErI;;oFAEoF;AACpF,SAAS,uBAAuB,CAAC,IAAY,EAAE,OAAgB,EAAE,IAAa,EAAE,MAAc;IAC5F,MAAM,MAAM,GAAI,IAA2B,CAAC,KAAK,IAAI,QAAQ,MAAM,EAAE,CAAC;IACtE,MAAM,KAAK,GAAG,sCAAsC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,IAAI,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;QAC9D,CAAC,CAAC,4CAA4C,aAAa,oDAAoD,KAAK,wCAAwC,aAAa,WAAW;QACpL,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,IAAI,KAAK,CAAC,kBAAkB,IAAI,iBAAiB,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,KAAa;IACjD,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAChD,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED;;;;iFAIiF;AACjF,SAAS,mBAAmB,CAC1B,GAAW,EACX,KAAa;IAEb,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,KAAK,GACT,EAAE,EAAE,MAAM,KAAK,IAAI;QACnB,OAAO,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,QAAQ;QACrC,OAAO,EAAE,CAAC,iBAAiB,KAAK,QAAQ;QACxC,OAAO,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/D,OAAO,KAAK,CAAC,CAAC,CAAE,EAA6F,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5H,CAAC;AAED;kGACkG;AAClG,SAAS,mBAAmB,CAAC,KAAkB,EAAE,GAAW,EAAE,KAAa;IAGzE,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAI,MAAM;QAAE,OAAO;YACjB,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG;YAClD,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC;SACzE,CAAC;IACF,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,uHAAuH,CAAC,CAAC;IAC3I,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AAC1G,CAAC;AAED;;8DAE8D;AAC9D,SAAS,YAAY,CAAC,QAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAA0B;IAC9H,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,CAAC;AACpG,CAAC;AAED;;;;;;4FAM4F;AAC5F,KAAK,UAAU,qBAAqB,CAAC,OAA+B;IAClE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM;QACT,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,0JAA0J,KAAK,kEAAkE,CACjP,CAAC;IACJ,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,wEAAwE,MAAM,CAAC,iBAAiB,oBAAoB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,2CAA2C,KAAK,iBAAiB,CAC/O,CAAC;IACJ,CAAC;IACD,6FAA6F;IAC7F,+FAA+F;IAC/F,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnE,gGAAgG;IAChG,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClE,+FAA+F;IAC/F,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAChE,IAAI,GAAa,CAAC;IAClB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;YAC7B,MAAM,EAAE,MAAM;YACd,2FAA2F;YAC3F,0FAA0F;YAC1F,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;YACnC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,iBAAiB,CACrB,aAAa,EACb,2BAA2B,KAAK,uBAAuB,WAAW,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iEAAiE,KAAK,mCAAmC,CAC3N,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAuB,CAAC;QACxE,2FAA2F;QAC3F,mFAAmF;QACnF,4FAA4F;QAC5F,2FAA2F;QAC3F,2FAA2F;QAC3F,mFAAmF;QACnF,MAAM,UAAU,GAAG,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACxE,MAAM,iBAAiB,CACrB,SAAS,EACT,IAAI,CAAC,KAAK;YACR,CAAC,CAAC,mCAAmC,UAAU,iBAAiB,IAAI,CAAC,KAAK,EAAE;YAC5E,CAAC,CAAC,mCAAmC,UAAU,iEAAiE,GAAG,CAAC,MAAM,GAAG,CAChI,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAuB,CAAC;IACvE,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK;QAC7C,MAAM,IAAI,KAAK,CAAC,mBAAmB,WAAW,iEAAiE,CAAC,CAAC;IACnH,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC;AAC9C,CAAC;AAcD;+FAC+F;AAC/F,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAChE,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,KAAa,EAAU,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,EAAE,CAAC;AAElH;iEACiE;AACjE,SAAS,sBAAsB,CAAC,GAAW,EAAE,KAAa,EAAE,KAAa;IACvE,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACvE,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,iBAAiB,KAAK,eAAe,KAAK,qGAAqG,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAC/N,OAAO,KAAK,CAAC;AACf,CAAC;AAED;wFACwF;AACxF,KAAK,UAAU,uBAAuB,CAAC,KAAkB,EAAE,GAAW,EAAE,KAAa;IACnF,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpD,IAAI,GAAG,IAAI,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;IACzG,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM;QACT,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,UAAU,KAAK,0JAA0J,KAAK,iBAAiB,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACzQ,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,UAAU,KAAK,wEAAwE,MAAM,CAAC,iBAAiB,oBAAoB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,2CAA2C,KAAK,iBAAiB,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACtT,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC;AAC1G,CAAC;AAED;;sGAEsG;AACtG,MAAM,UAAU,uBAAuB,CAAC,KAAuB,EAAE,KAAa,EAAE,MAAgD;IAC9H,MAAM,OAAO,GAAG,CAAC,IAAY,EAAS,EAAE;QACtC,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,qCAAqC,KAAK,2CAA2C,IAAI,6CAA6C,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACtN,CAAC,CAAC;IACF,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,6DAA6D,CAAC,CAAC;QAC7G,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,+DAA+D,CAAC,CAAC;IAC/G,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAqB,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtD,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,qCAAqC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,QAAQ,KAAK,KAAK,CAAC,IAAI;QAAE,OAAO,CAAC,6BAA6B,CAAC,CAAC;AACtE,CAAC;AAED;wGACwG;AACxG,SAAS,iBAAiB,CAAC,KAAuB,EAAE,KAAa,EAAE,EAAiB;IAClF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,iBAAiB,EAAE,EAAE,EAAE,CAAC;IAChF,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,KAAK,CAAC,MAAM;QAChD,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,yCAAyC,KAAK,8DAA8D,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAC5L,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS;QAC/C,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,oCAAoC,KAAK,iBAAiB,IAAI,CAAC,GAAG,8DAA8D,IAAI,CAAC,GAAG,+BAA+B,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAC/O,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9B,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,oCAAoC,KAAK,iDAAiD,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAClK,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,iBAAiB,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AACxF,CAAC;AAED;;;;gEAIgE;AAChE,KAAK,UAAU,eAAe,CAAC,KAAuB,EAAE,KAAa,EAAE,EAAiB,EAAE,MAA+B;IACvH,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAChE,IAAI,GAAa,CAAC;IAClB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACzH,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;YAC7C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,oBAAoB,EAAE,eAAe,KAAK,uBAAuB,MAAM,CAAC,GAAG,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACxN,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG;QACvC,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,oBAAoB,EAAE,sBAAsB,GAAG,CAAC,MAAM,8EAA8E,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACvM,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAY,CAAC;IAClE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAA2D,CAAC;QACjF,MAAM,IAAI,GAAgB,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAK,cAAoC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,IAAoB,CAAC,CAAC,CAAC,aAAa,CAAC;QACzJ,MAAM,OAAO,GAAoB,CAAC,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAClH,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3F,MAAM,IAAI,eAAe,CAAC,IAAI,EAAE,mCAAmC,EAAE,eAAe,KAAK,kBAAkB,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACxI,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QACjE,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,oBAAoB,EAAE,eAAe,KAAK,mBAAmB,GAAG,CAAC,MAAM,6DAA6D,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACvM,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /** Exact current ledger ancestry for endpoint caller policy. Every managed link needs concrete
2
+ * active grant ids, never an alias-only parent, admin exemption or a child's asserted lineage. */
3
+ import { type EpCapability, type ServicePrincipal } from "@cotal-ai/core";
4
+ import type { NativeServiceCallerPolicy } from "./service-caller-policy.js";
5
+ import type { ServiceParentRef } from "./service-host-contract.js";
6
+ export declare function callerParentRefs(args: {
7
+ space: string;
8
+ ledgerDir: string;
9
+ grantee: ServicePrincipal;
10
+ capabilities: EpCapability[];
11
+ service: {
12
+ endpoint: string;
13
+ instanceId: string;
14
+ approvalDigest: string;
15
+ };
16
+ expectedRefs?: ServiceParentRef[];
17
+ readPolicy: (principal: ServicePrincipal) => Promise<NativeServiceCallerPolicy | undefined>;
18
+ }): Promise<ServiceParentRef[]>;
19
+ //# sourceMappingURL=service-caller-ancestry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-caller-ancestry.d.ts","sourceRoot":"","sources":["../src/service-caller-ancestry.ts"],"names":[],"mappings":"AAAA;kGACkG;AAClG,OAAO,EAAiF,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEzJ,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAC;IAAC,YAAY,EAAE,YAAY,EAAE,CAAC;IAC1F,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1E,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAClC,UAAU,EAAE,CAAC,SAAS,EAAE,gBAAgB,KAAK,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;CAC7F,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAuC9B"}
@@ -0,0 +1,56 @@
1
+ /** Exact current ledger ancestry for endpoint caller policy. Every managed link needs concrete
2
+ * active grant ids, never an alias-only parent, admin exemption or a child's asserted lineage. */
3
+ import { EpEnvelopeError, canonicalJson, endpointCapabilitiesWithin, parsePrincipalKey } from "@cotal-ai/core";
4
+ import { findActorUnified } from "./ledger.js";
5
+ export async function callerParentRefs(args) {
6
+ const fail = () => { throw new EpEnvelopeError("permission-denied", "endpoint caller ancestry has no current exact-lifecycle covering grants"); };
7
+ const seen = new Set();
8
+ const caller = (p) => ({ owner: p.owner, actor: p.actor, uid: p.lifecycleUid });
9
+ const walk = async (principal) => {
10
+ if (seen.size >= 32 || seen.has(principal.lifecycleUid))
11
+ return fail();
12
+ seen.add(principal.lifecycleUid);
13
+ const row = findActorUnified(args.ledgerDir, principal.owner, principal.actor);
14
+ if (!row || row.lifecycleUid !== principal.lifecycleUid)
15
+ return fail();
16
+ if (!row.parent) {
17
+ if (row.kind !== "interactive")
18
+ return fail();
19
+ return [];
20
+ }
21
+ if (row.kind !== "managed-agent")
22
+ return fail();
23
+ const parent = parsePrincipalKey(row.parent);
24
+ if (!parent || parent.owner !== principal.owner)
25
+ return fail();
26
+ const parentRow = findActorUnified(args.ledgerDir, parent.owner, parent.actor);
27
+ if (!parentRow?.lifecycleUid)
28
+ return fail();
29
+ const p = { owner: parent.owner, actor: parent.actor, lifecycleUid: parentRow.lifecycleUid };
30
+ const policy = await args.readPolicy(p);
31
+ if (!policy || canonicalJson(policy.grantee) !== canonicalJson(p))
32
+ return fail();
33
+ const covering = policy.grants.filter(g => g.status.state === "active" && g.endpoint === args.service.endpoint
34
+ && g.instanceId === args.service.instanceId && g.serviceApprovalDigest === args.service.approvalDigest
35
+ && g.source.kind === "service-owner" && g.source.approvalDigest === args.service.approvalDigest);
36
+ const expected = args.expectedRefs?.find(ref => ref.principal.lifecycleUid === p.lifecycleUid);
37
+ if (args.expectedRefs && (!expected || canonicalJson(expected.principal) !== canonicalJson(p)))
38
+ return fail();
39
+ const wantedIds = expected && new Set(expected.grants.map(ref => ref.grantId));
40
+ const usable = covering.filter(g => !wantedIds || wantedIds.has(g.grantId));
41
+ if (expected && usable.length !== expected.grants.length)
42
+ return fail();
43
+ const ancestors = await walk(p);
44
+ if (usable.some(g => canonicalJson(g.parentRefs) !== canonicalJson(ancestors)))
45
+ return fail();
46
+ if (!usable.length || !endpointCapabilitiesWithin({ space: args.space,
47
+ child: { caller: caller(args.grantee), capabilities: args.capabilities },
48
+ parent: { caller: caller(p), capabilities: usable.flatMap(g => g.capabilities) } }))
49
+ return fail();
50
+ return [...ancestors, { principal: p, grants: usable.map(g => ({ granteeUid: p.lifecycleUid, grantId: g.grantId })).sort((a, b) => a.grantId < b.grantId ? -1 : 1) }]
51
+ .sort((a, b) => a.principal.lifecycleUid < b.principal.lifecycleUid ? -1 : 1);
52
+ };
53
+ const expectedRefs = await walk(args.grantee);
54
+ return expectedRefs.map(p => ({ ...p, grants: [...p.grants].sort((a, b) => a.grantId < b.grantId ? -1 : 1) }));
55
+ }
56
+ //# sourceMappingURL=service-caller-ancestry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-caller-ancestry.js","sourceRoot":"","sources":["../src/service-caller-ancestry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /** Package-internal caller-policy resolver. Content records describe rights, never establish them:
2
+ * every mint rechecks the exact grantee, current assignment/name/root and approval ceiling.
3
+ * Unsupported delegation is refused, not interpreted as independent owner authority. */
4
+ import { type EpCapability, type ServicePrincipal } from "@cotal-ai/core";
5
+ import { type LifecycleRegistry } from "./lifecycle-registry.js";
6
+ export interface EffectiveEndpointCaller {
7
+ capabilities: EpCapability[];
8
+ expiresAt?: number;
9
+ evidenceDigest?: string;
10
+ }
11
+ export declare function effectiveEndpointCaller(registry: LifecycleRegistry, accountPublicKey: string, ledgerDir: string, grantee: ServicePrincipal): Promise<EffectiveEndpointCaller>;
12
+ //# sourceMappingURL=service-caller-effective.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-caller-effective.d.ts","sourceRoot":"","sources":["../src/service-caller-effective.ts"],"names":[],"mappings":"AAAA;;wFAEwF;AACxF,OAAO,EAEL,KAAK,YAAY,EAAE,KAAK,gBAAgB,EACzC,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAsC,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AASrG,MAAM,WAAW,uBAAuB;IAAG,YAAY,EAAE,YAAY,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE;AACtH,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EACpH,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAoE7D"}
@@ -0,0 +1,94 @@
1
+ /** Package-internal caller-policy resolver. Content records describe rights, never establish them:
2
+ * every mint rechecks the exact grantee, current assignment/name/root and approval ceiling.
3
+ * Unsupported delegation is refused, not interpreted as independent owner authority. */
4
+ import { EpEnvelopeError, canonicalJson, contractDigest, endpointCapabilitiesWithin, endpointToken, epAuthBucket, serviceGateApprovalLive, } from "@cotal-ai/core";
5
+ import { callerParentRefs } from "./service-caller-ancestry.js";
6
+ import { findActorUnified } from "./ledger.js";
7
+ import { registryStores, registryMaxPayload } from "./lifecycle-registry.js";
8
+ import { readNativeServiceCallerPolicy } from "./service-caller-policy.js";
9
+ import { parseServiceAdmissionRecord, parseServiceAssignmentRecord } from "./service-host-ops.js";
10
+ import { readNativeServiceGate } from "./native-service-gate.js";
11
+ import { readNativeServiceName } from "./native-service-name.js";
12
+ import { readRegistryServiceRoot } from "./service-root-reader.js";
13
+ import { parseServiceCallerPayloadRecord, serviceCallerPayloadCheck, SERVICE_CALLER_PAYLOAD_KEY } from "./service-caller-payload.js";
14
+ const decoder = new TextDecoder("utf-8", { fatal: true });
15
+ export async function effectiveEndpointCaller(registry, accountPublicKey, ledgerDir, grantee) {
16
+ const { space, authKv, jsm } = registryStores(registry);
17
+ const current = findActorUnified(ledgerDir, grantee.owner, grantee.actor);
18
+ if (!current || current.lifecycleUid !== grantee.lifecycleUid)
19
+ throw new EpEnvelopeError("permission-denied", "endpoint caller lifecycle is not the current actor grant");
20
+ const policy = await readNativeServiceCallerPolicy(registry, { accountPublicKey, space, grantee });
21
+ if (!policy)
22
+ return { capabilities: [] };
23
+ // Eligibility is re-established from current exact ledger ancestry below for every grant.
24
+ const read = async (key, parse) => {
25
+ const entry = await authKv.get(key);
26
+ if (!entry)
27
+ return undefined;
28
+ if (entry.operation !== "PUT")
29
+ throw new EpEnvelopeError("failed-precondition", "endpoint caller authority has deletion history");
30
+ return parse(JSON.parse(decoder.decode(entry.value)));
31
+ };
32
+ const admission = await read("svchost.admission", parseServiceAdmissionRecord);
33
+ if (!admission || admission.state !== "open")
34
+ throw new EpEnvelopeError("permission-denied", "endpoint caller admission is closed");
35
+ const payload = await read(SERVICE_CALLER_PAYLOAD_KEY, parseServiceCallerPayloadRecord);
36
+ const info = await jsm.streams.info(`KV_${epAuthBucket(space)}`);
37
+ if (!serviceCallerPayloadCheck(payload, { maxPayload: registryMaxPayload(registry), authMaxMsgSize: info.config.max_msg_size }).holds)
38
+ throw new EpEnvelopeError("failed-precondition", "endpoint caller payload precondition is not asserted and live");
39
+ const capabilities = [];
40
+ const evidence = [{ policyRevision: policy.revision, policy: policy.row }];
41
+ let expiresAt = Number.MAX_SAFE_INTEGER;
42
+ for (const grant of policy.row.grants) {
43
+ if (grant.status.state !== "active")
44
+ continue;
45
+ const source = grant.source;
46
+ if (source.kind !== "service-owner")
47
+ throw new EpEnvelopeError("permission-denied", "delegated endpoint caller issuance is unsupported");
48
+ const parents = await callerParentRefs({ space, ledgerDir, grantee, capabilities: grant.capabilities, expectedRefs: grant.parentRefs,
49
+ service: { endpoint: grant.endpoint, instanceId: grant.instanceId, approvalDigest: grant.serviceApprovalDigest },
50
+ readPolicy: async (parent) => (await readNativeServiceCallerPolicy(registry, { accountPublicKey, space, grantee: parent }))?.row });
51
+ if (canonicalJson(parents) !== canonicalJson(grant.parentRefs))
52
+ throw new EpEnvelopeError("permission-denied", "endpoint caller parent lifecycle or covering grants changed");
53
+ const asg = await read(`svcasg.${endpointToken(grant.endpoint)}.${grant.instanceId}`, parseServiceAssignmentRecord);
54
+ if (!asg || asg.state !== "bound" || asg.cancel !== null || asg.owner !== source.owner)
55
+ continue;
56
+ const binding = { accountPublicKey, space, owner: asg.owner, endpoint: grant.endpoint, instanceId: grant.instanceId,
57
+ lifecycleUid: asg.reservation.native.lifecycleUid, assignmentDigest: asg.assignmentDigest };
58
+ const gate = await readNativeServiceGate(registry, binding);
59
+ if (!gate || gate.row.state !== "open")
60
+ continue;
61
+ const authority = gate.row.serviceAuthority;
62
+ if (!authority.activationIssued || !authority.registration || authority.approvalDigest !== grant.serviceApprovalDigest
63
+ || source.approvalDigest !== grant.serviceApprovalDigest || source.nameAuthorityRevision !== gate.row.nameAuthorityRevision
64
+ || !serviceGateApprovalLive(authority, Math.floor(Date.now() / 1000)))
65
+ continue;
66
+ const name = await readNativeServiceName(registry, { accountPublicKey, space }, grant.endpoint);
67
+ if (!name || name.owner !== source.owner || name.revision !== source.nameAuthorityRevision)
68
+ continue;
69
+ const root = await readRegistryServiceRoot(registry, binding, authority.rootCredentialId, Date.now());
70
+ if (grant.capabilities.some(c => c.endpoint !== grant.endpoint || c.instanceId !== grant.instanceId || c.instanceOnly !== true
71
+ || c.journal || c.target?.mode === "any" || c.target?.mode === "ledger"))
72
+ throw new EpEnvelopeError("permission-denied", "endpoint caller policy exceeds exact instance authority");
73
+ const caller = { owner: grantee.owner, actor: grantee.actor, uid: grantee.lifecycleUid };
74
+ if (!endpointCapabilitiesWithin({ space, child: { caller, capabilities: grant.capabilities }, parent: { caller, capabilities: authority.callerCeiling } }))
75
+ continue;
76
+ evidence.push({ assignmentDigest: asg.assignmentDigest, registration: authority.registration, nameRevision: name.revision,
77
+ root: authority.rootCredentialId, rootExpiresAt: root.expiresAt, approval: authority.approvalDigest, parents });
78
+ expiresAt = Math.min(expiresAt, root.expiresAt, authority.approvalExpiresAt ?? Number.MAX_SAFE_INTEGER);
79
+ capabilities.push(...grant.capabilities);
80
+ // The baseline describe grant is class-only. Generic resolve with an exact instance requires
81
+ // the reserved describe row on that same instance, never another endpoint or command.
82
+ capabilities.push({ endpoint: grant.endpoint, command: "describe", instanceId: grant.instanceId, instanceOnly: true });
83
+ }
84
+ // Reads are fresh observations, not a linearized revoke fence. Re-read the complete policy after
85
+ // authority resolution so a revoke/append that landed during the walk never releases stale rows.
86
+ const final = await readNativeServiceCallerPolicy(registry, { accountPublicKey, space, grantee });
87
+ if (!final || final.revision !== policy.revision || canonicalJson(final.row) !== canonicalJson(policy.row))
88
+ throw new EpEnvelopeError("permission-denied", "endpoint caller policy changed during issuance");
89
+ const latest = findActorUnified(ledgerDir, grantee.owner, grantee.actor);
90
+ if (!latest || latest.lifecycleUid !== grantee.lifecycleUid || latest.kind !== current.kind || latest.parent !== current.parent)
91
+ throw new EpEnvelopeError("permission-denied", "endpoint caller lifecycle changed during issuance");
92
+ return { capabilities, ...(capabilities.length ? { expiresAt } : {}), evidenceDigest: contractDigest(evidence) };
93
+ }
94
+ //# sourceMappingURL=service-caller-effective.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-caller-effective.js","sourceRoot":"","sources":["../src/service-caller-effective.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /** Host-only payload observer and bootstrap. Uses the native broker VARZ API, never a caller's
2
+ * supplied topology or measurements. No generic SYS credential enters the data account or a client. */
3
+ import { type NatsConnection } from "@nats-io/transport-node";
4
+ import { type LifecycleRegistry } from "./lifecycle-registry.js";
5
+ import { type PlaneClaimHold } from "./plane-claim.js";
6
+ /** Broker-owner provisioning only. Needs the registered SYS signing seed, not operator/root seed.
7
+ * The resulting short-lived credential can read VARZ only and is never persisted by this helper. */
8
+ export declare function mintServiceCallerPayloadObserverCreds(sys: {
9
+ pub: string;
10
+ signingSeed: string;
11
+ }): Promise<string>;
12
+ export interface ServiceCallerPayloadBootstrap {
13
+ /** Host-private fresh short-lived VARZ-only credential, issued by the broker owner. */
14
+ observerCreds(): string | Promise<string>;
15
+ }
16
+ /** Startup assertion, and a fresh live verifier for each later positive issuance. The writer
17
+ * holds only this exact metadata key. The auth plane's existing claim must still be held. */
18
+ export declare function bootstrapServiceCallerPayload(opts: {
19
+ registry: LifecycleRegistry;
20
+ hold: PlaneClaimHold;
21
+ servers: string;
22
+ accountPublicKey: string;
23
+ dataAccount: {
24
+ pub: string;
25
+ signingSeed: string;
26
+ };
27
+ source: ServiceCallerPayloadBootstrap;
28
+ onConnection?: (nc: NatsConnection, label: string) => void;
29
+ }): Promise<() => Promise<void>>;
30
+ //# sourceMappingURL=service-caller-payload-bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-caller-payload-bootstrap.d.ts","sourceRoot":"","sources":["../src/service-caller-payload-bootstrap.ts"],"names":[],"mappings":"AAAA;uGACuG;AACvG,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAOlF,OAAO,EAA+E,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC9I,OAAO,EAAoC,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIzF;oGACoG;AACpG,wBAAsB,qCAAqC,CAAC,GAAG,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtH;AACD,MAAM,WAAW,6BAA6B;IAC5C,uFAAuF;IACvF,aAAa,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C;AA4DD;6FAC6F;AAC7F,wBAAsB,6BAA6B,CAAC,IAAI,EAAE;IACxD,QAAQ,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAC7F,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,6BAA6B,CAAC;IACzF,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5D,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CA6C/B"}
@@ -0,0 +1,154 @@
1
+ /** Host-only payload observer and bootstrap. Uses the native broker VARZ API, never a caller's
2
+ * supplied topology or measurements. No generic SYS credential enters the data account or a client. */
3
+ import { credsAuthenticator } from "@nats-io/transport-node";
4
+ import { encodeUser, fmtCreds } from "@nats-io/jwt";
5
+ import { fromPublic, fromSeed } from "@nats-io/nkeys";
6
+ import { EpEnvelopeError, canonicalJson, contractDigest, credsClaims, dialerFor, epAuthBucket, isAccountNkey, newIdentity, recordsBucket, } from "@cotal-ai/core";
7
+ import { openAuthorityClient } from "./authority-client.js";
8
+ import { openLifecycleRegistry, registryMaxPayload, registryServerId, registryStores } from "./lifecycle-registry.js";
9
+ import { readPlaneClaim, genuinePlaneHold } from "./plane-claim.js";
10
+ import { parseServiceCallerPayloadRecord, SERVICE_CALLER_PAYLOAD_FLOOR, SERVICE_CALLER_PAYLOAD_KEY } from "./service-caller-payload.js";
11
+ const enc = new TextEncoder(), dec = new TextDecoder("utf-8", { fatal: true });
12
+ /** Broker-owner provisioning only. Needs the registered SYS signing seed, not operator/root seed.
13
+ * The resulting short-lived credential can read VARZ only and is never persisted by this helper. */
14
+ export async function mintServiceCallerPayloadObserverCreds(sys) {
15
+ if (!isAccountNkey(sys.pub))
16
+ throw new Error("payload observer requires the broker system account");
17
+ const id = newIdentity(), prefix = `_INBOX_${id.id}`, user = fromSeed(enc.encode(id.seed));
18
+ const jwt = await encodeUser("service-caller-payload-observer", fromPublic(id.id), fromPublic(sys.pub), { pub: { allow: ["$SYS.REQ.SERVER.*.VARZ"] }, sub: { allow: [`${prefix}.>`] } }, { signer: fromSeed(enc.encode(sys.signingSeed)), exp: Math.floor(Date.now() / 1000) + 60 });
19
+ return dec.decode(fmtCreds(jwt, user));
20
+ }
21
+ const fail = (detail) => { throw new EpEnvelopeError("failed-precondition", `service caller payload: ${detail}`); };
22
+ async function beforeDeadline(deadline, work, late) {
23
+ let timer, expired = false;
24
+ const ms = deadline - Date.now();
25
+ if (ms <= 0)
26
+ fail("observation deadline expired");
27
+ const flight = Promise.resolve().then(work).then(async (value) => {
28
+ if (expired) {
29
+ await late?.(value);
30
+ fail("observation deadline expired");
31
+ }
32
+ return value;
33
+ });
34
+ try {
35
+ return await Promise.race([flight, new Promise((_resolve, reject) => {
36
+ timer = setTimeout(() => { expired = true; reject(new EpEnvelopeError("failed-precondition", "service caller payload: observation deadline expired")); }, ms);
37
+ })]);
38
+ }
39
+ finally {
40
+ clearTimeout(timer);
41
+ }
42
+ }
43
+ const emptyObject = (o) => !!o && typeof o === "object" && !Array.isArray(o) && Object.keys(o).length === 0;
44
+ /** A real complete single-server observation. Cluster/gateway/leaf configurations refuse even
45
+ * when no peer is connected: reply counts and current route counts cannot prove topology. */
46
+ async function observe(registry, servers, source, deadline, onConnection) {
47
+ const serverId = registryServerId(registry), creds = await beforeDeadline(deadline, async () => source.observerCreds()), claims = credsClaims(creds);
48
+ const remaining = () => { const ms = deadline - Date.now(); if (ms <= 0)
49
+ fail("observation deadline expired"); return ms; };
50
+ if (!serverId || !/^N[A-Z2-7]{55}$/.test(serverId))
51
+ fail("the data connection has no broker incarnation");
52
+ const now = Math.floor(Date.now() / 1000);
53
+ if (!claims.sub || !Number.isSafeInteger(claims.exp) || !claims.exp || claims.exp <= now || claims.exp > now + 60)
54
+ fail("observer credential must expire within sixty seconds");
55
+ const allow = claims.nats?.pub?.allow, sub = claims.nats?.sub?.allow;
56
+ if (canonicalJson(allow) !== canonicalJson(["$SYS.REQ.SERVER.*.VARZ"]) || canonicalJson(sub) !== canonicalJson([`_INBOX_${claims.sub}.>`]))
57
+ fail("observer must have exactly VARZ-only read authority");
58
+ let nc;
59
+ try {
60
+ nc = await beforeDeadline(deadline, () => dialerFor(servers)({ servers, authenticator: credsAuthenticator(enc.encode(creds)), inboxPrefix: `_INBOX_${claims.sub}`,
61
+ reconnect: false, timeout: Math.min(3000, remaining()), name: "cotal:service-caller-payload-observer" }), late => late.close());
62
+ onConnection?.(nc, "cotal:service-caller-payload-observer");
63
+ if (nc.info?.server_id !== serverId)
64
+ fail("observer and data connection reached different brokers");
65
+ const reply = await nc.request(`$SYS.REQ.SERVER.${serverId}.VARZ`, enc.encode("{}"), { timeout: Math.min(3000, remaining()) });
66
+ const raw = JSON.parse(dec.decode(reply.data));
67
+ const data = raw?.data;
68
+ if (raw?.error !== undefined || raw?.server?.id !== serverId || data?.server_id !== serverId)
69
+ fail("VARZ response does not bind this broker");
70
+ if (Object.hasOwn(raw.server, "cluster") || !emptyObject(data.cluster) || !emptyObject(data.gateway) || !emptyObject(data.leaf)
71
+ || data.routes !== 0 || data.remotes !== 0 || data.leafnodes !== 0)
72
+ fail("only a declared standalone broker without gateway or leaf links is supported");
73
+ if (!Number.isSafeInteger(data.max_payload) || data.max_payload < SERVICE_CALLER_PAYLOAD_FLOOR)
74
+ fail(`broker max_payload ${String(data.max_payload)} is below required ${SERVICE_CALLER_PAYLOAD_FLOOR} bytes (2 MiB plus 1 KiB); configure the broker explicitly before enabling caller policy`);
75
+ if (!Number.isSafeInteger(data.max_control_line) || data.max_control_line < 4096)
76
+ fail("broker max_control_line does not admit native policy writes");
77
+ if (typeof data.config_digest !== "string" || !data.config_digest || typeof data.start !== "string" || typeof data.system_account !== "string"
78
+ || data.system_account !== (claims.nats?.issuer_account ?? claims.iss))
79
+ fail("VARZ config/system-account evidence is missing or foreign");
80
+ const stores = registryStores(registry), stream = await beforeDeadline(deadline, () => stores.jsm.streams.info(`KV_${epAuthBucket(stores.space)}`));
81
+ if (stream.config.max_msg_size !== -1)
82
+ fail("auth stream must have no per-message size cap");
83
+ const maxPayload = registryMaxPayload(registry);
84
+ if (registryServerId(registry) !== serverId || maxPayload === undefined || maxPayload < SERVICE_CALLER_PAYLOAD_FLOOR)
85
+ fail("data connection moved or has insufficient payload");
86
+ remaining();
87
+ return { serverId: serverId, configDigest: data.config_digest, floor: data.max_payload,
88
+ evidenceDigest: contractDigest({ serverId, systemAccount: data.system_account, start: data.start, configDigest: data.config_digest,
89
+ maxPayload: data.max_payload, maxControlLine: data.max_control_line, cluster: data.cluster, gateway: data.gateway, leaf: data.leaf,
90
+ stream: { name: stream.config.name, created: stream.created, maxMsgSize: stream.config.max_msg_size } }) };
91
+ }
92
+ finally {
93
+ await nc?.close();
94
+ }
95
+ }
96
+ /** Startup assertion, and a fresh live verifier for each later positive issuance. The writer
97
+ * holds only this exact metadata key. The auth plane's existing claim must still be held. */
98
+ export async function bootstrapServiceCallerPayload(opts) {
99
+ const { registry, hold, source, servers, accountPublicKey, dataAccount } = opts, space = registryStores(registry).space;
100
+ if (dataAccount.pub !== accountPublicKey)
101
+ fail("assertion account differs from the host assignment");
102
+ const proof = genuinePlaneHold(hold);
103
+ if (!proof || proof.space !== space)
104
+ fail("assertion requires this account's genuine plane claim");
105
+ const assertHeld = (_what, deadline) => beforeDeadline(deadline, () => proof.assertHeld("before"));
106
+ const deadline = Date.now() + 10_000;
107
+ await assertHeld("assert caller payload", deadline);
108
+ const evidence = await observe(registry, servers, source, deadline, opts.onConnection);
109
+ const broker = { serverId: evidence.serverId, configDigest: evidence.configDigest, claimId: hold.claimId, claimGeneration: hold.generation };
110
+ const row = { v: 1, kind: "service-caller-payload", state: "asserted", floor: evidence.floor,
111
+ assertedAtMs: Date.now(), evidenceDigest: evidence.evidenceDigest, broker };
112
+ const writer = await beforeDeadline(deadline, () => openAuthorityClient({ onConnection: opts.onConnection, server: servers, space, dataAccount, label: "cotal:service-caller-payload-bootstrap", noReconnect: true,
113
+ grants: id => ({ publish: ["$JS.API.INFO", `$JS.API.STREAM.INFO.KV_${epAuthBucket(space)}`, `$JS.API.STREAM.INFO.KV_${recordsBucket(space)}`,
114
+ `$JS.API.STREAM.MSG.GET.KV_${epAuthBucket(space)}`, `$JS.API.STREAM.MSG.GET.KV_${recordsBucket(space)}`, `$KV.${epAuthBucket(space)}.${SERVICE_CALLER_PAYLOAD_KEY}`], subscribe: [`_INBOX_${id}.>`] }), log: () => { } }), late => late.close());
115
+ const writerDeadline = setTimeout(() => { void writer.close(); }, Math.max(0, deadline - Date.now()));
116
+ let assertedRevision;
117
+ try {
118
+ const r = await beforeDeadline(deadline, () => openLifecycleRegistry(writer.nc, space));
119
+ if (registryServerId(r) !== evidence.serverId)
120
+ fail("assertion writer reached another broker");
121
+ const kv = registryStores(r).authKv, previous = await beforeDeadline(deadline, () => kv.get(SERVICE_CALLER_PAYLOAD_KEY));
122
+ if (previous && previous.operation !== "PUT")
123
+ fail("assertion key has deletion history");
124
+ if (previous)
125
+ parseServiceCallerPayloadRecord(JSON.parse(dec.decode(previous.value)));
126
+ await assertHeld("commit caller payload assertion", deadline);
127
+ const bytes = enc.encode(canonicalJson(row));
128
+ const revision = previous ? await kv.update(SERVICE_CALLER_PAYLOAD_KEY, bytes, previous.revision) : await kv.create(SERVICE_CALLER_PAYLOAD_KEY, bytes);
129
+ const after = await beforeDeadline(deadline, () => kv.get(SERVICE_CALLER_PAYLOAD_KEY));
130
+ if (!after || after.operation !== "PUT" || after.revision !== revision || dec.decode(after.value) !== dec.decode(bytes))
131
+ fail("assertion write outcome is unconfirmed");
132
+ assertedRevision = revision;
133
+ await assertHeld("release caller payload assertion", deadline);
134
+ }
135
+ finally {
136
+ clearTimeout(writerDeadline);
137
+ await writer.close();
138
+ }
139
+ return async () => {
140
+ const deadline = Date.now() + 10_000;
141
+ await assertHeld("verify caller payload", deadline);
142
+ const fresh = await observe(registry, servers, source, deadline, opts.onConnection);
143
+ if (fresh.serverId !== broker.serverId || fresh.configDigest !== broker.configDigest || fresh.evidenceDigest !== row.evidenceDigest)
144
+ fail("broker configuration changed since bootstrap; reopen and reassert before caller issuance");
145
+ const assertion = await beforeDeadline(deadline, () => registryStores(registry).authKv.get(SERVICE_CALLER_PAYLOAD_KEY));
146
+ if (!assertion || assertion.operation !== "PUT" || assertion.revision !== assertedRevision || dec.decode(assertion.value) !== canonicalJson(row))
147
+ fail("payload assertion changed or was withdrawn since bootstrap");
148
+ await beforeDeadline(deadline, () => proof.assertHeld("after"));
149
+ const claim = await beforeDeadline(deadline, () => readPlaneClaim(registryStores(registry).authKv, space));
150
+ if (!claim || claim.state !== "held" || claim.claimId !== broker.claimId || claim.generation !== broker.claimGeneration)
151
+ fail("payload assertion belongs to another plane claim");
152
+ };
153
+ }
154
+ //# sourceMappingURL=service-caller-payload-bootstrap.js.map