@salesforce/mrt-utilities 0.0.1 → 0.1.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 (69) hide show
  1. package/README.md +49 -45
  2. package/dist/cjs/index.d.ts +4 -0
  3. package/dist/cjs/index.js +10 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/metrics/index.d.ts +1 -0
  6. package/dist/cjs/metrics/index.js +7 -0
  7. package/dist/cjs/metrics/index.js.map +1 -0
  8. package/dist/cjs/metrics/metrics-sender.d.ts +136 -0
  9. package/dist/cjs/metrics/metrics-sender.js +240 -0
  10. package/dist/cjs/metrics/metrics-sender.js.map +1 -0
  11. package/dist/cjs/middleware/data-store.d.ts +56 -0
  12. package/dist/cjs/middleware/data-store.js +124 -0
  13. package/dist/cjs/middleware/data-store.js.map +1 -0
  14. package/dist/cjs/middleware/index.d.ts +3 -0
  15. package/dist/cjs/middleware/index.js +8 -0
  16. package/dist/cjs/middleware/index.js.map +1 -0
  17. package/dist/cjs/middleware/middleware.d.ts +126 -0
  18. package/dist/cjs/middleware/middleware.js +411 -0
  19. package/dist/cjs/middleware/middleware.js.map +1 -0
  20. package/dist/cjs/package.json +1 -0
  21. package/dist/cjs/streaming/create-lambda-adapter.d.ts +68 -0
  22. package/dist/cjs/streaming/create-lambda-adapter.js +797 -0
  23. package/dist/cjs/streaming/create-lambda-adapter.js.map +1 -0
  24. package/dist/cjs/streaming/index.d.ts +1 -0
  25. package/dist/cjs/streaming/index.js +7 -0
  26. package/dist/cjs/streaming/index.js.map +1 -0
  27. package/dist/cjs/utils/configure-proxying.d.ts +160 -0
  28. package/dist/cjs/utils/configure-proxying.js +204 -0
  29. package/dist/cjs/utils/configure-proxying.js.map +1 -0
  30. package/dist/cjs/utils/ssr-proxying.d.ts +300 -0
  31. package/dist/cjs/utils/ssr-proxying.js +713 -0
  32. package/dist/cjs/utils/ssr-proxying.js.map +1 -0
  33. package/dist/cjs/utils/utils.d.ts +27 -0
  34. package/dist/cjs/utils/utils.js +44 -0
  35. package/dist/cjs/utils/utils.js.map +1 -0
  36. package/dist/esm/index.d.ts +4 -0
  37. package/dist/esm/index.js +10 -0
  38. package/dist/esm/index.js.map +1 -0
  39. package/dist/esm/metrics/index.d.ts +1 -0
  40. package/dist/esm/metrics/index.js +7 -0
  41. package/dist/esm/metrics/index.js.map +1 -0
  42. package/dist/esm/metrics/metrics-sender.d.ts +136 -0
  43. package/dist/esm/metrics/metrics-sender.js +240 -0
  44. package/dist/esm/metrics/metrics-sender.js.map +1 -0
  45. package/dist/esm/middleware/data-store.d.ts +56 -0
  46. package/dist/esm/middleware/data-store.js +124 -0
  47. package/dist/esm/middleware/data-store.js.map +1 -0
  48. package/dist/esm/middleware/index.d.ts +3 -0
  49. package/dist/esm/middleware/index.js +9 -0
  50. package/dist/esm/middleware/index.js.map +1 -0
  51. package/dist/esm/middleware/middleware.d.ts +126 -0
  52. package/dist/esm/middleware/middleware.js +411 -0
  53. package/dist/esm/middleware/middleware.js.map +1 -0
  54. package/dist/esm/streaming/create-lambda-adapter.d.ts +68 -0
  55. package/dist/esm/streaming/create-lambda-adapter.js +797 -0
  56. package/dist/esm/streaming/create-lambda-adapter.js.map +1 -0
  57. package/dist/esm/streaming/index.d.ts +1 -0
  58. package/dist/esm/streaming/index.js +7 -0
  59. package/dist/esm/streaming/index.js.map +1 -0
  60. package/dist/esm/utils/configure-proxying.d.ts +160 -0
  61. package/dist/esm/utils/configure-proxying.js +204 -0
  62. package/dist/esm/utils/configure-proxying.js.map +1 -0
  63. package/dist/esm/utils/ssr-proxying.d.ts +300 -0
  64. package/dist/esm/utils/ssr-proxying.js +713 -0
  65. package/dist/esm/utils/ssr-proxying.js.map +1 -0
  66. package/dist/esm/utils/utils.d.ts +27 -0
  67. package/dist/esm/utils/utils.js +44 -0
  68. package/dist/esm/utils/utils.js.map +1 -0
  69. package/package.json +129 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-lambda-adapter.js","sourceRoot":"","sources":["../../../src/streaming/create-lambda-adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,cAAc,EAAC,MAAM,MAAM,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,IAQN,MAAM,WAAW,CAAC;AACnB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,YAAY,MAAM,cAAc,CAAC;AAIxC,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAE3D;;;GAGG;AACH,MAAM,uBAAuB,GAAG,CAAC,kBAAkB,CAAU,CAAC;AAE9D,6DAA6D;AAC7D,IAAI,kBAAyE,CAAC;AAC9E,IAAI,CAAC;IACH,gFAAgF;IAChF,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;QAClD,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAC/C,CAAC;AACH,CAAC;AAAC,MAAM,CAAC;IACP,qBAAqB;AACvB,CAAC;AAsDD;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,GAAY,EACZ,cAAwB,EACxB,oBAAuC,EAAC,OAAO,EAAE,IAAI,EAAC;IAEtD,MAAM,OAAO,GAAG,KAAK,EAAE,KAA2B,EAAE,OAAgB,EAAiB,EAAE;QACrF,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,YAAY,GAChB,cAAc,IAAI,cAAc,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YAE1G,IAAI,YAAY,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC/D,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,cAAc,CAAC,KAAK,CAAC,oEAAoE,YAAY,EAAE,CAAC,CAAC;YAC3G,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,GAChB,cAAc,IAAI,cAAc,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YAC1G,IAAI,YAAY,IAAI,OAAO,cAAc,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC7D,cAAc,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,KAA2B,EAC3B,cAAwB,EACxB,OAAgB,EAChB,GAAY,EACZ,iBAAqC;IAErC,0DAA0D;IAC1D,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE5D,MAAM,eAAe,GAAG,qBAAqB,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAEjH,0CAA0C;IAC1C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,GAAU,EAAE,EAAE;YAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,yBAAyB;QACzB,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YAClC,WAAW,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAC3C,UAAU,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC3C,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;oBACzC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,2EAA2E;oBAC3E,mEAAmE;oBACnE,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;wBAC7B,WAAW,EAAE,CAAC;oBAChB,CAAC;yBAAM,CAAC;wBACN,wCAAwC;wBACxC,UAAU,CAAC,GAAG,EAAE;4BACd,WAAW,EAAE,CAAC;wBAChB,CAAC,EAAE,EAAE,CAAC,CAAC;oBACT,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,UAAU,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CAAC,KAA2B,EAAU,EAAE;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAExB,2FAA2F;IAC3F,MAAM,YAAY,GAA6B,EAAE,CAAC;IAClD,IAAI,KAAK,CAAC,+BAA+B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC;YAClF,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACvE,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAElC,0CAA0C;YAC1C,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC5C,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC,CAAC;AAEF;;;GAGG;AACH,6DAA6D;AAC7D,MAAM,UAAU,oBAAoB,CAAC,KAA2B,EAAE,OAAgB;IAChF,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAC,GAAG,KAAK,CAAC;IAE9F,MAAM,aAAa,GAAG,cAAc,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC;IAEtE,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1D,MAAM,WAAW,GAAuB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3F,kEAAkE;IAClE,MAAM,iBAAiB,GAA2B,EAAE,CAAC;IACrD,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACxC,oEAAoE;YACpE,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,iBAAiB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,KAAK,MAAM,mBAAmB,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,SAAS;QAC1C,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;QACpC,MAAM,EAAE,UAAU;QAClB,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC;QAC5B,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,WAAW;QACjB,aAAa;KACd,CAAC,CAAC;IAEH,sEAAsE;IACtE,gFAAgF;IAChF,MAAM,GAAG,GAAG,OAAoC,CAAC;IAEjD,uBAAuB;IACvB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE;QAChC,KAAK,CAAuB,UAAkB;YAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE;QACnC,KAAK,CAAuB,UAAkB;YAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QACD,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,WAA+B;IACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;AAErE;;;;;;;GAOG;AACH,SAAS,eAAe,CACtB,cAA6C,EAC7C,iBAAqC;IAErC,qDAAqD;IACrD,IAAI,iBAAiB,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gFAAgF;IAChF,IAAI,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAChC,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,EAAC,OAAO,EAAE,EAAC,iBAAiB,EAAE,cAAc,EAAC,EAAC,CAAC,CAAC;IAElF,2DAA2D;IAC3D,uEAAuE;IACvE,MAAM,kBAAkB,GAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,IAAI,kBAAkB,EAAE,CAAC;QACvB,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAE7D,OAAO,YAAY,IAAI,IAAI,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,QAAgB,EAAE,iBAAqC;IACtF,MAAM,OAAO,GAAG,iBAAiB,EAAE,OAAO,IAAI,SAAS,CAAC;IACxD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAwB,CAAC,CAAC;QAC7D,KAAK,MAAM;YACT,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;YACpG,CAAC;YACD,OAAO,kBAAkB,CAAC,OAAsB,CAAC,CAAC;QACpD,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAsB,CAAC,CAAC;QACjD,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,aAAa,CAAC,OAAsB,CAAC,CAAC;QACpD;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,qBAAqB,CACnC,cAAwB,EACxB,KAA2B,EAC3B,OAAgB,EAChB,OAAwB,EACxB,iBAAqC;IAErC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;IAChC,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,IAAI,aAAa,GAAuB,SAAS,CAAC;IAClD,MAAM,OAAO,GAAkD,EAAE,CAAC;IAClE,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,kBAAkB,GAAoB,IAAI,CAAC;IAE/C,0EAA0E;IAC1E,MAAM,cAAc,GAAG,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC;IACrE,MAAM,gBAAgB,GAAG,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,IAAI,UAAU,CAAC;IAC1F,IAAI,iBAAiB,GAA6B,IAAI,CAAC;IACvD,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,sBAAsB,GAAG,KAAK,CAAC;IAEnC,uDAAuD;IACvD,MAAM,YAAY,GAAG,GAAY,EAAE;QACjC,MAAM,aAAa,GAAG,iBAAiB,IAAI,kBAAkB,IAAI,cAAc,CAAC;QAChF,OAAO,aAAa,IAAI,aAAa,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;IAC7G,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,qBAAqB,GAAG,GAAS,EAAE;QACvC,IAAI,CAAC,kBAAkB,IAAI,sBAAsB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,uDAAuD;YACvD,iBAAiB,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;YAEjF,+CAA+C;YAC/C,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAC7C,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;gBAClD,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,gDAAgD;YAChD,2FAA2F;YAC3F,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;YAExD,cAAc,GAAG,IAAI,CAAC;YACtB,sBAAsB,GAAG,IAAI,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,cAAc,GAAG,KAAK,CAAC;YACvB,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,UAAU,GAAG,CAAC,KAAoC,EAAW,EAAE;QACnE,8BAA8B;QAC9B,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,IAAI,cAAc,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBACtE,kFAAkF;gBAClF,OAAO,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,QAAQ,EAAE,CAAC;gBAC7D,uDAAuD;gBACvD,OAAO,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,cAAkC,EAAW,EAAE;QAC3E,MAAM,OAAO,GAAG,iBAAiB,EAAE,OAAO,IAAI,IAAI,CAAC;QACnD,OAAO,CAAC,CAAC,CAAC,gBAAgB,IAAI,gBAAgB,KAAK,UAAU,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,CAAC;IAC9G,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,QAAyB,EAAsB,EAAE;QACvE,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF;;;;;;;;;;OAUG;IACH,MAAM,kBAAkB,GAAG,CAAC,QAAyB,EAAQ,EAAE;QAC7D,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,gDAAgD;QAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEvC,KAAK,MAAM,MAAM,IAAI,uBAAuB,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,kBAAkB,CAAC,GAAG,gBAAgB,CAAC;YAC/C,QAAQ,CAAC,SAAS,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAC3D,CAAC;QACD,wFAAwF;QACxF,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACjC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAExC,0CAA0C;QAC1C,wDAAwD;QACxD,MAAM,QAAQ,GAAmB;YAC/B,UAAU;YACV,OAAO;SACR,CAAC;QAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAChE,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;QACD,QAAQ,CAAC,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEpD,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAEjF,sDAAsD;QACtD,oFAAoF;QACpF,+EAA+E;QAC/E,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,qBAAqB,EAAE,CAAC;QAC1B,CAAC;QAED,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC;IAEF,4DAA4D;IAC5D,MAAM,cAAc,GAAG,CACrB,gBAAwE,EACzB,EAAE;QACjD,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACrC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,iBAAiB,GAAG,KAAK,EAAE,WAAqB,EAAoB,EAAE;QAC1E,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2FAA2F;QAC3F,yDAAyD;QACzD,IAAI,CAAC;YACH,+EAA+E;YAC/E,MAAM,YAAY,GAAG,iBAAiB,IAAI,kBAAkB,CAAC;YAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBAChE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,8FAA8F;YAC9F,MAAM,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,2GAA2G;IAC3G,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC;QAC7B,MAAM;KACP,CAAoB,CAAC;IAEtB,kEAAkE;IAClE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE;QAC1C,GAAG;YACD,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,GAAG,CAAC,KAAa;YACf,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,+DAA+D;IAC/D,yEAAyE;IACzE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE;QACxC,GAAG;YACD,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,iFAAiF;IACjF,yHAAyH;IACzH,GAAG,CAAC,SAAS,GAAG,UACd,IAAY,EACZ,YAAqE,EACrE,SAAyD;QAEzD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,SAAS,GAAG,YAAY,CAAC;YACzB,YAAY,GAAG,SAAS,CAAC;QAC3B,CAAC;QAED,UAAU,GAAG,IAAI,IAAI,UAAU,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,gCAAgC;QAChC,IAAI,YAAY,EAAE,CAAC;YACjB,aAAa,GAAG,YAAY,CAAC;QAC/B,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAClC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEvC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,KAAK,GAAG,UAAU,KAAmC;QACvD,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,uCAAuC;IACtD,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IACE,cAAc;YACd,iBAAiB;YACjB,iBAAiB,CAAC,QAAQ;YAC1B,OAAO,iBAAiB,CAAC,KAAK,KAAK,UAAU,EAC7C,CAAC;YACD,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;aAAM,IACL,kBAAkB;YAClB,kBAAkB,CAAC,QAAQ;YAC3B,0EAA0E;YAC1E,OAAO,kBAAkB,CAAC,KAAK,KAAK,UAAU,EAC9C,CAAC;YACD,0EAA0E;YAC1E,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,SAAS,GAAG,CAAC,QAAyB,EAAQ,EAAE;QACpD,IAAI,cAAc,IAAI,iBAAiB,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,kEAAkE;gBAClE,MAAM,EAAE,CAAC;gBACT,0EAA0E;gBAC1E,4CAA4C;gBAC5C,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE;oBACzB,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;gBACzD,+CAA+C;gBAC/C,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YAC7D,kDAAkD;YAClD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC;gBACT,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE;oBAC1B,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;gBACzD,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,uCAAuC;YACvC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF,mHAAmH;IACnH,GAAG,CAAC,GAAG,GAAG,UAAU,KAAoC;QACtD,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,8DAA8D;QAC9D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,oDAAoD;gBACpD,MAAM,YAAY,GAAG,iBAAiB,IAAI,kBAAkB,CAAC;gBAC7D,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;wBAC9B,SAAS,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,6DAA6D;IAC7D,GAAG,CAAC,MAAM,GAAG,UAAU,IAAY,EAAE,OAAgB;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,UAAU,GAAG,IAAI,CAAC;QAClB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,aAAa,GAAG,OAAO,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,GAAG,GAAG,UAAU,KAA6D,EAAE,KAAyB;QAC1G,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,uHAAuH;IACvH,GAAG,CAAC,MAAM,GAAG,UAAU,KAAa,EAAE,KAAwB;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,SAAS,EAAE,CAAC;YACd,6CAA6C;YAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAiB,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,SAAmB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,SAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,YAAY,GAAG;QACjB,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBAC5E,OAAO,IAAI,CAAC;YACd,CAAC;YAED,4CAA4C;YAC5C,kGAAkG;YAClG,8CAA8C;YAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,6EAA6E;YAC7E,uFAAuF;YACvF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACzC,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,IAAI,GAAG,UAAU,GAAY;QAC/B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,IAAI,GAAG,UAAU,IAAqB;QACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,sCAAsC;QACtC,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,yHAAyH;IACzH,GAAG,CAAC,QAAQ,GAAG,UAAU,GAAW;QAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,+DAA+D;IAC/D,sFAAsF;IACtF,GAAG,CAAC,KAAK,GAAG;QACV,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,4DAA4D;QAC5D,mEAAmE;QACnE,IAAI,CAAC;YACH,MAAM,EAAE,CAAC;QACX,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,8CAA8C;IAC9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAY,CAAC;IAE9C,qEAAqE;IACrE,qHAAqH;IACrH,6DAA6D;IAC7D,GAAG,CAAC,IAAI,GAAG,UAAU,WAAqB,EAAE,OAAyB;QACnE,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,2CAA2C;QAC3C,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEnC,kDAAkD;QAClD,iBAAiB,CAAC,WAAW,CAAC;aAC3B,IAAI,CAAC,GAAG,EAAE;YACT,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEL,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,gDAAgD;IAChD,uFAAuF;IACvF,GAAG,CAAC,MAAM,GAAG,UAAU,WAAsB;QAC3C,IAAI,WAAW,EAAE,CAAC;YAChB,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACtC,uEAAuE;YACvE,4BAA4B;QAC9B,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,yDAAyD;IACzD,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;IAErB,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1 @@
