@actuate-media/cms-core 0.57.0 → 0.57.1

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 (118) hide show
  1. package/dist/__tests__/api/stats-seo-cache.test.js +1 -1
  2. package/dist/__tests__/api/stats-seo-cache.test.js.map +1 -1
  3. package/dist/api/guarded-db.d.ts +13 -0
  4. package/dist/api/guarded-db.d.ts.map +1 -0
  5. package/dist/api/guarded-db.js +58 -0
  6. package/dist/api/guarded-db.js.map +1 -0
  7. package/dist/api/handler-factory.d.ts.map +1 -1
  8. package/dist/api/handler-factory.js +2 -1
  9. package/dist/api/handler-factory.js.map +1 -1
  10. package/dist/api/handlers.d.ts +5 -3
  11. package/dist/api/handlers.d.ts.map +1 -1
  12. package/dist/api/handlers.js +54 -13068
  13. package/dist/api/handlers.js.map +1 -1
  14. package/dist/api/route-helpers.d.ts +320 -0
  15. package/dist/api/route-helpers.d.ts.map +1 -0
  16. package/dist/api/route-helpers.js +1307 -0
  17. package/dist/api/route-helpers.js.map +1 -0
  18. package/dist/api/routes/ai-seo.d.ts +3 -0
  19. package/dist/api/routes/ai-seo.d.ts.map +1 -0
  20. package/dist/api/routes/ai-seo.js +377 -0
  21. package/dist/api/routes/ai-seo.js.map +1 -0
  22. package/dist/api/routes/ai-settings.d.ts +3 -0
  23. package/dist/api/routes/ai-settings.d.ts.map +1 -0
  24. package/dist/api/routes/ai-settings.js +764 -0
  25. package/dist/api/routes/ai-settings.js.map +1 -0
  26. package/dist/api/routes/auth.d.ts +3 -0
  27. package/dist/api/routes/auth.d.ts.map +1 -0
  28. package/dist/api/routes/auth.js +787 -0
  29. package/dist/api/routes/auth.js.map +1 -0
  30. package/dist/api/routes/collab.d.ts +3 -0
  31. package/dist/api/routes/collab.d.ts.map +1 -0
  32. package/dist/api/routes/collab.js +426 -0
  33. package/dist/api/routes/collab.js.map +1 -0
  34. package/dist/api/routes/dashboard.d.ts +7 -0
  35. package/dist/api/routes/dashboard.d.ts.map +1 -0
  36. package/dist/api/routes/dashboard.js +540 -0
  37. package/dist/api/routes/dashboard.js.map +1 -0
  38. package/dist/api/routes/documents.d.ts +3 -0
  39. package/dist/api/routes/documents.d.ts.map +1 -0
  40. package/dist/api/routes/documents.js +180 -0
  41. package/dist/api/routes/documents.js.map +1 -0
  42. package/dist/api/routes/folders.d.ts +3 -0
  43. package/dist/api/routes/folders.d.ts.map +1 -0
  44. package/dist/api/routes/folders.js +195 -0
  45. package/dist/api/routes/folders.js.map +1 -0
  46. package/dist/api/routes/forms.d.ts +3 -0
  47. package/dist/api/routes/forms.d.ts.map +1 -0
  48. package/dist/api/routes/forms.js +661 -0
  49. package/dist/api/routes/forms.js.map +1 -0
  50. package/dist/api/routes/globals.d.ts +3 -0
  51. package/dist/api/routes/globals.d.ts.map +1 -0
  52. package/dist/api/routes/globals.js +131 -0
  53. package/dist/api/routes/globals.js.map +1 -0
  54. package/dist/api/routes/media.d.ts +3 -0
  55. package/dist/api/routes/media.d.ts.map +1 -0
  56. package/dist/api/routes/media.js +521 -0
  57. package/dist/api/routes/media.js.map +1 -0
  58. package/dist/api/routes/meta.d.ts +3 -0
  59. package/dist/api/routes/meta.d.ts.map +1 -0
  60. package/dist/api/routes/meta.js +96 -0
  61. package/dist/api/routes/meta.js.map +1 -0
  62. package/dist/api/routes/page-templates.d.ts +3 -0
  63. package/dist/api/routes/page-templates.d.ts.map +1 -0
  64. package/dist/api/routes/page-templates.js +265 -0
  65. package/dist/api/routes/page-templates.js.map +1 -0
  66. package/dist/api/routes/presence.d.ts +3 -0
  67. package/dist/api/routes/presence.d.ts.map +1 -0
  68. package/dist/api/routes/presence.js +35 -0
  69. package/dist/api/routes/presence.js.map +1 -0
  70. package/dist/api/routes/preview.d.ts +3 -0
  71. package/dist/api/routes/preview.d.ts.map +1 -0
  72. package/dist/api/routes/preview.js +111 -0
  73. package/dist/api/routes/preview.js.map +1 -0
  74. package/dist/api/routes/redirects.d.ts +3 -0
  75. package/dist/api/routes/redirects.d.ts.map +1 -0
  76. package/dist/api/routes/redirects.js +790 -0
  77. package/dist/api/routes/redirects.js.map +1 -0
  78. package/dist/api/routes/saved-sections.d.ts +3 -0
  79. package/dist/api/routes/saved-sections.d.ts.map +1 -0
  80. package/dist/api/routes/saved-sections.js +1036 -0
  81. package/dist/api/routes/saved-sections.js.map +1 -0
  82. package/dist/api/routes/scheduling.d.ts +3 -0
  83. package/dist/api/routes/scheduling.d.ts.map +1 -0
  84. package/dist/api/routes/scheduling.js +373 -0
  85. package/dist/api/routes/scheduling.js.map +1 -0
  86. package/dist/api/routes/sections.d.ts +3 -0
  87. package/dist/api/routes/sections.d.ts.map +1 -0
  88. package/dist/api/routes/sections.js +500 -0
  89. package/dist/api/routes/sections.js.map +1 -0
  90. package/dist/api/routes/security-center.d.ts +3 -0
  91. package/dist/api/routes/security-center.d.ts.map +1 -0
  92. package/dist/api/routes/security-center.js +71 -0
  93. package/dist/api/routes/security-center.js.map +1 -0
  94. package/dist/api/routes/seo-public.d.ts +14 -0
  95. package/dist/api/routes/seo-public.d.ts.map +1 -0
  96. package/dist/api/routes/seo-public.js +930 -0
  97. package/dist/api/routes/seo-public.js.map +1 -0
  98. package/dist/api/routes/seo.d.ts +8 -0
  99. package/dist/api/routes/seo.d.ts.map +1 -0
  100. package/dist/api/routes/seo.js +848 -0
  101. package/dist/api/routes/seo.js.map +1 -0
  102. package/dist/api/routes/system.d.ts +3 -0
  103. package/dist/api/routes/system.d.ts.map +1 -0
  104. package/dist/api/routes/system.js +340 -0
  105. package/dist/api/routes/system.js.map +1 -0
  106. package/dist/api/routes/url-resolution.d.ts +3 -0
  107. package/dist/api/routes/url-resolution.d.ts.map +1 -0
  108. package/dist/api/routes/url-resolution.js +457 -0
  109. package/dist/api/routes/url-resolution.js.map +1 -0
  110. package/dist/api/routes/users.d.ts +3 -0
  111. package/dist/api/routes/users.d.ts.map +1 -0
  112. package/dist/api/routes/users.js +1162 -0
  113. package/dist/api/routes/users.js.map +1 -0
  114. package/dist/api/routes/webhooks.d.ts +3 -0
  115. package/dist/api/routes/webhooks.d.ts.map +1 -0
  116. package/dist/api/routes/webhooks.js +338 -0
  117. package/dist/api/routes/webhooks.js.map +1 -0
  118. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/api/routes/auth.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,WAAW,EACX,kBAAkB,GACnB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC3E,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EACL,gBAAgB,EAChB,IAAI,EACJ,aAAa,EACb,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,QAAQ,EACR,2BAA2B,EAC3B,YAAY,GACb,MAAM,qBAAqB,CAAA;AAE5B,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAClD,MAAM,EAAE,GAAG,SAAS,CAAA;IACpB,8EAA8E;IAC9E,cAAc;IACd,8EAA8E;IAE9E,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAIjC,CAAA;YACD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;YAEhC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,OAAO,aAAa,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAA;YAC9D,CAAC;YAED,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YACnD,wEAAwE;YACxE,wEAAwE;YACxE,oEAAoE;YACpE,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAA;YACvE,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO,aAAa,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAA;YAC/E,CAAC;YAED,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;YACxC,IAAI,aAAa,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACtC,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;gBACrF,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;oBAC3B,OAAO,aAAa,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAA;gBAC7E,CAAC;YACH,CAAC;YAED,MAAM,CAAC,GAAG,EAAE,EAAE,CAAA;YACd,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;gBAAE,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAA;YAE1D,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBAClC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;aAC7C,CAAC,CAAA;YAEF,sEAAsE;YACtE,mEAAmE;YACnE,iEAAiE;YACjE,+DAA+D;YAC/D,mEAAmE;YACnE,2DAA2D;YAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAA;gBAClC,OAAO,aAAa,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;YACxD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAA;gBAClC,OAAO,aAAa,CAClB,0EAA0E,EAC1E,GAAG,CACJ,CAAA;YACH,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;YACvE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,QAAQ,CAAC;oBACb,KAAK,EAAE,cAAc;oBACrB,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;oBAC5C,SAAS,EAAE,SAAS,IAAI,SAAS;iBAClC,CAAC,CAAA;gBACF,OAAO,aAAa,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;YACxD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,aAAa,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAA;YACrD,CAAC;YAED,qEAAqE;YACrE,yEAAyE;YACzE,sEAAsE;YACtE,yEAAyE;YACzE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,aAAa,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;YACnD,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO,aAAa,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;YAChD,CAAC;YAED,8DAA8D;YAC9D,mEAAmE;YACnE,oEAAoE;YACpE,qEAAqE;YACrE,kEAAkE;YAClE,IAAI,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAA;oBAC7C,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;gBACnF,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CACV,2CAA2C,EAC3C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAA;gBACH,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,mEAAmE;gBACnE,kEAAkE;gBAClE,4DAA4D;gBAC5D,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;gBAClE,MAAM,eAAe,GAAG,MAAM,qBAAqB,CACjD,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,EAChC,gBAAgB,EAAE,CACnB,CAAA;gBACD,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;YAChE,CAAC;YAED,MAAM,2BAA2B,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;YAE7C,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;YAEzC,MAAM,KAAK,GAAG,MAAM,aAAa,CAC/B,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,EAC9D,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAC/B,CAAA;YAED,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;gBACxB,IAAI,EAAE;oBACJ,EAAE,EAAE,aAAa;oBACjB,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,KAAK;oBACL,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;oBACzD,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;oBACvC,SAAS,EAAE,SAAS,IAAI,IAAI;iBAC7B;aACF,CAAC,CAAA;YAEF,mEAAmE;YACnE,qEAAqE;YACrE,mEAAmE;YACnE,wDAAwD;YACxD,IAAI,gBAAgB,GAAG,KAAK,CAAA;YAC5B,IAAI,CAAC;gBACH,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAA;gBACrF,MAAM,GAAG,GAAG,MAAM,yBAAyB,CAAC,CAAC,CAAC,CAAA;gBAC9C,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;oBAC7D,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;oBACzE,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,OAAO,CAAA;gBACtF,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,6CAA6C;YAC/C,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC;gBACpB,IAAI,EAAE;oBACJ,KAAK;oBACL,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;oBAC1E,gBAAgB;iBACjB;aACF,CAAC,CAAA;YAEF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;YAC1D,MAAM,aAAa,GAAG;gBACpB,mBAAmB,KAAK,EAAE;gBAC1B,QAAQ;gBACR,UAAU;gBACV,cAAc;gBACd,gBAAgB;aACjB,CAAA;YACD,IAAI,YAAY;gBAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAE9C,MAAM,SAAS,GAAG,MAAM,iBAAiB,EAAE,CAAA;YAC3C,MAAM,UAAU,GAAG,CAAC,gBAAgB,SAAS,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,CAAA;YAC3F,IAAI,YAAY;gBAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAE3C,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC/D,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAE5D,MAAM,QAAQ,CAAC;gBACb,KAAK,EAAE,eAAe;gBACtB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC5C,SAAS,EAAE,SAAS,IAAI,SAAS;aAClC,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAC9E,kDAAkD;IAClD,EAAE;IACF,mDAAmD;IACnD,+DAA+D;IAC/D,gDAAgD;IAChD,2EAA2E;IAC3E,wBAAwB;IACxB,EAAE;IACF,2EAA2E;IAC3E,wEAAwE;IACxE,eAAe;IACf,EAAE;IACF,kEAAkE;IAClE,wEAAwE;IACxE,qEAAqE;IACrE,wEAAwE;IACxE,yCAAyC;IACzC,8EAA8E;IAC9E,MAAM,cAAc,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;QAChD,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG;YAAE,OAAO,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QACvF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YAAE,OAAO,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QAEjF,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QAC/B,MAAM,YAAY,GAChB,EAAE,KAAK,WAAW;YAClB,EAAE,KAAK,KAAK;YACZ,EAAE,KAAK,kBAAkB;YACzB,EAAE,KAAK,WAAW;YAClB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACvB,wEAAwE;QACxE,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,oEAAoE;QACpE,IAAI,UAAU,GAAG,YAAY,CAAA;QAC7B,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;gBAC1C,UAAU,GAAG,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,CAAA;YAC7E,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU,GAAG,KAAK,CAAA;YACpB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU;YAAE,OAAO,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QAEvD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAAK,EAAO,CAAA;YACtB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;gBACzB,OAAO,aAAa,CAAC,gEAAgE,EAAE,GAAG,CAAC,CAAA;YAC7F,CAAC;YAED,oEAAoE;YACpE,uEAAuE;YACvE,uEAAuE;YACvE,MAAM,gBAAgB,GAAG,0BAA0B,CAAA;YACnD,IAAI,IAAI,GAAQ,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAA;YAC/E,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC;oBACH,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;wBACzB,IAAI,EAAE;4BACJ,KAAK,EAAE,gBAAgB;4BACvB,IAAI,EAAE,YAAY;4BAClB,IAAI,EAAE,OAAO;4BACb,2DAA2D;4BAC3D,kDAAkD;4BAClD,YAAY,EAAE,yDAAyD;yBACxE;qBACF,CAAC,CAAA;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAA;oBAC/D,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;YACzC,MAAM,KAAK,GAAG,MAAM,aAAa,CAC/B,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,EAC9D,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAC/B,CAAA;YAED,IAAI,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;oBACrB,IAAI,EAAE;wBACJ,EAAE,EAAE,aAAa;wBACjB,MAAM,EAAE,IAAI,CAAC,EAAE;wBACf,KAAK;wBACL,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;wBACzD,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;wBACvC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI;qBACrD;iBACF,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,iBAAiB,EAAE,CAAA;YAC3C,MAAM,aAAa,GAAG;gBACpB,mBAAmB,KAAK,EAAE;gBAC1B,QAAQ;gBACR,UAAU;gBACV,cAAc;gBACd,gBAAgB;aACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACZ,MAAM,UAAU,GAAG;gBACjB,gBAAgB,SAAS,EAAE;gBAC3B,QAAQ;gBACR,cAAc;gBACd,eAAe;aAChB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEZ,gEAAgE;YAChE,mEAAmE;YACnE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,cAAc,CAAA;YAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAA;YAErE,OAAO,CAAC,IAAI,CACV,kDAAkD,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,+BAA+B,CACxG,CAAA;YAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;gBAClC,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE;oBACP,QAAQ,EAAE,QAAQ;oBAClB,GAAG,gBAAgB;iBACpB;aACF,CAAC,CAAA;YACF,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;YACpD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACjD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QACxC,CAAC;IACH,CAAC,CAAA;IACD,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IACxC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IAEzC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAA;YAEjC,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;YAEjD,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC5B,MAAM,QAAQ,CAAC;gBACb,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;aAC7C,CAAC,CAAA;YAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;YAClD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAClB,YAAY,EACZ,6DAA6D,CAC9D,CAAA;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QACrC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAuB,CAAA;YACzD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;YAEtB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,aAAa,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;YAChD,CAAC;YAED,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC5B,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAA;YACzE,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO,aAAa,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAA;YACzE,CAAC;YAED,MAAM,CAAC,GAAG,EAAE,EAAE,CAAA;YACd,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;gBAAE,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAA;YAE1D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;YAC/E,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAA;YAEpC,MAAM,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvD,OAAO;gBACP,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,IAAI,QAAQ;gBAC7C,QAAQ,EAAE,SAAS,EAAE,QAAe;aACrC,CAAC,CAAA;YAEF,MAAM,QAAQ,CAAC;gBACb,KAAK,EAAE,wBAAwB;gBAC/B,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC5C,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS;gBACzD,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;aAC/C,CAAC,CAAA;YAEF,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACpD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAA0C,CAAA;YAC5E,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;YAEhC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,OAAO,aAAa,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAA;YAClE,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,aAAa,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAA;YACrE,CAAC;YAED,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC5B,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAA;YACvE,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO,aAAa,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAA;YACzE,CAAC;YAED,MAAM,CAAC,GAAG,EAAE,EAAE,CAAA;YACd,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;gBAAE,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAA;YAE1D,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;YAE7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAuB,EAAE,GAAG,CAAC,CAAA;YACpE,CAAC;YAED,MAAM,QAAQ,CAAC;gBACb,KAAK,EAAE,yBAAyB;gBAChC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC5C,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS;aAC1D,CAAC,CAAA;YAEF,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAA;YAEjC,MAAM,IAAI,GAAG,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;gBACtC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAClC,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,IAAI;iBAClB;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,aAAa,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;YAC7C,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAErC,qEAAqE;YACrE,sEAAsE;YACtE,kEAAkE;YAClE,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;YACtE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,MAAM,iBAAiB,EAAE,CAAA;gBAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;gBAC1D,MAAM,UAAU,GAAG;oBACjB,gBAAgB,SAAS,EAAE;oBAC3B,QAAQ;oBACR,cAAc;oBACd,eAAe;oBACf,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACZ,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACnD,CAAC;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACtC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAC9E,cAAc;IACd,8EAA8E;IAE9E,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAA;YAEjC,mEAAmE;YACnE,uDAAuD;YACvD,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC3E,IAAI,SAAS;gBAAE,OAAO,SAAS,CAAA;YAE/B,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAChE,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;YACpC,MAAM,IAAI,GAAG,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;gBACtC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAClC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;aAC3C,CAAC,CAAA;YACF,IAAI,CAAC,IAAI;gBAAE,OAAO,aAAa,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;YACtD,IAAI,IAAI,CAAC,WAAW;gBAAE,OAAO,aAAa,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;YACvE,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAA;YACnC,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAA;YACrC,qEAAqE;YACrE,iDAAiD;YACjD,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAA;YACnD,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;YAC1D,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;gBACrB,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAClC,IAAI,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE;aACrE,CAAC,CAAA;YACF,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAA;YACjC,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAsB,CAAA;YACxD,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;YAC7D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;YACzD,MAAM,IAAI,GAAG,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;gBACtC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAClC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;aAC7B,CAAC,CAAA;YACF,IAAI,CAAC,IAAI,EAAE,UAAU;gBAAE,OAAO,aAAa,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;YACnE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACnD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC3C,IAAI,CAAC,KAAK;gBAAE,OAAO,aAAa,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;YACrD,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;YAC3F,MAAM,QAAQ,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;YACtE,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAA;YAEjC,0EAA0E;YAC1E,sEAAsE;YACtE,0CAA0C;YAC1C,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC3E,IAAI,SAAS;gBAAE,OAAO,SAAS,CAAA;YAE/B,MAAM,CAAC,GAAG,EAAE,EAAE,CAAA;YACd,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBAClB,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAClC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;aAClE,CAAC,CAAA;YACF,IAAI,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;oBACzB,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;wBAC3B,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;wBACnC,SAAS,EAAE,IAAI;qBAChB;oBACD,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE;iBAChC,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,QAAQ,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;YACvE,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAgD,CAAA;YAClF,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxC,OAAO,aAAa,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;YACpE,CAAC;YAED,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YAEnD,sEAAsE;YACtE,wEAAwE;YACxE,kEAAkE;YAClE,0EAA0E;YAC1E,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAA;YACvE,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACxD,OAAO,aAAa,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAA;YAC9E,CAAC;YAED,IAAI,OAAgD,CAAA;YACpD,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,EAAE,CAAC,CAAA;YACjF,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,aAAa,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAA;YACrE,CAAC;YAED,sEAAsE;YACtE,qEAAqE;YACrE,6BAA6B;YAC7B,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;YAClE,IAAI,WAAW,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxC,OAAO,aAAa,CAAC,qDAAqD,EAAE,GAAG,CAAC,CAAA;YAClF,CAAC;YAED,wEAAwE;YACxE,uEAAuE;YACvE,yCAAyC;YACzC,MAAM,UAAU,GAAG,aAAa,OAAO,CAAC,MAAM,EAAE,CAAA;YAChD,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;gBAC1D,OAAO,aAAa,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAA;YAC9E,CAAC;YAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;YACzD,MAAM,IAAI,GAAG,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;gBACtC,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC7B,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,IAAI;oBAChB,WAAW,EAAE,IAAI;oBACjB,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC,CAAA;YACF,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrE,OAAO,aAAa,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;YAC9C,CAAC;YAED,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC5D,IAAI,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;YAClD,IAAI,cAAc,GAAG,KAAK,CAAA;YAE1B,yEAAyE;YACzE,wEAAwE;YACxE,iEAAiE;YACjE,wEAAwE;YACxE,2EAA2E;YAC3E,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;YAC7E,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;oBAClE,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,aAAa,CAAC,CAAA;oBACrD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;oBACtD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;wBACpB,KAAK,GAAG,IAAI,CAAA;wBACZ,cAAc,GAAG,IAAI,CAAA;wBACrB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAA;wBACxD,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;4BACrB,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;4BACtB,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE;yBAC3D,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,mEAAmE;oBACnE,8DAA8D;gBAChE,CAAC;YACH,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,QAAQ,CAAC;oBACb,KAAK,EAAE,cAAc;oBACrB,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;oBAC5C,SAAS,EAAE,SAAS,IAAI,SAAS;oBACjC,OAAO,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;iBACpC,CAAC,CAAA;gBACF,OAAO,aAAa,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;YAC3C,CAAC;YAED,MAAM,CAAC,GAAG,EAAE,EAAE,CAAA;YACd,MAAM,2BAA2B,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;YAE7C,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;YACzC,MAAM,KAAK,GAAG,MAAM,aAAa,CAC/B,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,EAC9D,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAC/B,CAAA;YACD,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACrB,IAAI,EAAE;oBACJ,EAAE,EAAE,aAAa;oBACjB,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,KAAK;oBACL,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;oBACzD,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;oBACvC,SAAS,EAAE,SAAS,IAAI,IAAI;iBAC7B;aACF,CAAC,CAAA;YAEF,MAAM,QAAQ,CAAC;gBACb,KAAK,EAAE,eAAe;gBACtB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC5C,SAAS,EAAE,SAAS,IAAI,SAAS;gBACjC,OAAO,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE;aAC1D,CAAC,CAAA;YAEF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;YAC1D,MAAM,aAAa,GAAG;gBACpB,mBAAmB,KAAK,EAAE;gBAC1B,QAAQ;gBACR,UAAU;gBACV,cAAc;gBACd,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE;gBAC1B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEZ,MAAM,SAAS,GAAG,MAAM,iBAAiB,EAAE,CAAA;YAC3C,MAAM,UAAU,GAAG;gBACjB,gBAAgB,SAAS,EAAE;gBAC3B,QAAQ;gBACR,cAAc;gBACd,eAAe;gBACf,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEZ,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE;oBACJ,KAAK;oBACL,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;iBAC3E;aACF,CAAC,EACF,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,gBAAgB,EAAE,EAAE,CAClD,CAAA;YACD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;YACpD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACjD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAC9E,eAAe;IACf,8EAA8E;IAE9E,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA6B,CAAA;YACrD,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,OAAO,aAAa,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;YACzD,CAAC;YAED,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;YACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;YAE/E,MAAM,cAAc,GAAmB,EAAE,CAAA;YACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;YACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,SAAS,YAAY,CAAC,IAAI,EAAE,CAAA;YAClE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,SAAS,gBAAgB,CAAC,IAAI,EAAE,CAAA;YAE1E,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC/B,OAAO,aAAa,CAAC,mBAAmB,QAAQ,qBAAqB,EAAE,GAAG,CAAC,CAAA;YAC7E,CAAC;YAED,cAAc,CAAC,QAAQ,CAAC,GAAG;gBACzB,QAAQ;gBACR,YAAY;gBACZ,WAAW,EAAE,GAAG,OAAO,uBAAuB,QAAQ,WAAW;aAClE,CAAA;YAED,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAA;YAC3C,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAA;YAC/D,wEAAwE;YACxE,sEAAsE;YACtE,wEAAwE;YACxE,mEAAmE;YACnE,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAA;YAClC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;YACxF,MAAM,GAAG,GAAG,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAE,EAAE,KAAK,EAAE,aAAa,CAAC,CAAA;YAE1F,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;YAC1D,MAAM,WAAW,GAAG;gBAClB,uBAAuB,KAAK,EAAE;gBAC9B,QAAQ;gBACR,UAAU;gBACV,cAAc;gBACd,aAAa;gBACb,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEZ,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;YACxC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;YAClD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACrE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA6B,CAAA;YACrD,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,OAAO,aAAa,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;YACzD,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAChC,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACzC,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAChD,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAEhD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,UAAU,CAAA;gBACpE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACxB,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,UAAU,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;iBAC7E,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzB,OAAO,aAAa,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAA;YAC9D,CAAC;YAED,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;YACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,GAAG,CAAC,MAAM,CAAA;YAE9D,MAAM,cAAc,GAAmB,EAAE,CAAA;YACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;YACxC,cAAc,CAAC,QAAQ,CAAC,GAAG;gBACzB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,SAAS,YAAY,CAAC,IAAI,EAAE;gBAC3D,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,SAAS,gBAAgB,CAAC,IAAI,EAAE;gBACnE,WAAW,EAAE,GAAG,OAAO,uBAAuB,QAAQ,WAAW;aAClE,CAAA;YAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;YACtE,MAAM,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAA;YAE5D,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAA;YACpC,MAAM,eAAe,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,KAAK,IAAI,CAAA;YAExE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,cAAc,EACd,MAAM,EACN,EAAE,EAAE,EACJ,EAAE,aAAa,EAAE,eAAe,EAAE,CACnC,CAAA;YAED,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;YAC1D,MAAM,kBAAkB,GAAG;gBACzB,mBAAmB,MAAM,CAAC,KAAK,EAAE;gBACjC,QAAQ;gBACR,UAAU;gBACV,cAAc;gBACd,gBAAgB;aACjB,CAAA;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,YAAY,EAAE,CAAC;gBAChD,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACnC,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;gBAClC,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;aACtC,CAAC,CAAA;YACF,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACpE,yDAAyD;YACzD,QAAQ,CAAC,OAAO,CAAC,MAAM,CACrB,YAAY,EACZ,iEAAiE,CAClE,CAAA;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAA;YAC5E,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;gBAClC,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,UAAU,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE;aAChF,CAAC,CAAA;YACF,QAAQ,CAAC,OAAO,CAAC,MAAM,CACrB,YAAY,EACZ,iEAAiE,CAClE,CAAA;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ApiRouter } from '../router.js';
