@cello-protocol/client 0.0.21 → 0.0.23

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 (57) hide show
  1. package/dist/client-send-helpers.d.ts +25 -0
  2. package/dist/client-send-helpers.d.ts.map +1 -0
  3. package/dist/client-send-helpers.js +118 -0
  4. package/dist/client-send-helpers.js.map +1 -0
  5. package/dist/client-startup.d.ts +74 -0
  6. package/dist/client-startup.d.ts.map +1 -0
  7. package/dist/client-startup.js +338 -0
  8. package/dist/client-startup.js.map +1 -0
  9. package/dist/client-wiring.d.ts +120 -0
  10. package/dist/client-wiring.d.ts.map +1 -0
  11. package/dist/client-wiring.js +289 -0
  12. package/dist/client-wiring.js.map +1 -0
  13. package/dist/client.d.ts +29 -169
  14. package/dist/client.d.ts.map +1 -1
  15. package/dist/client.js +222 -5396
  16. package/dist/client.js.map +1 -1
  17. package/dist/connection-inbound-handler.d.ts +47 -0
  18. package/dist/connection-inbound-handler.d.ts.map +1 -0
  19. package/dist/connection-inbound-handler.js +325 -0
  20. package/dist/connection-inbound-handler.js.map +1 -0
  21. package/dist/connection-manager.d.ts +191 -0
  22. package/dist/connection-manager.d.ts.map +1 -0
  23. package/dist/connection-manager.js +692 -0
  24. package/dist/connection-manager.js.map +1 -0
  25. package/dist/frame-dispatch.d.ts +28 -0
  26. package/dist/frame-dispatch.d.ts.map +1 -0
  27. package/dist/frame-dispatch.js +118 -0
  28. package/dist/frame-dispatch.js.map +1 -0
  29. package/dist/network-directory-node.d.ts +2 -0
  30. package/dist/network-directory-node.d.ts.map +1 -1
  31. package/dist/network-directory-node.js +24 -16
  32. package/dist/network-directory-node.js.map +1 -1
  33. package/dist/registration-manager.d.ts +54 -0
  34. package/dist/registration-manager.d.ts.map +1 -0
  35. package/dist/registration-manager.js +249 -0
  36. package/dist/registration-manager.js.map +1 -0
  37. package/dist/relay-stream-manager.d.ts +136 -0
  38. package/dist/relay-stream-manager.d.ts.map +1 -0
  39. package/dist/relay-stream-manager.js +834 -0
  40. package/dist/relay-stream-manager.js.map +1 -0
  41. package/dist/seal-manager.d.ts +133 -0
  42. package/dist/seal-manager.d.ts.map +1 -0
  43. package/dist/seal-manager.js +803 -0
  44. package/dist/seal-manager.js.map +1 -0
  45. package/dist/session-assignment-parser.d.ts +33 -0
  46. package/dist/session-assignment-parser.d.ts.map +1 -0
  47. package/dist/session-assignment-parser.js +149 -0
  48. package/dist/session-assignment-parser.js.map +1 -0
  49. package/dist/session-manager.d.ts +132 -0
  50. package/dist/session-manager.d.ts.map +1 -0
  51. package/dist/session-manager.js +611 -0
  52. package/dist/session-manager.js.map +1 -0
  53. package/dist/signaling-manager.d.ts +85 -0
  54. package/dist/signaling-manager.d.ts.map +1 -0
  55. package/dist/signaling-manager.js +605 -0
  56. package/dist/signaling-manager.js.map +1 -0
  57. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seal-manager.js","sourceRoot":"","sources":["../src/seal-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAOnG,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;AAkCvD,MAAM,OAAO,WAAW;IACb,IAAI,CAAc;IAClB,mBAAmB,CAAS;IAErC,gFAAgF;IAEhF,0EAA0E;IACjE,mBAAmB,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE7D,mFAAmF;IAC1E,iBAAiB,GAAG,IAAI,GAAG,EAAoD,CAAC;IAEzF,kEAAkE;IACzD,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvD,sDAAsD;IAC7C,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpD,2FAA2F;IAC3F,6BAA6B,GAAsD,IAAI,CAAC;IAExF,uFAAuF;IACvF,gBAAgB,GAAsB,IAAI,CAAC;IAE3C,YAAY,GAAgB,EAAE,kBAA0B;QACtD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;IAChD,CAAC;IAED,iFAAiF;IAEjF,kBAAkB,CAAC,MAAkB;QACnC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;IACjC,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,uFAAuF;IACvF,iBAAiB,CAAC,YAAoB;QACpC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,6FAA6F;IAC7F,4BAA4B,CAAC,YAAoB;QAC/C,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,4BAA4B,CAAC,KAA8B;QACzD,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,6BAA6B,CAAC;YACnD,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,YAAY,CAAC,YAAoB;QAC/B,wEAAwE;QACxE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,YAAoB;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAChE,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAEpF,6EAA6E;QAC7E,+EAA+E;QAC/E,kFAAkF;QAClF,wFAAwF;QACxF,sFAAsF;QACtF,sFAAsF;QACtF,0FAA0F;QAC1F,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC3D,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9F,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAC/D,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,CAAC;gBACzD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;YACxD,CAAC;YACD,8EAA8E;YAC9E,uEAAuE;YACvE,qFAAqF;YACrF,uFAAuF;YACvF,yGAAyG;YACzG,MAAM,SAAS,GAAI,OAAyB,CAAC,MAAM,CAAC;YACpD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,eAAe,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;gBACxH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;YACjD,CAAC;YACD,IAAI,SAAS,KAAK,QAAQ;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;QACjF,CAAC;QAED,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9C,iCAAiC;QACjC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;QAE9B,sFAAsF;QACtF,iFAAiF;QACjF,wEAAwE;QACxE,sEAAsE;QACtE,kEAAkE;QAClE,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACjD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAC5C,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAC9C,CAAC;YAEF,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;YAE5C,oBAAoB;YACpB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAE9C,oEAAoE;YACpE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACtC,uEAAuE;gBACvE,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;gBAC9B,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;gBAC7B,kFAAkF;gBAClF,8EAA8E;gBAC9E,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACnE,IAAI,iBAAiB,EAAE,CAAC;oBACtB,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC,SAAS,CAAC;gBACrD,CAAC;gBACD,uCAAuC;gBACvC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,2FAA2F;IAC3F,KAAK,CAAC,sBAAsB,CAC1B,YAAoB;QAMpB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAChE,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;QACrD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC3D,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAC/D,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,CAAC;gBACzD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;YACxD,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC;QAC/E,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAElD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC5B,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,SAAS;YACxB,YAAY,EAAE,WAAW;SAC1B,CAAe,CAAC;QAEjB,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAExE,MAAM,qBAAqB,GAAG,MAAM,CAAC;QACrC,IAAI,aAAwD,CAAC;QAC7D,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,IAAI,CAA0B;YAChE,IAAI,OAAO,CAA0B,CAAC,OAAO,EAAE,EAAE;gBAC/C,IAAI,CAAC,6BAA6B,GAAG,OAAO,CAAC;YAC/C,CAAC,CAAC;YACF,IAAI,OAAO,CAA0B,CAAC,OAAO,EAAE,EAAE;gBAC/C,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;oBAC1C,OAAO,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAChE,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAC5B,CAAC,CAAC;SACH,CAAC,CAAC;QACH,YAAY,CAAC,aAAa,CAAC,CAAC;QAE5B,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,2BAA2B,EAAE,CAAC;YAC1D,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,aAAa,YAAY,UAAU,CAAC,CAAC,CAAC,aAAa;gBACpE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,aAAuB,CAAC;oBAC1E,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;YACvB,MAAM,QAAQ,GAAG,OAAO,aAAa,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1G,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACpE,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,2BAA2B,EAAE,CAAC;YAC1D,MAAM,gBAAgB,GAAG,OAAO,aAAa,CAAC,mBAAmB,CAAC,KAAK,QAAQ;gBAC7E,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;QACjF,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAG,aAAa,CAAC,QAAQ,CAAwB,IAAI,SAAS,EAAE,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,YAAoB,EACpB,OAAsB,EACtB,KAAgC;QAEhC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAClD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;QACxD,CAAC;QAED,kGAAkG;QAClG,MAAM,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YACtD,CAAC,CAAC,OAAO,CAAC,iBAAiB;YAC3B,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,MAAM,MAAM,GAAgB,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC9D,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,OAAO;iBAChB,CAAC,CAAC,CAAC;gBACJ,OAAO,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,iBAAiB,CAAC;YACpC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,SAAS;YACrB,eAAe;YACf,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QAEH,6EAA6E;QAC7E,MAAM,WAAW,GAAG,IAAI,UAAU,CAChC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CACjF,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAG,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC1B,CAAC;YACD,WAAW;YACX,aAAa;YACb,OAAO,CAAC,UAAU;YAClB,OAAO,CAAC,aAAa;YACrB,eAAe;SAChB,CAAe,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAExD,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC;YACtC,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,GAAG;YACpB,gBAAgB,EAAE,SAAS;SAC5B,CAAe,CAAC;QAEjB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,cAAc,EAAE;YAChE,aAAa,EAAE,WAAW;YAC1B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;SACvB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;QACxD,CAAC;QACD,IAAI,UAA+F,CAAC;QACpG,MAAM,UAAU,GAAG,IAAI,OAAO,CAC5B,CAAC,CAAC,EAAE,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAC3B,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAE1D,IAAI,CAAC;YACH,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;YACrE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;QACxD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QAE5D,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC;QAElC,6EAA6E;QAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACnC,KAAK,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACnE,CAAC;QAED,oBAAoB;QACpB,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,cAAc;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;QAE3F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,gFAAgF;IAEhF,4BAA4B,CAC1B,YAAoB,EACpB,KAA8B,EAC9B,eAA2B;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE9C,uEAAuE;QACvE,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACnC,iEAAiE;YACjE,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/G,OAAO;YACT,CAAC;YACD,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;gBAC9B,kCAAkC;gBAClC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,0EAA0E;YAC1E,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,iGAAiG;IACjG,mBAAmB,CACjB,YAAoB,EACpB,KAA8B,EAC9B,eAA2B,EAC3B,OAAsB;QAEtB,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,aAAa,YAAY,UAAU,CAAC,CAAC,CAAC,aAAa;YACpE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,aAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5G,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM;YACrD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtE,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE;YAAE,OAAO;QACpD,IAAI,cAAc,KAAK,IAAI;YAAE,OAAO;QACpC,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;YAC9B,6DAA6D;YAC7D,qFAAqF;YACrF,MAAM,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,WAAW,YAAY,UAAU,CAAC,CAAC,CAAC,WAAW;gBAC9D,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,WAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChF,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,eAAe,YAAY,UAAU,CAAC,CAAC,CAAC,eAAe;gBAC1E,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,eAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACxF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE;gBAAE,OAAO;YAChD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,EAAE;gBAAE,OAAO;YAExD,2FAA2F;YAC3F,8CAA8C;YAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,iBAAiB,EAAE,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACnF,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;YAE3E,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC9E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC5G,OAAO;YACT,CAAC;YAED,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC1B,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC;YACjC,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC;YACnC,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC;YACrC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;YAC5B,OAAO,CAAC,eAAe,GAAG,cAAc,CAAC;YACzC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC5C,+BAA+B;YAC/B,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAClE,0EAA0E;YAC1E,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,4EAA4E;YAC5E,MAAM,SAAS,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,SAAS,YAAY,UAAU,CAAC,CAAC,CAAC,SAAS;gBACxD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,SAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE;gBAAE,OAAO;YAE5C,0EAA0E;YAC1E,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC1B,SAAS;gBACT,UAAU;gBACV,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc;aACtE,CAAe,CAAC;YAEjB,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YAED,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC1B,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC;YACjC,OAAO,CAAC,mBAAmB,GAAG,MAAM,CAAC;YACrC,OAAO,CAAC,eAAe,GAAG,cAAc,CAAC;YACzC,+BAA+B;YAC/B,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAClE,0EAA0E;YAC1E,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAChF,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;IACjD,CAAC;IAED,kCAAkC;IAClC,kBAAkB,CAChB,YAAoB,EACpB,KAA8B,EAC9B,OAAsB;QAEtB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,aAAa,YAAY,UAAU,CAAC,CAAC,CAAC,aAAa;YACpE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,aAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,MAAM,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,WAAW,YAAY,UAAU,CAAC,CAAC,CAAC,WAAW;YAC9D,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,WAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,eAAe,YAAY,UAAU,CAAC,CAAC,CAAC,eAAe;YAC1E,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,eAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5G,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM;YACrD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACzC,mFAAmF;QACnF,oFAAoF;QACpF,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY;YAC/D,CAAC,CAAC,CAAC,iBAAiB,EAAE,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,sBAAsB,GAAG,cAAc,IAAI,iBAAiB,EAAE,SAAS,IAAI,IAAI,CAAC;QAEtF,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE;YAAE,OAAO;QACpD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE;YAAE,OAAO;QAChD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,EAAE;YAAE,OAAO;QACxD,IAAI,sBAAsB,KAAK,IAAI;YAAE,OAAO;QAC5C,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;QAEnF,8BAA8B;QAC9B,4FAA4F;QAC5F,oFAAoF;QACpF,8FAA8F;QAC9F,qEAAqE;QACrE,MAAM,gBAAgB,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1E,IAAI,SAAqB,CAAC;QAC1B,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC9C,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC7F,OAAO;YACT,CAAC;YACD,SAAS,GAAG,eAAe,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,YAAY,CAAC;QAC3B,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAE,SAAS,CAAC,EAAE,CAAC;YACtG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YACrG,OAAO;QACT,CAAC;QAED,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC1B,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC;QACjC,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC;QACnC,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC;QACrC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;QAC5B,OAAO,CAAC,eAAe,GAAG,sBAAsB,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5C,+BAA+B;QAC/B,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClE,0EAA0E;QAC1E,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAEtF,gFAAgF;QAChF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;IACjD,CAAC;IAED,kCAAkC,CAAC,YAAoB,EAAE,MAA+B;QACtF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC;QACjC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClE,iGAAiG;QACjG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,8BAA8B,CAAC,YAAoB,EAAE,KAA8B;QACjF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,cAAc,GAAG,OAAO,KAAK,CAAC,kBAAkB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,MAAM,cAAc,GAAG,OAAO,KAAK,CAAC,kBAAkB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAErG,2EAA2E;QAC3E,mGAAmG;QACnG,MAAM,UAAU,GAAG,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAE/D,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;YAChC,iFAAiF;YACjF,OAAO;QACT,CAAC;QAED,6DAA6D;QAC7D,MAAM,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;QAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEtG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;YACtD,SAAS,EAAE,YAAY;YACvB,OAAO;YACP,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,aAAa;YACzB,aAAa;SACd,CAAC,CAAC;QAEH,KAAK,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IACtG,CAAC;IAED;;;OAGG;IACH,6BAA6B,CAAC,YAAoB,EAAE,KAA8B;QAChF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,aAAa,YAAY,UAAU,CAAC,CAAC,CAAC,aAAa;YACpE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,aAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpF,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC1B,IAAI,UAAU;YAAE,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC;QACjD,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC;QACjC,OAAO,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACnG,+BAA+B;QAC/B,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACtC,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1E,aAAa;SACd,CAAC,CAAC;QAEH,0EAA0E;QAC1E,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACvG,CAAC;QAED,6FAA6F;QAC7F,8FAA8F;QAC9F,4FAA4F;QAC5F,8FAA8F;QAC9F,kFAAkF;QAClF,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,gCAAgC,CAAC,YAAoB,EAAE,KAA8B;QACnF,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,qFAAqF;YACrF,8EAA8E;YAC9E,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,YAAY,YAAY,UAAU,CAAC,CAAC,CAAC,YAAY;gBACjE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,YAAsB,CAAC;oBACxE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACrC,4FAA4F;YAC5F,2FAA2F;YAC3F,0FAA0F;YAC1F,MAAM,IAAI,GAAkB;gBAC1B,UAAU,EAAE,SAAS;gBACrB,mBAAmB,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC;gBACvC,oBAAoB,EAAE,EAAE;gBACxB,uBAAuB,EAAE,EAAE;gBAC3B,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;gBAC/C,kBAAkB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;gBACnD,gBAAgB,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC;gBACpC,iBAAiB,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC;gBACrC,aAAa,EAAE,CAAC;gBAChB,aAAa,EAAE,CAAC;gBAChB,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,YAAY;gBACvB,iBAAiB,EAAE,EAAE;gBACrB,iBAAiB,EAAE,CAAC;gBACpB,cAAc,EAAE,KAAK;aACtB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAChD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,aAAa,YAAY,UAAU,CAAC,CAAC,CAAC,aAAa;YACpE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,aAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpF,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC1B,IAAI,UAAU;YAAE,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC;QACjD,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC;QACjC,OAAO,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACnG,+BAA+B;QAC/B,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAElE,0EAA0E;QAC1E,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,eAAgB,CAAC,CAAC;QAC1F,CAAC;QAED,wDAAwD;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,uFAAuF;YACvF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBACzD,SAAS,EAAE,YAAY;gBACvB,aAAa,EAAE,YAAY;aAC5B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAE3F,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;gBACnD,SAAS,EAAE,YAAY;gBACvB,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,YAAY;aAC5B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;gBACnD,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACjD,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;gBACzE,aAAa,EAAE,YAAY;aAC5B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAsB;QACrC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,iBAAiB,CAAC,OAAsB;QACtC,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtF,MAAM,UAAU,GAAgB,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpE,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,OAAO;SAChB,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,YAAoB,EAAE,KAA8B;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACvD,IAAI,CAAC,eAAe;YAAE,OAAO,CAAC,mCAAmC;QAEjE,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,aAAa,YAAY,UAAU,CAAC,CAAC,CAAC,aAAa;YACpE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,aAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM;YACrD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEvG,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO;QAElF,yFAAyF;QACzF,gEAAgE;QAChE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,+EAA+E;QAC/E,8DAA8D;QAC9D,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAEtE,wDAAwD;QACxD,MAAM,UAAU,GAAG,QAAQ,YAAY,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAClD,UAAU,EACV,GAAG,EACH,qBAAqB,CACtB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,mEAAmE;YACnE,OAAO;QACT,CAAC;QAED,0CAA0C;QAC1C,wFAAwF;QACxF,6FAA6F;QAC7F,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACrH,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC;YACxC,IAAI,EAAE,sBAAsB;YAC5B,UAAU,EAAE,SAAS;YACrB,eAAe,EAAE,MAAM,CAAC,SAAS;SAClC,CAAe,CAAC;QAEjB,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,qBAAqB,CACzB,MAAc,EACd,KAA8B;QAE9B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,0CAA0C,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1I,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,qFAAqF,EAAE,CAAC,CAAC;YACnJ,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAuB,CAAC;YAC9D,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxH,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAuB,CAAC;QAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM;YAC/C,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAuB,CAAC;QAEvD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,qCAAqC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,YAAY,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjM,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,0DAA0D,CAAC,CAAC,UAAU,QAAQ,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACxK,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,sDAAsD,EAAE,CAAC,CAAC;YACpH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,qBAAqB,CACxD,UAAU,EACV,GAAG,EACH,OAAuE,CACxE,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,4DAA4D,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAE,MAAwC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAE5N,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC3C,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,UAAU;gBACvB,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;aAC5C,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,wCAAwC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3G,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC3C,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,UAAU;gBACvB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,wBAAwB,CAAC,YAAoB,EAAE,KAA8B;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,aAAa,YAAY,UAAU,CAAC,CAAC,CAAC,aAAa;YACpE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,aAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,MAAM,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,WAAW,YAAY,UAAU,CAAC,CAAC,CAAC,WAAW;YAC9D,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,WAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,eAAe,YAAY,UAAU,CAAC,CAAC,CAAC,eAAe;YAC1E,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,eAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM;YACrD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtE,IAAI,CAAC,UAAU,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5E,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE;YAAE,OAAO;QAChD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,EAAE;YAAE,OAAO;QAExD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACvD,IAAI,CAAC,eAAe;YAAE,OAAO;QAE7B,uFAAuF;QACvF,kFAAkF;QAClF,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,iBAAiB,EAAE,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACnF,4FAA4F;QAC5F,oFAAoF;QACpF,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,IAAI,iBAAiB,EAAE,SAAS,CAAC;QAC/E,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;YAChG,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAE3E,MAAM,gBAAgB,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1E,IAAI,SAAqB,CAAC;QAC1B,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC9C,IAAI,CAAC,eAAe;gBAAE,OAAO;YAC7B,SAAS,GAAG,eAAe,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,YAAY,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAE,SAAS,CAAC,EAAE,CAAC;YACtF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QAED,iDAAiD;QACjD,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC1B,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC;QACjC,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC;QACnC,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC;QACrC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;QAC5B,+BAA+B;QAC/B,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;CACF"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * ADAPTER-003: Session assignment frame parsing helpers.