1
+ export { type CompressionConfig, createExpressRequest, createExpressResponse, createStreamingLambdaAdapter, } from './create-lambda-adapter.js';
@@ -0,0 +1,7 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ export { createExpressRequest, createExpressResponse, createStreamingLambdaAdapter, } from './create-lambda-adapter.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/streaming/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * @fileoverview Proxy configuration utilities for MRT middleware.
3
+ *
4
+ * This module provides functions for configuring HTTP proxy middleware,
5
+ * including request/response header rewriting and proxy setup for external services.
6
+ * It's designed to work with http-proxy-middleware and integrates with the SSR proxying utilities.
7
+ *
8
+ * @author Salesforce Commerce Cloud
9
+ * @version 0.0.1
10
+ */
11
+ import type { IncomingMessage, ServerResponse, ClientRequest } from 'http';
12
+ import { rewriteProxyRequestHeaders } from './ssr-proxying.js';
13
+ import { type Options, type RequestHandler } from 'http-proxy-middleware';
14
+ /**
15
+ * Parameters for applyProxyRequestHeaders function
16
+ */
17
+ interface ApplyProxyRequestHeadersParams {
18
+ /** The proxy request object from http-proxy-middleware */
19
+ proxyRequest: ClientRequest;
20
+ /** The incoming request object */
21
+ incomingRequest: IncomingMessage;
22
+ /** Whether this is a caching proxy */
23
+ caching?: boolean;
24
+ /** The proxy path being used */
25
+ proxyPath: string;
26
+ /** The target host to proxy to */
27
+ targetHost: string;
28
+ /** The protocol to use for the target */
29
+ targetProtocol: string;
30
+ /** @internal Test hook: override rewrite function */
31
+ rewriteRequestHeaders?: (opts: Parameters<typeof rewriteProxyRequestHeaders>[0]) => ReturnType<typeof rewriteProxyRequestHeaders>;
32
+ }
33
+ /**
34
+ * Parameters for configureProxy function
35
+ */
36
+ interface ConfigureProxyParams {
37
+ /** The hostname where the Express app is running */
38
+ appHostname: string;
39
+ /** The proxy path pattern */
40
+ proxyPath: string;
41
+ /** The protocol to use for the target */
42
+ targetProtocol: string;
43
+ /** The target host to proxy to */
44
+ targetHost: string;
45
+ /** The protocol to use for the app (defaults to https) */
46
+ appProtocol?: string;
47
+ /** Whether this is a caching proxy */
48
+ caching?: boolean;
49
+ }
50
+ /**
51
+ * Optional test hook: provide a custom createProxyMiddleware implementation.
52
+ * @internal
53
+ */
54
+ export type CreateProxyMiddlewareFn = (config: Options<IncomingMessage, ServerResponse>) => RequestHandler;
55
+ /**
56
+ * Configuration object for a proxy
57
+ */
58
+ export interface ProxyConfig {
59
+ /** The target host URL */
60
+ host: string;
61
+ /** The proxy path pattern */
62
+ path: string;
63
+ }
64
+ /**
65
+ * Return type for configureProxy function
66
+ */
67
+ export interface ProxyResult {
68
+ /** The proxy middleware function */
69
+ fn: RequestHandler;
70
+ /** The proxy path pattern */
71
+ path: string;
72
+ }
73
+ /**
74
+ * Applies proxy request headers by rewriting and copying headers from the incoming request
75
+ * to the proxy request using the SSR proxying utilities.
76
+ *
77
+ * This function handles header transformation, addition, and removal for proxy requests,
78
+ * ensuring that the proxied request has the correct headers for the target service.
79
+ *
80
+ * @param params - Parameters for applying proxy request headers
81
+ * @param params.proxyRequest - The proxy request object from http-proxy-middleware
82
+ * @param params.incomingRequest - The incoming request object
83
+ * @param params.caching - Whether this is a caching proxy (defaults to false)
84
+ * @param params.proxyPath - The proxy path being used
85
+ * @param params.targetHost - The target host to proxy to
86
+ * @param params.targetProtocol - The protocol to use for the target
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * applyProxyRequestHeaders({
91
+ * proxyRequest: clientRequest,
92
+ * incomingRequest: incomingMessage,
93
+ * caching: false,
94
+ * proxyPath: 'api',
95
+ * targetHost: 'api.example.com',
96
+ * targetProtocol: 'https'
97
+ * });
98
+ * ```
99
+ */
100
+ export declare const applyProxyRequestHeaders: ({ proxyRequest, incomingRequest, caching, proxyPath, targetHost, targetProtocol, rewriteRequestHeaders: rewriteFn, }: ApplyProxyRequestHeadersParams) => void;
101
+ /**
102
+ * Configures a single proxy middleware with the specified parameters.
103
+ *
104
+ * This function creates a complete proxy configuration including request/response
105
+ * header rewriting, error handling, and cookie domain rewriting. The configuration
106
+ * is designed to match CloudFront behavior for consistency between local development
107
+ * and production environments.
108
+ *
109
+ * @param params - Configuration parameters for the proxy
110
+ * @param params.appHostname - The hostname where the Express app is running
111
+ * @param params.proxyPath - The proxy path pattern
112
+ * @param params.targetProtocol - The protocol to use for the target
113
+ * @param params.targetHost - The target host to proxy to
114
+ * @param params.appProtocol - The protocol to use for the app (defaults to 'https')
115
+ * @param params.caching - Whether this is a caching proxy
116
+ * @returns Proxy result containing the middleware function and path
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * const proxy = configureProxy({
121
+ * appHostname: 'localhost:3000',
122
+ * proxyPath: 'api',
123
+ * targetProtocol: 'https',
124
+ * targetHost: 'api.example.com',
125
+ * appProtocol: 'https',
126
+ * caching: false
127
+ * });
128
+ *
129
+ * app.use(`/mobify/proxy/${proxy.path}`, proxy.fn);
130
+ * ```
131
+ */
132
+ export declare const configureProxy: ({ appHostname, proxyPath, targetProtocol, targetHost, appProtocol, caching, }: ConfigureProxyParams, createProxyFn?: CreateProxyMiddlewareFn) => ProxyResult;
133
+ /**
134
+ * Configures multiple proxy middlewares from an array of proxy configurations.
135
+ *
136
+ * This function processes an array of proxy configurations and creates corresponding
137
+ * proxy middleware functions for each one. It automatically determines the target
138
+ * protocol from the host URL and creates non-caching proxies by default.
139
+ *
140
+ * @param proxyConfigs - Array of proxy configurations
141
+ * @param appHostname - The hostname where the Express app is running
142
+ * @param appProtocol - The protocol to use for the app (defaults to 'https')
143
+ * @returns Array of proxy results containing middleware functions and paths
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * const proxyConfigs = [
148
+ * { host: 'https://api.example.com', path: 'api' },
149
+ * { host: 'http://internal.service.com', path: 'internal' }
150
+ * ];
151
+ *
152
+ * const proxies = configureProxying(proxyConfigs, 'localhost:3000', 'https');
153
+ *
154
+ * proxies.forEach(({ fn, path }) => {
155
+ * app.use(`/mobify/proxy/${path}`, fn);
156
+ * });
157
+ * ```
158
+ */
159
+ export declare const configureProxying: (proxyConfigs: ProxyConfig[], appHostname: string, appProtocol?: string, createProxyFn?: CreateProxyMiddlewareFn) => ProxyResult[];
160
+ export {};
@@ -0,0 +1,204 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { rewriteProxyRequestHeaders, rewriteProxyResponseHeaders } from './ssr-proxying.js';
7
+ import { createProxyMiddleware } from 'http-proxy-middleware';
8
+ const stripProxyPathRE = /^\/mobify\/(proxy|caching)\/([^/]+)/;
9
+ /**
10
+ * Applies proxy request headers by rewriting and copying headers from the incoming request
11
+ * to the proxy request using the SSR proxying utilities.
12
+ *
13
+ * This function handles header transformation, addition, and removal for proxy requests,
14
+ * ensuring that the proxied request has the correct headers for the target service.
15
+ *
16
+ * @param params - Parameters for applying proxy request headers
17
+ * @param params.proxyRequest - The proxy request object from http-proxy-middleware
18
+ * @param params.incomingRequest - The incoming request object
19
+ * @param params.caching - Whether this is a caching proxy (defaults to false)
20
+ * @param params.proxyPath - The proxy path being used
21
+ * @param params.targetHost - The target host to proxy to
22
+ * @param params.targetProtocol - The protocol to use for the target
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * applyProxyRequestHeaders({
27
+ * proxyRequest: clientRequest,
28
+ * incomingRequest: incomingMessage,
29
+ * caching: false,
30
+ * proxyPath: 'api',
31
+ * targetHost: 'api.example.com',
32
+ * targetProtocol: 'https'
33
+ * });
34
+ * ```
35
+ */
36
+ export const applyProxyRequestHeaders = ({ proxyRequest, incomingRequest, caching = false,
37
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
38
+ proxyPath, targetHost, targetProtocol, rewriteRequestHeaders: rewriteFn, }) => {
39
+ const headers = incomingRequest.headers;
40
+ const rewrite = rewriteFn ?? rewriteProxyRequestHeaders;
41
+ const newHeaders = rewrite({
42
+ caching,
43
+ headers: headers,
44
+ headerFormat: 'http',
45
+ targetHost,
46
+ targetProtocol,
47
+ });
48
+ // Copy any new and updated headers to the proxyRequest
49
+ // using setHeader.
50
+ Object.entries(newHeaders).forEach(
51
+ // setHeader always replaces any current value.
52
+ ([key, value]) => proxyRequest.setHeader(key, value));
53
+ // Handle deletion of headers.
54
+ // Iterate over the keys of incomingRequest.headers - for every
55
+ // key, if the value is not present in newHeaders, we remove
56
+ // that value from proxyRequest's headers.
57
+ Object.keys(headers).forEach((key) => {
58
+ // We delete the header on any falsy value, since
59
+ // there's no use case where we supply an empty header
60
+ // value.
61
+ if (!newHeaders[key]) {
62
+ proxyRequest.removeHeader(key);
63
+ }
64
+ });
65
+ };
66
+ /**
67
+ * Configures a single proxy middleware with the specified parameters.
68
+ *
69
+ * This function creates a complete proxy configuration including request/response
70
+ * header rewriting, error handling, and cookie domain rewriting. The configuration
71
+ * is designed to match CloudFront behavior for consistency between local development
72
+ * and production environments.
73
+ *
74
+ * @param params - Configuration parameters for the proxy
75
+ * @param params.appHostname - The hostname where the Express app is running
76
+ * @param params.proxyPath - The proxy path pattern
77
+ * @param params.targetProtocol - The protocol to use for the target
78
+ * @param params.targetHost - The target host to proxy to
79
+ * @param params.appProtocol - The protocol to use for the app (defaults to 'https')
80
+ * @param params.caching - Whether this is a caching proxy
81
+ * @returns Proxy result containing the middleware function and path
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * const proxy = configureProxy({
86
+ * appHostname: 'localhost:3000',
87
+ * proxyPath: 'api',
88
+ * targetProtocol: 'https',
89
+ * targetHost: 'api.example.com',
90
+ * appProtocol: 'https',
91
+ * caching: false
92
+ * });
93
+ *
94
+ * app.use(`/mobify/proxy/${proxy.path}`, proxy.fn);
95
+ * ```
96
+ */
97
+ export const configureProxy = ({ appHostname, proxyPath, targetProtocol, targetHost, appProtocol = /* istanbul ignore next */ 'https', caching, }, createProxyFn) => {
98
+ const createProxy = createProxyFn ?? createProxyMiddleware;
99
+ // This configuration must match the behaviour of the proxying
100
+ // in CloudFront.
101
+ const targetOrigin = `${targetProtocol}://${targetHost}`;
102
+ const config = {
103
+ // The name of the changeOrigin option is misleading - it configures
104
+ // the proxying code in http-proxy to rewrite the Host header (not
105
+ // any Origin header) of the outgoing request. The Host header is
106
+ // also fixed up in rewriteProxyRequestHeaders, but that
107
+ // doesn't work correctly with http-proxy, because the https
108
+ // connection to the target is made *before* the request headers
109
+ // are modified by the onProxyReq event handler. So we set this
110
+ // flag true to get correct behaviour.
111
+ changeOrigin: true,
112
+ // Rewrite the domain in set-cookie headers in responses, if it
113
+ // matches the targetHost.
114
+ cookieDomainRewrite: {
115
+ targetHost: appHostname,
116
+ },
117
+ // We don't do cookie *path* rewriting - it's complex.
118
+ cookiePathRewrite: false,
119
+ // Neither CloudFront nor the local Express app will follow redirect
120
+ // responses to proxy requests. The responses are returned to the
121
+ // client.
122
+ followRedirects: false,
123
+ onError: (err, req, res) => {
124
+ res.writeHead(500, {
125
+ 'Content-Type': 'text/plain',
126
+ });
127
+ res.end(`Error in proxy request to ${req.url}: ${err}`);
128
+ },
129
+ onProxyReq: (proxyRequest, incomingRequest) => {
130
+ applyProxyRequestHeaders({
131
+ proxyRequest,
132
+ incomingRequest,
133
+ caching,
134
+ proxyPath,
135
+ targetHost,
136
+ targetProtocol,
137
+ });
138
+ },
139
+ onProxyRes: (proxyResponse, req) => {
140
+ const requestUrl = req.url?.replace(stripProxyPathRE, '');
141
+ // Rewrite key headers
142
+ proxyResponse.headers = rewriteProxyResponseHeaders({
143
+ appHostname,
144
+ caching: !!caching,
145
+ targetHost,
146
+ targetProtocol,
147
+ appProtocol,
148
+ proxyPath,
149
+ statusCode: proxyResponse.statusCode,
150
+ headers: proxyResponse.headers,
151
+ headerFormat: 'http',
152
+ requestUrl,
153
+ });
154
+ },
155
+ // The origin (protocol + host) to which we proxy
156
+ target: targetOrigin,
157
+ };
158
+ const proxyFunc = createProxy(config);
159
+ return { fn: proxyFunc, path: proxyPath };
160
+ };
161
+ /**
162
+ * Configures multiple proxy middlewares from an array of proxy configurations.
163
+ *
164
+ * This function processes an array of proxy configurations and creates corresponding
165
+ * proxy middleware functions for each one. It automatically determines the target
166
+ * protocol from the host URL and creates non-caching proxies by default.
167
+ *
168
+ * @param proxyConfigs - Array of proxy configurations
169
+ * @param appHostname - The hostname where the Express app is running
170
+ * @param appProtocol - The protocol to use for the app (defaults to 'https')
171
+ * @returns Array of proxy results containing middleware functions and paths
172
+ *
173
+ * @example
174
+ * ```typescript
175
+ * const proxyConfigs = [
176
+ * { host: 'https://api.example.com', path: 'api' },
177
+ * { host: 'http://internal.service.com', path: 'internal' }
178
+ * ];
179
+ *
180
+ * const proxies = configureProxying(proxyConfigs, 'localhost:3000', 'https');
181
+ *
182
+ * proxies.forEach(({ fn, path }) => {
183
+ * app.use(`/mobify/proxy/${path}`, fn);
184
+ * });
185
+ * ```
186
+ */
187
+ export const configureProxying = (proxyConfigs, appHostname, appProtocol = 'https', createProxyFn) => {
188
+ const proxies = [];
189
+ proxyConfigs.forEach((config) => {
190
+ const targetProtocol = config.host.startsWith('https://') ? 'https' : 'http';
191
+ const targetHost = config.host.replace(`${targetProtocol}://`, '');
192
+ const proxy = configureProxy({
193
+ proxyPath: config.path,
194
+ targetProtocol,
195
+ targetHost,
196
+ appProtocol,
197
+ appHostname,
198
+ caching: false,
199
+ }, createProxyFn);
200
+ proxies.push(proxy);
201
+ });
202
+ return proxies;
203
+ };
204
+ //# sourceMappingURL=configure-proxying.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-proxying.js","sourceRoot":"","sources":["../../../src/utils/configure-proxying.ts"],"names":[],"mappings":"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"}