@memberjunction/ng-dashboards 5.35.0 → 5.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.js +3 -3
  2. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  3. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +22 -1
  4. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
  5. package/dist/AI/components/analytics/ai-analytics-resource.component.js +157 -137
  6. package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
  7. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +28 -0
  8. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  9. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +2075 -2068
  10. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  11. package/dist/AI/components/models/model-management.component.js +4 -4
  12. package/dist/AI/components/models/model-management.component.js.map +1 -1
  13. package/dist/AI/components/prompts/prompt-management.component.js +3 -3
  14. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  15. package/dist/AI/components/tags/tags-resource.component.d.ts +15 -0
  16. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  17. package/dist/AI/components/tags/tags-resource.component.js +1411 -1424
  18. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  19. package/dist/APIKeys/api-keys-resource.component.d.ts +12 -8
  20. package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
  21. package/dist/APIKeys/api-keys-resource.component.js +329 -371
  22. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  23. package/dist/Actions/components/actions-overview.component.js +137 -142
  24. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  25. package/dist/Actions/components/execution-monitoring.component.js +111 -116
  26. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  27. package/dist/Admin/admin-data-schema.component.js +13 -65
  28. package/dist/Admin/admin-data-schema.component.js.map +1 -1
  29. package/dist/Admin/admin-dev-tools-resource.component.js +13 -65
  30. package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
  31. package/dist/Admin/admin-identity-access.component.js +13 -65
  32. package/dist/Admin/admin-identity-access.component.js.map +1 -1
  33. package/dist/Admin/admin-monitoring.component.js +13 -65
  34. package/dist/Admin/admin-monitoring.component.js.map +1 -1
  35. package/dist/Admin/base-admin-container.component.d.ts +9 -7
  36. package/dist/Admin/base-admin-container.component.d.ts.map +1 -1
  37. package/dist/Admin/base-admin-container.component.js +26 -17
  38. package/dist/Admin/base-admin-container.component.js.map +1 -1
  39. package/dist/ApplicationRoles/application-roles-resource.component.js +74 -67
  40. package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
  41. package/dist/Communication/communication-new-message-resource.component.d.ts +93 -0
  42. package/dist/Communication/communication-new-message-resource.component.d.ts.map +1 -0
  43. package/dist/Communication/communication-new-message-resource.component.js +661 -0
  44. package/dist/Communication/communication-new-message-resource.component.js.map +1 -0
  45. package/dist/Credentials/components/credentials-categories-resource.component.js +152 -159
  46. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  47. package/dist/Credentials/components/credentials-types-resource.component.js +151 -155
  48. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  49. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +20 -21
  50. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
  51. package/dist/DatabaseDesigner/components/entity-list.component.d.ts +2 -0
  52. package/dist/DatabaseDesigner/components/entity-list.component.d.ts.map +1 -1
  53. package/dist/DatabaseDesigner/components/entity-list.component.js +131 -125
  54. package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
  55. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
  56. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
  57. package/dist/DatabaseDesigner/database-designer-dashboards.module.js +7 -1
  58. package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
  59. package/dist/DevTools/app-state-inspector.component.d.ts +5 -0
  60. package/dist/DevTools/app-state-inspector.component.d.ts.map +1 -1
  61. package/dist/DevTools/app-state-inspector.component.js +46 -72
  62. package/dist/DevTools/app-state-inspector.component.js.map +1 -1
  63. package/dist/DevTools/class-registry.component.js +88 -100
  64. package/dist/DevTools/class-registry.component.js.map +1 -1
  65. package/dist/DevTools/event-monitor.component.js +158 -168
  66. package/dist/DevTools/event-monitor.component.js.map +1 -1
  67. package/dist/DevTools/graphql-console.component.js +257 -264
  68. package/dist/DevTools/graphql-console.component.js.map +1 -1
  69. package/dist/DevTools/layout-inspector.component.d.ts +5 -0
  70. package/dist/DevTools/layout-inspector.component.d.ts.map +1 -1
  71. package/dist/DevTools/layout-inspector.component.js +46 -64
  72. package/dist/DevTools/layout-inspector.component.js.map +1 -1
  73. package/dist/DevTools/lazy-module-status.component.js +75 -84
  74. package/dist/DevTools/lazy-module-status.component.js.map +1 -1
  75. package/dist/DevTools/settings-explorer.component.js +76 -85
  76. package/dist/DevTools/settings-explorer.component.js.map +1 -1
  77. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +2 -0
  78. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
  79. package/dist/EntityAdmin/entity-admin-dashboard.component.js +7 -3
  80. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  81. package/dist/Integration/components/activity/activity.component.js +97 -99
  82. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  83. package/dist/Integration/components/connections/connections.component.js +842 -855
  84. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  85. package/dist/Integration/components/pipelines/pipelines.component.js +502 -517
  86. package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
  87. package/dist/Integration/components/schedules/schedules.component.js +78 -89
  88. package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
  89. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts +5 -0
  90. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -1
  91. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +1120 -1128
  92. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
  93. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts +11 -0
  94. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -1
  95. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +606 -661
  96. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  97. package/dist/Lists/components/lists-browse-resource.component.d.ts +102 -0
  98. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  99. package/dist/Lists/components/lists-browse-resource.component.js +1179 -504
  100. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  101. package/dist/Lists/components/lists-operations-resource.component.d.ts +133 -3
  102. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
  103. package/dist/Lists/components/lists-operations-resource.component.js +1527 -327
  104. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  105. package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts +29 -0
  106. package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts.map +1 -0
  107. package/dist/Lists/components/lists-shared-with-me-resource.component.js +77 -0
  108. package/dist/Lists/components/lists-shared-with-me-resource.component.js.map +1 -0
  109. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts +6 -0
  110. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -1
  111. package/dist/Lists/components/venn-diagram/venn-diagram.component.js +35 -7
  112. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
  113. package/dist/Lists/index.d.ts +1 -0
  114. package/dist/Lists/index.d.ts.map +1 -1
  115. package/dist/Lists/index.js +1 -0
  116. package/dist/Lists/index.js.map +1 -1
  117. package/dist/Lists/services/list-set-operations.service.d.ts +93 -2
  118. package/dist/Lists/services/list-set-operations.service.d.ts.map +1 -1
  119. package/dist/Lists/services/list-set-operations.service.js +236 -10
  120. package/dist/Lists/services/list-set-operations.service.js.map +1 -1
  121. package/dist/MCP/mcp-dashboard.component.js +19 -19
  122. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  123. package/dist/Scheduling/scheduling-dashboard.component.js +58 -60
  124. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  125. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +13 -3
  126. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  127. package/dist/SystemDiagnostics/system-diagnostics.component.js +1007 -1252
  128. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  129. package/dist/Testing/components/testing-explorer.component.d.ts +31 -6
  130. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  131. package/dist/Testing/components/testing-explorer.component.js +543 -629
  132. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  133. package/dist/Testing/testing-dashboard.component.js +50 -49
  134. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  135. package/dist/ai-dashboards.module.d.ts +1 -1
  136. package/dist/ai-dashboards.module.d.ts.map +1 -1
  137. package/dist/ai-dashboards.module.js +16 -1
  138. package/dist/ai-dashboards.module.js.map +1 -1
  139. package/dist/communication-dashboards.module.d.ts +9 -7
  140. package/dist/communication-dashboards.module.d.ts.map +1 -1
  141. package/dist/communication-dashboards.module.js +13 -4
  142. package/dist/communication-dashboards.module.js.map +1 -1
  143. package/dist/core-dashboards.module.d.ts +1 -1
  144. package/dist/core-dashboards.module.d.ts.map +1 -1
  145. package/dist/core-dashboards.module.js +16 -1
  146. package/dist/core-dashboards.module.js.map +1 -1
  147. package/dist/lists-dashboards.module.d.ts +10 -9
  148. package/dist/lists-dashboards.module.d.ts.map +1 -1
  149. package/dist/lists-dashboards.module.js +13 -2
  150. package/dist/lists-dashboards.module.js.map +1 -1
  151. package/dist/public-api.d.ts +1 -0
  152. package/dist/public-api.d.ts.map +1 -1
  153. package/dist/public-api.js +1 -0
  154. package/dist/public-api.js.map +1 -1
  155. package/dist/testing-dashboards.module.d.ts +1 -1
  156. package/dist/testing-dashboards.module.d.ts.map +1 -1
  157. package/dist/testing-dashboards.module.js +13 -1
  158. package/dist/testing-dashboards.module.js.map +1 -1
  159. package/package.json +53 -52
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-management.component.js","sourceRoot":"","sources":["../../../../src/AI/components/prompts/prompt-management.component.ts","../../../../src/AI/components/prompts/prompt-management.component.html"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAwC,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAA2G,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACxK,OAAO,EAAY,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAiB,qBAAqB,EAAqB,MAAM,2BAA2B,CAAC;AAEpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAG,UAAU,EAAE,MAAM,wBAAwB,CAAC;;;;;;;;;;;ICkB5D,kCAAmG;IAAtD,6LAAS,wBAAiB,KAAC;IACtE,wBAAgC;IAChC,4BACF;IAAA,iBAAS;;;IAgBL,+BAA+B;IAC7B,iCAAqE;IACvE,iBAAM;;;IADQ,cAA8B;IAA9B,mDAA8B;;;;IAYtC,kCAG8B;IAA5B,2NAAS,wBAAiB,KAAC;IAC3B,wBAAgC;IAChC,mCACF;IAAA,iBAAS;;;IAXb,+BAAyB;IACvB,wBAAmC;IACnC,0BAAI;IAAA,gCAAgB;IAAA,iBAAK;IACzB,yBAAG;IAAA,YAAoG;IAAA,iBAAI;IAC3G,4HAAiD;IASnD,iBAAM;;;IAVD,eAAoG;IAApG,2HAAoG;IACvG,cAQC;IARD,kFAQC;;;IAsBe,gCAA0E;IACxE,wBAA0D;IAC1D,YACF;IAAA,iBAAO;;;IAHiB,yDAAiD;IAEvE,eACF;IADE,iDACF;;;IAaN,wBAAgG;;;;;IAAlE,6GAA6D;;;IAE3F,6BAAyC;IAAA,uCAAuB;IAAA,iBAAI;;;IAe1D,wBAAyD;IAAC,qBAC5D;;;IACE,wBAAyD;IAAC,oBAC5D;;;IAVF,AADF,AADF,AADF,+BAA8B,cACF,cACD,eACI;IAAA,oBAAI;IAAA,iBAAO;IACpC,gCAAyB;IAAA,YAAqB;IAChD,AADgD,iBAAO,EACjD;IAEJ,AADF,+BAAuB,eACI;IAAA,wBAAQ;IAAA,iBAAO;IACxC,iCAAyB;IAGrB,AAFF,mJAA+B,6HAEtB;IAMjB,AADE,AADE,AADE,iBAAO,EACH,EACF,EACF;;;IAbyB,eAAqB;IAArB,wCAAqB;IAK5C,eAIC;IAJD,sDAIC;;;;IAWT,kCAIuB;IADrB,sSAAS,2CAAiC,KAAC;IAE3C,wBAA+B;IAC/B,yBACF;IAAA,iBAAS;;;;IAIT,kCAIqB;IADnB,sSAAS,uCAA6B,KAAC;IAEvC,wBAAgC;IAChC,qBACF;IAAA,iBAAS;;;;IA9Eb,AAFF,+BAA2E,cAEL;IAA3C,0PAAS,0CAAgC,KAAC;IAE/D,AADF,+BAAyB,cACE;IACvB,oBAAuC;IACzC,iBAAM;IACN,+BAA4B;IAC1B,yBAAoF;;IAElF,AADF,+BAAyB,eACC;IACtB,yBAAkC;IAClC,aACF;IAAA,iBAAO;IACP,gJAAqB;IAQ3B,AADE,AADE,iBAAM,EACF,EACF;IAEN,yBACwD;IAC1D,iBAAM;IAGN,gCAAuB;IAGnB,AAFF,6IAA0B,uHAEjB;IAKT,gJAAsC;IAoBxC,iBAAM;IAGN,gCAA0B;IACxB,kJAA0B;IAW1B,kJAAwD;IAW5D,AADE,iBAAM,EACF;;;;IAnFmB,oEAAiD;IAK/D,eAA+B;IAA/B,8CAA+B;IAGV,eAAsD;IAAtD,uGAAsD;IAI1E,eACF;IADE,uDACF;IACA,cAKC;IALD,4CAKC;IAMJ,cAAgD;IAAhD,mEAAgD;IAKnD,eAIC;IAJD,iDAIC;IAGD,eAmBC;IAnBD,oEAmBC;IAKD,eASC;IATD,qDASC;IAED,cASC;IATD,sFASC;;;IAnFT,+BAA0B;IACxB,0IAqFC;IACH,iBAAM;;;IAtFJ,cAqFC;IArFD,qCAqFC;;;IAyDe,0BAA0G;;;;;IAApE,6GAA6D;;;IAcvG,wBAAgE;;;IAEhE,wBAA6E;;;;IAM3E,kCAIuB;IADrB,kSAAS,mCAAyB,KAAC;IAEnC,wBAA+B;IACjC,iBAAS;;;;IAGT,kCAIqB;IADnB,wSAAS,uCAA6B,KAAC;IAEvC,wBAAgC;IAClC,iBAAS;;;IA3CX,AADF,AADF,AADF,0BAAI,SACE,cAC4B,cACG;IAC7B,oBAAuC;IACzC,iBAAM;IACN,2BAAK;IACH,0BAAsF;;IACtF,8IAA0B;IAKhC,AADE,AADE,iBAAM,EACF,EACH;IACL,0BAAI;IAAA,aAAyB;IAAA,iBAAK;IAClC,2BAAI;IAAA,aAAqB;IAAA,iBAAK;IAE5B,AADF,2BAAI,gBAC0F;IAC1F,aACF;IACF,AADE,iBAAO,EACJ;IACL,2BAAI;IAGA,AAFF,8IAA+B,wHAEtB;IAGX,iBAAK;IAEH,AADF,2BAAI,eACyB;IACzB,mJAA0B;IAS1B,mJAAwD;IAW9D,AADE,AADE,iBAAM,EACH,EACF;;;;IA9CM,eAA+B;IAA/B,8CAA+B;IAGT,eAAsD;IAAtD,uGAAsD;IAC/E,eAEC;IAFD,gDAEC;IAIH,eAAyB;IAAzB,4CAAyB;IACzB,eAAqB;IAArB,wCAAqB;IAEI,eAAgE;IAAhE,wEAAgE;IACzF,cACF;IADE,8DACF;IAGA,eAIC;IAJD,sDAIC;IAIC,eAQC;IARD,qDAQC;IACD,cAQC;IARD,sFAQC;;;;IArFP,AADF,AADF,AADF,AADF,+BAA0B,gBACK,YACpB,SACD,aAGmE;IAFjE,uNAAS,cAAO,MAAM,CAAC,KAAC;IAG1B,gCAA0B;IACxB,sBACA;IAAA,wBAAgD;IAEpD,AADE,iBAAO,EACJ;IACL,8BAEyE;IAFrE,uNAAS,cAAO,UAAU,CAAC,KAAC;IAG9B,gCAA0B;IACxB,2BACA;IAAA,yBAAgD;IAEpD,AADE,iBAAO,EACJ;IACL,+BAEqE;IAFjE,wNAAS,cAAO,MAAM,CAAC,KAAC;IAG1B,iCAA0B;IACxB,uBACA;IAAA,yBAAgD;IAEpD,AADE,iBAAO,EACJ;IACL,+BAEuE;IAFnE,wNAAS,cAAO,QAAQ,CAAC,KAAC;IAG5B,iCAA0B;IACxB,yBACA;IAAA,yBAAgD;IAEpD,AADE,iBAAO,EACJ;IACL,2BAAI;IAAA,yBAAQ;IAAA,iBAAK;IACjB,2BAAI;IAAA,wBAAO;IAEf,AADE,AADa,iBAAK,EACb,EACC;IACR,8BAAO;IACL,6IAoDC;IAGP,AADE,AADE,iBAAQ,EACF,EACJ;;;IA3FM,eAAsC;IACtC,AADA,sDAAsC,yEAC0B;IAOhE,eAA0C;IAC1C,AADA,0DAA0C,6EAC0B;IAOpE,eAAsC;IACtC,AADA,sDAAsC,yEAC0B;IAOhE,eAAwC;IACxC,AADA,wDAAwC,2EAC0B;IAWxE,eAoDC;IApDD,qCAoDC;;;IA1LT,yHAA2B;IA4F3B,2HAA2B;;;IA5F3B,qDAyFC;IAGD,cAkGC;IAlGD,qDAkGC;;;IAhMD,AAfF,2GAAoC,0EAe3B;;;IAfT,6DAgNC;;;;IAMT,+BAA+D;IAA7B,4LAAS,yBAAkB,KAAC;IAAC,iBAAM;;;IAgC3D,gCAA4B;IAC1B,wBAAqC;IACrC,8BACF;IAAA,iBAAO;;;IAQT,AADF,+BAA4B,aACO;IAC/B,wBAAsC;IACtC,6BACF;IAAA,iBAAK;IACL,6BAA8B;IAAA,YAAgC;IAChE,AADgE,iBAAI,EAC9D;;;IAD0B,eAAgC;IAAhC,uDAAgC;;;IAiC1D,AADF,+BAAyB,eACI;IAAA,8BAAc;IAAA,iBAAO;IAChD,gCAA2B;IAAA,YAAiC;IAC9D,AAD8D,iBAAO,EAC/D;;;IADuB,eAAiC;IAAjC,wDAAiC;;;;IA4BlE,kCAG0C;IAAxC,+MAAS,2CAA6B,KAAC;IACvC,wBAAgC;IAChC,4BACF;IAAA,iBAAS;;;;IA1GT,AADF,AADF,+BAAiC,cACC,cACL;IACvB,oBAA+C;IACjD,iBAAM;IAEJ,AADF,+BAA+B,SACzB;IAAA,YAAyB;IAAA,iBAAK;IAClC,gCAA8B;IAAA,YAAyC;IAE3E,AADE,AADyE,iBAAO,EAC1E,EACF;IACN,kCAAgE;IAA7B,+LAAS,yBAAkB,KAAC;IAC7D,yBAAiC;IAErC,AADE,iBAAS,EACL;IAOA,AADF,AADF,AAFF,gCAAkC,eAEJ,eACC,gBAC2E;IAClG,yBAA0D;IAC1D,aACF;IAAA,iBAAO;IACP,8GAAuC;IAO3C,AADE,iBAAM,EACF;IAGN,6GAAkC;IAYhC,AADF,gCAA4B,cACO;IAC/B,yBAA+B;IAC/B,gCACF;IAAA,iBAAK;IAGD,AADF,AADF,gCAAyB,eACE,gBACI;IAAA,yBAAQ;IAAA,iBAAO;IAC1C,iCAA2B;IAAA,aAAoD;IACjF,AADiF,iBAAO,EAClF;IAEJ,AADF,gCAAyB,gBACI;IAAA,qBAAI;IAAA,iBAAO;IACtC,iCAA2B;IAAA,aAA0C;IACvE,AADuE,iBAAO,EACxE;IAEJ,AADF,gCAAyB,gBACI;IAAA,gCAAe;IAAA,iBAAO;IACjD,iCAA2B;IAAA,aAAmC;IAChE,AADgE,iBAAO,EACjE;IAEJ,AADF,gCAAyB,gBACI;IAAA,mCAAkB;IAAA,iBAAO;IACpD,iCAA2B;IAAA,aAAsC;IACnE,AADmE,iBAAO,EACpE;IAEJ,AADF,gCAAyB,gBACI;IAAA,iCAAgB;IAAA,iBAAO;IAClD,iCAA2B;IAAA,aAAoC;IACjE,AADiE,iBAAO,EAClE;IACN,6GAAmC;IAOvC,AADE,iBAAM,EACF;IAIJ,AADF,gCAA4B,cACO;IAC/B,yBAAiC;IACjC,6BACF;IAAA,iBAAK;IAGD,AADF,AADF,gCAAyB,eACE,gBACI;IAAA,wBAAO;IAAA,iBAAO;IACzC,iCAA2B;IAAA,aAAmD;;IAChF,AADgF,iBAAO,EACjF;IAEJ,AADF,gCAAyB,gBACI;IAAA,wBAAO;IAAA,iBAAO;IACzC,iCAA2B;IAAA,aAAmD;;IAItF,AADE,AADE,AADE,AADgF,iBAAO,EACjF,EACF,EACF,EACF;IAGN,gCAAkC;IAChC,gHAA0C;IAS1C,mCAGkC;IAAhC,gMAAS,4BAAqB,KAAC;IAC/B,yBAA6C;IAC7C,mCACF;IACF,AADE,iBAAS,EACL;;;IAlHG,eAAuC;IAAvC,0DAAuC;IAGtC,eAAyB;IAAzB,gDAAyB;IACC,eAAyC;IAAzC,gEAAyC;IAa5C,eAAwE;IAAxE,oFAAwE;IAEjG,eACF;IADE,0EACF;IACA,cAKC;IALD,kEAKC;IAKL,cAQC;IARD,6DAQC;IAWgC,gBAAoD;IAApD,2EAAoD;IAIpD,eAA0C;IAA1C,iEAA0C;IAI1C,eAAmC;IAAnC,0DAAmC;IAInC,eAAsC;IAAtC,6DAAsC;IAItC,eAAoC;IAApC,2DAAoC;IAEjE,cAKC;IALD,8DAKC;IAa4B,gBAAmD;IAAnD,4FAAmD;IAInD,eAAmD;IAAnD,4FAAmD;IAQpF,eAQC;IARD,qEAQC;;AD7VT;;;GAGG;AAQI,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,qBAAqB;IAkIxD;IACA;IACA;IAlIV,uBAAuB;IACN,iBAAiB,GAAG,4BAA4B,CAAC;IAC1D,sBAAsB,GAAG,IAAI,OAAO,EAAQ,CAAC;IAC7C,cAAc,GAAG,KAAK,CAAC;IAE/B,aAAa;IACN,QAAQ,GAAwC,MAAM,CAAC;IACvD,SAAS,GAAG,IAAI,CAAC;IACjB,WAAW,GAAG,IAAI,CAAC;IACnB,gBAAgB,GAAkB,IAAI,CAAC;IAE9C,OAAO;IACA,OAAO,GAAyB,EAAE,CAAC;IACnC,eAAe,GAAyB,EAAE,CAAC;IAC3C,UAAU,GAA+B,EAAE,CAAC;IAC5C,KAAK,GAA2B,EAAE,CAAC;IAE1C,YAAY;IACL,UAAU,GAAG,EAAE,CAAC;IACf,aAAa,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;IACjD,gBAAgB,GAAG,KAAK,CAAC;IACzB,YAAY,GAAG,KAAK,CAAC;IACrB,cAAc,GAAG,KAAK,CAAC;IAE9B,eAAe;IACR,cAAc,GAA8B,IAAI,CAAC;IACjD,kBAAkB,GAAG,KAAK,CAAC;IAElC,UAAU;IACH,UAAU,GAAW,MAAM,CAAC;IAC5B,aAAa,GAAmB,KAAK,CAAC;IAE7C,mBAAmB;IACZ,eAAe,GAAG;QACvB,uBAAuB;QACvB,uBAAuB;QACvB,0BAA0B;QAC1B,iBAAiB;KAClB,CAAC;IACK,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,mBAAmB,GAAG,CAAC,CAAC;IACxB,sBAAsB,CAAM;IAEjB,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;IAC3C,qBAAqB,GAAoC,IAAI,CAAC;IAErE,4BAA4B;IAC5B,iEAAiE;IACzD,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC9C,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;IAEvC,0CAA0C;IAC1C,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,wCAAwC;IACxC,IAAW,kBAAkB;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,0CAA0C;IAC1C,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,0CAA0C;IAC1C,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACK,qBAAqB,CAAC,UAAkB,EAAE,cAAuD;QACvG,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,cAAc,EAAE,CAAC;QAEnD,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YAE5E,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,WAAW,UAAU,kCAAkC,CAAC,CAAC;gBACtE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,eAAe,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACjF,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,QAAQ,cAAc,EAAE,CAAC;gBACvB,KAAK,QAAQ;oBACX,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC;oBAC1C,MAAM;gBACR,KAAK,MAAM;oBACT,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC;oBACxC,MAAM;gBACR,KAAK,QAAQ;oBACX,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC;oBAC1C,MAAM;gBACR,KAAK,QAAQ;oBACX,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC;oBAC1C,MAAM;YACV,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACnD,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,cAAc,mBAAmB,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;YACvF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACI,oBAAoB;QACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,YACU,aAA4B,EAC5B,kBAA8C,EAC9C,GAAsB;QAE9B,KAAK,EAAE,CAAC;QAJA,kBAAa,GAAb,aAAa,CAAe;QAC5B,uBAAkB,GAAlB,kBAAkB,CAA4B;QAC9C,QAAG,GAAH,GAAG,CAAmB;QAI9B,wCAAwC;QACxC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAC9B,YAAY,CAAC,GAAG,CAAC,EACjB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB,CAAC,SAAS,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,oCAAoC;QACpC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,sFAAsF;QACtF,IAAI,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;YAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,WAAW;QACT,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,YAAY,CAAC,GAAG,CAAC,EACjB,oBAAoB,EAAE,EACtB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;YACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,4BAA4B;IAC5B,2CAA2C;IAE3C;;OAEG;IACK,mBAAmB;QACzB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9E,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAoC,CAAC;gBACxE,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,+BAA+B,CAAC,KAAsC;QAC5E,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACjC,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACvC,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACrC,CAAC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACjD,CAAC;QACD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACzC,CAAC;QACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC7C,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACrC,CAAC;QACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,4BAA4B;QAClC,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,CAAC,iCAAiC;QACnE,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB;QAClC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3C,MAAM,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,KAAK,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7C,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;YACxF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9E,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC;YACH,+DAA+D;YAC/D,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;gBACnC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;aAC1C,CAAC,CAAC;YAEH,oCAAoC;YACpC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACzD,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;YAE/C,0CAA0C;YAC1C,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,SAA+B,CAAC;YAC9E,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAEtE,qBAAqB;YACrB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAqC,CAAC;YAExE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBAC5B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClB,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE7D,oDAAoD;YACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAE5C,kDAAkD;gBACjD,MAAc,CAAC,gBAAgB,GAAG,QAAQ,CAAC;gBAC3C,MAAc,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9F,MAAc,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;gBACpH,MAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;gBAE/F,OAAO,MAA4B,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,qBAAqB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,uBAAuB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAClG,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAChC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,KAAU;QAClC,IAAI,KAAK,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACnD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAC1E,IAAI,KAAK,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACzD,IAAI,KAAK,CAAC,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAC3E,IAAI,KAAK,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QAC/D,IAAI,KAAK,CAAC,cAAc;YAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IACvE,CAAC;IAEM,cAAc,CAAC,KAAa;QACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAEM,aAAa;QAClB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAEM,iBAAiB;QACtB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAEM,WAAW,CAAC,IAAyC;QAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAEM,qBAAqB,CAAC,QAAgB;QAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/E,CAAC;IAEM,YAAY;QACjB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAClD,gBAAgB;YAChB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAClD,MAAM,aAAa,GACjB,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;oBAChD,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACvD,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACxD,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAEvD,IAAI,CAAC,aAAa;oBAAE,OAAO,KAAK,CAAC;YACnC,CAAC;YAED,kBAAkB;YAClB,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC7F,OAAO,KAAK,CAAC;YACf,CAAC;YAED,cAAc;YACd,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,gBAAgB;YAChB,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;gBAC5C,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,QAAQ;oBAAE,OAAO,KAAK,CAAC;gBAChE,IAAI,IAAI,CAAC,cAAc,KAAK,UAAU,IAAI,QAAQ;oBAAE,OAAO,KAAK,CAAC;YACnE,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,MAAc;QAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC/B,kCAAkC;YAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,OAA6B;QAChD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3B,IAAI,MAA2C,CAAC;YAChD,IAAI,MAA2C,CAAC;YAEhD,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,KAAK,MAAM;oBACT,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;oBAChB,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;oBAChB,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC;oBACxB,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC;oBACxB,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;oBACpB,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;oBACpB,MAAM;gBACR,KAAK,QAAQ;oBACX,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;oBAClB,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;oBAClB,MAAM;gBACR;oBACE,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;oBAChB,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;YACpB,CAAC;YAED,+BAA+B;YAC/B,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;YAErD,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,gBAAgB,CAAC,UAAkB;QACxC,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;QACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAEM,YAAY,CAAC,MAAc;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAEM,UAAU,CAAC,QAAgB;QAChC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,MAA0B,EAAE,KAAa;QAChE,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,gBAAgB;QACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,uDAAuD;QACvD,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED;;OAEG;IACI,mBAAmB;QACxB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEM,UAAU,CAAC,QAAgB,EAAE,KAAa;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAEM,gBAAgB;QACrB,oDAAoD;QACpD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAEM,eAAe;QACpB,uEAAuE;QACvE,4CAA4C;QAC5C,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAEM,aAAa,CAAC,MAA0B;QAC7C,IAAI,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,OAAO,kBAAkB,CAAC;QAC5B,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,OAAO,kBAAkB,CAAC;QAC5B,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,OAAO,sBAAsB,CAAC;QAChC,CAAC;QACD,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IACrD,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,UAAU,KAAK,EAAE;YACtB,IAAI,CAAC,gBAAgB,KAAK,KAAK;YAC/B,IAAI,CAAC,YAAY,KAAK,KAAK;YAC3B,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IACvC,CAAC;IAED,wIAAwI;IACxI,IAAW,iBAAiB;QAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK;YAAE,CAAC,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK;YAAE,CAAC,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK;YAAE,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,0EAA0E;IACnE,mBAAmB;QACxB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAED,yDAAyD;IACzC,iBAAiB,GAAG;QAClC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE;QAC7D,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE;KAC9D,CAAC;IAEF,+HAA+H;IAC/H,IAAW,kBAAkB;QAC3B,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,gBAAgB;YACjC,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,MAAM,EAAE,IAAI,CAAC,cAAc;SAC5B,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,IAAW,kBAAkB;QAC3B,OAAO;YACL;gBACE,GAAG,EAAE,YAAY;gBACjB,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,oBAAoB;gBAC1B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE;gBACvC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE;oBACxC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;iBACnE;aACF;YACD;gBACE,GAAG,EAAE,QAAQ;gBACb,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE;oBACnC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;iBAC9D;aACF;YACD;gBACE,GAAG,EAAE,QAAQ;gBACb,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE;oBACtC,EAAE,IAAI,EAAE,QAAQ,EAAQ,KAAK,EAAE,QAAQ,EAAE;oBACzC,EAAE,IAAI,EAAE,UAAU,EAAM,KAAK,EAAE,UAAU,EAAE;iBAC5C;aACF;SACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IACtE,oBAAoB,CAAC,MAA+B;QACzD,IAAI,CAAC,gBAAgB,GAAI,MAAM,CAAC,YAAY,CAAY,IAAI,KAAK,CAAC;QAClE,IAAI,CAAC,YAAY,GAAQ,MAAM,CAAC,QAAQ,CAAgB,IAAI,KAAK,CAAC;QAClE,IAAI,CAAC,cAAc,GAAM,MAAM,CAAC,QAAQ,CAAgB,IAAI,KAAK,CAAC;QAClE,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAED,IAAW,yBAAyB;QAClC,mFAAmF;QACnF,OAAO,IAAI,CAAC,eAA6C,CAAC;IAC5D,CAAC;IAEM,YAAY;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,sBAAsB,CAAC,IAAkB;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAkB;QAC3C,OAAO,0BAA0B,CAAC;IACpC,CAAC;mHAnpBU,yBAAyB;6DAAzB,yBAAyB;YCzClC,AAHF,AAFF,sCAAgB,wBAIoB,aACtB;YACR,mCAAgF;YAClF,iBAAM;YAEJ,AADF,8BAAa,2BAImC;YAA5C,yIAAqB,yBAAqB,IAAC;YAC3C,0CAIkC;YAAhC,AADA,mIAAgB,gCAA4B,IAAC,kGACpC,yBAAqB,IAAC;YAEnC,AADE,iBAAkB,EACA;YAEpB,yCAG0C;YAAxC,4HAAa,uBAAyB,IAAC;YACzC,iBAAiB;YAEjB,8FAA4B;YAM9B,iBAAM;YAEJ,AADF,8BAAa,yBAI8B;YAAvC,iIAAe,0BAAsB,IAAC;YAG5C,AADE,AADE,iBAAiB,EACb,EACS;YAGjB,yCAA4B;YAEpB,8FAAiB;YAOjB,mFAAkB;YAmN1B,iBAAe;YAGf,8FAA0B;YAK1B,gCAA+D;YAC7D,qFAAsB;YA0H1B,AADE,iBAAM,EACS;;YArYI,eAAgC;YAAhC,kDAAgC;YAI7C,eAAiC;YACjC,AADA,mDAAiC,2CACK;YAGpC,cAA6B;YAC7B,AADA,+CAA6B,kCACA;YAO/B,cAA6B;YAC7B,AADA,+CAA6B,2BACP;YAIxB,cAKC;YALD,mDAKC;YAKC,eAAoB;YAApB,sCAAoB;YAOZ,cAAa;YAAb,2BAAa;YAEnB,cAIC;YAJD,yCAIC;YAGD,cAkNC;YAlND,0CAkNC;YAIT,cAEC;YAFD,kDAEC;YAGyB,cAAoC;YAApC,iDAAoC;YAC5D,cAwHC;YAxHD,8CAwHC;;;AD3VQ,yBAAyB;IAPrC,aAAa,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;GAO7C,yBAAyB,CAopBrC;;iFAppBY,yBAAyB;cANrC,SAAS;6BACI,KAAK,YACP,uBAAuB;;kFAItB,yBAAyB","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { takeUntil, debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { MJAIPromptTypeEntity, MJAIPromptCategoryEntity, MJTemplateEntity, MJTemplateContentEntity, ResourceData, UserInfoEngine } from '@memberjunction/core-entities';\nimport { Metadata, CompositeKey } from '@memberjunction/core';\nimport { AIEngineBase } from '@memberjunction/ai-engine-base';\nimport { TemplateEngineBase } from '@memberjunction/templates-base-types';\nimport { SharedService, BaseResourceComponent, NavigationService } from '@memberjunction/ng-shared';\nimport { AITestHarnessDialogService } from '@memberjunction/ng-ai-test-harness';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { RegisterClass , UUIDsEqual } from '@memberjunction/global';\nimport { MJAIPromptEntityExtended } from '@memberjunction/ai-core-plus';\nimport { FilterFieldConfig } from '@memberjunction/ng-ui-components';\n\ninterface PromptWithTemplate extends Omit<MJAIPromptEntityExtended, 'Template'> {\n Template: string; // From MJAIPromptEntityExtended (view field)\n MJTemplateEntity?: MJTemplateEntity; // Our added field for the actual template entity\n TemplateContents?: MJTemplateContentEntity[];\n CategoryName?: string;\n TypeName?: string;\n}\n\n/**\n * User preferences for the Prompt Management dashboard\n */\ninterface PromptManagementUserPreferences {\n viewMode: 'grid' | 'list' | 'priority-matrix';\n showFilters: boolean;\n searchTerm: string;\n selectedCategory: string;\n selectedType: string;\n selectedStatus: string;\n sortColumn: string;\n sortDirection: 'asc' | 'desc';\n}\n/**\n * AI Prompts Resource - displays AI prompt management\n * Extends BaseResourceComponent to work with the resource type system\n */\n@RegisterClass(BaseResourceComponent, 'AIPromptsResource')\n@Component({\n standalone: false,\n selector: 'app-prompt-management',\n templateUrl: './prompt-management.component.html',\n styleUrls: ['./prompt-management.component.css']\n})\nexport class PromptManagementComponent extends BaseResourceComponent implements OnInit, OnDestroy {\n\n // Settings persistence\n private readonly USER_SETTINGS_KEY = 'AI.Prompts.UserPreferences';\n private settingsPersistSubject = new Subject<void>();\n private settingsLoaded = false;\n\n // View state\n public viewMode: 'grid' | 'list' | 'priority-matrix' = 'grid';\n public isLoading = true;\n public showFilters = true;\n public expandedPromptId: string | null = null;\n\n // Data\n public prompts: PromptWithTemplate[] = [];\n public filteredPrompts: PromptWithTemplate[] = [];\n public categories: MJAIPromptCategoryEntity[] = [];\n public types: MJAIPromptTypeEntity[] = [];\n\n // Filtering\n public searchTerm = '';\n private searchSubject = new BehaviorSubject<string>('');\n public selectedCategory = 'all';\n public selectedType = 'all';\n public selectedStatus = 'all';\n\n // Detail panel\n public selectedPrompt: PromptWithTemplate | null = null;\n public detailPanelVisible = false;\n\n // Sorting\n public sortColumn: string = 'Name';\n public sortDirection: 'asc' | 'desc' = 'asc';\n\n // Loading messages\n public loadingMessages = [\n 'Loading AI prompts...',\n 'Fetching templates...',\n 'Organizing categories...',\n 'Almost there...'\n ];\n public currentLoadingMessage = this.loadingMessages[0];\n private loadingMessageIndex = 0;\n private loadingMessageInterval: any;\n\n protected override destroy$ = new Subject<void>();\n public selectedPromptForTest: MJAIPromptEntityExtended | null = null;\n\n // === Permission Checks ===\n /** Cache for permission checks to avoid repeated calculations */\n private _permissionCache = new Map<string, boolean>();\n private _metadata = this.ProviderToUse;\n\n /** Check if user can create AI Prompts */\n public get UserCanCreatePrompts(): boolean {\n return this.checkEntityPermission('MJ: AI Prompts', 'Create');\n }\n\n /** Check if user can read AI Prompts */\n public get UserCanReadPrompts(): boolean {\n return this.checkEntityPermission('MJ: AI Prompts', 'Read');\n }\n\n /** Check if user can update AI Prompts */\n public get UserCanUpdatePrompts(): boolean {\n return this.checkEntityPermission('MJ: AI Prompts', 'Update');\n }\n\n /** Check if user can delete AI Prompts */\n public get UserCanDeletePrompts(): boolean {\n return this.checkEntityPermission('MJ: AI Prompts', 'Delete');\n }\n\n /**\n * Helper method to check entity permissions with caching\n * @param entityName - The name of the entity to check permissions for\n * @param permissionType - The type of permission to check (Create, Read, Update, Delete)\n * @returns boolean indicating if user has the permission\n */\n private checkEntityPermission(entityName: string, permissionType: 'Create' | 'Read' | 'Update' | 'Delete'): boolean {\n const cacheKey = `${entityName}_${permissionType}`;\n \n if (this._permissionCache.has(cacheKey)) {\n return this._permissionCache.get(cacheKey)!;\n }\n\n try {\n const entityInfo = this._metadata.Entities.find(e => e.Name === entityName);\n \n if (!entityInfo) {\n console.warn(`Entity '${entityName}' not found for permission check`);\n this._permissionCache.set(cacheKey, false);\n return false;\n }\n\n const userPermissions = entityInfo.GetUserPermisions(this._metadata.CurrentUser);\n let hasPermission = false;\n\n switch (permissionType) {\n case 'Create':\n hasPermission = userPermissions.CanCreate;\n break;\n case 'Read':\n hasPermission = userPermissions.CanRead;\n break;\n case 'Update':\n hasPermission = userPermissions.CanUpdate;\n break;\n case 'Delete':\n hasPermission = userPermissions.CanDelete;\n break;\n }\n\n this._permissionCache.set(cacheKey, hasPermission);\n return hasPermission;\n } catch (error) {\n console.error(`Error checking ${permissionType} permission for ${entityName}:`, error);\n this._permissionCache.set(cacheKey, false);\n return false;\n }\n }\n\n /**\n * Clears the permission cache. Call this when user context changes or permissions are updated.\n */\n public clearPermissionCache(): void {\n this._permissionCache.clear();\n }\n\n constructor(\n private sharedService: SharedService,\n private testHarnessService: AITestHarnessDialogService,\n private cdr: ChangeDetectorRef\n ) {\n super();\n\n // Set up debounced settings persistence\n this.settingsPersistSubject.pipe(\n debounceTime(500),\n takeUntil(this.destroy$)\n ).subscribe(() => {\n this.persistUserPreferences();\n });\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n // Load saved user preferences first\n this.loadUserPreferences();\n\n this.setupSearchListener();\n this.startLoadingMessages();\n this.loadInitialData();\n\n // Apply initial state from resource configuration if provided (overrides saved prefs)\n if (this.Data?.Configuration) {\n this.applyInitialState(this.Data.Configuration);\n }\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.destroy$.next();\n this.destroy$.complete();\n if (this.loadingMessageInterval) {\n clearInterval(this.loadingMessageInterval);\n }\n }\n\n private setupSearchListener(): void {\n this.searchSubject.pipe(\n debounceTime(300),\n distinctUntilChanged(),\n takeUntil(this.destroy$)\n ).subscribe(searchTerm => {\n this.searchTerm = searchTerm;\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n });\n }\n\n // ========================================\n // User Settings Persistence\n // ========================================\n\n /**\n * Load saved user preferences from the UserInfoEngine\n */\n private loadUserPreferences(): void {\n try {\n const savedPrefs = UserInfoEngine.Instance.GetSetting(this.USER_SETTINGS_KEY);\n if (savedPrefs) {\n const prefs = JSON.parse(savedPrefs) as PromptManagementUserPreferences;\n this.applyUserPreferencesFromStorage(prefs);\n }\n } catch (error) {\n console.warn('[PromptManagement] Failed to load user preferences:', error);\n } finally {\n this.settingsLoaded = true;\n }\n }\n\n /**\n * Apply loaded preferences to component state\n */\n private applyUserPreferencesFromStorage(prefs: PromptManagementUserPreferences): void {\n if (prefs.viewMode) {\n this.viewMode = prefs.viewMode;\n }\n if (prefs.showFilters !== undefined) {\n this.showFilters = prefs.showFilters;\n }\n if (prefs.searchTerm) {\n this.searchTerm = prefs.searchTerm;\n }\n if (prefs.selectedCategory) {\n this.selectedCategory = prefs.selectedCategory;\n }\n if (prefs.selectedType) {\n this.selectedType = prefs.selectedType;\n }\n if (prefs.selectedStatus) {\n this.selectedStatus = prefs.selectedStatus;\n }\n if (prefs.sortColumn) {\n this.sortColumn = prefs.sortColumn;\n }\n if (prefs.sortDirection) {\n this.sortDirection = prefs.sortDirection;\n }\n }\n\n /**\n * Get current preferences as an object for saving\n */\n private getCurrentPreferences(): PromptManagementUserPreferences {\n return {\n viewMode: this.viewMode,\n showFilters: this.showFilters,\n searchTerm: this.searchTerm,\n selectedCategory: this.selectedCategory,\n selectedType: this.selectedType,\n selectedStatus: this.selectedStatus,\n sortColumn: this.sortColumn,\n sortDirection: this.sortDirection\n };\n }\n\n /**\n * Persist user preferences to storage (debounced)\n */\n private saveUserPreferencesDebounced(): void {\n if (!this.settingsLoaded) return; // Don't save during initial load\n this.settingsPersistSubject.next();\n }\n\n /**\n * Actually persist user preferences to the UserInfoEngine\n */\n private async persistUserPreferences(): Promise<void> {\n try {\n const prefs = this.getCurrentPreferences();\n await UserInfoEngine.Instance.SetSetting(this.USER_SETTINGS_KEY, JSON.stringify(prefs));\n } catch (error) {\n console.warn('[PromptManagement] Failed to persist user preferences:', error);\n }\n }\n\n private startLoadingMessages(): void {\n this.loadingMessageInterval = setInterval(() => {\n this.loadingMessageIndex = (this.loadingMessageIndex + 1) % this.loadingMessages.length;\n this.currentLoadingMessage = this.loadingMessages[this.loadingMessageIndex];\n }, 2000);\n }\n\n private async loadInitialData(): Promise<void> {\n try {\n // Configure both engines in parallel (no-op if already loaded)\n await Promise.all([\n AIEngineBase.Instance.Config(false),\n TemplateEngineBase.Instance.Config(false)\n ]);\n\n // Get cached data from AIEngineBase\n const prompts = AIEngineBase.Instance.Prompts;\n this.categories = AIEngineBase.Instance.PromptCategories;\n this.types = AIEngineBase.Instance.PromptTypes;\n\n // Get cached data from TemplateEngineBase\n const templates = TemplateEngineBase.Instance.Templates as MJTemplateEntity[];\n const templateContents = TemplateEngineBase.Instance.TemplateContents;\n \n // Create lookup maps\n const templateMap = new Map(templates.map(t => [t.ID, t]));\n const templateContentMap = new Map<string, MJTemplateContentEntity[]>();\n \n templateContents.forEach(tc => {\n const contents = templateContentMap.get(tc.TemplateID) || [];\n contents.push(tc);\n templateContentMap.set(tc.TemplateID, contents);\n });\n\n const categoryMap = new Map(this.categories.map(c => [c.ID, c.Name]));\n const typeMap = new Map(this.types.map(t => [t.ID, t.Name]));\n\n // Combine the data - keep the actual entity objects\n this.prompts = prompts.map(prompt => {\n const template = templateMap.get(prompt.ID);\n \n // Add the extra properties directly to the entity\n (prompt as any).MJTemplateEntity = template;\n (prompt as any).TemplateContents = template ? (templateContentMap.get(template.ID) || []) : [];\n (prompt as any).CategoryName = prompt.CategoryID ? categoryMap.get(prompt.CategoryID) || 'Unknown' : 'Uncategorized';\n (prompt as any).TypeName = prompt.TypeID ? typeMap.get(prompt.TypeID) || 'Unknown' : 'Untyped';\n \n return prompt as PromptWithTemplate;\n });\n\n this.filteredPrompts = [...this.prompts];\n this.applyFilters();\n } catch (error) {\n console.error('Error loading prompt data:', error);\n MJNotificationService.Instance.CreateSimpleNotification('Error loading prompts', 'error', 3000);\n } finally {\n this.isLoading = false;\n if (this.loadingMessageInterval) {\n clearInterval(this.loadingMessageInterval);\n }\n this.NotifyLoadComplete();\n }\n }\n\n private applyInitialState(state: any): void {\n if (state.viewMode) this.viewMode = state.viewMode;\n if (state.showFilters !== undefined) this.showFilters = state.showFilters;\n if (state.searchTerm) this.searchTerm = state.searchTerm;\n if (state.selectedCategory) this.selectedCategory = state.selectedCategory;\n if (state.selectedType) this.selectedType = state.selectedType;\n if (state.selectedStatus) this.selectedStatus = state.selectedStatus;\n }\n\n public onSearchChange(value: string): void {\n this.searchSubject.next(value);\n }\n\n public toggleFilters(): void {\n this.showFilters = !this.showFilters;\n this.saveUserPreferencesDebounced();\n }\n\n public toggleFilterPanel(): void {\n this.showFilters = !this.showFilters;\n this.saveUserPreferencesDebounced();\n }\n\n public setViewMode(mode: 'grid' | 'list' | 'priority-matrix'): void {\n this.viewMode = mode;\n this.expandedPromptId = null;\n this.saveUserPreferencesDebounced();\n }\n\n public togglePromptExpansion(promptId: string): void {\n this.expandedPromptId = this.expandedPromptId === promptId ? null : promptId;\n }\n\n public applyFilters(): void {\n this.filteredPrompts = this.prompts.filter(prompt => {\n // Search filter\n if (this.searchTerm) {\n const searchLower = this.searchTerm.toLowerCase();\n const matchesSearch = \n prompt.Name?.toLowerCase().includes(searchLower) ||\n prompt.Description?.toLowerCase().includes(searchLower) ||\n prompt.CategoryName?.toLowerCase().includes(searchLower) ||\n prompt.TypeName?.toLowerCase().includes(searchLower);\n \n if (!matchesSearch) return false;\n }\n\n // Category filter\n if (this.selectedCategory !== 'all' && !UUIDsEqual(prompt.CategoryID, this.selectedCategory)) {\n return false;\n }\n\n // Type filter\n if (this.selectedType !== 'all' && !UUIDsEqual(prompt.TypeID, this.selectedType)) {\n return false;\n }\n\n // Status filter\n if (this.selectedStatus !== 'all') {\n const isActive = prompt.Status === 'Active';\n if (this.selectedStatus === 'active' && !isActive) return false;\n if (this.selectedStatus === 'inactive' && isActive) return false;\n }\n\n return true;\n });\n\n // Apply sorting\n this.filteredPrompts = this.applySorting(this.filteredPrompts);\n this.cdr.markForCheck();\n }\n\n /**\n * Sort the prompts by the specified column\n */\n public sortBy(column: string): void {\n if (this.sortColumn === column) {\n // Toggle direction if same column\n this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\n } else {\n // New column, default to ascending\n this.sortColumn = column;\n this.sortDirection = 'asc';\n }\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n /**\n * Apply sorting to the filtered list\n */\n private applySorting(prompts: PromptWithTemplate[]): PromptWithTemplate[] {\n return prompts.sort((a, b) => {\n let valueA: string | boolean | null | undefined;\n let valueB: string | boolean | null | undefined;\n\n switch (this.sortColumn) {\n case 'Name':\n valueA = a.Name;\n valueB = b.Name;\n break;\n case 'Category':\n valueA = a.CategoryName;\n valueB = b.CategoryName;\n break;\n case 'Type':\n valueA = a.TypeName;\n valueB = b.TypeName;\n break;\n case 'Status':\n valueA = a.Status;\n valueB = b.Status;\n break;\n default:\n valueA = a.Name;\n valueB = b.Name;\n }\n\n // Handle null/undefined values\n const strA = (valueA ?? '').toString().toLowerCase();\n const strB = (valueB ?? '').toString().toLowerCase();\n\n let comparison = strA.localeCompare(strB);\n return this.sortDirection === 'desc' ? -comparison : comparison;\n });\n }\n\n public onCategoryChange(categoryId: string): void {\n this.selectedCategory = categoryId;\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n public onTypeChange(typeId: string): void {\n this.selectedType = typeId;\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n public onStatusChange(status: string): void {\n this.selectedStatus = status;\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n public openPrompt(promptId: string): void {\n const compositeKey = new CompositeKey([{ FieldName: 'ID', Value: promptId }]);\n this.navigationService.OpenEntityRecord('MJ: AI Prompts', compositeKey);\n }\n\n /**\n * Show the detail panel for a prompt\n */\n public showPromptDetails(prompt: PromptWithTemplate, event?: Event): void {\n if (event) {\n event.stopPropagation();\n }\n this.selectedPrompt = prompt;\n this.detailPanelVisible = true;\n }\n\n /**\n * Close the detail panel\n */\n public closeDetailPanel(): void {\n this.detailPanelVisible = false;\n // Delay clearing selectedPrompt for smoother animation\n setTimeout(() => {\n if (!this.detailPanelVisible) {\n this.selectedPrompt = null;\n }\n }, 300);\n }\n\n /**\n * Open the full entity record from the detail panel\n */\n public openPromptFromPanel(): void {\n if (this.selectedPrompt) {\n this.openPrompt(this.selectedPrompt.ID);\n }\n }\n\n public testPrompt(promptId: string, event?: Event): void {\n if (event) {\n event.stopPropagation();\n }\n \n // Use the test harness service for window management features\n this.testHarnessService.openForPrompt(promptId);\n }\n\n public closeTestHarness(): void {\n // No longer needed - window manages its own closure\n this.selectedPromptForTest = null;\n }\n\n public createNewPrompt(): void {\n // Use the standard MemberJunction pattern to open a new AI Prompt form\n // Empty CompositeKey indicates a new record\n this.navigationService.OpenEntityRecord('MJ: AI Prompts', new CompositeKey([]));\n }\n\n public getPromptIcon(prompt: PromptWithTemplate): string {\n if (prompt.TypeName?.toLowerCase().includes('system')) {\n return 'fa-solid fa-cogs';\n } else if (prompt.TypeName?.toLowerCase().includes('user')) {\n return 'fa-solid fa-user';\n } else if (prompt.TypeName?.toLowerCase().includes('chat')) {\n return 'fa-solid fa-comments';\n }\n return 'fa-solid fa-comment-dots';\n }\n\n public getStatusClass(status: string): string {\n return status === 'Active' ? 'active' : 'inactive';\n }\n\n public get hasActiveFilters(): boolean {\n return this.searchTerm !== '' ||\n this.selectedCategory !== 'all' ||\n this.selectedType !== 'all' ||\n this.selectedStatus !== 'all';\n }\n\n /** Number of currently-applied filter criteria inside the popover (excludes searchTerm — surfaced separately in the header toolbar). */\n public get ActiveFilterCount(): number {\n let n = 0;\n if (this.selectedCategory && this.selectedCategory !== 'all') n++;\n if (this.selectedType && this.selectedType !== 'all') n++;\n if (this.selectedStatus && this.selectedStatus !== 'all') n++;\n return n;\n }\n\n /** Reset only the filters inside the popover (not the toolbar search). */\n public resetPopoverFilters(): void {\n this.selectedCategory = 'all';\n this.selectedType = 'all';\n this.selectedStatus = 'all';\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n /** View-mode options for the shared <mj-view-toggle>. */\n public readonly promptViewOptions = [\n { key: 'grid', icon: 'fa-solid fa-grip', title: 'Grid View' },\n { key: 'list', icon: 'fa-solid fa-list', title: 'List View' },\n ];\n\n /** Values record consumed by the centralized <mj-filter-panel> (excludes searchTerm — surfaced in the page-header toolbar). */\n public get promptFilterValues(): Record<string, unknown> {\n return {\n categoryId: this.selectedCategory,\n typeId: this.selectedType,\n status: this.selectedStatus,\n };\n }\n\n /** Field config consumed by the centralized <mj-filter-panel>. */\n public get promptFilterFields(): FilterFieldConfig[] {\n return [\n {\n key: 'categoryId',\n type: 'dropdown',\n label: 'Category',\n icon: 'fa-solid fa-folder',\n filterable: this.categories.length > 10,\n options: [\n { text: 'All Categories', value: 'all' },\n ...this.categories.map(c => ({ text: c.Name ?? '', value: c.ID })),\n ],\n },\n {\n key: 'typeId',\n type: 'dropdown',\n label: 'Type',\n icon: 'fa-solid fa-tag',\n options: [\n { text: 'All Types', value: 'all' },\n ...this.types.map(t => ({ text: t.Name ?? '', value: t.ID })),\n ],\n },\n {\n key: 'status',\n type: 'dropdown',\n label: 'Status',\n icon: 'fa-solid fa-toggle-on',\n options: [\n { text: 'All Statuses', value: 'all' },\n { text: 'Active', value: 'active' },\n { text: 'Inactive', value: 'inactive' },\n ],\n },\n ];\n }\n\n /** Receive the updated values record from <mj-filter-panel> and apply it. */\n public onFilterValuesChange(values: Record<string, unknown>): void {\n this.selectedCategory = (values['categoryId'] as string) ?? 'all';\n this.selectedType = (values['typeId'] as string) ?? 'all';\n this.selectedStatus = (values['status'] as string) ?? 'all';\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n public get filteredPromptsAsEntities(): MJAIPromptEntityExtended[] {\n // The prompts are already MJAIPromptEntityExtended instances with extra properties\n return this.filteredPrompts as MJAIPromptEntityExtended[];\n }\n\n public clearFilters(): void {\n this.searchTerm = '';\n this.selectedCategory = 'all';\n this.selectedType = 'all';\n this.selectedStatus = 'all';\n this.searchSubject.next('');\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n // BaseResourceComponent abstract method implementations\n async GetResourceDisplayName(data: ResourceData): Promise<string> {\n return 'Prompts';\n }\n\n async GetResourceIconClass(data: ResourceData): Promise<string> {\n return 'fa-solid fa-comment-dots';\n }\n}","<mj-page-layout>\n <!-- Header -->\n <mj-page-header\n Title=\"Prompts\"\n Icon=\"fa-solid fa-comment-dots\">\n <div meta>\n <mj-stat-badge [Count]=\"filteredPrompts.length\" Label=\"prompts\"></mj-stat-badge>\n </div>\n <div actions>\n <mj-filter-popover\n [ActiveCount]=\"ActiveFilterCount\"\n [ShowClearAll]=\"ActiveFilterCount > 0\"\n (ClearAllRequested)=\"resetPopoverFilters()\">\n <mj-filter-panel\n [Fields]=\"promptFilterFields\"\n [Values]=\"promptFilterValues\"\n (ValuesChange)=\"onFilterValuesChange($event)\"\n (Reset)=\"resetPopoverFilters()\">\n </mj-filter-panel>\n </mj-filter-popover>\n\n <mj-view-toggle\n [Options]=\"promptViewOptions\"\n [ActiveKey]=\"viewMode\"\n (KeyChange)=\"setViewMode($any($event))\">\n </mj-view-toggle>\n\n @if (UserCanCreatePrompts) {\n <button mjButton variant=\"primary\" size=\"sm\" (click)=\"createNewPrompt()\" title=\"Create New Prompt\">\n <i class=\"fa-solid fa-plus\"></i>\n New Prompt\n </button>\n }\n </div>\n <div toolbar>\n <mj-page-search\n Placeholder=\"Search prompts...\"\n [Value]=\"searchTerm\"\n (ValueChange)=\"onSearchChange($event)\">\n </mj-page-search>\n </div>\n </mj-page-header>\n\n <!-- Main Content (no sidebar — filters live in the popover above) -->\n <mj-page-body [Flex]=\"true\">\n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading [text]=\"currentLoadingMessage\" size=\"large\"></mj-loading>\n </div>\n }\n\n <!-- Prompts Display -->\n @if (!isLoading) {\n @if (filteredPrompts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-message\"></i>\n <h3>No prompts found</h3>\n <p>{{ hasActiveFilters ? 'Try adjusting your filters' : 'Create your first AI prompt to get started' }}</p>\n @if (!hasActiveFilters && UserCanCreatePrompts) {\n <button\n type=\"button\"\n class=\"empty-state-btn\"\n (click)=\"createNewPrompt()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create New Prompt\n </button>\n }\n </div>\n } @else {\n <!-- Grid View -->\n @if (viewMode === 'grid') {\n <div class=\"prompts-grid\">\n @for (prompt of filteredPrompts; track prompt.ID) {\n <div class=\"prompt-card\" [class.expanded]=\"expandedPromptId === prompt.ID\">\n <!-- Card Header -->\n <div class=\"card-header\" (click)=\"togglePromptExpansion(prompt.ID)\">\n <div class=\"prompt-info\">\n <div class=\"prompt-icon\">\n <i [class]=\"getPromptIcon(prompt)\"></i>\n </div>\n <div class=\"prompt-details\">\n <h4 class=\"prompt-name\" [innerHTML]=\"prompt.Name | highlightSearch:searchTerm\"></h4>\n <div class=\"prompt-meta\">\n <span class=\"meta-item\">\n <i class=\"fa-solid fa-folder\"></i>\n {{ prompt.CategoryName }}\n </span>\n @if (prompt.Status) {\n <span class=\"meta-item\" [class]=\"'status-' + prompt.Status.toLowerCase()\">\n <i class=\"fa-solid fa-circle\" style=\"font-size: 8px;\"></i>\n {{ prompt.Status }}\n </span>\n }\n </div>\n </div>\n </div>\n\n <i class=\"fa-solid fa-chevron-down expand-icon\"\n [class.rotated]=\"expandedPromptId === prompt.ID\"></i>\n </div>\n\n <!-- Card Body -->\n <div class=\"card-body\">\n @if (prompt.Description) {\n <p class=\"prompt-description\" [innerHTML]=\"prompt.Description | highlightSearch:searchTerm\"></p>\n } @else {\n <p class=\"prompt-description text-muted\">No description provided</p>\n }\n\n <!-- Expandable Content -->\n @if (expandedPromptId === prompt.ID) {\n <div class=\"expanded-content\">\n <div class=\"prompt-stats\">\n <div class=\"stat-item\">\n <span class=\"stat-label\">Type</span>\n <span class=\"stat-value\">{{ prompt.TypeName }}</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">Template</span>\n <span class=\"stat-value\">\n @if (prompt.MJTemplateEntity) {\n <i class=\"fa-solid fa-check\" style=\"color: #28a745;\"></i> Yes\n } @else {\n <i class=\"fa-solid fa-times\" style=\"color: #dc3545;\"></i> No\n }\n </span>\n </div>\n </div>\n </div>\n }\n </div>\n\n <!-- Card Actions -->\n <div class=\"card-actions\">\n @if (UserCanReadPrompts) {\n <button\n type=\"button\"\n class=\"action-btn\"\n (click)=\"showPromptDetails(prompt, $event)\"\n title=\"View Details\">\n <i class=\"fa-solid fa-eye\"></i>\n Details\n </button>\n }\n\n @if (prompt.Status === 'Active' && UserCanReadPrompts) {\n <button\n type=\"button\"\n class=\"action-btn action-btn-primary\"\n (click)=\"testPrompt(prompt.ID, $event)\"\n title=\"Run Prompt\">\n <i class=\"fa-solid fa-play\"></i>\n Run\n </button>\n }\n </div>\n </div>\n }\n </div>\n }\n\n <!-- List View -->\n @if (viewMode === 'list') {\n <div class=\"prompts-list\">\n <table class=\"prompts-table\">\n <thead>\n <tr>\n <th (click)=\"sortBy('Name')\"\n [class.sorted]=\"sortColumn === 'Name'\"\n [class.desc]=\"sortColumn === 'Name' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Name\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th (click)=\"sortBy('Category')\"\n [class.sorted]=\"sortColumn === 'Category'\"\n [class.desc]=\"sortColumn === 'Category' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Category\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th (click)=\"sortBy('Type')\"\n [class.sorted]=\"sortColumn === 'Type'\"\n [class.desc]=\"sortColumn === 'Type' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Type\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th (click)=\"sortBy('Status')\"\n [class.sorted]=\"sortColumn === 'Status'\"\n [class.desc]=\"sortColumn === 'Status' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Status\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th>Template</th>\n <th>Actions</th>\n </tr>\n </thead>\n <tbody>\n @for (prompt of filteredPrompts; track prompt.ID) {\n <tr>\n <td>\n <div class=\"prompt-name-cell\">\n <div class=\"prompt-icon-small\">\n <i [class]=\"getPromptIcon(prompt)\"></i>\n </div>\n <div>\n <div class=\"prompt-name\" [innerHTML]=\"prompt.Name | highlightSearch:searchTerm\"></div>\n @if (prompt.Description) {\n <div class=\"prompt-description-small\" [innerHTML]=\"prompt.Description | highlightSearch:searchTerm\"></div>\n }\n </div>\n </div>\n </td>\n <td>{{ prompt.CategoryName }}</td>\n <td>{{ prompt.TypeName }}</td>\n <td>\n <span class=\"status-badge\" [class]=\"'status-' + (prompt.Status || 'unknown').toLowerCase()\">\n {{ prompt.Status || 'Unknown' }}\n </span>\n </td>\n <td>\n @if (prompt.MJTemplateEntity) {\n <i class=\"fa-solid fa-check-circle\" style=\"color: #28a745;\"></i>\n } @else {\n <i class=\"fa-solid fa-times-circle\" style=\"color: var(--mj-text-muted);\"></i>\n }\n </td>\n <td>\n <div class=\"table-actions\">\n @if (UserCanReadPrompts) {\n <button\n type=\"button\"\n class=\"action-btn-small\"\n (click)=\"showPromptDetails(prompt)\"\n title=\"View Details\">\n <i class=\"fa-solid fa-eye\"></i>\n </button>\n }\n @if (prompt.Status === 'Active' && UserCanReadPrompts) {\n <button\n type=\"button\"\n class=\"action-btn-small primary\"\n (click)=\"testPrompt(prompt.ID, $event)\"\n title=\"Run Prompt\">\n <i class=\"fa-solid fa-play\"></i>\n </button>\n }\n </div>\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n }\n }\n </mj-page-body>\n\n <!-- Detail Panel Overlay -->\n @if (detailPanelVisible) {\n <div class=\"detail-panel-overlay\" (click)=\"closeDetailPanel()\"></div>\n }\n\n <!-- Detail Panel -->\n <div class=\"detail-panel\" [class.visible]=\"detailPanelVisible\">\n @if (selectedPrompt) {\n <!-- Panel Header -->\n <div class=\"detail-panel-header\">\n <div class=\"detail-panel-title\">\n <div class=\"detail-icon\">\n <i [class]=\"getPromptIcon(selectedPrompt)\"></i>\n </div>\n <div class=\"detail-title-info\">\n <h3>{{ selectedPrompt.Name }}</h3>\n <span class=\"detail-subtitle\">{{ selectedPrompt.TypeName || 'Prompt' }}</span>\n </div>\n </div>\n <button class=\"detail-panel-close\" (click)=\"closeDetailPanel()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <!-- Panel Content -->\n <div class=\"detail-panel-content\">\n <!-- Status Section -->\n <div class=\"detail-section\">\n <div class=\"detail-badges\">\n <span class=\"status-badge\" [class]=\"'status-' + (selectedPrompt.Status || 'unknown').toLowerCase()\">\n <i class=\"fa-solid fa-circle\" style=\"font-size: 8px;\"></i>\n {{ selectedPrompt.Status || 'Unknown' }}\n </span>\n @if (selectedPrompt.MJTemplateEntity) {\n <span class=\"feature-badge\">\n <i class=\"fa-solid fa-file-code\"></i>\n Has Template\n </span>\n }\n </div>\n </div>\n\n <!-- Description -->\n @if (selectedPrompt.Description) {\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-align-left\"></i>\n Description\n </h4>\n <p class=\"detail-description\">{{ selectedPrompt.Description }}</p>\n </div>\n }\n\n <!-- Configuration Details -->\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-cog\"></i>\n Configuration\n </h4>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Category</span>\n <span class=\"detail-value\">{{ selectedPrompt.CategoryName || 'Uncategorized' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Type</span>\n <span class=\"detail-value\">{{ selectedPrompt.TypeName || 'Unknown' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Response Format</span>\n <span class=\"detail-value\">{{ selectedPrompt.ResponseFormat }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Selection Strategy</span>\n <span class=\"detail-value\">{{ selectedPrompt.SelectionStrategy }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Power Preference</span>\n <span class=\"detail-value\">{{ selectedPrompt.PowerPreference }}</span>\n </div>\n @if (selectedPrompt.MinPowerRank) {\n <div class=\"detail-item\">\n <span class=\"detail-label\">Min Power Rank</span>\n <span class=\"detail-value\">{{ selectedPrompt.MinPowerRank }}</span>\n </div>\n }\n </div>\n </div>\n\n <!-- Timestamps -->\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-clock\"></i>\n Timestamps\n </h4>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Created</span>\n <span class=\"detail-value\">{{ selectedPrompt.__mj_CreatedAt | date:'medium' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Updated</span>\n <span class=\"detail-value\">{{ selectedPrompt.__mj_UpdatedAt | date:'medium' }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Panel Actions -->\n <div class=\"detail-panel-actions\">\n @if (selectedPrompt.Status === 'Active') {\n <button\n type=\"button\"\n class=\"detail-action-btn secondary\"\n (click)=\"testPrompt(selectedPrompt.ID)\">\n <i class=\"fa-solid fa-play\"></i>\n Run Prompt\n </button>\n }\n <button\n type=\"button\"\n class=\"detail-action-btn primary\"\n (click)=\"openPromptFromPanel()\">\n <i class=\"fa-solid fa-external-link-alt\"></i>\n Open Full Record\n </button>\n </div>\n }\n </div>\n</mj-page-layout>\n"]}
1
+ {"version":3,"file":"prompt-management.component.js","sourceRoot":"","sources":["../../../../src/AI/components/prompts/prompt-management.component.ts","../../../../src/AI/components/prompts/prompt-management.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { takeUntil, debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { MJAIPromptTypeEntity, MJAIPromptCategoryEntity, MJTemplateEntity, MJTemplateContentEntity, ResourceData, UserInfoEngine } from '@memberjunction/core-entities';\nimport { Metadata, CompositeKey } from '@memberjunction/core';\nimport { AIEngineBase } from '@memberjunction/ai-engine-base';\nimport { TemplateEngineBase } from '@memberjunction/templates-base-types';\nimport { SharedService, BaseResourceComponent, NavigationService } from '@memberjunction/ng-shared';\nimport { AITestHarnessDialogService } from '@memberjunction/ng-ai-test-harness';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { RegisterClass , UUIDsEqual } from '@memberjunction/global';\nimport { MJAIPromptEntityExtended } from '@memberjunction/ai-core-plus';\nimport { FilterFieldConfig } from '@memberjunction/ng-ui-components';\n\ninterface PromptWithTemplate extends Omit<MJAIPromptEntityExtended, 'Template'> {\n Template: string; // From MJAIPromptEntityExtended (view field)\n MJTemplateEntity?: MJTemplateEntity; // Our added field for the actual template entity\n TemplateContents?: MJTemplateContentEntity[];\n CategoryName?: string;\n TypeName?: string;\n}\n\n/**\n * User preferences for the Prompt Management dashboard\n */\ninterface PromptManagementUserPreferences {\n viewMode: 'grid' | 'list' | 'priority-matrix';\n showFilters: boolean;\n searchTerm: string;\n selectedCategory: string;\n selectedType: string;\n selectedStatus: string;\n sortColumn: string;\n sortDirection: 'asc' | 'desc';\n}\n/**\n * AI Prompts Resource - displays AI prompt management\n * Extends BaseResourceComponent to work with the resource type system\n */\n@RegisterClass(BaseResourceComponent, 'AIPromptsResource')\n@Component({\n standalone: false,\n selector: 'app-prompt-management',\n templateUrl: './prompt-management.component.html',\n styleUrls: ['./prompt-management.component.css']\n})\nexport class PromptManagementComponent extends BaseResourceComponent implements OnInit, OnDestroy {\n\n // Settings persistence\n private readonly USER_SETTINGS_KEY = 'AI.Prompts.UserPreferences';\n private settingsPersistSubject = new Subject<void>();\n private settingsLoaded = false;\n\n // View state\n public viewMode: 'grid' | 'list' | 'priority-matrix' = 'grid';\n public isLoading = true;\n public showFilters = true;\n public expandedPromptId: string | null = null;\n\n // Data\n public prompts: PromptWithTemplate[] = [];\n public filteredPrompts: PromptWithTemplate[] = [];\n public categories: MJAIPromptCategoryEntity[] = [];\n public types: MJAIPromptTypeEntity[] = [];\n\n // Filtering\n public searchTerm = '';\n private searchSubject = new BehaviorSubject<string>('');\n public selectedCategory = 'all';\n public selectedType = 'all';\n public selectedStatus = 'all';\n\n // Detail panel\n public selectedPrompt: PromptWithTemplate | null = null;\n public detailPanelVisible = false;\n\n // Sorting\n public sortColumn: string = 'Name';\n public sortDirection: 'asc' | 'desc' = 'asc';\n\n // Loading messages\n public loadingMessages = [\n 'Loading AI prompts...',\n 'Fetching templates...',\n 'Organizing categories...',\n 'Almost there...'\n ];\n public currentLoadingMessage = this.loadingMessages[0];\n private loadingMessageIndex = 0;\n private loadingMessageInterval: any;\n\n protected override destroy$ = new Subject<void>();\n public selectedPromptForTest: MJAIPromptEntityExtended | null = null;\n\n // === Permission Checks ===\n /** Cache for permission checks to avoid repeated calculations */\n private _permissionCache = new Map<string, boolean>();\n private _metadata = this.ProviderToUse;\n\n /** Check if user can create AI Prompts */\n public get UserCanCreatePrompts(): boolean {\n return this.checkEntityPermission('MJ: AI Prompts', 'Create');\n }\n\n /** Check if user can read AI Prompts */\n public get UserCanReadPrompts(): boolean {\n return this.checkEntityPermission('MJ: AI Prompts', 'Read');\n }\n\n /** Check if user can update AI Prompts */\n public get UserCanUpdatePrompts(): boolean {\n return this.checkEntityPermission('MJ: AI Prompts', 'Update');\n }\n\n /** Check if user can delete AI Prompts */\n public get UserCanDeletePrompts(): boolean {\n return this.checkEntityPermission('MJ: AI Prompts', 'Delete');\n }\n\n /**\n * Helper method to check entity permissions with caching\n * @param entityName - The name of the entity to check permissions for\n * @param permissionType - The type of permission to check (Create, Read, Update, Delete)\n * @returns boolean indicating if user has the permission\n */\n private checkEntityPermission(entityName: string, permissionType: 'Create' | 'Read' | 'Update' | 'Delete'): boolean {\n const cacheKey = `${entityName}_${permissionType}`;\n \n if (this._permissionCache.has(cacheKey)) {\n return this._permissionCache.get(cacheKey)!;\n }\n\n try {\n const entityInfo = this._metadata.Entities.find(e => e.Name === entityName);\n \n if (!entityInfo) {\n console.warn(`Entity '${entityName}' not found for permission check`);\n this._permissionCache.set(cacheKey, false);\n return false;\n }\n\n const userPermissions = entityInfo.GetUserPermisions(this._metadata.CurrentUser);\n let hasPermission = false;\n\n switch (permissionType) {\n case 'Create':\n hasPermission = userPermissions.CanCreate;\n break;\n case 'Read':\n hasPermission = userPermissions.CanRead;\n break;\n case 'Update':\n hasPermission = userPermissions.CanUpdate;\n break;\n case 'Delete':\n hasPermission = userPermissions.CanDelete;\n break;\n }\n\n this._permissionCache.set(cacheKey, hasPermission);\n return hasPermission;\n } catch (error) {\n console.error(`Error checking ${permissionType} permission for ${entityName}:`, error);\n this._permissionCache.set(cacheKey, false);\n return false;\n }\n }\n\n /**\n * Clears the permission cache. Call this when user context changes or permissions are updated.\n */\n public clearPermissionCache(): void {\n this._permissionCache.clear();\n }\n\n constructor(\n private sharedService: SharedService,\n private testHarnessService: AITestHarnessDialogService,\n private cdr: ChangeDetectorRef\n ) {\n super();\n\n // Set up debounced settings persistence\n this.settingsPersistSubject.pipe(\n debounceTime(500),\n takeUntil(this.destroy$)\n ).subscribe(() => {\n this.persistUserPreferences();\n });\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n // Load saved user preferences first\n this.loadUserPreferences();\n\n this.setupSearchListener();\n this.startLoadingMessages();\n this.loadInitialData();\n\n // Apply initial state from resource configuration if provided (overrides saved prefs)\n if (this.Data?.Configuration) {\n this.applyInitialState(this.Data.Configuration);\n }\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.destroy$.next();\n this.destroy$.complete();\n if (this.loadingMessageInterval) {\n clearInterval(this.loadingMessageInterval);\n }\n }\n\n private setupSearchListener(): void {\n this.searchSubject.pipe(\n debounceTime(300),\n distinctUntilChanged(),\n takeUntil(this.destroy$)\n ).subscribe(searchTerm => {\n this.searchTerm = searchTerm;\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n });\n }\n\n // ========================================\n // User Settings Persistence\n // ========================================\n\n /**\n * Load saved user preferences from the UserInfoEngine\n */\n private loadUserPreferences(): void {\n try {\n const savedPrefs = UserInfoEngine.Instance.GetSetting(this.USER_SETTINGS_KEY);\n if (savedPrefs) {\n const prefs = JSON.parse(savedPrefs) as PromptManagementUserPreferences;\n this.applyUserPreferencesFromStorage(prefs);\n }\n } catch (error) {\n console.warn('[PromptManagement] Failed to load user preferences:', error);\n } finally {\n this.settingsLoaded = true;\n }\n }\n\n /**\n * Apply loaded preferences to component state\n */\n private applyUserPreferencesFromStorage(prefs: PromptManagementUserPreferences): void {\n if (prefs.viewMode) {\n this.viewMode = prefs.viewMode;\n }\n if (prefs.showFilters !== undefined) {\n this.showFilters = prefs.showFilters;\n }\n if (prefs.searchTerm) {\n this.searchTerm = prefs.searchTerm;\n }\n if (prefs.selectedCategory) {\n this.selectedCategory = prefs.selectedCategory;\n }\n if (prefs.selectedType) {\n this.selectedType = prefs.selectedType;\n }\n if (prefs.selectedStatus) {\n this.selectedStatus = prefs.selectedStatus;\n }\n if (prefs.sortColumn) {\n this.sortColumn = prefs.sortColumn;\n }\n if (prefs.sortDirection) {\n this.sortDirection = prefs.sortDirection;\n }\n }\n\n /**\n * Get current preferences as an object for saving\n */\n private getCurrentPreferences(): PromptManagementUserPreferences {\n return {\n viewMode: this.viewMode,\n showFilters: this.showFilters,\n searchTerm: this.searchTerm,\n selectedCategory: this.selectedCategory,\n selectedType: this.selectedType,\n selectedStatus: this.selectedStatus,\n sortColumn: this.sortColumn,\n sortDirection: this.sortDirection\n };\n }\n\n /**\n * Persist user preferences to storage (debounced)\n */\n private saveUserPreferencesDebounced(): void {\n if (!this.settingsLoaded) return; // Don't save during initial load\n this.settingsPersistSubject.next();\n }\n\n /**\n * Actually persist user preferences to the UserInfoEngine\n */\n private async persistUserPreferences(): Promise<void> {\n try {\n const prefs = this.getCurrentPreferences();\n await UserInfoEngine.Instance.SetSetting(this.USER_SETTINGS_KEY, JSON.stringify(prefs));\n } catch (error) {\n console.warn('[PromptManagement] Failed to persist user preferences:', error);\n }\n }\n\n private startLoadingMessages(): void {\n this.loadingMessageInterval = setInterval(() => {\n this.loadingMessageIndex = (this.loadingMessageIndex + 1) % this.loadingMessages.length;\n this.currentLoadingMessage = this.loadingMessages[this.loadingMessageIndex];\n }, 2000);\n }\n\n private async loadInitialData(): Promise<void> {\n try {\n // Configure both engines in parallel (no-op if already loaded)\n await Promise.all([\n AIEngineBase.Instance.Config(false),\n TemplateEngineBase.Instance.Config(false)\n ]);\n\n // Get cached data from AIEngineBase\n const prompts = AIEngineBase.Instance.Prompts;\n this.categories = AIEngineBase.Instance.PromptCategories;\n this.types = AIEngineBase.Instance.PromptTypes;\n\n // Get cached data from TemplateEngineBase\n const templates = TemplateEngineBase.Instance.Templates as MJTemplateEntity[];\n const templateContents = TemplateEngineBase.Instance.TemplateContents;\n \n // Create lookup maps\n const templateMap = new Map(templates.map(t => [t.ID, t]));\n const templateContentMap = new Map<string, MJTemplateContentEntity[]>();\n \n templateContents.forEach(tc => {\n const contents = templateContentMap.get(tc.TemplateID) || [];\n contents.push(tc);\n templateContentMap.set(tc.TemplateID, contents);\n });\n\n const categoryMap = new Map(this.categories.map(c => [c.ID, c.Name]));\n const typeMap = new Map(this.types.map(t => [t.ID, t.Name]));\n\n // Combine the data - keep the actual entity objects\n this.prompts = prompts.map(prompt => {\n const template = templateMap.get(prompt.ID);\n \n // Add the extra properties directly to the entity\n (prompt as any).MJTemplateEntity = template;\n (prompt as any).TemplateContents = template ? (templateContentMap.get(template.ID) || []) : [];\n (prompt as any).CategoryName = prompt.CategoryID ? categoryMap.get(prompt.CategoryID) || 'Unknown' : 'Uncategorized';\n (prompt as any).TypeName = prompt.TypeID ? typeMap.get(prompt.TypeID) || 'Unknown' : 'Untyped';\n \n return prompt as PromptWithTemplate;\n });\n\n this.filteredPrompts = [...this.prompts];\n this.applyFilters();\n } catch (error) {\n console.error('Error loading prompt data:', error);\n MJNotificationService.Instance.CreateSimpleNotification('Error loading prompts', 'error', 3000);\n } finally {\n this.isLoading = false;\n if (this.loadingMessageInterval) {\n clearInterval(this.loadingMessageInterval);\n }\n this.NotifyLoadComplete();\n }\n }\n\n private applyInitialState(state: any): void {\n if (state.viewMode) this.viewMode = state.viewMode;\n if (state.showFilters !== undefined) this.showFilters = state.showFilters;\n if (state.searchTerm) this.searchTerm = state.searchTerm;\n if (state.selectedCategory) this.selectedCategory = state.selectedCategory;\n if (state.selectedType) this.selectedType = state.selectedType;\n if (state.selectedStatus) this.selectedStatus = state.selectedStatus;\n }\n\n public onSearchChange(value: string): void {\n this.searchSubject.next(value);\n }\n\n public toggleFilters(): void {\n this.showFilters = !this.showFilters;\n this.saveUserPreferencesDebounced();\n }\n\n public toggleFilterPanel(): void {\n this.showFilters = !this.showFilters;\n this.saveUserPreferencesDebounced();\n }\n\n public setViewMode(mode: 'grid' | 'list' | 'priority-matrix'): void {\n this.viewMode = mode;\n this.expandedPromptId = null;\n this.saveUserPreferencesDebounced();\n }\n\n public togglePromptExpansion(promptId: string): void {\n this.expandedPromptId = this.expandedPromptId === promptId ? null : promptId;\n }\n\n public applyFilters(): void {\n this.filteredPrompts = this.prompts.filter(prompt => {\n // Search filter\n if (this.searchTerm) {\n const searchLower = this.searchTerm.toLowerCase();\n const matchesSearch = \n prompt.Name?.toLowerCase().includes(searchLower) ||\n prompt.Description?.toLowerCase().includes(searchLower) ||\n prompt.CategoryName?.toLowerCase().includes(searchLower) ||\n prompt.TypeName?.toLowerCase().includes(searchLower);\n \n if (!matchesSearch) return false;\n }\n\n // Category filter\n if (this.selectedCategory !== 'all' && !UUIDsEqual(prompt.CategoryID, this.selectedCategory)) {\n return false;\n }\n\n // Type filter\n if (this.selectedType !== 'all' && !UUIDsEqual(prompt.TypeID, this.selectedType)) {\n return false;\n }\n\n // Status filter\n if (this.selectedStatus !== 'all') {\n const isActive = prompt.Status === 'Active';\n if (this.selectedStatus === 'active' && !isActive) return false;\n if (this.selectedStatus === 'inactive' && isActive) return false;\n }\n\n return true;\n });\n\n // Apply sorting\n this.filteredPrompts = this.applySorting(this.filteredPrompts);\n this.cdr.markForCheck();\n }\n\n /**\n * Sort the prompts by the specified column\n */\n public sortBy(column: string): void {\n if (this.sortColumn === column) {\n // Toggle direction if same column\n this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\n } else {\n // New column, default to ascending\n this.sortColumn = column;\n this.sortDirection = 'asc';\n }\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n /**\n * Apply sorting to the filtered list\n */\n private applySorting(prompts: PromptWithTemplate[]): PromptWithTemplate[] {\n return prompts.sort((a, b) => {\n let valueA: string | boolean | null | undefined;\n let valueB: string | boolean | null | undefined;\n\n switch (this.sortColumn) {\n case 'Name':\n valueA = a.Name;\n valueB = b.Name;\n break;\n case 'Category':\n valueA = a.CategoryName;\n valueB = b.CategoryName;\n break;\n case 'Type':\n valueA = a.TypeName;\n valueB = b.TypeName;\n break;\n case 'Status':\n valueA = a.Status;\n valueB = b.Status;\n break;\n default:\n valueA = a.Name;\n valueB = b.Name;\n }\n\n // Handle null/undefined values\n const strA = (valueA ?? '').toString().toLowerCase();\n const strB = (valueB ?? '').toString().toLowerCase();\n\n let comparison = strA.localeCompare(strB);\n return this.sortDirection === 'desc' ? -comparison : comparison;\n });\n }\n\n public onCategoryChange(categoryId: string): void {\n this.selectedCategory = categoryId;\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n public onTypeChange(typeId: string): void {\n this.selectedType = typeId;\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n public onStatusChange(status: string): void {\n this.selectedStatus = status;\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n public openPrompt(promptId: string): void {\n const compositeKey = new CompositeKey([{ FieldName: 'ID', Value: promptId }]);\n this.navigationService.OpenEntityRecord('MJ: AI Prompts', compositeKey);\n }\n\n /**\n * Show the detail panel for a prompt\n */\n public showPromptDetails(prompt: PromptWithTemplate, event?: Event): void {\n if (event) {\n event.stopPropagation();\n }\n this.selectedPrompt = prompt;\n this.detailPanelVisible = true;\n }\n\n /**\n * Close the detail panel\n */\n public closeDetailPanel(): void {\n this.detailPanelVisible = false;\n // Delay clearing selectedPrompt for smoother animation\n setTimeout(() => {\n if (!this.detailPanelVisible) {\n this.selectedPrompt = null;\n }\n }, 300);\n }\n\n /**\n * Open the full entity record from the detail panel\n */\n public openPromptFromPanel(): void {\n if (this.selectedPrompt) {\n this.openPrompt(this.selectedPrompt.ID);\n }\n }\n\n public testPrompt(promptId: string, event?: Event): void {\n if (event) {\n event.stopPropagation();\n }\n \n // Use the test harness service for window management features\n this.testHarnessService.openForPrompt(promptId);\n }\n\n public closeTestHarness(): void {\n // No longer needed - window manages its own closure\n this.selectedPromptForTest = null;\n }\n\n public createNewPrompt(): void {\n // Use the standard MemberJunction pattern to open a new AI Prompt form\n // Empty CompositeKey indicates a new record\n this.navigationService.OpenEntityRecord('MJ: AI Prompts', new CompositeKey([]));\n }\n\n public getPromptIcon(prompt: PromptWithTemplate): string {\n if (prompt.TypeName?.toLowerCase().includes('system')) {\n return 'fa-solid fa-cogs';\n } else if (prompt.TypeName?.toLowerCase().includes('user')) {\n return 'fa-solid fa-user';\n } else if (prompt.TypeName?.toLowerCase().includes('chat')) {\n return 'fa-solid fa-comments';\n }\n return 'fa-solid fa-comment-dots';\n }\n\n public getStatusClass(status: string): string {\n return status === 'Active' ? 'active' : 'inactive';\n }\n\n public get hasActiveFilters(): boolean {\n return this.searchTerm !== '' ||\n this.selectedCategory !== 'all' ||\n this.selectedType !== 'all' ||\n this.selectedStatus !== 'all';\n }\n\n /** Number of currently-applied filter criteria inside the popover (excludes searchTerm — surfaced separately in the header toolbar). */\n public get ActiveFilterCount(): number {\n let n = 0;\n if (this.selectedCategory && this.selectedCategory !== 'all') n++;\n if (this.selectedType && this.selectedType !== 'all') n++;\n if (this.selectedStatus && this.selectedStatus !== 'all') n++;\n return n;\n }\n\n /** Reset only the filters inside the popover (not the toolbar search). */\n public resetPopoverFilters(): void {\n this.selectedCategory = 'all';\n this.selectedType = 'all';\n this.selectedStatus = 'all';\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n /** View-mode options for the shared <mj-view-toggle>. */\n public readonly promptViewOptions = [\n { key: 'grid', icon: 'fa-solid fa-grip', title: 'Grid View' },\n { key: 'list', icon: 'fa-solid fa-list', title: 'List View' },\n ];\n\n /** Values record consumed by the centralized <mj-filter-panel> (excludes searchTerm — surfaced in the page-header toolbar). */\n public get promptFilterValues(): Record<string, unknown> {\n return {\n categoryId: this.selectedCategory,\n typeId: this.selectedType,\n status: this.selectedStatus,\n };\n }\n\n /** Field config consumed by the centralized <mj-filter-panel>. */\n public get promptFilterFields(): FilterFieldConfig[] {\n return [\n {\n key: 'categoryId',\n type: 'dropdown',\n label: 'Category',\n icon: 'fa-solid fa-folder',\n filterable: this.categories.length > 10,\n options: [\n { text: 'All Categories', value: 'all' },\n ...this.categories.map(c => ({ text: c.Name ?? '', value: c.ID })),\n ],\n },\n {\n key: 'typeId',\n type: 'dropdown',\n label: 'Type',\n icon: 'fa-solid fa-tag',\n options: [\n { text: 'All Types', value: 'all' },\n ...this.types.map(t => ({ text: t.Name ?? '', value: t.ID })),\n ],\n },\n {\n key: 'status',\n type: 'dropdown',\n label: 'Status',\n icon: 'fa-solid fa-toggle-on',\n options: [\n { text: 'All Statuses', value: 'all' },\n { text: 'Active', value: 'active' },\n { text: 'Inactive', value: 'inactive' },\n ],\n },\n ];\n }\n\n /** Receive the updated values record from <mj-filter-panel> and apply it. */\n public onFilterValuesChange(values: Record<string, unknown>): void {\n this.selectedCategory = (values['categoryId'] as string) ?? 'all';\n this.selectedType = (values['typeId'] as string) ?? 'all';\n this.selectedStatus = (values['status'] as string) ?? 'all';\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n public get filteredPromptsAsEntities(): MJAIPromptEntityExtended[] {\n // The prompts are already MJAIPromptEntityExtended instances with extra properties\n return this.filteredPrompts as MJAIPromptEntityExtended[];\n }\n\n public clearFilters(): void {\n this.searchTerm = '';\n this.selectedCategory = 'all';\n this.selectedType = 'all';\n this.selectedStatus = 'all';\n this.searchSubject.next('');\n this.applyFilters();\n this.saveUserPreferencesDebounced();\n }\n\n // BaseResourceComponent abstract method implementations\n async GetResourceDisplayName(data: ResourceData): Promise<string> {\n return 'Prompts';\n }\n\n async GetResourceIconClass(data: ResourceData): Promise<string> {\n return 'fa-solid fa-comment-dots';\n }\n}","<mj-page-layout>\n <!-- Header -->\n <mj-page-header\n Title=\"Prompts\"\n Icon=\"fa-solid fa-comment-dots\">\n <!-- X-of-Y filtered count earns its meta spot per chrome conventions §2. -->\n <div meta>\n <mj-stat-badge\n [Count]=\"filteredPrompts.length\"\n [Total]=\"prompts.length\"\n Label=\"prompts\">\n </mj-stat-badge>\n </div>\n <div actions>\n <mj-filter-popover\n [ActiveCount]=\"ActiveFilterCount\"\n [ShowClearAll]=\"ActiveFilterCount > 0\"\n (ClearAllRequested)=\"resetPopoverFilters()\">\n <mj-filter-panel\n [Fields]=\"promptFilterFields\"\n [Values]=\"promptFilterValues\"\n (ValuesChange)=\"onFilterValuesChange($event)\"\n (Reset)=\"resetPopoverFilters()\">\n </mj-filter-panel>\n </mj-filter-popover>\n\n <mj-view-toggle\n [Options]=\"promptViewOptions\"\n [ActiveKey]=\"viewMode\"\n (KeyChange)=\"setViewMode($any($event))\">\n </mj-view-toggle>\n\n @if (UserCanCreatePrompts) {\n <button mjButton variant=\"primary\" size=\"sm\" (click)=\"createNewPrompt()\" title=\"Create New Prompt\">\n <i class=\"fa-solid fa-plus\"></i>\n New Prompt\n </button>\n }\n </div>\n <div toolbar>\n <mj-page-search\n Placeholder=\"Search prompts...\"\n [Value]=\"searchTerm\"\n (ValueChange)=\"onSearchChange($event)\">\n </mj-page-search>\n </div>\n </mj-page-header>\n\n <!-- Main Content (no sidebar — filters live in the popover above) -->\n <mj-page-body [Flex]=\"true\">\n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading [text]=\"currentLoadingMessage\" size=\"large\"></mj-loading>\n </div>\n }\n\n <!-- Prompts Display -->\n @if (!isLoading) {\n @if (filteredPrompts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-message\"></i>\n <h3>No prompts found</h3>\n <p>{{ hasActiveFilters ? 'Try adjusting your filters' : 'Create your first AI prompt to get started' }}</p>\n @if (!hasActiveFilters && UserCanCreatePrompts) {\n <button\n type=\"button\"\n class=\"empty-state-btn\"\n (click)=\"createNewPrompt()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create New Prompt\n </button>\n }\n </div>\n } @else {\n <!-- Grid View -->\n @if (viewMode === 'grid') {\n <div class=\"prompts-grid\">\n @for (prompt of filteredPrompts; track prompt.ID) {\n <div class=\"prompt-card\" [class.expanded]=\"expandedPromptId === prompt.ID\">\n <!-- Card Header -->\n <div class=\"card-header\" (click)=\"togglePromptExpansion(prompt.ID)\">\n <div class=\"prompt-info\">\n <div class=\"prompt-icon\">\n <i [class]=\"getPromptIcon(prompt)\"></i>\n </div>\n <div class=\"prompt-details\">\n <h4 class=\"prompt-name\" [innerHTML]=\"prompt.Name | highlightSearch:searchTerm\"></h4>\n <div class=\"prompt-meta\">\n <span class=\"meta-item\">\n <i class=\"fa-solid fa-folder\"></i>\n {{ prompt.CategoryName }}\n </span>\n @if (prompt.Status) {\n <span class=\"meta-item\" [class]=\"'status-' + prompt.Status.toLowerCase()\">\n <i class=\"fa-solid fa-circle\" style=\"font-size: 8px;\"></i>\n {{ prompt.Status }}\n </span>\n }\n </div>\n </div>\n </div>\n\n <i class=\"fa-solid fa-chevron-down expand-icon\"\n [class.rotated]=\"expandedPromptId === prompt.ID\"></i>\n </div>\n\n <!-- Card Body -->\n <div class=\"card-body\">\n @if (prompt.Description) {\n <p class=\"prompt-description\" [innerHTML]=\"prompt.Description | highlightSearch:searchTerm\"></p>\n } @else {\n <p class=\"prompt-description text-muted\">No description provided</p>\n }\n\n <!-- Expandable Content -->\n @if (expandedPromptId === prompt.ID) {\n <div class=\"expanded-content\">\n <div class=\"prompt-stats\">\n <div class=\"stat-item\">\n <span class=\"stat-label\">Type</span>\n <span class=\"stat-value\">{{ prompt.TypeName }}</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">Template</span>\n <span class=\"stat-value\">\n @if (prompt.MJTemplateEntity) {\n <i class=\"fa-solid fa-check\" style=\"color: #28a745;\"></i> Yes\n } @else {\n <i class=\"fa-solid fa-times\" style=\"color: #dc3545;\"></i> No\n }\n </span>\n </div>\n </div>\n </div>\n }\n </div>\n\n <!-- Card Actions -->\n <div class=\"card-actions\">\n @if (UserCanReadPrompts) {\n <button\n type=\"button\"\n class=\"action-btn\"\n (click)=\"showPromptDetails(prompt, $event)\"\n title=\"View Details\">\n <i class=\"fa-solid fa-eye\"></i>\n Details\n </button>\n }\n\n @if (prompt.Status === 'Active' && UserCanReadPrompts) {\n <button\n type=\"button\"\n class=\"action-btn action-btn-primary\"\n (click)=\"testPrompt(prompt.ID, $event)\"\n title=\"Run Prompt\">\n <i class=\"fa-solid fa-play\"></i>\n Run\n </button>\n }\n </div>\n </div>\n }\n </div>\n }\n\n <!-- List View -->\n @if (viewMode === 'list') {\n <div class=\"prompts-list\">\n <table class=\"prompts-table\">\n <thead>\n <tr>\n <th (click)=\"sortBy('Name')\"\n [class.sorted]=\"sortColumn === 'Name'\"\n [class.desc]=\"sortColumn === 'Name' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Name\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th (click)=\"sortBy('Category')\"\n [class.sorted]=\"sortColumn === 'Category'\"\n [class.desc]=\"sortColumn === 'Category' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Category\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th (click)=\"sortBy('Type')\"\n [class.sorted]=\"sortColumn === 'Type'\"\n [class.desc]=\"sortColumn === 'Type' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Type\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th (click)=\"sortBy('Status')\"\n [class.sorted]=\"sortColumn === 'Status'\"\n [class.desc]=\"sortColumn === 'Status' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Status\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th>Template</th>\n <th>Actions</th>\n </tr>\n </thead>\n <tbody>\n @for (prompt of filteredPrompts; track prompt.ID) {\n <tr>\n <td>\n <div class=\"prompt-name-cell\">\n <div class=\"prompt-icon-small\">\n <i [class]=\"getPromptIcon(prompt)\"></i>\n </div>\n <div>\n <div class=\"prompt-name\" [innerHTML]=\"prompt.Name | highlightSearch:searchTerm\"></div>\n @if (prompt.Description) {\n <div class=\"prompt-description-small\" [innerHTML]=\"prompt.Description | highlightSearch:searchTerm\"></div>\n }\n </div>\n </div>\n </td>\n <td>{{ prompt.CategoryName }}</td>\n <td>{{ prompt.TypeName }}</td>\n <td>\n <span class=\"status-badge\" [class]=\"'status-' + (prompt.Status || 'unknown').toLowerCase()\">\n {{ prompt.Status || 'Unknown' }}\n </span>\n </td>\n <td>\n @if (prompt.MJTemplateEntity) {\n <i class=\"fa-solid fa-check-circle\" style=\"color: #28a745;\"></i>\n } @else {\n <i class=\"fa-solid fa-times-circle\" style=\"color: var(--mj-text-muted);\"></i>\n }\n </td>\n <td>\n <div class=\"table-actions\">\n @if (UserCanReadPrompts) {\n <button\n type=\"button\"\n class=\"action-btn-small\"\n (click)=\"showPromptDetails(prompt)\"\n title=\"View Details\">\n <i class=\"fa-solid fa-eye\"></i>\n </button>\n }\n @if (prompt.Status === 'Active' && UserCanReadPrompts) {\n <button\n type=\"button\"\n class=\"action-btn-small primary\"\n (click)=\"testPrompt(prompt.ID, $event)\"\n title=\"Run Prompt\">\n <i class=\"fa-solid fa-play\"></i>\n </button>\n }\n </div>\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n }\n }\n </mj-page-body>\n\n <!-- Detail Panel Overlay -->\n @if (detailPanelVisible) {\n <div class=\"detail-panel-overlay\" (click)=\"closeDetailPanel()\"></div>\n }\n\n <!-- Detail Panel -->\n <div class=\"detail-panel\" [class.visible]=\"detailPanelVisible\">\n @if (selectedPrompt) {\n <!-- Panel Header -->\n <div class=\"detail-panel-header\">\n <div class=\"detail-panel-title\">\n <div class=\"detail-icon\">\n <i [class]=\"getPromptIcon(selectedPrompt)\"></i>\n </div>\n <div class=\"detail-title-info\">\n <h3>{{ selectedPrompt.Name }}</h3>\n <span class=\"detail-subtitle\">{{ selectedPrompt.TypeName || 'Prompt' }}</span>\n </div>\n </div>\n <button class=\"detail-panel-close\" (click)=\"closeDetailPanel()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <!-- Panel Content -->\n <div class=\"detail-panel-content\">\n <!-- Status Section -->\n <div class=\"detail-section\">\n <div class=\"detail-badges\">\n <span class=\"status-badge\" [class]=\"'status-' + (selectedPrompt.Status || 'unknown').toLowerCase()\">\n <i class=\"fa-solid fa-circle\" style=\"font-size: 8px;\"></i>\n {{ selectedPrompt.Status || 'Unknown' }}\n </span>\n @if (selectedPrompt.MJTemplateEntity) {\n <span class=\"feature-badge\">\n <i class=\"fa-solid fa-file-code\"></i>\n Has Template\n </span>\n }\n </div>\n </div>\n\n <!-- Description -->\n @if (selectedPrompt.Description) {\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-align-left\"></i>\n Description\n </h4>\n <p class=\"detail-description\">{{ selectedPrompt.Description }}</p>\n </div>\n }\n\n <!-- Configuration Details -->\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-cog\"></i>\n Configuration\n </h4>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Category</span>\n <span class=\"detail-value\">{{ selectedPrompt.CategoryName || 'Uncategorized' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Type</span>\n <span class=\"detail-value\">{{ selectedPrompt.TypeName || 'Unknown' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Response Format</span>\n <span class=\"detail-value\">{{ selectedPrompt.ResponseFormat }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Selection Strategy</span>\n <span class=\"detail-value\">{{ selectedPrompt.SelectionStrategy }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Power Preference</span>\n <span class=\"detail-value\">{{ selectedPrompt.PowerPreference }}</span>\n </div>\n @if (selectedPrompt.MinPowerRank) {\n <div class=\"detail-item\">\n <span class=\"detail-label\">Min Power Rank</span>\n <span class=\"detail-value\">{{ selectedPrompt.MinPowerRank }}</span>\n </div>\n }\n </div>\n </div>\n\n <!-- Timestamps -->\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-clock\"></i>\n Timestamps\n </h4>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Created</span>\n <span class=\"detail-value\">{{ selectedPrompt.__mj_CreatedAt | date:'medium' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Updated</span>\n <span class=\"detail-value\">{{ selectedPrompt.__mj_UpdatedAt | date:'medium' }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Panel Actions -->\n <div class=\"detail-panel-actions\">\n @if (selectedPrompt.Status === 'Active') {\n <button\n type=\"button\"\n class=\"detail-action-btn secondary\"\n (click)=\"testPrompt(selectedPrompt.ID)\">\n <i class=\"fa-solid fa-play\"></i>\n Run Prompt\n </button>\n }\n <button\n type=\"button\"\n class=\"detail-action-btn primary\"\n (click)=\"openPromptFromPanel()\">\n <i class=\"fa-solid fa-external-link-alt\"></i>\n Open Full Record\n </button>\n </div>\n }\n </div>\n</mj-page-layout>\n"]}
@@ -23,6 +23,7 @@ import { CompositeKey } from '@memberjunction/core';
23
23
  import { TreeBranchConfig, TreeLeafConfig } from '@memberjunction/ng-trees';
