@openora/core 0.4.1-canary.129 → 0.4.1-canary.130

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 (182) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/__tests__/backoffice.service.int.test.js +1 -0
  3. package/dist/admin-console/__tests__/backoffice.service.int.test.js.map +1 -1
  4. package/dist/admin-console/plugin.d.ts +2 -2
  5. package/dist/admin-console/service/backoffice.service.d.ts +3 -0
  6. package/dist/admin-console/service/backoffice.service.d.ts.map +1 -1
  7. package/dist/analytics/plugin.d.ts +2 -2
  8. package/dist/audit/plugin.d.ts +2 -2
  9. package/dist/casino/gaming/plugin.d.ts +2 -2
  10. package/dist/casino/lobby/plugin.d.ts +2 -2
  11. package/dist/cms/plugin.d.ts +2 -2
  12. package/dist/compliance/__tests__/rg.router.int.test.js +4 -2
  13. package/dist/compliance/__tests__/rg.router.int.test.js.map +1 -1
  14. package/dist/compliance/__tests__/rg.service.int.test.js +42 -17
  15. package/dist/compliance/__tests__/rg.service.int.test.js.map +1 -1
  16. package/dist/compliance/plugin.d.ts +2 -2
  17. package/dist/compliance/plugin.d.ts.map +1 -1
  18. package/dist/compliance/plugin.js +3 -5
  19. package/dist/compliance/plugin.js.map +1 -1
  20. package/dist/compliance/service/rg-self-service.service.d.ts.map +1 -1
  21. package/dist/compliance/service/rg-self-service.service.js +2 -2
  22. package/dist/compliance/service/rg-self-service.service.js.map +1 -1
  23. package/dist/compliance/service/rg.service.d.ts +6 -8
  24. package/dist/compliance/service/rg.service.d.ts.map +1 -1
  25. package/dist/compliance/service/rg.service.js +43 -29
  26. package/dist/compliance/service/rg.service.js.map +1 -1
  27. package/dist/contracts/adapters/admin-user-directory.d.ts +1 -0
  28. package/dist/contracts/adapters/admin-user-directory.d.ts.map +1 -1
  29. package/dist/contracts/adapters/admin-user-directory.js.map +1 -1
  30. package/dist/contracts/adapters/audit.d.ts +1 -1
  31. package/dist/contracts/adapters/audit.d.ts.map +1 -1
  32. package/dist/contracts/adapters/audit.js.map +1 -1
  33. package/dist/contracts/adapters/email-template.d.ts +6 -48
  34. package/dist/contracts/adapters/email-template.d.ts.map +1 -1
  35. package/dist/contracts/adapters/email-template.js +0 -58
  36. package/dist/contracts/adapters/email-template.js.map +1 -1
  37. package/dist/contracts/adapters/index.d.ts +4 -6
  38. package/dist/contracts/adapters/index.d.ts.map +1 -1
  39. package/dist/contracts/adapters/index.js +2 -3
  40. package/dist/contracts/adapters/index.js.map +1 -1
  41. package/dist/contracts/adapters/mail.d.ts +30 -0
  42. package/dist/contracts/adapters/mail.d.ts.map +1 -0
  43. package/dist/contracts/adapters/mail.js +4 -0
  44. package/dist/contracts/adapters/mail.js.map +1 -0
  45. package/dist/contracts/schemas/common.d.ts +1 -0
  46. package/dist/contracts/schemas/common.d.ts.map +1 -1
  47. package/dist/contracts/schemas/common.js +11 -0
  48. package/dist/contracts/schemas/common.js.map +1 -1
  49. package/dist/contracts/schemas/index.d.ts +1 -0
  50. package/dist/contracts/schemas/index.d.ts.map +1 -1
  51. package/dist/contracts/schemas/index.js +1 -0
  52. package/dist/contracts/schemas/index.js.map +1 -1
  53. package/dist/contracts/schemas/mail.d.ts +166 -0
  54. package/dist/contracts/schemas/mail.d.ts.map +1 -0
  55. package/dist/contracts/schemas/mail.js +74 -0
  56. package/dist/contracts/schemas/mail.js.map +1 -0
  57. package/dist/engagement/chat/__tests__/chat.service.int.test.js +4 -0
  58. package/dist/engagement/chat/__tests__/chat.service.int.test.js.map +1 -1
  59. package/dist/engagement/chat/plugin.d.ts +2 -2
  60. package/dist/engagement/chat-commands/plugin.d.ts +2 -2
  61. package/dist/engagement/notifications/__tests__/chat-room-notifications.int.test.js +8 -11
  62. package/dist/engagement/notifications/__tests__/chat-room-notifications.int.test.js.map +1 -1
  63. package/dist/engagement/notifications/__tests__/notification-event-map.test.js +76 -39
  64. package/dist/engagement/notifications/__tests__/notification-event-map.test.js.map +1 -1
  65. package/dist/engagement/notifications/plugin.d.ts +8 -7
  66. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  67. package/dist/engagement/notifications/plugin.js +102 -86
  68. package/dist/engagement/notifications/plugin.js.map +1 -1
  69. package/dist/engagement/social/plugin.d.ts +2 -2
  70. package/dist/fx/exchange-rate/plugin.d.ts +2 -2
  71. package/dist/iam/__tests__/iam.service.int.test.js +53 -46
  72. package/dist/iam/__tests__/iam.service.int.test.js.map +1 -1
  73. package/dist/iam/plugin.d.ts +3 -2
  74. package/dist/iam/plugin.d.ts.map +1 -1
  75. package/dist/iam/plugin.js +3 -2
  76. package/dist/iam/plugin.js.map +1 -1
  77. package/dist/iam/service/iam.service.d.ts +3 -3
  78. package/dist/iam/service/iam.service.d.ts.map +1 -1
  79. package/dist/iam/service/iam.service.js +11 -7
  80. package/dist/iam/service/iam.service.js.map +1 -1
  81. package/dist/mail/__tests__/default-email-template-renderer.test.d.ts.map +1 -0
  82. package/dist/mail/__tests__/default-email-template-renderer.test.js +119 -0
  83. package/dist/mail/__tests__/default-email-template-renderer.test.js.map +1 -0
  84. package/dist/mail/__tests__/mail.service.test.d.ts +2 -0
  85. package/dist/mail/__tests__/mail.service.test.d.ts.map +1 -0
  86. package/dist/mail/__tests__/mail.service.test.js +215 -0
  87. package/dist/mail/__tests__/mail.service.test.js.map +1 -0
  88. package/dist/mail/adapters/default-email-template-renderer.d.ts +5 -0
  89. package/dist/mail/adapters/default-email-template-renderer.d.ts.map +1 -0
  90. package/dist/mail/adapters/default-email-template-renderer.js +107 -0
  91. package/dist/mail/adapters/default-email-template-renderer.js.map +1 -0
  92. package/dist/mail/adapters/stdout-email-sender.d.ts +5 -0
  93. package/dist/mail/adapters/stdout-email-sender.d.ts.map +1 -0
  94. package/dist/mail/adapters/stdout-email-sender.js +8 -0
  95. package/dist/mail/adapters/stdout-email-sender.js.map +1 -0
  96. package/dist/mail/contract/index.d.ts +120 -0
  97. package/dist/mail/contract/index.d.ts.map +1 -0
  98. package/dist/mail/contract/index.js +17 -0
  99. package/dist/mail/contract/index.js.map +1 -0
  100. package/dist/mail/index.d.ts +5 -0
  101. package/dist/mail/index.d.ts.map +1 -0
  102. package/dist/mail/index.js +5 -0
  103. package/dist/mail/index.js.map +1 -0
  104. package/dist/mail/plugin.d.ts +181 -0
  105. package/dist/mail/plugin.d.ts.map +1 -0
  106. package/dist/mail/plugin.js +66 -0
  107. package/dist/mail/plugin.js.map +1 -0
  108. package/dist/mail/service/mail-payload.service.d.ts +8 -0
  109. package/dist/mail/service/mail-payload.service.d.ts.map +1 -0
  110. package/dist/mail/service/mail-payload.service.js +43 -0
  111. package/dist/mail/service/mail-payload.service.js.map +1 -0
  112. package/dist/mail/service/mail.service.d.ts +30 -0
  113. package/dist/mail/service/mail.service.d.ts.map +1 -0
  114. package/dist/mail/service/mail.service.js +152 -0
  115. package/dist/mail/service/mail.service.js.map +1 -0
  116. package/dist/pam/identity/__tests__/identity.rate-limit.int.test.js +0 -4
  117. package/dist/pam/identity/__tests__/identity.rate-limit.int.test.js.map +1 -1
  118. package/dist/pam/identity/__tests__/identity.registration-gates.int.test.js +0 -4
  119. package/dist/pam/identity/__tests__/identity.registration-gates.int.test.js.map +1 -1
  120. package/dist/pam/identity/__tests__/identity.service.int.test.js +13 -4
  121. package/dist/pam/identity/__tests__/identity.service.int.test.js.map +1 -1
  122. package/dist/pam/identity/admin-user-directory.d.ts +4 -0
  123. package/dist/pam/identity/admin-user-directory.d.ts.map +1 -1
  124. package/dist/pam/identity/admin-user-directory.js +1 -0
  125. package/dist/pam/identity/admin-user-directory.js.map +1 -1
  126. package/dist/pam/identity/plugin.d.ts +3 -2
  127. package/dist/pam/identity/plugin.d.ts.map +1 -1
  128. package/dist/pam/identity/plugin.js +3 -9
  129. package/dist/pam/identity/plugin.js.map +1 -1
  130. package/dist/pam/identity/service/identity.service.d.ts +5 -7
  131. package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
  132. package/dist/pam/identity/service/identity.service.js +40 -23
  133. package/dist/pam/identity/service/identity.service.js.map +1 -1
  134. package/dist/pam/player-management/plugin.d.ts +2 -2
  135. package/dist/pam/player-note/plugin.d.ts +2 -2
  136. package/dist/pam/profile/plugin.d.ts +2 -2
  137. package/dist/pam/shared/__tests__/shared-mappers.test.js +6 -0
  138. package/dist/pam/shared/__tests__/shared-mappers.test.js.map +1 -1
  139. package/dist/pam/shared/language.d.ts.map +1 -1
  140. package/dist/pam/shared/language.js +6 -0
  141. package/dist/pam/shared/language.js.map +1 -1
  142. package/dist/pam/tag/plugin.d.ts +2 -2
  143. package/dist/server/auth/__tests__/auth.test.js +45 -50
  144. package/dist/server/auth/__tests__/auth.test.js.map +1 -1
  145. package/dist/server/auth/auth.d.ts +7 -8
  146. package/dist/server/auth/auth.d.ts.map +1 -1
  147. package/dist/server/auth/auth.js +10 -20
  148. package/dist/server/auth/auth.js.map +1 -1
  149. package/dist/server/auth/index.d.ts +1 -1
  150. package/dist/server/auth/index.d.ts.map +1 -1
  151. package/dist/server/plugin-host/core-plugins.d.ts.map +1 -1
  152. package/dist/server/plugin-host/core-plugins.js +1 -0
  153. package/dist/server/plugin-host/core-plugins.js.map +1 -1
  154. package/dist/server/runtime/core-token-catalog.d.ts +2 -2
  155. package/dist/server/runtime/core-token-catalog.js +3 -3
  156. package/dist/server/runtime/core-token-catalog.js.map +1 -1
  157. package/dist/server/runtime/create-app.d.ts.map +1 -1
  158. package/dist/server/runtime/create-app.js +7 -7
  159. package/dist/server/runtime/create-app.js.map +1 -1
  160. package/dist/wallet/plugin.d.ts +2 -2
  161. package/generators/src/config.ts +1 -2
  162. package/package.json +21 -1
  163. package/dist/contracts/adapters/email.d.ts +0 -17
  164. package/dist/contracts/adapters/email.d.ts.map +0 -1
  165. package/dist/contracts/adapters/email.js +0 -10
  166. package/dist/contracts/adapters/email.js.map +0 -1
  167. package/dist/contracts/adapters/notification.d.ts +0 -13
  168. package/dist/contracts/adapters/notification.d.ts.map +0 -1
  169. package/dist/contracts/adapters/notification.js +0 -10
  170. package/dist/contracts/adapters/notification.js.map +0 -1
  171. package/dist/engagement/notifications/adapters/mock/mock-notification-adapter.d.ts +0 -5
  172. package/dist/engagement/notifications/adapters/mock/mock-notification-adapter.d.ts.map +0 -1
  173. package/dist/engagement/notifications/adapters/mock/mock-notification-adapter.js +0 -6
  174. package/dist/engagement/notifications/adapters/mock/mock-notification-adapter.js.map +0 -1
  175. package/dist/pam/identity/adapters/__tests__/default-email-template-renderer.test.d.ts.map +0 -1
  176. package/dist/pam/identity/adapters/__tests__/default-email-template-renderer.test.js +0 -33
  177. package/dist/pam/identity/adapters/__tests__/default-email-template-renderer.test.js.map +0 -1
  178. package/dist/pam/identity/adapters/default-email-template-renderer.d.ts +0 -8
  179. package/dist/pam/identity/adapters/default-email-template-renderer.d.ts.map +0 -1
  180. package/dist/pam/identity/adapters/default-email-template-renderer.js +0 -7
  181. package/dist/pam/identity/adapters/default-email-template-renderer.js.map +0 -1
  182. /package/dist/{pam/identity/adapters → mail}/__tests__/default-email-template-renderer.test.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"iam.service.d.ts","sourceRoot":"","sources":["../../../src/iam/service/iam.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iam.service.d.ts","sourceRoot":"","sources":["../../../src/iam/service/iam.service.ts"],"names":[],"mappings":"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"}