2
+ export declare function registerCollabRoutes(router: ApiRouter): void;
3
+ //# sourceMappingURL=collab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collab.d.ts","sourceRoot":"","sources":["../../../src/api/routes/collab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAoC7C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4b5D"}
@@ -0,0 +1,426 @@
1
+ import { logEvent } from '../../security/audit.js';
2
+ import { createComment as createCommentService, deleteComment as deleteCommentService, listComments as listCommentsService, reopenComment as reopenCommentService, resolveComment as resolveCommentService, updateComment as updateCommentService, } from '../../realtime/comments.js';
3
+ import { createNotification, excerptForNotification, extractMentionedUserIds, listForUser as listNotificationsForUser, markAllRead as markAllNotificationsRead, markRead as markNotificationRead, unreadCount as notificationsUnreadCount, } from '../../realtime/notifications.js';
4
+ import { publishNotification } from '../../realtime/notification-bus.js';
5
+ import { createNotificationStreamResponse } from '../../realtime/notification-stream.js';
6
+ import { guardedDb } from '../guarded-db.js';
7
+ import { json, errorResponse, internalError, requireAuth, WRITE_ROLES, ADMIN_ROLES, requireRole, } from '../route-helpers.js';
8
+ export function registerCollabRoutes(router) {
9
+ const db = guardedDb;
10
+ // ---------------------------------------------------------------------------
11
+ // Comments — Phase 3 / slice 4
12
+ //
13
+ // Threaded, anchored discussion attached to documents. The Yjs gateway
14
+ // already lives on `/realtime/sync`; comments are *not* sent over that
15
+ // wire — they're plain REST so plugins, mobile clients, and notification
16
+ // workers can consume them without speaking the CRDT protocol.
17
+ //
18
+ // Routes (all rewritten paths, no `/api/cms` prefix):
19
+ // POST /documents/:documentId/comments — create top-level / reply
20
+ // GET /documents/:documentId/comments — list (filters: resolved, deleted, pageSize)
21
+ // PATCH /comments/:id — edit body (author / admin)
22
+ // POST /comments/:id/resolve — resolve thread (write-role / author)
23
+ // POST /comments/:id/reopen — re-open a resolved thread
24
+ // DELETE /comments/:id — soft-delete (author / admin)
25
+ //
26
+ // The service module in `realtime/comments.ts` owns validation +
27
+ // permissions; these handlers are thin envelopes that map auth → service
28
+ // call → JSON response.
29
+ // ---------------------------------------------------------------------------
30
+ function mapCommentsErrorStatus(error) {
31
+ switch (error.code) {
32
+ case 'validation':
33
+ return 400;
34
+ case 'not_found':
35
+ return 404;
36
+ case 'forbidden':
37
+ return 403;
38
+ case 'conflict':
39
+ return 409;
40
+ }
41
+ }
42
+ function respondCommentsError(error) {
43
+ return errorResponse(error.message, mapCommentsErrorStatus(error));
44
+ }
45
+ function commentsDb() {
46
+ return db();
47
+ }
48
+ function notificationsDb() {
49
+ return db();
50
+ }
51
+ function mapNotificationsErrorStatus(error) {
52
+ if (error.code === 'validation')
53
+ return 400;
54
+ if (error.code === 'forbidden')
55
+ return 403;
56
+ if (error.code === 'not_found')
57
+ return 404;
58
+ return 500;
59
+ }
60
+ function respondNotificationsError(error) {
61
+ return errorResponse(error.message, mapNotificationsErrorStatus(error));
62
+ }
63
+ /**
64
+ * Lookup helper used by the notification triggers below. We need the
65
+ * comment's `userId` (and, for replies, the *parent* comment's userId)
66
+ * so we can decide who to notify. The lookup is best-effort: if the
67
+ * row is missing (e.g. the comment was deleted between create and
68
+ * trigger), we silently skip the notification.
69
+ */
70
+ async function findCommentRecipient(commentId) {
71
+ try {
72
+ const client = db();
73
+ if (!client.documentComment)
74
+ return null;
75
+ return await client.documentComment.findUnique({ where: { id: commentId } });
76
+ }
77
+ catch {
78
+ return null;
79
+ }
80
+ }
81
+ /**
82
+ * Issue notifications for a new comment. Two paths:
83
+ *
84
+ * - **Reply** — the actor replied to someone else's thread → notify
85
+ * the root comment's author with kind `comment_reply`.
86
+ * - **Mentions** — any `@<userId>` token in the body → notify each
87
+ * mentioned user (other than the actor) with kind `comment_mention`.
88
+ */
89
+ async function notifyOnCommentCreated(opts) {
90
+ const ndb = notificationsDb();
91
+ if (opts.parentId) {
92
+ const root = await findCommentRecipient(opts.parentId);
93
+ if (root && root.userId && root.userId !== opts.actorId) {
94
+ const result = await createNotification(ndb, {
95
+ userId: root.userId,
96
+ documentId: opts.documentId,
97
+ commentId: opts.commentId,
98
+ payload: {
99
+ kind: 'comment_reply',
100
+ actorId: opts.actorId,
101
+ actorName: opts.actorName,
102
+ excerpt: excerptForNotification(opts.body),
103
+ },
104
+ });
105
+ // Push the new DTO to any active SSE subscribers for this user
106
+ // so the bell badge bumps in real time. We only publish AFTER
107
+ // the DB insert succeeds — otherwise an SSE client would see a
108
+ // ghost notification that doesn't exist on a subsequent
109
+ // refresh. Failure to publish (no subscribers, or bus error)
110
+ // is non-fatal: the poll fallback in the admin UI still
111
+ // converges.
112
+ if (result.ok)
113
+ publishNotification(result.value);
114
+ }
115
+ }
116
+ for (const userId of extractMentionedUserIds(opts.body)) {
117
+ if (userId === opts.actorId)
118
+ continue;
119
+ const result = await createNotification(ndb, {
120
+ userId,
121
+ documentId: opts.documentId,
122
+ commentId: opts.commentId,
123
+ payload: {
124
+ kind: 'comment_mention',
125
+ actorId: opts.actorId,
126
+ actorName: opts.actorName,
127
+ excerpt: excerptForNotification(opts.body),
128
+ },
129
+ });
130
+ if (result.ok)
131
+ publishNotification(result.value);
132
+ }
133
+ }
134
+ /** Notify the comment's author when someone else resolves their thread. */
135
+ async function notifyOnCommentResolved(opts) {
136
+ const comment = await findCommentRecipient(opts.commentId);
137
+ if (!comment || !comment.userId || comment.userId === opts.actorId)
138
+ return;
139
+ const result = await createNotification(notificationsDb(), {
140
+ userId: comment.userId,
141
+ commentId: opts.commentId,
142
+ payload: {
143
+ kind: 'comment_resolved',
144
+ actorId: opts.actorId,
145
+ actorName: opts.actorName,
146
+ rootExcerpt: excerptForNotification(comment.body),
147
+ },
148
+ });
149
+ if (result.ok)
150
+ publishNotification(result.value);
151
+ }
152
+ router.post('/documents/:documentId/comments', async (request, params) => {
153
+ try {
154
+ const auth = await requireAuth(request);
155
+ if (auth.error)
156
+ return auth.error;
157
+ // Posting a comment requires at least write access; comments mutate
158
+ // collaborative state and we don't want anonymous read-only tokens
159
+ // (API keys without write scope) leaving discussion behind.
160
+ const roleErr = requireRole(auth.session.role, WRITE_ROLES);
161
+ if (roleErr)
162
+ return roleErr;
163
+ const body = (await request.json());
164
+ const result = await createCommentService(commentsDb(), {
165
+ documentId: params.documentId,
166
+ userId: auth.session.userId,
167
+ body: typeof body.body === 'string' ? body.body : '',
168
+ anchor: body.anchor,
169
+ parentId: typeof body.parentId === 'string' ? body.parentId : null,
170
+ });
171
+ if (!result.ok)
172
+ return respondCommentsError(result.error);
173
+ await logEvent({
174
+ event: 'comment_created',
175
+ userId: auth.session.userId,
176
+ details: {
177
+ documentId: params.documentId,
178
+ commentId: result.value.id,
179
+ parentId: result.value.parentId,
180
+ },
181
+ });
182
+ // Fire-and-forget — a notification failure should never block the
183
+ // comment from being saved. Errors surface via logEvent (TODO:
184
+ // wire a dedicated audit channel once the realtime SSE feed is up).
185
+ void notifyOnCommentCreated({
186
+ commentId: result.value.id,
187
+ body: result.value.body,
188
+ parentId: result.value.parentId,
189
+ documentId: result.value.documentId,
190
+ actorId: auth.session.userId,
191
+ actorName: null,
192
+ }).catch(() => undefined);
193
+ return json({ data: result.value }, 201);
194
+ }
195
+ catch (err) {
196
+ return internalError(err, 'create comment');
197
+ }
198
+ });
199
+ router.get('/documents/:documentId/comments', async (request, params) => {
200
+ try {
201
+ const auth = await requireAuth(request);
202
+ if (auth.error)
203
+ return auth.error;
204
+ // Reading comments piggy-backs on the same scope as reading the
205
+ // document. There is no comment-specific API-key scope today; we
206
+ // re-use document-read so external integrations can fetch a thread
207
+ // without granting them write access.
208
+ const url = new URL(request.url);
209
+ const includeResolved = url.searchParams.get('includeResolved') === 'true';
210
+ const includeDeleted = url.searchParams.get('includeDeleted') === 'true';
211
+ const pageSizeRaw = url.searchParams.get('pageSize');
212
+ const pageSize = pageSizeRaw === null ? undefined : Number(pageSizeRaw);
213
+ // Soft-deleted comments are admin-only — they hold moderation history
214
+ // that should not leak via a query parameter to a regular editor.
215
+ if (includeDeleted && !ADMIN_ROLES.has(auth.session.role)) {
216
+ return errorResponse('includeDeleted requires admin role', 403);
217
+ }
218
+ const result = await listCommentsService(commentsDb(), {
219
+ documentId: params.documentId,
220
+ includeResolved,
221
+ includeDeleted,
222
+ pageSize,
223
+ });
224
+ if (!result.ok)
225
+ return respondCommentsError(result.error);
226
+ return json({ data: result.value });
227
+ }
228
+ catch (err) {
229
+ return internalError(err, 'list comments');
230
+ }
231
+ });
232
+ router.patch('/comments/:id', async (request, params) => {
233
+ try {
234
+ const auth = await requireAuth(request);
235
+ if (auth.error)
236
+ return auth.error;
237
+ const body = (await request.json());
238
+ const result = await updateCommentService(commentsDb(), params.id, { body: typeof body.body === 'string' ? body.body : '' }, { userId: auth.session.userId, isAdmin: ADMIN_ROLES.has(auth.session.role) });
239
+ if (!result.ok)
240
+ return respondCommentsError(result.error);
241
+ return json({ data: result.value });
242
+ }
243
+ catch (err) {
244
+ return internalError(err, 'update comment');
245
+ }
246
+ });
247
+ router.post('/comments/:id/resolve', async (request, params) => {
248
+ try {
249
+ const auth = await requireAuth(request);
250
+ if (auth.error)
251
+ return auth.error;
252
+ const result = await resolveCommentService(commentsDb(), params.id, {
253
+ userId: auth.session.userId,
254
+ canResolve: WRITE_ROLES.has(auth.session.role),
255
+ });
256
+ if (!result.ok)
257
+ return respondCommentsError(result.error);
258
+ await logEvent({
259
+ event: 'comment_resolved',
260
+ userId: auth.session.userId,
261
+ details: { commentId: params.id },
262
+ });
263
+ void notifyOnCommentResolved({
264
+ commentId: params.id,
265
+ actorId: auth.session.userId,
266
+ actorName: null,
267
+ }).catch(() => undefined);
268
+ return json({ data: result.value });
269
+ }
270
+ catch (err) {
271
+ return internalError(err, 'resolve comment');
272
+ }
273
+ });
274
+ router.post('/comments/:id/reopen', async (request, params) => {
275
+ try {
276
+ const auth = await requireAuth(request);
277
+ if (auth.error)
278
+ return auth.error;
279
+ const result = await reopenCommentService(commentsDb(), params.id, {
280
+ userId: auth.session.userId,
281
+ canResolve: WRITE_ROLES.has(auth.session.role),
282
+ });
283
+ if (!result.ok)
284
+ return respondCommentsError(result.error);
285
+ await logEvent({
286
+ event: 'comment_reopened',
287
+ userId: auth.session.userId,
288
+ details: { commentId: params.id },
289
+ });
290
+ return json({ data: result.value });
291
+ }
292
+ catch (err) {
293
+ return internalError(err, 'reopen comment');
294
+ }
295
+ });
296
+ router.delete('/comments/:id', async (request, params) => {
297
+ try {
298
+ const auth = await requireAuth(request);
299
+ if (auth.error)
300
+ return auth.error;
301
+ const result = await deleteCommentService(commentsDb(), params.id, {
302
+ userId: auth.session.userId,
303
+ isAdmin: ADMIN_ROLES.has(auth.session.role),
304
+ });
305
+ if (!result.ok)
306
+ return respondCommentsError(result.error);
307
+ await logEvent({
308
+ event: 'comment_deleted',
309
+ userId: auth.session.userId,
310
+ details: { commentId: params.id },
311
+ });
312
+ return json({ data: result.value });
313
+ }
314
+ catch (err) {
315
+ return internalError(err, 'delete comment');
316
+ }
317
+ });
318
+ // ---------------------------------------------------------------------------
319
+ // Notifications — Phase 3 / slice 6
320
+ //
321
+ // Notifications are the read-side of the collaboration event stream:
322
+ // when a comment lifecycle action affects another user (reply,
323
+ // mention, resolve-of-yours) we record a row in `DocumentNotification`
324
+ // and the bell in the admin polls / streams it.
325
+ //
326
+ // Routes:
327
+ //
328
+ // GET /notifications — list current user's feed
329
+ // GET /notifications/unread-count — badge counter
330
+ // POST /notifications/:id/read — mark a single notification read
331
+ // POST /notifications/read-all — clear the bell
332
+ //
333
+ // Auth: every route is scoped to `auth.session.userId`; there is no
334
+ // admin override (notifications are personal and never moderated).
335
+ // ---------------------------------------------------------------------------
336
+ router.get('/notifications', async (request) => {
337
+ try {
338
+ const auth = await requireAuth(request);
339
+ if (auth.error)
340
+ return auth.error;
341
+ const url = new URL(request.url);
342
+ const includeRead = url.searchParams.get('includeRead') === 'true';
343
+ const pageSizeRaw = url.searchParams.get('pageSize');
344
+ const pageSize = pageSizeRaw === null ? undefined : Number(pageSizeRaw);
345
+ const result = await listNotificationsForUser(notificationsDb(), {
346
+ userId: auth.session.userId,
347
+ includeRead,
348
+ pageSize,
349
+ });
350
+ if (!result.ok)
351
+ return respondNotificationsError(result.error);
352
+ return json({ data: result.value });
353
+ }
354
+ catch (err) {
355
+ return internalError(err, 'list notifications');
356
+ }
357
+ });
358
+ router.get('/notifications/unread-count', async (request) => {
359
+ try {
360
+ const auth = await requireAuth(request);
361
+ if (auth.error)
362
+ return auth.error;
363
+ const result = await notificationsUnreadCount(notificationsDb(), auth.session.userId);
364
+ if (!result.ok)
365
+ return respondNotificationsError(result.error);
366
+ return json({ data: { count: result.value } });
367
+ }
368
+ catch (err) {
369
+ return internalError(err, 'notifications unread count');
370
+ }
371
+ });
372
+ router.post('/notifications/:id/read', async (request, params) => {
373
+ try {
374
+ const auth = await requireAuth(request);
375
+ if (auth.error)
376
+ return auth.error;
377
+ const result = await markNotificationRead(notificationsDb(), params.id, {
378
+ userId: auth.session.userId,
379
+ });
380
+ if (!result.ok)
381
+ return respondNotificationsError(result.error);
382
+ return json({ data: result.value });
383
+ }
384
+ catch (err) {
385
+ return internalError(err, 'mark notification read');
386
+ }
387
+ });
388
+ router.post('/notifications/read-all', async (request) => {
389
+ try {
390
+ const auth = await requireAuth(request);
391
+ if (auth.error)
392
+ return auth.error;
393
+ const result = await markAllNotificationsRead(notificationsDb(), auth.session.userId);
394
+ if (!result.ok)
395
+ return respondNotificationsError(result.error);
396
+ return json({ data: result.value });
397
+ }
398
+ catch (err) {
399
+ return internalError(err, 'mark all notifications read');
400
+ }
401
+ });
402
+ // Per-user notification SSE push channel (Phase 7 carry-over). The
403
+ // admin's NotificationBell subscribes via EventSource for real-time
404
+ // delivery of comment_reply / comment_mention / comment_resolved
405
+ // events. The existing GET /notifications and
406
+ // /notifications/unread-count REST endpoints are kept as a
407
+ // poll-fallback path for multi-node deployments where a write on
408
+ // node A doesn't reach SSE subscribers on node B (the in-process
409
+ // bus is single-instance by design — see notification-bus.ts).
410
+ //
411
+ // Auth: same scope as every other /notifications route — the
412
+ // session userId determines which channel the stream subscribes to;
413
+ // there is no admin override.
414
+ router.get('/notifications/stream', async (request) => {
415
+ try {
416
+ const auth = await requireAuth(request);
417
+ if (auth.error)
418
+ return auth.error;
419
+ return createNotificationStreamResponse(auth.session.userId);
420
+ }
421
+ catch (err) {
422
+ return internalError(err, 'notifications stream');
423
+ }
424
+ });
425
+ }
426
+ //# sourceMappingURL=collab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collab.js","sourceRoot":"","sources":["../../../src/api/routes/collab.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { ApiRouter } from '../router.js';
2
+ /** Test-only: reset the SEO score cache so cases don't bleed into each other. */
3
+ export declare function __resetDashboardSeoCache(): void;
4
+ /** Cheap meta-completeness score used by /stats and the SEO summary surface. */
5
+ export declare function computeLightSeoScore(data: Record<string, unknown>): number;
6
+ export declare function registerDashboardRoutes(router: ApiRouter): void;
7
+ //# sourceMappingURL=dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/api/routes/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AA6B7C,iFAAiF;AACjF,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAO1E;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0iB/D"}