24
24
  import { ResourceData, MJContentSourceTypeEntity_IContentSourceTypeField, MJTagEntity } from '@memberjunction/core-entities';
25
25
  import { BaseResourceComponent, NavigationService } from '@memberjunction/ng-shared';
26
+ import { MJLeftNavItem, MJLeftNavSection, TabConfig } from '@memberjunction/ng-ui-components';
26
27
  import { WordCloudItem } from '@memberjunction/ng-word-cloud';
27
28
  import * as i0 from "@angular/core";
28
29
  /**
@@ -669,6 +670,7 @@ export declare class TagsResourceComponent extends BaseResourceComponent impleme
669
670
  private contentFileTypesRaw;
670
671
  private aiModelsRaw;
671
672
  private static readonly PREFS_KEY;
673
+ private static readonly VALID_TABS;
672
674
  ngAfterViewInit(): Promise<void>;
673
675
  /**
674
676
  * D9: Read incoming configuration from ResourceData (e.g. from Analytics tag navigation).
@@ -687,6 +689,14 @@ export declare class TagsResourceComponent extends BaseResourceComponent impleme
687
689
  private registerAgentTools;
688
690
  GetResourceDisplayName(_data: ResourceData): Promise<string>;
689
691
  GetResourceIconClass(_data: ResourceData): Promise<string>;
692
+ /** Wraps `NavItems` for `<mj-left-nav>`. */
693
+ get navSections(): MJLeftNavSection[];
694
+ /** Title rendered in the per-section `<mj-page-header-interior>`. */
695
+ get currentTabTitle(): string;
696
+ /** Subtitle rendered in the per-section `<mj-page-header-interior>`. */
697
+ get currentTabSubtitle(): string;
698
+ /** Adapter for `<mj-left-nav>`'s `(ItemClicked)` output. */
699
+ onNavItemClicked(item: MJLeftNavItem): void;
690
700
  SwitchTab(tab: TabName): Promise<void>;