@@ -180,14 +180,14 @@ function allGrants() {
180
180
  export class IamService {
181
181
  drizzle;
182
182
  events;
183
- email;
183
+ mailDispatch;
184
184
  identityReader;
185
185
  sessionCommands;
186
186
  rateLimiter;
187
- constructor(drizzle, events, email, identityReader, sessionCommands, rateLimiter) {
187
+ constructor(drizzle, events, mailDispatch, identityReader, sessionCommands, rateLimiter) {
188
188
  this.drizzle = drizzle;
189
189
  this.events = events;
190
- this.email = email;
190
+ this.mailDispatch = mailDispatch;
191
191
  this.identityReader = identityReader;
192
192
  this.sessionCommands = sessionCommands;
193
193
  this.rateLimiter = rateLimiter;
@@ -643,10 +643,14 @@ export class IamService {
643
643
  expiresAt,
644
644
  })
645
645
  .returning(), new InvitationNotFoundError(input.email));
646
- await this.email.send({
647
- to: input.email,
648
- subject: 'You have been invited as an administrator',
649
- body: `Your admin invitation token: ${token}. It expires at ${expiresAt.toISOString()}.`,
646
+ await this.mailDispatch.toAddress({
647
+ email: input.email,
648
+ locale: 'en',
649
+ template: {
650
+ key: 'adminInvitation',
651
+ data: { token, expiresAt: expiresAt.toISOString() },
652
+ },
653
+ idempotencyKey: `admin-invitation:${row.id}`,
650
654
  });
651
655
  return toInvitationDto(row);
652
656
  }
@@ -1 +1 @@
1
- {"version":3,"file":"iam.service.js","sourceRoot":"","sources":["../../../src/iam/service/iam.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAEjB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,MAAM,EACN,UAAU,EACV,YAAY,EACZ,cAAc,GAIf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAgBnE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAEhB,MAAM,oBAAoB,CAAC;AAC5B,sGAAsG;AACtG,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAOzD,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CACtD,iBAAiB,EACjB,4CAA4C,CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAChD,mBAAmB,EACnB,GAAG,EAAE,CAAC,yBAAyB,CAChC,CAAC;AACF,iEAAiE;AACjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CACnD,sBAAsB,EACtB,GAAG,EAAE,CAAC,oDAAoD,CAC3D,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CACjD,oBAAoB,EACpB,GAAG,EAAE,CAAC,6BAA6B,CACpC,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;AACrE,yFAAyF;AACzF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAClD,qBAAqB,EACrB,GAAG,EAAE,CAAC,2CAA2C,CAClD,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CACjD,WAAW,EACX,0DAA0D,CAC3D,CAAC;AACF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAClD,WAAW,EACX,oCAAoC,CACrC,CAAC;AAIF,mFAAmF;AACnF,0FAA0F;AAC1F,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAEvE,SAAS,YAAY;IACnB,OAAO;QACL,OAAO,EAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAoB;aAChD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC3D,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAClB,QAAQ;YACR,OAAO,EAAG,SAAS,CAAC,QAAQ,CAAuB,CAAC,KAAK,EAAE;YAC3D,WAAW,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE;SACnD,CAAC,CAAC;QACL,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAA0D;IAChF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,QAAwB,CAAkC,CAAC;QACrF,sFAAsF;QACtF,IAAI,CAAC,KAAK,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,iBAAiB,EAAE,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAwB,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,iBAAiB,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAoB,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAQ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAoB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpE,SAAS,CAAC,QAAQ,CAAuB;SACvC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;SACpE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAkB,EAAE,MAAM,EAAE,CAAC,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA6B;IACrD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,GAAG,GAAoC,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,UAAU,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,QAAwB,CAAkC,CAAC;QACjF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,WAAW,CAAC,QAAwB,CAAC,IAAI,EAAE,CAAC;YACzD,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;QAC9F,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,GAAkC;IACnD,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,GAA4C;IACnE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,GAAwC;IAC/D,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,mFAAmF;AACnF,mFAAmF;AACnF,kFAAkF;AAClF,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC,MAAM,cAAc,GAAG,CAAC,MAAkB,EAAE,EAAE,CAAC,gBAAgB,MAAM,EAAE,CAAC;AACxE,MAAM,kBAAkB,GAAG,CAAC,MAAkB,EAAE,EAAE,CAAC,eAAe,MAAM,EAAE,CAAC;AAE3E,6JAA6J;AAC7J,MAAM,OAAO,yBAAyB;IAEjB;IACA;IAFnB,YACmB,OAAuB,EACvB,KAAoB;QADpB,YAAO,GAAP,OAAO,CAAgB;QACvB,UAAK,GAAL,KAAK,CAAe;IACpC,CAAC;IAEJ,SAAS,CAAC,MAAkB;QAC1B,iFAAiF;QACjF,gFAAgF;QAChF,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAC1E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CACxB,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAkB;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAC9E,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAC5B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAkB;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAC/B,MAAM,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;aAChD,IAAI,CAAC,mBAAmB,CAAC;aACzB,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;aAClE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAkB;QACzC,2EAA2E;QAC3E,gFAAgF;QAChF,+EAA+E;QAC/E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAC/B,MAAM,CAAC;YACN,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;YACtC,KAAK,EAAE,mBAAmB,CAAC,KAAK;SACjC,CAAC;aACD,IAAI,CAAC,mBAAmB,CAAC;aACzB,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;aAClE,QAAQ,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;aAC3E,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,OAAO,SAAS,EAAE,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC,CAAC,8CAA8C;YAChD,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAwB,CAAC,EAAE,CAAC;gBAC5E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC;gBACtC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClB,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,cAAc,CAAC,MAAkB;QACrC,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,iGAAiG;IACjG,KAAK,CAAC,cAAc,CAAC,MAAuB;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClC,MAAM,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC;aAC9C,IAAI,CAAC,mBAAmB,CAAC;aACzB,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,UAAU,CACd,IAAI,CAAC,KAAK,EACV,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,SAAS,SAAS;IAChB,OAAQ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAoB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpE,SAAS,CAAC,QAAQ,CAAuB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1D,QAAQ,EAAE,QAAkB;QAC5B,MAAM;KACP,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,UAAU;IAEF;IACA;IACA;IACA;IACA;IACA;IANnB,YACmB,OAAuB,EACvB,MAAgB,EAChB,KAAoB,EACpB,cAA8B,EAC9B,eAAiC,EACjC,WAA8C;QAL9C,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAU;QAChB,UAAK,GAAL,KAAK,CAAe;QACpB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAkB;QACjC,gBAAW,GAAX,WAAW,CAAmC;IAC9D,CAAC;IAEI,KAAK,CAAC,YAAY,CAAC,MAAc;QACvC,MAAM,QAAQ,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,QAAQ,IAAI,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,iFAAiF;IACjF,oFAAoF;IACpF,sFAAsF;IAC9E,KAAK,CAAC,YAAY,CAAC,MAAc;QACvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACtC,MAAM,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC;aAC9C,IAAI,CAAC,mBAAmB,CAAC;aACzB,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAExD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;QACjC,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACpC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;aAC5B,IAAI,CAAC,SAAS,CAAC;aACf,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAChF,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAAc;QAC3C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,MAAc,EAAE,QAAgB,EAAE,MAAc;QACjE,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,KAAK,QAAQ;gBACtB,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClE,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;oBACpD,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ;oBACR,QAAQ;oBACR,MAAM;oBACN,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED,WAAW;QACT,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAuB;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAC/B,MAAM,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,CAAC;aACpF,IAAI,CAAC,mBAAmB,CAAC;aACzB,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAwB,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,mFAAmF;IAC3E,KAAK,CAAC,qBAAqB,CAAC,OAA0B;QAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmE,CAAC;QAC1F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAC/B,MAAM,CAAC;YACN,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;YACtC,KAAK,EAAE,mBAAmB,CAAC,KAAK;SACjC,CAAC;aACD,IAAI,CAAC,mBAAmB,CAAC;aACzB,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAA4C;QAC1F,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,MAAM,cAAc,GAAG;YACrB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,GAAG,EAAE,SAAS,CAAC,GAAG;SACV,CAAC;QACX,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,EAAE;iBACZ,MAAM,EAAE;iBACR,IAAI,CAAC,SAAS,CAAC;iBACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;iBACrC,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAQ,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;SAC9E,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/B,GAAG,SAAS,CAAC,GAAG,CAAC;YACjB,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;SACjD,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAuB;QACnC,MAAM,GAAG,GAAG,cAAc,CACxB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAC9E,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAC9B,CAAC;QACF,OAAO,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAuC;QACtD,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,cAAc,CACxB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,EAChF,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAClC,CAAC;QACF,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACnC,MAAM,EAAE,GAAG,CAAC,EAAE;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;YAC5B,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI;YAC3B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI;SAC1C,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAiE;QAChF,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,cAAc,CAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EACpF,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CACpC,CAAC;QAEF,iEAAiE;QACjE,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,KAAK,GAA2C,EAAE,CAAC;QACzD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAC1B,CAAC;QAED,MAAM,GAAG,GAAG,cAAc,CACxB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClB,MAAM,CAAC,SAAS,CAAC;aACjB,GAAG,CAAC,KAAK,CAAC;aACV,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;aACrC,SAAS,EAAE,EACd,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CACpC,CAAC;QACF,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACnC,MAAM,EAAE,GAAG,CAAC,EAAE;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;YAC5B,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI;YAC3B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI;SAC1C,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAkD;QACjE,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,cAAc,CACxB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EACpF,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CACpC,CAAC;QACF,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACrC,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC;QAED,sFAAsF;QACtF,wFAAwF;QACxF,kEAAkE;QAClE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtE,MAAM,OAAO,GAAG,MAAM,GAAG;iBACtB,MAAM,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC;iBAC9C,IAAI,CAAC,mBAAmB,CAAC;iBACzB,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;iBACnD,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEjB,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAElE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,iGAAiG;QACjG,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBACnC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM;gBACN,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;gBAC5B,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI;gBAC3B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI;aAC1C,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACnC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;YAC5B,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI;YAC3B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI;SAC1C,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAIxB;QACC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,cAAc,CACzB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EACpF,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CACpC,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC;QAED,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE7B,wEAAwE;QACxE,+DAA+D;QAC/D,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC;YAClD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACpD,MAAM,IAAI,oBAAoB,EAAE,CAAC;YACnC,CAAC;QACH,CAAC;QAED,gGAAgG;QAChG,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC;QACpE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACxE,MAAM,UAAU,GAAG,MAAM,GAAG;iBACzB,MAAM,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,CAAC;iBACpF,IAAI,CAAC,mBAAmB,CAAC;iBACzB,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAEvD,MAAM,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAE1F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,GAAG;qBACN,MAAM,CAAC,mBAAmB,CAAC;qBAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,GAAG;iBACxB,MAAM,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,CAAC;iBACpF,IAAI,CAAC,mBAAmB,CAAC;iBACzB,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAEvD,MAAM,QAAQ,GAAG,CAAC,IAA2C,EAAE,EAAE,CAC/D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAwB,EAAE,CAAC,CAAC,CAAC;YACjF,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;YAC/C,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM;YACN,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;YAC5B,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI;YAC3B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI;SAC1C,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAsE;QACrF,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,cAAc,CACZ,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EACpF,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CACpC,CAAC;QAEF,wFAAwF;QACxF,4EAA4E;QAC5E,MAAM,MAAM,GAAG,cAAc,CAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAC7F,IAAI,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CACzC,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC;QAED,oFAAoF;QACpF,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACrC,MAAM,EAAE;aACR,IAAI,CAAC,mBAAmB,CAAC;aACzB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAC5C,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAC7C,CACF,CAAC;QACJ,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,GAAG,GAAG,cAAc,CACxB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClB,MAAM,CAAC,mBAAmB,CAAC;aAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;aACtD,SAAS,EAAE,EACd,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CACpC,CAAC;QACF,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACpC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;YAC5B,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI;YAC3B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI;SAC1C,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAIlB;QACC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,cAAc,CACzB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EACpF,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CACpC,CAAC;QAEF,qFAAqF;QACrF,iEAAiE;QACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC9D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,aAAa,GAAG,MAAM,GAAG;qBAC5B,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;qBAC5B,IAAI,CAAC,SAAS,CAAC;qBACf,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC3C,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,MAAM,GAAG;qBACtB,MAAM,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC;qBAClF,IAAI,CAAC,mBAAmB,CAAC;qBACzB,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;qBACxD,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACjB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CACjE,CAAC;gBACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,mBAAmB,EAAE,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,GAAG;iBACtB,MAAM,CAAC,mBAAmB,CAAC;iBAC3B,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAC5C,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAC7C,CACF;iBACA,SAAS,CAAC,EAAE,EAAE,EAAE,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,2FAA2F;QAC3F,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBACnC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;gBAC5B,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI;gBAC3B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI;aAC1C,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAiE;QACrF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QACjD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,GAAG,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzD,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,EAAE;iBACZ,MAAM,CAAC;gBACN,EAAE,EAAE,mBAAmB,CAAC,EAAE;gBAC1B,MAAM,EAAE,mBAAmB,CAAC,MAAM;gBAClC,MAAM,EAAE,mBAAmB,CAAC,MAAM;gBAClC,SAAS,EAAE,mBAAmB,CAAC,SAAS;gBACxC,QAAQ,EAAE,SAAS,CAAC,IAAI;gBACxB,OAAO,EAAE,SAAS,CAAC,GAAG;aACvB,CAAC;iBACD,IAAI,CAAC,mBAAmB,CAAC;iBACzB,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;iBAClE,KAAK,CAAC,KAAK,CAAC;iBACZ,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;iBACzE,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,EAAE;iBACZ,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAQ,eAAe,EAAE,CAAC;iBAC7C,IAAI,CAAC,mBAAmB,CAAC;iBACzB,KAAK,CAAC,KAAK,CAAC;SAChB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;YACpC,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;SAC3B,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,KAAqD;QAErD,IAAI,OAAiB,CAAC;QACtB,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;iBACtC,MAAM,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC;iBAC9C,IAAI,CAAC,mBAAmB,CAAC;iBACzB,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1B,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC9C,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;iBAC9B,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;iBAC3B,IAAI,CAAC,IAAI,CAAC;iBACV,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;iBAChC,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAA0B,CAAC,EAAE,CAAC;gBAC7C,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;gBAC/C,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;oBAC7B,IAAI,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACzC,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,GAAG,EAAE,CAAC;wBACb,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACtC,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACzB,CAAC;gBACD,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;qBAC1C,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7B,QAAQ;oBACR,KAAK,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC;iBACzC,CAAC,CAAC;qBACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC;gBAC1C,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACpC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;aAC5B,IAAI,CAAC,SAAS,CAAC;aACf,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,WAAW,EAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAoB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACzE,QAAQ;oBACR,KAAK,EAAE,YAAY;iBACpB,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAC/B,MAAM,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,CAAC;aACpF,IAAI,CAAC,mBAAmB,CAAC;aACzB,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,IAAI,GAAG,EAA2B,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAwB,CAAC;YACzC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO;YACL,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;SAClF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EACpB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,GACsC;QAC/C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,MAAM,aAAa,GAAG;YACpB,SAAS,EAAE,eAAe,CAAC,SAAS;YACpC,SAAS,EAAE,eAAe,CAAC,SAAS;YACpC,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,UAAU,EAAE,eAAe,CAAC,UAAU;SAC9B,CAAC;QACX,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,EAAE;iBACZ,MAAM,EAAE;iBACR,IAAI,CAAC,eAAe,CAAC;iBACrB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;iBAC3C,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAQ,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;SACpF,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAiE;QACjF,kFAAkF;QAClF,0EAA0E;QAC1E,0CAA0C;QAC1C,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,cAAc,CACZ,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EACpF,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CACpC,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAEjE,MAAM,GAAG,GAAG,cAAc,CACxB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClB,MAAM,CAAC,eAAe,CAAC;aACvB,MAAM,CAAC;YACN,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK;YACL,MAAM,EAAE,SAAS;YACjB,SAAS;SACV,CAAC;aACD,SAAS,EAAE,EACd,IAAI,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CACzC,CAAC;QAEF,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACpB,EAAE,EAAE,KAAK,CAAC,KAAK;YACf,OAAO,EAAE,2CAA2C;YACpD,IAAI,EAAE,gCAAgC,KAAK,mBAAmB,SAAS,CAAC,WAAW,EAAE,GAAG;SACzF,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,KAAa,EACb,IAAiB;QAEjB,oFAAoF;QACpF,iFAAiF;QACjF,mEAAmE;QACnE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,cAAc,CACxB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClB,MAAM,CAAC,eAAe,CAAC;aACvB,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;aAC5C,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,EAChC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,EACrC,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CACnC,CACF;aACA,SAAS,EAAE,EACd,IAAI,uBAAuB,EAAE,CAC9B,CAAC;QAEF,kFAAkF;QAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC1C,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,YAAY,EAAE,GAAG,CAAC,EAAE;YACpB,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI;YACpB,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI;SACnC,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA6C;QAC7D,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxE,OAAO,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAIxB;QACC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC;QAC5D,IAAI,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,gBAAgB,CAC1B,eAAe,CAAC,oBAAoB,EACpC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAC3C,CAAC;YACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YACxF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"iam.service.js","sourceRoot":"","sources":["../../../src/iam/service/iam.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-email-template-renderer.test.d.ts","sourceRoot":"","sources":["../../../src/mail/__tests__/default-email-template-renderer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,119 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { DefaultEmailTemplateRenderer } from '../adapters/default-email-template-renderer.js';
3
+ describe('DefaultEmailTemplateRenderer', () => {
4
+ const renderer = new DefaultEmailTemplateRenderer();
5
+ it('renders the verifyEmail template with the otp interpolated', () => {
6
+ const result = renderer.render({ key: 'verifyEmail', data: { otp: '123456' } }, 'de');
7
+ expect(result.subject).toBe('Verify your email');
8
+ expect(result.text).toBe('Your email verification code is: 123456');
9
+ expect(result.html).toContain('123456');
10
+ expect(result.html).toMatch(/^<p>/);
11
+ });
12
+ it('renders the resetPasswordOtp template with the otp interpolated', () => {
13
+ const result = renderer.render({ key: 'resetPasswordOtp', data: { otp: '123456', email: 'test@example.com' } }, 'fr');
14
+ expect(result.subject).toBe('Reset your password');
15
+ expect(result.text).toBe('Your password reset code is: 123456');
16
+ });
17
+ it('renders an admin-reset template that identifies its origin', () => {
18
+ const result = renderer.render({ key: 'adminResetPasswordOtp', data: { otp: '123456', email: 'test@example.com' } }, 'en');
19
+ expect(result.subject).toContain('administrator');
20
+ expect(result.text).toContain('123456');
21
+ });
22
+ it('renders existingAccountSignUp without naming it a password reset', () => {
23
+ const result = renderer.render({ key: 'existingAccountSignUp', data: { otp: '123456', email: 'test@example.com' } }, 'en');
24
+ expect(result.subject).toBe('You already have an account');
25
+ expect(result.text).toContain('123456');
26
+ expect(result.text).toContain('no new account was created');
27
+ });
28
+ it('renders every template key with a non-empty subject, markup-free text and an HTML body', () => {
29
+ const samples = [
30
+ { key: 'verifyEmail', data: { otp: '111111' } },
31
+ { key: 'resetPasswordOtp', data: { otp: '111111', email: 'a@b.com' } },
32
+ { key: 'adminResetPasswordOtp', data: { otp: '111111', email: 'a@b.com' } },
33
+ { key: 'existingAccountSignUp', data: { otp: '111111', email: 'a@b.com' } },
34
+ {
35
+ key: 'rgLimitUpdated',
36
+ data: {
37
+ period: 'daily',
38
+ type: 'deposit',
39
+ amount: '100.00',
40
+ currency: 'EUR',
41
+ minutes: null,
42
+ },
43
+ },
44
+ { key: 'rgCoolingOffActivated', data: { expiresAt: '2026-01-01T00:00:00.000Z' } },
45
+ { key: 'rgCoolingOffLifted', data: {} },
46
+ { key: 'rgSelfExclusionActivated', data: { expiresAt: null, isPermanent: true } },
47
+ { key: 'rgSelfExclusionLifted', data: {} },
48
+ {
49
+ key: 'withdrawalApproved',
50
+ data: {
51
+ amount: '100.00',
52
+ currency: 'USDT',
53
+ transactionId: '00000000-0000-0000-0000-000000000000',
54
+ occurredAt: '2026-01-01T00:00:00.000Z',
55
+ },
56
+ },
57
+ {
58
+ key: 'withdrawalRejected',
59
+ data: {
60
+ amount: '100.00',
61
+ currency: 'USDT',
62
+ transactionId: '00000000-0000-0000-0000-000000000000',
63
+ occurredAt: '2026-01-01T00:00:00.000Z',
64
+ reason: 'AML review',
65
+ },
66
+ },
67
+ { key: 'kycResubmissionRequested', data: { reason: null } },
68
+ { key: 'adminInvitation', data: { token: 'tok', expiresAt: '2026-01-01T00:00:00.000Z' } },
69
+ ];
70
+ for (const template of samples) {
71
+ const result = renderer.render(template, 'en');
72
+ expect(result.subject.length).toBeGreaterThan(0);
73
+ expect(result.text.length).toBeGreaterThan(0);
74
+ expect(result.text).not.toMatch(/<[a-z/]/i);
75
+ expect(result.html).toContain('<p>');
76
+ }
77
+ });
78
+ it('groups the withdrawal amount in thousands, matching the in-app notification', () => {
79
+ const result = renderer.render({
80
+ key: 'withdrawalApproved',
81
+ data: {
82
+ amount: '10000.00',
83
+ currency: 'USDT',
84
+ transactionId: '00000000-0000-0000-0000-000000000000',
85
+ occurredAt: '2026-01-01T00:00:00.000Z',
86
+ },
87
+ }, 'en');
88
+ expect(result.text).toContain('10,000 USDT');
89
+ });
90
+ it('composes the rgLimitUpdated sentence from raw amount/currency, grouped', () => {
91
+ const money = renderer.render({
92
+ key: 'rgLimitUpdated',
93
+ data: {
94
+ period: 'daily',
95
+ type: 'deposit',
96
+ amount: '10000.00',
97
+ currency: 'EUR',
98
+ minutes: null,
99
+ },
100
+ }, 'en');
101
+ expect(money.text).toContain('10,000 EUR');
102
+ const session = renderer.render({
103
+ key: 'rgLimitUpdated',
104
+ data: { period: 'session', type: 'session', amount: null, currency: null, minutes: 60 },
105
+ }, 'en');
106
+ expect(session.text).toContain('60 minutes');
107
+ });
108
+ it('falls back to a default locale instead of throwing on an unparseable tag', () => {
109
+ const render = () => renderer.render({ key: 'rgCoolingOffActivated', data: { expiresAt: '2026-03-09T15:30:00.000Z' } }, 'en_US');
110
+ expect(render).not.toThrow();
111
+ expect(render().text).toContain('2026');
112
+ });
113
+ it('formats the cooling-off date against the recipient locale', () => {
114
+ const en = renderer.render({ key: 'rgCoolingOffActivated', data: { expiresAt: '2026-03-09T15:30:00.000Z' } }, 'en-GB');
115
+ const de = renderer.render({ key: 'rgCoolingOffActivated', data: { expiresAt: '2026-03-09T15:30:00.000Z' } }, 'de-DE');
116
+ expect(en.text).not.toBe(de.text);
117
+ });
118
+ });
119
+ //# sourceMappingURL=default-email-template-renderer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-email-template-renderer.test.js","sourceRoot":"","sources":["../../../src/mail/__tests__/default-email-template-renderer.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mail.service.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.service.test.d.ts","sourceRoot":"","sources":["../../../src/mail/__tests__/mail.service.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,215 @@
1
+ import { describe, it, expect, vi } from 'vitest';
2
+ import { mock } from '../../testing/mock.js';
3
+ import { MailService } from '../service/mail.service.js';
4
+ import { EncryptedMailSendJobSchema, MAIL_SEND_QUEUE } from '../contract/index.js';
5
+ const verify = { key: 'verifyEmail', data: { otp: '123456' } };
6
+ const rgLifted = { key: 'rgCoolingOffLifted', data: {} };
7
+ const withdrawal = {
8
+ key: 'withdrawalApproved',
9
+ data: {
10
+ amount: '10.00',
11
+ currency: 'USDT',
12
+ transactionId: '00000000-0000-0000-0000-000000000000',
13
+ occurredAt: '2026-01-01T00:00:00.000Z',
14
+ },
15
+ };
16
+ function build(over = {}) {
17
+ const sender = mock({ send: vi.fn(async () => undefined), ...over.sender });
18
+ const renderer = mock({
19
+ render: vi.fn(() => ({ subject: 's', html: '<p>h</p>', text: 't' })),
20
+ ...over.renderer,
21
+ });
22
+ const directory = mock({
23
+ get: vi.fn(async () => null),
24
+ ...over.directory,
25
+ });
26
+ const jobQueue = mock({
27
+ enqueue: vi.fn(async () => ({ id: 'job-1' })),
28
+ ...over.jobQueue,
29
+ });
30
+ const audit = over.audit === undefined
31
+ ? mock({ record: vi.fn(async () => undefined) })
32
+ : over.audit;
33
+ const svc = new MailService({
34
+ sender,
35
+ renderer,
36
+ directory,
37
+ jobQueue,
38
+ audit,
39
+ encryptionSecret: 'test-mail-encryption-secret-32chars',
40
+ });
41
+ return { svc, sender, renderer, directory, jobQueue, audit };
42
+ }
43
+ describe('MailService', () => {
44
+ it('enqueues a job and never renders or sends on the caller thread', async () => {
45
+ const { svc, jobQueue, sender, renderer } = build();
46
+ await svc.enqueueToUser({ userId: 'u-1', template: verify, idempotencyKey: 'k-1' });
47
+ expect(jobQueue.enqueue).toHaveBeenCalledWith(MAIL_SEND_QUEUE, expect.objectContaining({ ciphertext: expect.any(String) }), expect.objectContaining({ idempotencyKey: 'k-1', attempts: 5 }));
48
+ const payload = vi.mocked(jobQueue.enqueue).mock.calls[0]?.[1];
49
+ expect(JSON.stringify(payload)).not.toContain('123456');
50
+ expect(sender.send).not.toHaveBeenCalled();
51
+ expect(renderer.render).not.toHaveBeenCalled();
52
+ });
53
+ it('retries the enqueue on a transient queue failure', async () => {
54
+ const enqueue = vi
55
+ .fn()
56
+ .mockRejectedValueOnce(new Error('queue down'))
57
+ .mockResolvedValueOnce({ id: 'job-1' });
58
+ const { svc } = build({ jobQueue: { enqueue } });
59
+ await svc.enqueueToAddress({ email: 'a@b.com', template: verify, idempotencyKey: 'k-2' });
60
+ expect(enqueue).toHaveBeenCalledTimes(2);
61
+ });
62
+ it('decrypts a queued payload before rendering and delivery', async () => {
63
+ const { svc, jobQueue, renderer, sender } = build();
64
+ await svc.enqueueToAddress({
65
+ email: 'de@b.com',
66
+ locale: 'de',
67
+ template: verify,
68
+ idempotencyKey: 'k-3',
69
+ });
70
+ const encrypted = vi.mocked(jobQueue.enqueue).mock.calls[0]?.[1];
71
+ if (!encrypted) {
72
+ throw new Error('mail job was not queued');
73
+ }
74
+ await svc.deliverEncrypted(EncryptedMailSendJobSchema.parse(encrypted));
75
+ expect(renderer.render).toHaveBeenCalledWith(verify, 'de', null);
76
+ expect(sender.send).toHaveBeenCalledWith(expect.objectContaining({ to: 'de@b.com' }));
77
+ });
78
+ it('delivers to an explicit address, rendering with the given locale and sending html + text', async () => {
79
+ const { svc, renderer, sender } = build();
80
+ await svc.deliver({
81
+ recipient: { kind: 'address', email: 'de@b.com', locale: 'de' },
82
+ template: verify,
83
+ });
84
+ expect(renderer.render).toHaveBeenCalledWith(verify, 'de', null);
85
+ expect(sender.send).toHaveBeenCalledWith({
86
+ to: 'de@b.com',
87
+ subject: 's',
88
+ html: '<p>h</p>',
89
+ text: 't',
90
+ });
91
+ });
92
+ it('resolves a user recipient to its address, account locale and display name', async () => {
93
+ const { svc, renderer, sender } = build({
94
+ directory: {
95
+ get: vi.fn(async () => ({
96
+ id: 'u-1',
97
+ email: 'user@b.com',
98
+ name: 'Ada',
99
+ createdAt: new Date(),
100
+ isActive: true,
101
+ role: 'player',
102
+ language: 'fr',
103
+ })),
104
+ },
105
+ });
106
+ await svc.deliver({ recipient: { kind: 'user', userId: 'u-1' }, template: verify });
107
+ expect(renderer.render).toHaveBeenCalledWith(verify, 'fr', 'Ada');
108
+ expect(sender.send).toHaveBeenCalledWith(expect.objectContaining({ to: 'user@b.com' }));
109
+ });
110
+ it('passes null when the directory has no name on file for the user', async () => {
111
+ const { svc, renderer } = build({
112
+ directory: {
113
+ get: vi.fn(async () => ({
114
+ id: 'u-1',
115
+ email: 'user@b.com',
116
+ name: null,
117
+ createdAt: new Date(),
118
+ isActive: true,
119
+ role: 'player',
120
+ language: 'fr',
121
+ })),
122
+ },
123
+ });
124
+ await svc.deliver({ recipient: { kind: 'user', userId: 'u-1' }, template: verify });
125
+ expect(renderer.render).toHaveBeenCalledWith(verify, 'fr', null);
126
+ });
127
+ it('skips - without throwing - when the user has no address (nothing to retry)', async () => {
128
+ const { svc, sender } = build({ directory: { get: vi.fn(async () => null) } });
129
+ await expect(svc.deliver({ recipient: { kind: 'user', userId: 'ghost' }, template: verify })).resolves.toBeUndefined();
130
+ expect(sender.send).not.toHaveBeenCalled();
131
+ });
132
+ it('audits a no-recipient-email regulatory send as failed', async () => {
133
+ const { svc, audit } = build({ directory: { get: vi.fn(async () => null) } });
134
+ await svc.deliver({ recipient: { kind: 'user', userId: 'ghost' }, template: rgLifted }, 1);
135
+ expect(audit.record).toHaveBeenCalledWith(expect.objectContaining({
136
+ action: 'mail.regulatory_delivery.failed',
137
+ resourceId: 'ghost',
138
+ after: { templateKey: 'rgCoolingOffLifted', reason: 'no_recipient_email', attempt: 1 },
139
+ }));
140
+ });
141
+ it('does not audit a no-recipient-email non-regulatory send', async () => {
142
+ const { svc, audit } = build({ directory: { get: vi.fn(async () => null) } });
143
+ await svc.deliver({ recipient: { kind: 'user', userId: 'ghost' }, template: verify });
144
+ expect(audit.record).not.toHaveBeenCalled();
145
+ });
146
+ it('audits a delivered regulatory mail with its key, locale and attempt', async () => {
147
+ const { svc, audit } = build({
148
+ directory: {
149
+ get: vi.fn(async () => ({
150
+ id: 'u-1',
151
+ email: 'user@b.com',
152
+ name: null,
153
+ createdAt: new Date(),
154
+ isActive: true,
155
+ role: 'player',
156
+ language: 'de',
157
+ })),
158
+ },
159
+ });
160
+ await svc.deliver({ recipient: { kind: 'user', userId: 'u-1' }, template: rgLifted }, 2);
161
+ expect(audit.record).toHaveBeenCalledWith(expect.objectContaining({
162
+ actorType: 'system',
163
+ action: 'mail.regulatory_delivery.sent',
164
+ resourceId: 'u-1',
165
+ after: { templateKey: 'rgCoolingOffLifted', locale: 'de', attempt: 2 },
166
+ }));
167
+ });
168
+ it('does not audit a delivered non-regulatory mail', async () => {
169
+ const { svc, audit } = build();
170
+ await svc.deliver({ recipient: { kind: 'address', email: 'a@b.com' }, template: verify });
171
+ expect(audit.record).not.toHaveBeenCalled();
172
+ });
173
+ it('audits an exhausted delivery for a regulatory key', async () => {
174
+ const { svc, audit } = build({
175
+ directory: {
176
+ get: vi.fn(async () => ({
177
+ id: 'u-1',
178
+ email: 'user@b.com',
179
+ name: null,
180
+ createdAt: new Date(),
181
+ isActive: true,
182
+ role: 'player',
183
+ language: 'de',
184
+ })),
185
+ },
186
+ });
187
+ await svc.onDeliveryExhausted({ recipient: { kind: 'user', userId: 'u-1' }, template: rgLifted }, new Error('smtp 550'), 5);
188
+ expect(audit.record).toHaveBeenCalledWith(expect.objectContaining({
189
+ actorType: 'system',
190
+ action: 'mail.regulatory_delivery.failed',
191
+ resourceId: 'u-1',
192
+ after: {
193
+ templateKey: 'rgCoolingOffLifted',
194
+ locale: 'de',
195
+ reason: 'Error',
196
+ attempt: 5,
197
+ },
198
+ }));
199
+ });
200
+ it('audits an undecryptable dead-lettered payload without knowing its template key', async () => {
201
+ const { svc, audit } = build();
202
+ await svc.onEncryptedDeliveryExhausted({ ciphertext: 'bm90LXJlYWw', iv: 'bm90LXJlYWw', tag: 'bm90LXJlYWw' }, new Error('exhausted'), 5);
203
+ expect(audit.record).toHaveBeenCalledWith(expect.objectContaining({
204
+ action: 'mail.regulatory_delivery.failed',
205
+ resourceId: null,
206
+ after: expect.objectContaining({ reason: 'payload_undecryptable', attempt: 5 }),
207
+ }));
208
+ });
209
+ it('does not audit an exhausted delivery for a non-regulatory key', async () => {
210
+ const { svc, audit } = build();
211
+ await svc.onDeliveryExhausted({ recipient: { kind: 'user', userId: 'u-1' }, template: withdrawal }, new Error('smtp 550'));
212
+ expect(audit.record).not.toHaveBeenCalled();
213
+ });
214
+ });
215
+ //# sourceMappingURL=mail.service.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.service.test.js","sourceRoot":"","sources":["../../../src/mail/__tests__/mail.service.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type EmailTemplateRenderer, type MailTemplate, type RenderedEmail } from '@openora/core/contracts';
2
+ export declare class DefaultEmailTemplateRenderer implements EmailTemplateRenderer {
3
+ render(template: MailTemplate, locale: string): RenderedEmail;
4
+ }
5
+ //# sourceMappingURL=default-email-template-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-email-template-renderer.d.ts","sourceRoot":"","sources":["../../../src/mail/adapters/default-email-template-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAG1B,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,yBAAyB,CAAC;AAuIjC,qBAAa,4BAA6B,YAAW,qBAAqB;IACxE,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;CAG9D"}