3
+ *
4
+ * Decodes raw CBOR-decoded objects into typed protocol structures.
5
+ * No @cello-protocol/directory import needed — fields are validated by
6
+ * shape only, after cbor-x decoding of the outer frame.
7
+ */
8
+ import type { SessionAssignment } from "@cello-protocol/protocol-types";
9
+ import type { InitiateSessionResult } from "./types.js";
10
+ /**
11
+ * Decode a raw CBOR-decoded object (from frame["assignment"]) into a typed SessionAssignment.
12
+ * Returns null if any required field is missing or malformed.
13
+ *
14
+ * Wire shape (from encodeSessionAssignment in directory-frames.ts):
15
+ * {
16
+ * session_id: Uint8Array (16),
17
+ * participant_a: { pubkey: Uint8Array (32), peer_id: string, multiaddrs: string[] },
18
+ * participant_b: { pubkey: Uint8Array (32), peer_id: string, multiaddrs: string[] },
19
+ * relay_endpoint: { peer_id: string, multiaddrs: string[] },
20
+ * directory_endpoint: { peer_id: string, multiaddrs: string[] },
21
+ * session_timestamp: number,
22
+ * directory_pubkey: Uint8Array (32),
23
+ * directory_signature: Uint8Array (64),
24
+ * }
25
+ */
26
+ export declare function parseSessionAssignment(raw: Record<string, unknown>): SessionAssignment | null;
27
+ /**
28
+ * Map a raw decoded session_request_error frame to an InitiateSessionResult.
29
+ * Exported for direct unit testing (AC-005, AC-006).
30
+ * The frame must have type === "session_request_error".
31
+ */
32
+ export declare function mapSessionRequestErrorFrame(frame: Record<string, unknown>): InitiateSessionResult;
33
+ //# sourceMappingURL=session-assignment-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-assignment-parser.d.ts","sourceRoot":"","sources":["../src/session-assignment-parser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQxD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAyD7F;AA8BD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,qBAAqB,CAYvB"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * ADAPTER-003: Session assignment frame parsing helpers.
3
+ *
4
+ * Decodes raw CBOR-decoded objects into typed protocol structures.
5
+ * No @cello-protocol/directory import needed — fields are validated by
6
+ * shape only, after cbor-x decoding of the outer frame.
7
+ */
8
+ function toU8Safe(v) {
9
+ if (v instanceof Uint8Array)
10
+ return v;
11
+ if (Buffer.isBuffer(v))
12
+ return new Uint8Array(v);
13
+ return null;
14
+ }
15
+ /**
16
+ * Decode a raw CBOR-decoded object (from frame["assignment"]) into a typed SessionAssignment.
17
+ * Returns null if any required field is missing or malformed.
18
+ *
19
+ * Wire shape (from encodeSessionAssignment in directory-frames.ts):
20
+ * {
21
+ * session_id: Uint8Array (16),
22
+ * participant_a: { pubkey: Uint8Array (32), peer_id: string, multiaddrs: string[] },
23
+ * participant_b: { pubkey: Uint8Array (32), peer_id: string, multiaddrs: string[] },
24
+ * relay_endpoint: { peer_id: string, multiaddrs: string[] },
25
+ * directory_endpoint: { peer_id: string, multiaddrs: string[] },
26
+ * session_timestamp: number,
27
+ * directory_pubkey: Uint8Array (32),
28
+ * directory_signature: Uint8Array (64),
29
+ * }
30
+ */
31
+ export function parseSessionAssignment(raw) {
32
+ const sessionId = toU8Safe(raw["session_id"]);
33
+ if (!sessionId || sessionId.length !== 16)
34
+ return null;
35
+ const dirPubkey = toU8Safe(raw["directory_pubkey"]);
36
+ if (!dirPubkey || dirPubkey.length !== 32)
37
+ return null;
38
+ const dirSig = toU8Safe(raw["directory_signature"]);
39
+ if (!dirSig || dirSig.length !== 64)
40
+ return null;
41
+ const tsRaw = raw["session_timestamp"];
42
+ const sessionTimestamp = typeof tsRaw === "number" ? tsRaw
43
+ : typeof tsRaw === "bigint" ? Number(tsRaw) : null;
44
+ if (sessionTimestamp === null)
45
+ return null;
46
+ const participantA = parseParticipantInfo(raw["participant_a"]);
47
+ if (!participantA)
48
+ return null;
49
+ const participantB = parseParticipantInfo(raw["participant_b"]);
50
+ if (!participantB)
51
+ return null;
52
+ const relayEndpoint = parseEndpointInfo(raw["relay_endpoint"]);
53
+ if (!relayEndpoint)
54
+ return null;
55
+ const directoryEndpoint = parseEndpointInfo(raw["directory_endpoint"]);
56
+ if (!directoryEndpoint)
57
+ return null;
58
+ const sigType = typeof raw["signature_type"] === "string" ? raw["signature_type"] : "single";
59
+ if (sigType === "frost") {
60
+ const signerPubkey = toU8Safe(raw["signer_pubkey"]);
61
+ if (!signerPubkey || signerPubkey.length !== 32)
62
+ return null;
63
+ return {
64
+ session_id: sessionId,
65
+ participant_a: participantA,
66
+ participant_b: participantB,
67
+ relay_endpoint: relayEndpoint,
68
+ directory_endpoint: directoryEndpoint,
69
+ session_timestamp: sessionTimestamp,
70
+ directory_pubkey: dirPubkey,
71
+ directory_signature: dirSig,
72
+ signature_type: "frost",
73
+ signer_pubkey: signerPubkey,
74
+ };
75
+ }
76
+ return {
77
+ session_id: sessionId,
78
+ participant_a: participantA,
79
+ participant_b: participantB,
80
+ relay_endpoint: relayEndpoint,
81
+ directory_endpoint: directoryEndpoint,
82
+ session_timestamp: sessionTimestamp,
83
+ directory_pubkey: dirPubkey,
84
+ directory_signature: dirSig,
85
+ signature_type: "single",
86
+ };
87
+ }
88
+ function parseParticipantInfo(raw) {
89
+ if (typeof raw !== "object" || raw === null)
90
+ return null;
91
+ const r = raw;
92
+ const pubkey = toU8Safe(r["pubkey"]);
93
+ if (!pubkey || pubkey.length !== 32)
94
+ return null;
95
+ const peerId = typeof r["peer_id"] === "string" ? r["peer_id"] : null;
96
+ if (!peerId)
97
+ return null;
98
+ const multiaddrs = parseStringArray(r["multiaddrs"]);
99
+ if (!multiaddrs)
100
+ return null;
101
+ return { pubkey, peer_id: peerId, multiaddrs };
102
+ }
103
+ function parseEndpointInfo(raw) {
104
+ if (typeof raw !== "object" || raw === null)
105
+ return null;
106
+ const r = raw;
107
+ const peerId = typeof r["peer_id"] === "string" ? r["peer_id"] : null;
108
+ if (!peerId)
109
+ return null;
110
+ const multiaddrs = parseStringArray(r["multiaddrs"]);
111
+ if (!multiaddrs)
112
+ return null;
113
+ return { peer_id: peerId, multiaddrs };
114
+ }
115
+ function parseStringArray(v) {
116
+ if (!Array.isArray(v))
117
+ return null;
118
+ if (!v.every((x) => typeof x === "string"))
119
+ return null;
120
+ return v;
121
+ }
122
+ /**
123
+ * Map a raw decoded session_request_error frame to an InitiateSessionResult.
124
+ * Exported for direct unit testing (AC-005, AC-006).
125
+ * The frame must have type === "session_request_error".
126
+ */
127
+ export function mapSessionRequestErrorFrame(frame) {
128
+ const reason = frame["reason"];
129
+ if (reason === "target_offline")
130
+ return { ok: false, reason: "target_offline" };
131
+ if (reason === "relay_unavailable")
132
+ return { ok: false, reason: "relay_unavailable" };
133
+ if (reason === "frost_signer_not_configured")
134
+ return { ok: false, reason: "frost_signer_not_configured" };
135
+ if (reason === "directory_below_threshold")
136
+ return { ok: false, reason: "directory_below_threshold" };
137
+ if (reason === "ceremony_timeout")
138
+ return { ok: false, reason: "ceremony_timeout" };
139
+ if (reason === "ceremony_exhausted")
140
+ return { ok: false, reason: "ceremony_exhausted" };
141
+ if (reason === "ceremony_conflict")
142
+ return { ok: false, reason: "ceremony_conflict" };
143
+ if (reason === "no_connection")
144
+ return { ok: false, reason: "no_connection" };
145
+ if (reason === "connection_id_required")
146
+ return { ok: false, reason: "no_connection" };
147
+ return { ok: false, reason: "directory_unreachable" };
148
+ }
149
+ //# sourceMappingURL=session-assignment-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-assignment-parser.js","sourceRoot":"","sources":["../src/session-assignment-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * SessionManager — SESSION-002, MSG-004, SESSION-007
3
+ *
4
+ * Extracted from CelloClientImpl. Owns the complete session lifecycle:
5
+ * - Session assignment acceptance (receiveSessionAssignment)
6
+ * - Outbound message sending (sendMessage, #sendMessageLocked)
7
+ * - Content delivery (sendContentFrame, waitForOwnEcho)
8
+ * - Inbound message queuing (enqueueReceivedMessage, enqueueSessionSealedEvent)
9
+ * - Async blocking receive (receiveSessionMessageAsync, receiveMessageAsync)
10
+ * - Session listing (listSessions)
11
+ *
12
+ * State owned here (not in facade):
13
+ * - #sessions: SessionRecord map
14
+ * - #sessionMessageQueues + #anyMessageQueue: inbound message queues
15
+ * - #receiveWaiters + #receiveAnyWaiters: async-receive wake resolvers
16
+ * - #outboundQueues: per-session send serialization chains
17
+ * - #pendingAckResolvers: in-flight ack resolvers
18
+ * - #ownEchoResolvers: echo wait resolvers (set by relay reader, resolved here)
19
+ * - #ownPendingContent: pre-buffered own sends (keyed by content_hash_hex)
20
+ * - #contentHandlerRegistered: content stream protocol guard
21
+ * - #onSessionAssignmentHandler: inbound session callback
22
+ */
23
+ import type { IThresholdSigner, KeyProvider } from "@cello-protocol/crypto";
24
+ import type { CelloNode } from "@cello-protocol/transport";
25
+ import type { Stream } from "@libp2p/interface";
26
+ import type { SessionAssignment } from "@cello-protocol/protocol-types";
27
+ import type { SessionRecord, ReceivedMessage, SendMessageResult, SessionAssignmentEvent, ReceiveAssignmentResult } from "./types.js";
28
+ import type { Logger } from "@cello-protocol/interfaces";
29
+ import type { ClientStatePersistence } from "./client-state-persistence.js";
30
+ /**
31
+ * Narrow interface exposing only what SessionManager needs from the facade
32
+ * and from other managers.
33
+ */
34
+ export interface SessionContext {
35
+ readonly logger: Logger;
36
+ readonly persistence: ClientStatePersistence | null;
37
+ readonly keyProvider: KeyProvider;
38
+ readonly node: CelloNode;
39
+ getMyPubkeyHex(): string | null;
40
+ setMyPubkeyHex(hex: string): void;
41
+ getThresholdSigner(): IThresholdSigner | undefined;
42
+ getPersistentSignalingStream(): Stream | null;
43
+ initRelaySession(sessionIdHex: string): void;
44
+ runRelayStreamReader(sessionIdHex: string, stream: Stream, myPubkeyHex: string, iter: AsyncIterator<Uint8Array>): void;
45
+ performRelayAuth(stream: Stream, myPubkey: Uint8Array): Promise<{
46
+ ok: true;
47
+ iter: AsyncIterator<Uint8Array>;
48
+ } | {
49
+ ok: false;
50
+ reason: "relay_auth_failed" | "relay_auth_error";
51
+ }>;
52
+ handleContentStream(stream: Stream): void;
53
+ connectDirectorySignalingStream(sessionIdHex: string, assignment: SessionAssignment, myPubkey: Uint8Array): Promise<void>;
54
+ getRelayStream(sessionIdHex: string): Stream | undefined;
55
+ }
56
+ export declare class SessionManager {
57
+ #private;
58
+ constructor(ctx: SessionContext);
59
+ getSession(sessionIdHex: string): SessionRecord | undefined;
60
+ getSessions(): Map<string, SessionRecord>;
61
+ setSession(sessionIdHex: string, record: SessionRecord): void;
62
+ deleteSession(sessionIdHex: string): void;
63
+ getOutboundQueue(sessionIdHex: string): Promise<void> | undefined;
64
+ setOutboundQueue(sessionIdHex: string, queue: Promise<void>): void;
65
+ deleteOutboundQueue(sessionIdHex: string): void;
66
+ getPendingAckResolver(sessionIdHex: string): ((ack: {
67
+ ok: true;
68
+ sequence_number: number;
69
+ } | {
70
+ ok: false;
71
+ reason: string;
72
+ }) => void) | undefined;
73
+ setPendingAckResolver(sessionIdHex: string, resolve: (ack: {
74
+ ok: true;
75
+ sequence_number: number;
76
+ } | {
77
+ ok: false;
78
+ reason: string;
79
+ }) => void): void;
80
+ deletePendingAckResolver(sessionIdHex: string): void;
81
+ getOwnEchoResolvers(sessionIdHex: string): Map<number, () => void> | undefined;
82
+ initOwnEchoResolvers(sessionIdHex: string): void;
83
+ deleteOwnEchoResolvers(sessionIdHex: string): void;
84
+ getOwnPendingContent(sessionIdHex: string): Map<string, {
85
+ content_bytes: Uint8Array;
86
+ arrived_at: number;
87
+ }> | undefined;
88
+ initOwnPendingContent(sessionIdHex: string): void;
89
+ deleteOwnPendingContent(sessionIdHex: string): void;
90
+ getSessionMessageQueue(sessionIdHex: string): ReceivedMessage[] | undefined;
91
+ deleteSessionMessageQueue(sessionIdHex: string): void;
92
+ /** Initialize the message queue for a session (called from loadPersistedState). */
93
+ initSessionMessageQueue(sessionIdHex: string): void;
94
+ getAnyMessageQueue(): Array<{
95
+ sessionIdHex: string;
96
+ message: ReceivedMessage;
97
+ }>;
98
+ setOnSessionAssignmentHandler(handler: (event: SessionAssignmentEvent) => void): void;
99
+ /**
100
+ * Clean up all per-session state owned by SessionManager.
101
+ * Called by facade.closeSession — companion to RelayStreamManager.closeSession and SealManager.closeSession.
102
+ */
103
+ closeSession(sessionIdHex: string): void;
104
+ enqueueReceivedMessage(sessionIdHex: string, message: ReceivedMessage): void;
105
+ /**
106
+ * Process a SessionAssignment pushed by the directory.
107
+ * SESSION-002 AC-002, AC-003, AC-004, AC-005, SI-003.
108
+ *
109
+ * Crypto refs:
110
+ * Ed25519 verification: RFC 8032
111
+ * SHA-256: FIPS 180-4
112
+ */
113
+ receiveSessionAssignment(assignment: SessionAssignment, myPubkey: Uint8Array): Promise<ReceiveAssignmentResult>;
114
+ listSessions(): SessionRecord[];
115
+ sendMessage(sessionIdHex: string, content: Uint8Array): Promise<SendMessageResult>;
116
+ sendContentFrame(session: SessionRecord, content: Uint8Array, contentHash: Uint8Array): Promise<void>;
117
+ waitForOwnEcho(sessionIdHex: string, seqNum: number): Promise<void>;
118
+ receiveMessage(sessionIdHex: string): ReceivedMessage | null;
119
+ receiveAnyMessage(): {
120
+ sessionIdHex: string;
121
+ message: ReceivedMessage;
122
+ } | null;
123
+ wakeReceiveWaiters(sessionIdHex: string): void;
124
+ receiveSessionMessageAsync(sessionIdHex: string, timeoutMs: number): Promise<ReceivedMessage | null>;
125
+ receiveMessageAsync(timeoutMs: number): Promise<(ReceivedMessage & {
126
+ sessionIdHex: string;
127
+ }) | {
128
+ type: "timeout";
129
+ }>;
130
+ enqueueSessionSealedEvent(sessionIdHex: string, sealedRoot: Uint8Array, closeTimestamp: number): void;
131
+ }
132
+ //# sourceMappingURL=session-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}