691
701
  private loadTabData;
692
702
  LoadPipelineData(): Promise<void>;
@@ -885,6 +895,11 @@ export declare class TagsResourceComponent extends BaseResourceComponent impleme
885
895
  private loadRunHistoryForSource;
886
896
  private resolveEmbeddingModelName;
887
897
  private resolveVectorIndexName;
898
+ /** Taxonomy sub-tabs as `TabConfig[]` for `<mj-tab-nav>`. Counts on
899
+ * Duplicates and Orphans surface as warning/error-variant badges. */
900
+ get taxSubTabsConfig(): TabConfig[];
901
+ /** Adapter for `<mj-tab-nav>`'s string-typed `(TabChange)` output. */
902
+ onTaxSubTabChange(key: string): void;
888
903
  SwitchTaxSubTab(sub: TaxonomySubTab): void;
889
904
  /**
890
905
  * Loads all data needed by the Taxonomy Governance sub-tabs:
@@ -1 +1 @@
1
- {"version":3,"file":"tags-resource.component.d.ts","sourceRoot":"","sources":["../../../../src/AI/components/tags/tags-resource.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tags-resource.component.d.ts","sourceRoot":"","sources":["../../../../src/AI/components/tags/tags-resource.component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAgC,SAAS,EAAE,aAAa,EAA6B,MAAM,eAAe,CAAC;AAClH,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAc,YAAY,EAA+B,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAqD,iDAAiD,EAAuG,WAAW,EAAwC,MAAM,+BAA+B,CAAC;AAE3T,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAI9F,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;;AAI9D;;;;;;GAMG;AACH,KAAK,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAC;AAE7G,4DAA4D;AAC5D,KAAK,mBAAmB,GAClB,gBAAgB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,cAAc,GACxE,kBAAkB,GAAG,qBAAqB,GAAG,kBAAkB,GAC/D,gBAAgB,GAAG,gBAAgB,GAAG,qBAAqB,GAC3D,gBAAgB,GAAG,UAAU,GAAG,UAAU,CAAC;AAEjD,UAAU,aAAa;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,qBAAqB,EAAE,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC;CACnE;AAED,UAAU,mBAAmB;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,UAAU;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;CACnB;AAED,UAAU,eAAe;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAID,UAAU,OAAO;IACb,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,SAAS;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,iBAAiB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,QAAQ;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC;CAC/C;AAED,UAAU,UAAU;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;CAChD;AAED,UAAU,UAAU;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mEAAmE;IACnE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,sDAAsD;IACtD,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,6DAA6D;IAC7D,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,UAAU,eAAe;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,MAAM;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,YAAY;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC;CACrC;AAED,UAAU,WAAW;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,aAAa;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,cAAc;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,iDAAiD;AACjD,UAAU,mBAAmB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC5D;AAED,kEAAkE;AAClE,UAAU,YAAY;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAID,KAAK,cAAc,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9E,UAAU,WAAW;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,gBAAgB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC;IACnC,4EAA4E;IAC5E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kFAAkF;IAClF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0EAA0E;IAC1E,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,UAAU,aAAa;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,cAAc;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,2EAA2E;AAC3E,KAAK,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,oBAAoB,GAAG,aAAa,GAAG,OAAO,CAAC;AAE7I,UAAU,aAAa;IACnB,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,aAAa;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,WAAW;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,4DAA4D;AAC5D,KAAK,kBAAkB,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3E,UAAU,iBAAiB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,mBAAmB,EAAE,OAAO,CAAC;IAC7B,+EAA+E;IAC/E,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,2CAA2C;IAC3C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,sDAAsD;IACtD,eAAe,EAAE,kBAAkB,CAAC;IACpC,oDAAoD;IACpD,aAAa,EAAE,kBAAkB,CAAC;CACrC;AAED,UAAU,gBAAgB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,UAAU,EAAE,aAAa,EAAE,CAAC;CAC/B;AAID,KAAK,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,WAAW,CAAC;AAEjF,qBAQa,qBAAsB,SAAQ,qBAAsB,YAAW,aAAa,EAAE,SAAS;IAChG,UAAmB,QAAQ,gBAAuB;IAClD,OAAO,CAAC,GAAG,CAA6B;IACxC,UAAmB,iBAAiB,oBAA6B;IAG1D,SAAS,UAAQ;IAGxB,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,oBAAoB,CAAK;IAG1B,SAAS,EAAE,OAAO,CAAU;IACnC,OAAO,CAAC,aAAa,CAAsB;IAGpC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAGzB,UAAU,EAAE,SAAS,EAAE,CAAM;IAC7B,cAAc,EAAE,iBAAiB,EAAE,CAAM;IACzC,SAAS,EAAE,QAAQ,EAAE,CAAM;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAM;IAC/B,YAAY,EAAE,YAAY,EAAE,CAAM;IAGlC,eAAe,SAAM;IACrB,QAAQ,SAAK;IACpB,SAAgB,YAAY,MAAM;IAClC,8DAA8D;IACvD,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAY;IAErD,qDAAqD;IACrD,IAAW,iBAAiB,IAAI,QAAQ,EAAE,CAczC;IAED,6BAA6B;IACtB,cAAc,IAAI,IAAI;IAM7B,gDAAgD;IAChD,IAAW,kBAAkB,IAAI,QAAQ,EAAE,CAI1C;IAED,+BAA+B;IAC/B,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,sCAAsC;IAC/B,kBAAkB,IAAI,IAAI;IAKjC,qCAAqC;IAC9B,YAAY,IAAI,IAAI;IAO3B,iCAAiC;IAC1B,YAAY,IAAI,IAAI;IAO3B,yEAAyE;IAClE,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAKhD,SAAS,UAAS;IAClB,QAAQ,UAAS;IACjB,WAAW,SAAK;IAChB,QAAQ,SAAM;IACd,cAAc,SAAM;IAC3B,8DAA8D;IACvD,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClD,iFAAiF;IAC1E,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG1C,kBAAkB,UAAS;IAC3B,cAAc,EAAE;QACnB,QAAQ,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;YAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;YAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAChK,UAAU,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE;gBAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAAC,eAAe,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YAAC,SAAS,CAAC,EAAE;gBAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAAC,eAAe,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YAAC,QAAQ,CAAC,EAAE;gBAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;KACpM,CAGC;IAEK,oBAAoB,IAAI,IAAI;IAKnC,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,uBAAuB;IAgBxB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAOxC,WAAW,EAAE,UAAU,EAAE,CAAM;IAC/B,iBAAiB,EAAE,mBAAmB,EAAE,CAAM;IAC9C,mBAAmB,UAAS;IAG5B,gBAAgB,EAAE,eAAe,EAAE,CAAM;IAGzC,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,QAAQ,EAAE,YAAY,EAAE,CAAM;IAC9B,iBAAiB,EAAE,aAAa,EAAE,CAAM;IACxC,YAAY,EAAE,WAAW,EAAE,CAAM;IACjC,cAAc,SAAM;IACpB,eAAe,EAAE,MAAM,EAAE,CAAM;IAC/B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3C,iBAAiB,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;IAGjI,cAAc,EAAE,aAAa,EAAE,CAAM;IACrC,mBAAmB,SAAM;IACzB,mBAAmB,SAAM;IACzB,eAAe,EAAE,aAAa,EAAE,CAAM;IACtC,oBAAoB,EAAE,MAAM,EAAE,CAAM;IAGpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IACpC,aAAa,EAAE,YAAY,EAAE,CAAM;IACnC,kBAAkB,UAAS;IAG3B,iBAAiB,EAAE,YAAY,EAAE,CAAM;IACvC,oBAAoB,UAAS;IAG7B,SAAS,EAAE,cAAc,CAAU;IACnC,YAAY,EAAE,WAAW,EAAE,CAAM;IACjC,YAAY,EAAE,WAAW,EAAE,CAAM;IACjC,gBAAgB,EAAE,WAAW,EAAE,CAAM;IACrC,eAAe,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC3C,aAAa,SAAM;IACnB,aAAa,EAAE,gBAAgB,EAAE,CAAM;IACvC,UAAU,EAAE,aAAa,EAAE,CAAM;IACjC,qBAAqB,UAAS;IAC9B,eAAe,EAAE,cAAc,EAAE,CAAM;IACvC,cAAc,EAAE,aAAa,EAAE,CAAM;IACrC,mBAAmB,cAAqI;IACxJ,SAAS,EAAE,aAAa,CAA0E;IAClG,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;IACpF,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;IACxD,YAAY,UAAS;IAGrB,mBAAmB,UAAS;IAC5B,aAAa,SAAM;IACnB,oBAAoB,SAAM;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/C,oFAAoF;IAC7E,oBAAoB,SAAM;IAG1B,kBAAkB,UAAS;IAC3B,cAAc,cAAqB;IAC1C,oEAAoE;IAC7D,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/C,qDAAqD;IAC9C,aAAa,UAAS;IAE7B,iEAAiE;IACjE,IAAW,0BAA0B,IAAI,MAAM,CAE9C;IAED,uEAAuE;IACvE,IAAW,oBAAoB,IAAI,MAAM,CAExC;IACM,WAAW,SAAM;IACjB,kBAAkB,SAAM;IAGxB,cAAc,EAAE,aAAa,EAAE,CAAM;IACrC,sBAAsB,EAAE,aAAa,EAAE,CAAM;IAC7C,sBAAsB,SAAM;IAC5B,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/C,gBAAgB,SAAM;IACtB,kBAAkB,EAAE,aAAa,GAAG,IAAI,CAAQ;IAChD,wBAAwB,UAAS;IACjC,sBAAsB,SAAK;IAC3B,aAAa,EAAE,mBAAmB,EAAE,CAIzC;IAGK,gBAAgB;;;;;;MAMrB;IACK,aAAa,UAAS;IACtB,wBAAwB,UAAS;IACjC,iBAAiB,EAAE;QACtB,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;KAC5G,CAAqF;IAC/E,gBAAgB,EAAE,mBAAmB,EAAE,CAAM;IAG7C,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACrD,mBAAmB,EAAE,UAAU,EAAE,CAAM;IACvC,iBAAiB,EAAE,eAAe,EAAE,CAAM;IAC1C,cAAc,SAAM;IACpB,gBAAgB,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAY;IAG7E,6EAA6E;IACtE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAM;IAC/C,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,eAAe,CAAiC;IACxD,wEAAwE;IACxE,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,kBAAkB,CAA6B;IAGhD,QAAQ,EAAE,QAAQ,CAAU;IAC5B,UAAU,UAAS;IACnB,wBAAwB,UAAS;IAGjC,cAAc,SAAM;IACpB,gBAAgB,SAAM;IACtB,iBAAiB,SAAM;IACvB,cAAc,SAAM;IACpB,aAAa,SAAM;IACnB,eAAe,SAAM;IAGrB,YAAY,SAAM;IAClB,mBAAmB,SAAM;IACzB,iBAAiB,SAAM;IACvB,eAAe,SAAK;IACpB,eAAe,SAAM;IACrB,aAAa,SAAM;IAGnB,wBAAwB,SAAM;IAC9B,qBAAqB,SAAM;IAG3B,kBAAkB,SAAM;IACxB,qBAAqB,SAAM;IAG3B,0BAA0B,SAAM;IAChC,uBAAuB,SAAM;IAGpC,sDAAsD;IAC/C,kBAAkB,UAAS;IAClC,uDAAuD;IAChD,cAAc,UAAS;IAC9B,4CAA4C;IACrC,oBAAoB,EAAE,UAAU,GAAG,IAAI,CAAQ;IACtD,4CAA4C;IACrC,YAAY,SAAe;IAClC,wDAAwD;IACjD,eAAe,UAAQ;IAG9B,wDAAwD;IACjD,iBAAiB,UAAS;IACjC,6CAA6C;IACtC,kBAAkB,SAAM;IAC/B,+CAA+C;IACxC,oBAAoB,SAAM;IACjC,0CAA0C;IAC1C,OAAO,CAAC,mBAAmB,CAAsC;IAGjE,8CAA8C;IACvC,eAAe,UAAS;IAC/B,kEAAkE;IAC3D,eAAe,SAAM;IAC5B,qCAAqC;IACrC,OAAO,CAAC,eAAe,CAA4B;IAGnD,6CAA6C;IACtC,cAAc,UAAS;IAC9B,wDAAwD;IACjD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC7C,qCAAqC;IACrC,OAAO,CAAC,cAAc,CAA4B;IAG3C,mBAAmB,UAAS;IAC5B,cAAc,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC1C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IACpC,eAAe,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;IAG7D,oDAAoD;IAC7C,kBAAkB,UAAS;IAClC,uDAAuD;IAChD,kBAAkB,EAAE,WAAW,GAAG,IAAI,CAAQ;IAErD,8DAA8D;IAC9D,OAAO,CAAC,qBAAqB,CAA8C;IAE3E;;;OAGG;IACH,6EAA6E;IAC7E,IAAW,0BAA0B,IAAI,OAAO,CAI/C;IAED,mFAAmF;IACnF,IAAW,qCAAqC,IAAI,OAAO,CAS1D;IAED,gEAAgE;IAChE,IAAW,qBAAqB,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAqBjE;IAED,+CAA+C;IAC/C,IAAW,iCAAiC,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAa7E;IAID,8EAA8E;IACvE,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE7D,gFAAgF;IACzE,sBAAsB,EAAE,MAAM,EAAE,CAA4F;IAEnI;;;OAGG;IACH,IAAW,wBAAwB,IAAI,iDAAiD,EAAE,CAWzF;IAED;;;OAGG;IACI,mBAAmB,CAAC,KAAK,EAAE,iDAAiD,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;IAmBpH;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAe5C,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAClD,cAAc,UAAS;IACvB,cAAc,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAC/C,gBAAgB,UAAS;IACzB,mBAAmB,UAAS;IAGnC,+DAA+D;IACxD,wBAAwB,EAAE,kBAAkB,GAAG,KAAK,CAAS;IACpE,uDAAuD;IACvD,SAAgB,yBAAyB,EAAE,CAAC,kBAAkB,GAAG,KAAK,CAAC,EAAE,CAA0D;IAGnI,kEAAkE;IAC3D,gBAAgB,SAAK;IAC5B,wDAAwD;IACxD,SAAgB,oBAAoB,MAAM;IAE1C;;;OAGG;IACH,IAAW,yBAAyB,IAAI,iBAAiB,EAAE,CAU1D;IAED,yDAAyD;IACzD,IAAW,yBAAyB,IAAI,MAAM,CAO7C;IAED,+CAA+C;IAC/C,IAAW,sBAAsB,IAAI,MAAM,CAE1C;IAED,kEAAkE;IAC3D,oBAAoB,IAAI,IAAI;IAOnC,8DAA8D;IACvD,oBAAoB,IAAI,IAAI;IAOnC,gEAAgE;IACzD,gCAAgC,IAAI,IAAI;IAK/C;;;;OAIG;IACI,gBAAgB,IAAI,IAAI;IAgB/B,8DAA8D;IACvD,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM;IAUvD,iBAAiB,EAAE,cAAc,EAAE,CAAM;IACzC,kBAAkB,EAAE,cAAc,EAAE,CAAM;IAC1C,eAAe,EAAE,cAAc,EAAE,CAAM;IACvC,cAAc,EAAE,cAAc,EAAE,CAAM;IACtC,qBAAqB,EAAE,cAAc,EAAE,CAAM;IAC7C,kBAAkB,EAAE,cAAc,EAAE,CAAM;IAG1C,mBAAmB,EAAE,gBAAgB,CAM1C;IACK,aAAa,EAAE,cAAc,CAYlC;IACF,oFAAoF;IAC7E,qBAAqB,EAAE,gBAAgB,CAO5C;IACK,mBAAmB,EAAE,cAAc,CAaxC;IAGF,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,qBAAqB,CAAiC;IAC9D,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,WAAW,CAAiC;IAIpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAyB;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAA4D;IAExF,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BtC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAUlC;;;OAGG;YACW,sBAAsB;IAepC,WAAW,IAAI,IAAI;IAMnB,2DAA2D;IAC3D,OAAO,CAAC,gBAAgB;IAYxB,2EAA2E;IAC3E,OAAO,CAAC,kBAAkB;IAmDpB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5D,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAMhE,4CAA4C;IAC5C,IAAW,WAAW,IAAI,gBAAgB,EAAE,CAS3C;IAED,qEAAqE;IACrE,IAAW,eAAe,IAAI,MAAM,CAQnC;IAED,wEAAwE;IACxE,IAAW,kBAAkB,IAAI,MAAM,CAQtC;IAED,4DAA4D;IACrD,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAIrC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YAcrC,WAAW;IAoCZ,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC9C,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,gBAAgB;IAmBxB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;YAqBjB,eAAe;IAK7B,OAAO,CAAC,gBAAgB;IAmDxB,kGAAkG;IAClG,OAAO,CAAC,qBAAqB;IAM7B,mEAAmE;IACnE,OAAO,CAAC,iBAAiB;IAazB,6EAA6E;IAC7E,OAAO,CAAC,0BAA0B;YAcpB,oBAAoB;IAUlC,OAAO,CAAC,qBAAqB;YAkCf,kBAAkB;IAQhC,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,iBAAiB;IAezB,sEAAsE;IAC/D,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,GAAG,IAAI;IAKzE,iFAAiF;IAC1E,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,IAAI,GAAG,MAAM;IAOnE,UAAU,IAAI,IAAI;IAQzB,4DAA4D;IACrD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAwCnC,iBAAiB,IAAI,IAAI;YAUlB,kBAAkB;IAgBhC,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,yBAAyB;IAS1B,gBAAgB,IAAI,IAAI;IAa/B;;OAEG;IACU,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxD,2CAA2C;IACpC,cAAc,IAAI,IAAI;IAO7B;;OAEG;YACW,iBAAiB;IAa/B;;;OAGG;IACU,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BhD,gEAAgE;IAChE,OAAO,CAAC,mBAAmB;IA+Bd,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOlC,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0H3B,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB1D;;;;OAIG;IACI,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAQjD,gDAAgD;IACzC,mBAAmB,IAAI,IAAI;IAMlC;;;;OAIG;IACU,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAkE1C;;;OAGG;IACU,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5D;;;OAGG;IACI,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAIjD;;;OAGG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI3C,sEAAsE;IACtE,OAAO,CAAC,sBAAsB;IAK9B;;;OAGG;YACW,8BAA8B;IA2B5C,kFAAkF;YACpE,mBAAmB;IAejC;;;OAGG;YACW,mBAAmB;IA8BjC;;;OAGG;YACW,oBAAoB;IAerB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAOhC,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IActD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CtC,SAAS,IAAI,IAAI;IASxB;;OAEG;IACU,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,WAAW,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CpE;;;OAGG;IACU,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB3C;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B5C;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B5C,OAAO,CAAC,2BAA2B;IA2FnC,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,YAAY;IASpB,4DAA4D;IAC5D,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,eAAe;IAQhB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM;IAe9D,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAItC,gGAAgG;IACzF,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAM1C,0DAA0D;IACnD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI3C,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,aAAa;IAQd,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;YAepC,oBAAoB;YAKpB,yBAAyB;IAyBvC,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,aAAa;YAWP,iBAAiB;YAYjB,sBAAsB;IAa7B,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA+DvC,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAM3D,sFAAsF;IAC/E,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAwD/C,eAAe,IAAI,IAAI;IAMvB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAoBxD,gDAAgD;IAChD,OAAO,CAAC,oBAAoB,CAA6B;IAEzD,0DAA0D;YAC5C,wBAAwB;IAetC,OAAO,CAAC,yBAAyB;IAajC;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAiC7B,8DAA8D;IAC9D,OAAO,CAAC,eAAe;IAaV,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CvD,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAMpD,wBAAwB,IAAI,IAAI;IAS1B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;YAStC,yBAAyB;YA6CzB,uBAAuB;IAuCrC,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,sBAAsB;IAW9B;0EACsE;IACtE,IAAW,gBAAgB,IAAI,SAAS,EAAE,CAYzC;IAED,sEAAsE;IAC/D,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMpC,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IAKjD;;;OAGG;YACW,gBAAgB;IAmC9B;;;;;;;OAOG;IACH,OAAO,CAAC,iCAAiC;IAoBzC;;;;;;;OAOG;IACH,OAAO,CAAC,8BAA8B;IAkBtC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAmEpB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,gBAAgB;IAMxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAoBvB;;;OAGG;IACH;;;OAGG;YACW,iBAAiB;IAwBxB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAStC,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAc7C;;;;;OAKG;IACI,eAAe,EAAE,WAAW,GAAG,IAAI,CAAQ;IAElD,OAAO,CAAC,mBAAmB;IA8CpB,cAAc,IAAI,OAAO;IAIhC;;;;OAIG;IACU,oBAAoB,CAC7B,KAAK,EAAE,eAAe,GAAG,UAAU,GAAG,gBAAgB,GAAG,UAAU,GACpE,OAAO,CAAC,IAAI,CAAC;IAaH,qBAAqB,CAC9B,KAAK,EAAE,aAAa,GAAG,oBAAoB,GAAG,WAAW,EACzD,GAAG,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;YAaF,eAAe;IAgC7B,gFAAgF;IACnE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC3B,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB1D;;;;;;OAMG;IACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCtC,aAAa,IAAI,IAAI;IAK5B,OAAO,CAAC,kBAAkB;IAWnB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;IAiBnE,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOhD,OAAO,CAAC,qBAAqB;IAkBtB,YAAY,IAAI,IAAI;IAQpB,aAAa,IAAI,IAAI;IAKf,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B5B,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB3E,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAyBzC,kDAAkD;IAC3C,iBAAiB,IAAI,IAAI;IAShC,2DAA2D;IACpD,kBAAkB,IAAI,IAAI;IAKjC,yDAAyD;IAClD,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IASrD,8BAA8B;IACvB,oBAAoB,IAAI,IAAI;IAKnC,uBAAuB;IACV,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BxC,sCAAsC;IAC/B,qBAAqB,IAAI,IAAI;IAQpC,qDAAqD;IAC9C,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAUjE,uDAAuD;IAChD,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAInD,uCAAuC;IAChC,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI;IAUrE,iDAAiD;IAC1C,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI;IAMpE,wBAAwB;IACjB,mBAAmB,IAAI,IAAI;IAIlC,mEAAmE;IACtD,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CrF,4DAA4D;IAC/C,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCnD,SAAS,UAAS;IAEZ,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C1G,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB1E,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAQrD,OAAO,CAAC,kBAAkB;IAyD1B,iFAAiF;IACjF,OAAO,CAAC,wBAAwB;IAchC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAwC/B,sDAAsD;IACtD,OAAO,CAAC,yBAAyB;IASjC,wCAAwC;IACxC,OAAO,CAAC,6BAA6B;IAYrC,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,mBAAmB;IAmB3B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAqChB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAMlD,gBAAgB,IAAI,IAAI;IAQ/B;;;OAGG;YACW,oBAAoB;IAc3B,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IA0BzC,iBAAiB,IAAI,IAAI;IAiChC,uEAAuE;IAChE,gBAAgB,IAAI,IAAI;IAgC/B,OAAO,CAAC,eAAe;IA4DvB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA2BhC;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAoBrC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAYjB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IASxC,sBAAsB,IAAI,aAAa,EAAE;IAIhD,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,cAAc;IAUtB,0EAA0E;IACnE,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAiB5C,yEAAyE;IAClE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ3F,uCAAuC;IAC1B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IASjD,6CAA6C;IACtC,mBAAmB,IAAI,IAAI;IAQlC,uDAAuD;IAChD,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAO/C,iDAAiD;IAC1C,gBAAgB,IAAI,IAAI;IAO/B,mFAAmF;IACtE,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC1C,sDAAsD;IAC/C,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAO9C,gDAAgD;IACzC,eAAe,IAAI,IAAI;IAO9B,6GAA6G;IACtG,oBAAoB,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE;IAU5E,gDAAgD;IAChD,OAAO,CAAC,oBAAoB;IAW5B,kCAAkC;IACrB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAalC,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAW5C,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI3C,oBAAoB,IAAI,IAAI;IAOnC,oFAAoF;IAC7E,qBAAqB,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE;IASnF,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9C,sDAAsD;IAC/C,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAUrD,oCAAoC;IAC7B,mBAAmB,IAAI,IAAI;IAMlC,iEAAiE;IAC1D,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAMpC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjD,sDAAsD;IACzC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IA+CnD,kEAAkE;YACpD,sBAAsB;IAqBpC,uCAAuC;IAC1B,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBhF,uCAAuC;IAC1B,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBhF,8EAA8E;IACjE,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C7C,0EAA0E;IAC1E,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACI,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAUjE,sBAAsB,IAAI,IAAI;IAgB9B,wBAAwB,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,GAAG,IAAI;IAM7D,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAK5C,uBAAuB,IAAI,MAAM;IAIjC,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAK1C,WAAW,IAAI,IAAI;IAK1B,qEAAqE;IACxD,qBAAqB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCjG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAuB7B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C7B,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;yCA//JtC,qBAAqB;2CAArB,qBAAqB;CAmhKjC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQxD"}