linguclaw 0.4.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 (168) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +161 -0
  3. package/dist/agent-system.d.ts +196 -0
  4. package/dist/agent-system.d.ts.map +1 -0
  5. package/dist/agent-system.js +738 -0
  6. package/dist/agent-system.js.map +1 -0
  7. package/dist/alphabeta.d.ts +54 -0
  8. package/dist/alphabeta.d.ts.map +1 -0
  9. package/dist/alphabeta.js +193 -0
  10. package/dist/alphabeta.js.map +1 -0
  11. package/dist/browser.d.ts +62 -0
  12. package/dist/browser.d.ts.map +1 -0
  13. package/dist/browser.js +224 -0
  14. package/dist/browser.js.map +1 -0
  15. package/dist/cli.d.ts +7 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +565 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/code-parser.d.ts +39 -0
  20. package/dist/code-parser.d.ts.map +1 -0
  21. package/dist/code-parser.js +385 -0
  22. package/dist/code-parser.js.map +1 -0
  23. package/dist/config.d.ts +66 -0
  24. package/dist/config.d.ts.map +1 -0
  25. package/dist/config.js +232 -0
  26. package/dist/config.js.map +1 -0
  27. package/dist/core/engine.d.ts +359 -0
  28. package/dist/core/engine.d.ts.map +1 -0
  29. package/dist/core/engine.js +127 -0
  30. package/dist/core/engine.js.map +1 -0
  31. package/dist/daemon.d.ts +29 -0
  32. package/dist/daemon.d.ts.map +1 -0
  33. package/dist/daemon.js +212 -0
  34. package/dist/daemon.js.map +1 -0
  35. package/dist/email-receiver.d.ts +63 -0
  36. package/dist/email-receiver.d.ts.map +1 -0
  37. package/dist/email-receiver.js +553 -0
  38. package/dist/email-receiver.js.map +1 -0
  39. package/dist/git-integration.d.ts +180 -0
  40. package/dist/git-integration.d.ts.map +1 -0
  41. package/dist/git-integration.js +850 -0
  42. package/dist/git-integration.js.map +1 -0
  43. package/dist/inbox.d.ts +84 -0
  44. package/dist/inbox.d.ts.map +1 -0
  45. package/dist/inbox.js +198 -0
  46. package/dist/inbox.js.map +1 -0
  47. package/dist/index.d.ts +6 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +41 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/languages/cpp.d.ts +51 -0
  52. package/dist/languages/cpp.d.ts.map +1 -0
  53. package/dist/languages/cpp.js +930 -0
  54. package/dist/languages/cpp.js.map +1 -0
  55. package/dist/languages/csharp.d.ts +79 -0
  56. package/dist/languages/csharp.d.ts.map +1 -0
  57. package/dist/languages/csharp.js +1776 -0
  58. package/dist/languages/csharp.js.map +1 -0
  59. package/dist/languages/go.d.ts +50 -0
  60. package/dist/languages/go.d.ts.map +1 -0
  61. package/dist/languages/go.js +882 -0
  62. package/dist/languages/go.js.map +1 -0
  63. package/dist/languages/java.d.ts +47 -0
  64. package/dist/languages/java.d.ts.map +1 -0
  65. package/dist/languages/java.js +649 -0
  66. package/dist/languages/java.js.map +1 -0
  67. package/dist/languages/python.d.ts +47 -0
  68. package/dist/languages/python.d.ts.map +1 -0
  69. package/dist/languages/python.js +655 -0
  70. package/dist/languages/python.js.map +1 -0
  71. package/dist/languages/rust.d.ts +61 -0
  72. package/dist/languages/rust.d.ts.map +1 -0
  73. package/dist/languages/rust.js +1064 -0
  74. package/dist/languages/rust.js.map +1 -0
  75. package/dist/logger.d.ts +20 -0
  76. package/dist/logger.d.ts.map +1 -0
  77. package/dist/logger.js +133 -0
  78. package/dist/logger.js.map +1 -0
  79. package/dist/longterm-memory.d.ts +47 -0
  80. package/dist/longterm-memory.d.ts.map +1 -0
  81. package/dist/longterm-memory.js +300 -0
  82. package/dist/longterm-memory.js.map +1 -0
  83. package/dist/memory.d.ts +42 -0
  84. package/dist/memory.d.ts.map +1 -0
  85. package/dist/memory.js +274 -0
  86. package/dist/memory.js.map +1 -0
  87. package/dist/messaging.d.ts +103 -0
  88. package/dist/messaging.d.ts.map +1 -0
  89. package/dist/messaging.js +645 -0
  90. package/dist/messaging.js.map +1 -0
  91. package/dist/multi-provider.d.ts +69 -0
  92. package/dist/multi-provider.d.ts.map +1 -0
  93. package/dist/multi-provider.js +484 -0
  94. package/dist/multi-provider.js.map +1 -0
  95. package/dist/orchestrator.d.ts +65 -0
  96. package/dist/orchestrator.d.ts.map +1 -0
  97. package/dist/orchestrator.js +441 -0
  98. package/dist/orchestrator.js.map +1 -0
  99. package/dist/plugins.d.ts +52 -0
  100. package/dist/plugins.d.ts.map +1 -0
  101. package/dist/plugins.js +215 -0
  102. package/dist/plugins.js.map +1 -0
  103. package/dist/prism-orchestrator.d.ts +26 -0
  104. package/dist/prism-orchestrator.d.ts.map +1 -0
  105. package/dist/prism-orchestrator.js +191 -0
  106. package/dist/prism-orchestrator.js.map +1 -0
  107. package/dist/prism.d.ts +46 -0
  108. package/dist/prism.d.ts.map +1 -0
  109. package/dist/prism.js +188 -0
  110. package/dist/prism.js.map +1 -0
  111. package/dist/privacy.d.ts +23 -0
  112. package/dist/privacy.d.ts.map +1 -0
  113. package/dist/privacy.js +220 -0
  114. package/dist/privacy.js.map +1 -0
  115. package/dist/proactive.d.ts +30 -0
  116. package/dist/proactive.d.ts.map +1 -0
  117. package/dist/proactive.js +260 -0
  118. package/dist/proactive.js.map +1 -0
  119. package/dist/refactoring-engine.d.ts +100 -0
  120. package/dist/refactoring-engine.d.ts.map +1 -0
  121. package/dist/refactoring-engine.js +717 -0
  122. package/dist/refactoring-engine.js.map +1 -0
  123. package/dist/resilience.d.ts +43 -0
  124. package/dist/resilience.d.ts.map +1 -0
  125. package/dist/resilience.js +200 -0
  126. package/dist/resilience.js.map +1 -0
  127. package/dist/safety.d.ts +40 -0
  128. package/dist/safety.d.ts.map +1 -0
  129. package/dist/safety.js +133 -0
  130. package/dist/safety.js.map +1 -0
  131. package/dist/sandbox.d.ts +33 -0
  132. package/dist/sandbox.d.ts.map +1 -0
  133. package/dist/sandbox.js +173 -0
  134. package/dist/sandbox.js.map +1 -0
  135. package/dist/scheduler.d.ts +72 -0
  136. package/dist/scheduler.d.ts.map +1 -0
  137. package/dist/scheduler.js +374 -0
  138. package/dist/scheduler.js.map +1 -0
  139. package/dist/semantic-memory.d.ts +70 -0
  140. package/dist/semantic-memory.d.ts.map +1 -0
  141. package/dist/semantic-memory.js +430 -0
  142. package/dist/semantic-memory.js.map +1 -0
  143. package/dist/skills.d.ts +97 -0
  144. package/dist/skills.d.ts.map +1 -0
  145. package/dist/skills.js +575 -0
  146. package/dist/skills.js.map +1 -0
  147. package/dist/static/dashboard.html +853 -0
  148. package/dist/static/hub.html +772 -0
  149. package/dist/static/index.html +818 -0
  150. package/dist/static/logo.svg +24 -0
  151. package/dist/static/workflow-editor.html +913 -0
  152. package/dist/tools.d.ts +67 -0
  153. package/dist/tools.d.ts.map +1 -0
  154. package/dist/tools.js +303 -0
  155. package/dist/tools.js.map +1 -0
  156. package/dist/types.d.ts +295 -0
  157. package/dist/types.d.ts.map +1 -0
  158. package/dist/types.js +90 -0
  159. package/dist/types.js.map +1 -0
  160. package/dist/web.d.ts +76 -0
  161. package/dist/web.d.ts.map +1 -0
  162. package/dist/web.js +2139 -0
  163. package/dist/web.js.map +1 -0
  164. package/dist/workflow-engine.d.ts +114 -0
  165. package/dist/workflow-engine.d.ts.map +1 -0
  166. package/dist/workflow-engine.js +855 -0
  167. package/dist/workflow-engine.js.map +1 -0
  168. package/package.json +77 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust.js","sourceRoot":"","sources":["../../src/languages/rust.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAOH,MAAa,UAAU;IACb,MAAM,GAAW,EAAE,CAAC;IACpB,KAAK,GAAa,EAAE,CAAC;IAE7B,KAAK,CAAC,MAAc,EAAE,QAAgB;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC;YACH,yDAAyD;YACzD,gDAAgD;YAChD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAE7C,OAAO;gBACL,GAAG;gBACH,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE;gBAC/B,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE;aACjC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,WAAW,CAAC,MAA8B;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAEhB,MAAM,IAAI,KAAK,CAAC;YAEhB,0DAA0D;YAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,IAAI,SAAS,GAAG,EAAE,CAAC;YAEnB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,UAAU,GAAG,EAAE,CAAC;YAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEtB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;oBACxB,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;wBAChE,QAAQ,GAAG,IAAI,CAAC;wBAChB,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;yBAAM,IAAI,QAAQ,IAAI,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;wBACxF,QAAQ,GAAG,KAAK,CAAC;oBACnB,CAAC;yBAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACrB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;4BAAE,UAAU,EAAE,CAAC;wBAC/D,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;4BAAE,UAAU,EAAE,CAAC;oBACjE,CAAC;gBACH,CAAC;gBAED,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,SAAS,IAAI,IAAI,GAAG,IAAI,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,MAAc,EAAE,QAAgB;QAChD,MAAM,IAAI,GAAY;YACpB,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,GAAG,QAAQ,MAAM;YACrB,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACnE,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;SAC/B,CAAC;QAEF,+BAA+B;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU,CAAC,MAAc,EAAE,QAAgB;QACjD,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,OAAO,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;YAExC,sBAAsB;YACtB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACxC,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,mBAAmB;wBACzB,EAAE,EAAE,GAAG,QAAQ,IAAI,YAAY,GAAG,CAAC,IAAI;wBACvC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,YAAY,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;wBAC3F,QAAQ,EAAE,EAAE;wBACZ,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;qBAC7B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,6BAA6B;YAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAC1D,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtE,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,mBAAmB;oBACzB,EAAE,EAAE,GAAG,QAAQ,IAAI,YAAY,GAAG,CAAC,IAAI;oBACvC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;oBACpG,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE;wBACR,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAClC,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC;qBAChD;iBACF,CAAC,CAAC;gBACH,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;YAED,qBAAqB;YACrB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACnE,IAAI,UAAU,EAAE,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC5B,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,mBAAmB;YACnB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAC/D,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC1B,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACjE,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC3B,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAC/D,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC1B,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,uBAAuB;YACvB,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACnE,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC1B,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACjE,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC3B,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,eAAe;YACf,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACpE,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC1B,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,SAAS;YACT,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACjE,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC3B,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,YAAY,EAAE,CAAC;QACjB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,qBAAqB,CAAC,IAAY;QACxC,0DAA0D;QAC1D,MAAM,SAAS,GAAG,2CAA2C,CAAC;QAC9D,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAEO,aAAa,CAAC,KAAe,EAAE,QAAgB,EAAE,QAAgB;QACvE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAEvF,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,KAAK,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAEnC,gCAAgC;QAChC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACjB,UAAU,EAAE,CAAC;oBACb,iBAAiB,GAAG,IAAI,CAAC;gBAC3B,CAAC;qBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACxB,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YAED,IAAI,iBAAiB,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBAC1C,MAAM,GAAG,CAAC,CAAC;gBACX,MAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAY;YACpB,IAAI,EAAE,qBAAqB;YAC3B,EAAE,EAAE,GAAG,QAAQ,IAAI,QAAQ,GAAG,CAAC,IAAI;YACnC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;YAChG,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC;YACzF,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;gBACf,OAAO;gBACP,QAAQ;gBACR,SAAS;gBACT,QAAQ;gBACR,UAAU;gBACV,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACtF,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;aAC3D;SACF,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IAEO,WAAW,CAAC,KAAe,EAAE,QAAgB,EAAE,QAAgB;QACrE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAEzD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;gBAC/B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;YACjC,CAAC;YACD,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;gBACrC,MAAM,GAAG,CAAC,CAAC;gBACX,MAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE9C,MAAM,IAAI,GAAY;YACpB,IAAI,EAAE,mBAAmB;YACzB,EAAE,EAAE,GAAG,QAAQ,IAAI,QAAQ,GAAG,CAAC,IAAI;YACnC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;YAChG,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBAChC,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,GAAG,QAAQ,IAAI,QAAQ,GAAG,CAAC,GAAG,GAAG,IAAI;gBACzC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;gBACrF,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAC;YACH,QAAQ,EAAE;gBACR,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;gBAChE,aAAa,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACxD,YAAY,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACxD,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;aAC9C;SACF,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IAEO,SAAS,CAAC,KAAe,EAAE,QAAgB,EAAE,QAAgB;QACnE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAEvD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;gBAC/B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;YACjC,CAAC;YACD,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;gBACrC,MAAM,GAAG,CAAC,CAAC;gBACX,MAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAY;YACpB,IAAI,EAAE,iBAAiB;YACvB,EAAE,EAAE,GAAG,QAAQ,IAAI,QAAQ,GAAG,CAAC,IAAI;YACnC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;YAChG,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,GAAG,QAAQ,IAAI,QAAQ,GAAG,CAAC,GAAG,GAAG,IAAI;gBACzC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;gBACrF,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAC;YACH,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ;gBACR,YAAY,EAAE,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;gBACjG,YAAY,EAAE,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;aAC/F;SACF,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IAEO,SAAS,CAAC,KAAe,EAAE,QAAgB,EAAE,QAAgB;QACnE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAExE,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;gBAC/B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;YACjC,CAAC;YACD,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;gBACrC,MAAM,GAAG,CAAC,CAAC;gBACX,MAAM;YACR,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,OAAO,GAAc,EAAE,CAAC;QAC9B,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,OAAO,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACvE,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC9B,WAAW,GAAG,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,WAAW,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAErH,MAAM,IAAI,GAAY;YACpB,IAAI,EAAE,gBAAgB;YACtB,EAAE,EAAE,GAAG,QAAQ,IAAI,QAAQ,GAAG,CAAC,IAAI;YACnC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;YAChG,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,KAAK,EAAE,SAAS;gBAChB,UAAU;gBACV,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC1C,WAAW;aACZ;SACF,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IAC3C,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC;IAEO,iBAAiB,CAAC,IAAY;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7C,CAAC;IAEO,iBAAiB,CAAC,IAAY;QACpC,MAAM,MAAM,GAAuD,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAExC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE7C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBACtC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;wBAC7C,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;wBACrB,OAAO,EAAE,KAAK;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,QAAgB;QAClC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YAC1D,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YAE1D,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5B,OAAO,GAAG,EAAE,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,MAAM,MAAM,GAAsD,EAAE,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE9C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEvC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACzD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;wBACd,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;wBACrB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,MAAM,QAAQ,GAA8D,EAAE,CAAC;QAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEhD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE3C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,uCAAuC;gBACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBACxD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC3B,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;wBACd,OAAO;wBACP,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;qBACjE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,cAAc,CAAC,KAAe,EAAE,QAAgB;QACtD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBACnD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,eAAe,CAAC,KAAe,EAAE,QAAgB,EAAE,UAAkB;QAC3E,MAAM,UAAU,GAAc,EAAE,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAE7B,gDAAgD;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACnF,IAAI,QAAQ,EAAE,CAAC;gBACb,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,qBAAqB;oBAC3B,EAAE,EAAE,GAAG,QAAQ,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC,IAAI;oBACzC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;oBAC/F,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACjB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACtB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;wBACzB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;wBAChC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;qBACpD;iBACF,CAAC,CAAC;YACL,CAAC;YAED,oBAAoB;YACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,iBAAiB;oBACvB,EAAE,EAAE,GAAG,QAAQ,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC,IAAI;oBACzC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;oBAC/F,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;iBAC3D,CAAC,CAAC;YACL,CAAC;YAED,gBAAgB;YAChB,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7C,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,aAAa;oBACnB,EAAE,EAAE,GAAG,QAAQ,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC,IAAI;oBACzC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;oBAC/F,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,EAAE;iBACb,CAAC,CAAC;YACL,CAAC;YAED,cAAc;YACd,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,iBAAiB;oBACvB,EAAE,EAAE,GAAG,QAAQ,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC,IAAI;oBACzC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;oBAC/F,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,EAAE;iBACb,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,cAAc,CAAC,WAAoB;QACzC,IAAI,CAAC,WAAW;YAAE,OAAO,OAAO,CAAC;QAEjC,IAAI,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,cAAc,CAAC;QAC3D,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,UAAU,CAAC;QACnD,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,OAAO,CAAC;QACrD,IAAI,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,OAAO,OAAO,CAAC;QAExD,gDAAgD;QAChD,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO,MAAM,CAAC;QAErD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,KAAe,EAAE,QAAgB;QACvD,gDAAgD;QAChD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACtE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;gBAC/B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;YACjC,CAAC;YAED,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3D,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YAED,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ;gBAAE,MAAM;QAC9C,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,UAAU,CAAC,KAAe,EAAE,QAAgB,EAAE,QAAgB;QACpE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAErF,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAY;YACpB,IAAI,EAAE,qBAAqB;YAC3B,EAAE,EAAE,GAAG,QAAQ,IAAI,QAAQ,GAAG,CAAC,IAAI;YACnC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;YAChG,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE;gBACR,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,UAAU;gBACpC,QAAQ;gBACR,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnB,OAAO,EAAE,CAAC,QAAQ;aACnB;SACF,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IAEO,cAAc,CAAC,KAAe,EAAE,QAAgB,EAAE,QAAgB;QACxE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAEnE,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,IAAI,GAAY;YACpB,IAAI,EAAE,sBAAsB;YAC5B,EAAE,EAAE,GAAG,QAAQ,IAAI,QAAQ,GAAG,CAAC,IAAI;YACnC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;YACnF,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE;gBACR,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;gBAChE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;aACjB;SACF,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACtC,CAAC;IAEO,UAAU,CAAC,KAAe,EAAE,QAAgB,EAAE,QAAgB;QACpE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAExD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;gBAC/B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;YACjC,CAAC;YACD,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;gBACrC,MAAM,GAAG,CAAC,CAAC;gBACX,MAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,IAAI,GAAY;YACpB,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,GAAG,QAAQ,IAAI,QAAQ,GAAG,CAAC,IAAI;YACnC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;YAChG,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACjC,IAAI,EAAE,iBAAiB;gBACvB,EAAE,EAAE,GAAG,QAAQ,IAAI,QAAQ,GAAG,CAAC,GAAG,GAAG,IAAI;gBACzC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;gBACrF,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAC;YACH,QAAQ,EAAE;gBACR,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;gBAChE,OAAO;gBACP,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;gBACtC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;aACxC;SACF,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IAEO,UAAU,CAAC,KAAe,EAAE,QAAgB,EAAE,QAAgB;QACpE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAErC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAErD,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,YAAY,EAAE,CAAC;YACjB,uCAAuC;YACvC,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5B,IAAI,IAAI,KAAK,GAAG;wBAAE,UAAU,EAAE,CAAC;oBAC/B,IAAI,IAAI,KAAK,GAAG;wBAAE,UAAU,EAAE,CAAC;gBACjC,CAAC;gBACD,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;oBACrC,MAAM,GAAG,CAAC,CAAC;oBACX,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,GAAY;YACpB,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,GAAG,QAAQ,IAAI,QAAQ,GAAG,CAAC,IAAI;YACnC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;YAChG,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE;gBACR,YAAY;gBACZ,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;aACzE;SACF,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IAEO,gBAAgB,CAAC,KAAe,EAAE,QAAgB;QACxD,yDAAyD;QACzD,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7E,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,kBAAkB;gBAClB,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5B,IAAI,IAAI,KAAK,GAAG;4BAAE,UAAU,EAAE,CAAC;wBAC/B,IAAI,IAAI,KAAK,GAAG;4BAAE,UAAU,EAAE,CAAC;oBACjC,CAAC;oBACD,IAAI,UAAU,KAAK,CAAC;wBAAE,OAAO,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,MAAM,OAAO,GAA+D,EAAE,CAAC;QAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBAC9E,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;wBACd,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;wBACnB,UAAU,EAAE,KAAK;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAC3D,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;wBACd,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;wBACnB,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,cAAc,CAAC,IAAY,EAAE,SAAiB,EAAE,QAAgB,EAAE,OAAe,EAAE,MAAc;QACvG,OAAO;YACL,IAAI;YACJ,SAAS;YACT,WAAW,EAAE,QAAQ;YACrB,OAAO;YACP,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,CAAC;SACd,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,IAAY,EAAE,GAAW;QACzC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,WAAW,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,WAAW,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEO,eAAe;QACrB,MAAM,QAAQ,GAAU,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC5D,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC5C,IAAI,EAAE,CAAC,GAAG,CAAC;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,UAAU,KAAK,CAAC,CAAC;gBAAE,MAAM;YAE7B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YACtD,IAAI,QAAQ,KAAK,CAAC,CAAC;gBAAE,MAAM;YAE3B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAEnE,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;gBACnB,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;YAEH,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,UAAU,CAAC,IAAY,EAAE,GAAW;QAC1C,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAChD,QAAQ,GAAG,IAAI,CAAC;gBAChB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,QAAQ,IAAI,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBACvE,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,gBAAgB;QACtB,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE3B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;gBAC/B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;gBAC/B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;gBAC/B,IAAI,IAAI,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;gBAC/B,IAAI,IAAI,KAAK,GAAG;oBAAE,YAAY,EAAE,CAAC;gBACjC,IAAI,IAAI,KAAK,GAAG;oBAAE,YAAY,EAAE,CAAC;YACnC,CAAC;YAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,0BAA0B;oBACnC,IAAI,EAAE,CAAC,GAAG,CAAC;oBACX,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,UAAU,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,gCAAgC;oBACzC,IAAI,EAAE,CAAC,GAAG,CAAC;oBACX,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,UAAU,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,4BAA4B;oBACrC,IAAI,EAAE,CAAC,GAAG,CAAC;oBACX,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,YAAY,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,oBAAoB,UAAU,EAAE;gBACzC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBACvB,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,yBAAyB,UAAU,EAAE;gBAC9C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBACvB,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,sBAAsB,YAAY,EAAE;gBAC7C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBACvB,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,aAAa,CAAC,QAAgB;QACpC,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC1C,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAC/B,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;YAChD,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE;SACjC,CAAC;IACJ,CAAC;CACF;AAj+BD,gCAi+BC;AAED,MAAa,YAAY;IACvB,OAAO,CAAC,GAAY,EAAE,OAAY;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAE7C,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YACnC,QAAQ,EAAE,cAAc;YACxB,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;YACvC,aAAa,EAAE,IAAI,GAAG,EAAE;YACxB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;YACnC,WAAW,EAAE;gBACX,GAAG,cAAc,CAAC,WAAW;gBAC7B,GAAG,aAAa,CAAC,WAAW;gBAC5B,GAAG,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC;aAC5C;SACF,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,GAAY;QACnC,4CAA4C;QAC5C,OAAO;YACL,SAAS,EAAE,IAAI,GAAG,EAAE;YACpB,SAAS,EAAE,IAAI,GAAG,EAAE;YACpB,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,GAAY;QACnC,gCAAgC;QAChC,MAAM,gBAAgB,GAAU,EAAE,CAAC;QACnC,MAAM,aAAa,GAAU,EAAE,CAAC;QAEhC,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAE,KAAU,EAAE,EAAE;YAC7C,kCAAkC;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACnE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;oBACtC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;oBAClC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;iBAC/B,CAAC,CAAC;YACL,CAAC;YAED,wCAAwC;YACxC,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACnC,mCAAmC;YACrC,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,QAAQ,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAExC,OAAO;YACL,WAAW,EAAE,IAAI,GAAG,EAAE;YACtB,IAAI,EAAE,IAAI,GAAG,EAAE;YACf,cAAc,EAAE,EAAE;YAClB,KAAK,EAAE,EAAE;YACT,gBAAgB;YAChB,aAAa;SACd,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,GAAY;QACnC,+BAA+B;QAC/B,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAEzD,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAE,EAAE;YACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC3B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAC7C,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC5B,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEd,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IAClD,CAAC;IAEO,aAAa,CAAC,GAAY;QAChC,MAAM,WAAW,GAAU,EAAE,CAAC;QAC9B,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAE5B,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAE,EAAE;YACjC,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,gBAAgB,EAAE,CAAC;YACrB,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAClE,mBAAmB,EAAE,CAAC;gBACtB,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,mBAAmB,IAAI,CAAC,QAAQ,CAAC,IAAI,4CAA4C;oBAC1F,WAAW,EAAE,0CAA0C;iBACxD,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEd,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,iCAAiC,gBAAgB,0BAA0B;gBACpF,WAAW,EAAE,gDAAgD;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAEO,YAAY,CAAC,GAAY;QAC/B,MAAM,WAAW,GAAU,EAAE,CAAC;QAC9B,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAE,EAAE;YACjC,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACjE,kBAAkB,EAAE,CAAC;YACvB,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACpC,UAAU,EAAE,CAAC;YACf,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEd,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAEO,cAAc,CAAC,GAAY;QACjC,iBAAiB;QACjB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACjE,CAAC;IAEO,gBAAgB,CAAC,GAAY;QACnC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC3D,CAAC;IAEO,gBAAgB,CAAC,GAAY;QACnC,OAAO;YACL,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;YACb,oBAAoB,EAAE,CAAC;YACvB,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;YAC9J,oBAAoB,EAAE,CAAC;YACvB,aAAa,EAAE,CAAC;SACjB,CAAC;IACJ,CAAC;IAEO,8BAA8B,CAAC,GAAY;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA3KD,oCA2KC;AAEY,QAAA,mBAAmB,GAAG;IACjC,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,MAAM,EAAE,IAAI,UAAU,EAAE;IACxB,QAAQ,EAAE,IAAI,YAAY,EAAE;CAC7B,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Logger implementation
3
+ * Equivalent to Python logger.py with Winston
4
+ */
5
+ import winston from 'winston';
6
+ export interface LogFunctions {
7
+ logThought: (step: number, thought: string, logger?: winston.Logger) => void;
8
+ logCommand: (step: number, command: string, logger?: winston.Logger) => void;
9
+ logObservation: (step: number, tag: string, status: string, data: string, logger?: winston.Logger) => void;
10
+ logError: (message: string, logger?: winston.Logger) => void;
11
+ logWarning: (message: string, logger?: winston.Logger) => void;
12
+ logHeader: (title: string, subtitle?: string, logger?: winston.Logger) => void;
13
+ logFinal: (answer: string, logger?: winston.Logger) => void;
14
+ logStats: (stats: Record<string, any>, logger?: winston.Logger) => void;
15
+ }
16
+ export declare function setupLogger(name?: string, logDir?: string, level?: string): winston.Logger;
17
+ export declare const logFunctions: LogFunctions;
18
+ export declare function getLogger(): winston.Logger;
19
+ export declare function setDefaultLogger(logger: winston.Logger): void;
20
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAmB9B,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;IAC7E,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;IAC7E,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;IAC3G,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;IAC7D,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;IAC/D,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;IAC/E,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;IAC5D,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;CACzE;AAED,wBAAgB,WAAW,CACzB,IAAI,GAAE,MAAoB,EAC1B,MAAM,GAAE,MAAe,EACvB,KAAK,GAAE,MAAgB,GACtB,OAAO,CAAC,MAAM,CAqDhB;AAGD,eAAO,MAAM,YAAY,EAAE,YAyD1B,CAAC;AAKF,wBAAgB,SAAS,IAAI,OAAO,CAAC,MAAM,CAK1C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAE7D"}
package/dist/logger.js ADDED
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ /**
3
+ * Logger implementation
4
+ * Equivalent to Python logger.py with Winston
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.logFunctions = void 0;
11
+ exports.setupLogger = setupLogger;
12
+ exports.getLogger = getLogger;
13
+ exports.setDefaultLogger = setDefaultLogger;
14
+ const winston_1 = __importDefault(require("winston"));
15
+ const chalk_1 = __importDefault(require("chalk"));
16
+ const path_1 = __importDefault(require("path"));
17
+ const fs_1 = __importDefault(require("fs"));
18
+ // Theme colors matching Python Rich theme
19
+ const theme = {
20
+ thought: chalk_1.default.cyan,
21
+ command: chalk_1.default.bold.white,
22
+ observation: chalk_1.default.green,
23
+ error: chalk_1.default.bold.red,
24
+ warning: chalk_1.default.yellow,
25
+ info: chalk_1.default.dim.white,
26
+ step: chalk_1.default.bold.magenta,
27
+ header: chalk_1.default.bold.blue,
28
+ success: chalk_1.default.bold.green,
29
+ blocked: chalk_1.default.bold.yellow,
30
+ };
31
+ function setupLogger(name = 'linguclaw', logDir = 'logs', level = 'debug') {
32
+ const logger = winston_1.default.createLogger({
33
+ level,
34
+ defaultMeta: { service: name },
35
+ transports: [],
36
+ });
37
+ // Ensure log directory exists
38
+ if (!fs_1.default.existsSync(logDir)) {
39
+ fs_1.default.mkdirSync(logDir, { recursive: true });
40
+ }
41
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, -5);
42
+ // Session log file in logs/ directory
43
+ logger.add(new winston_1.default.transports.File({
44
+ filename: path_1.default.join(logDir, `session_${timestamp}.log`),
45
+ level: 'debug',
46
+ format: winston_1.default.format.combine(winston_1.default.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston_1.default.format.printf(({ level, message, timestamp, ...meta }) => {
47
+ return `${timestamp} | ${level.padEnd(8)} | ${name} | ${message}`;
48
+ })),
49
+ }));
50
+ // Persistent log file in ~/.linguclaw/linguclaw.log
51
+ const homeDir = require('os').homedir();
52
+ const linguclawDir = path_1.default.join(homeDir, '.linguclaw');
53
+ if (!fs_1.default.existsSync(linguclawDir)) {
54
+ fs_1.default.mkdirSync(linguclawDir, { recursive: true });
55
+ }
56
+ logger.add(new winston_1.default.transports.File({
57
+ filename: path_1.default.join(linguclawDir, 'linguclaw.log'),
58
+ level: 'debug',
59
+ format: winston_1.default.format.combine(winston_1.default.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston_1.default.format.printf(({ level, message, timestamp, ...meta }) => {
60
+ return `${timestamp} | ${level.padEnd(8)} | ${message}`;
61
+ })),
62
+ }));
63
+ // Console handler (warnings and above only, to avoid cluttering TUI)
64
+ logger.add(new winston_1.default.transports.Console({
65
+ level: 'warning',
66
+ format: winston_1.default.format.combine(winston_1.default.format.colorize(), winston_1.default.format.simple()),
67
+ }));
68
+ return logger;
69
+ }
70
+ // Console output functions matching Python Rich behavior
71
+ exports.logFunctions = {
72
+ logThought: (step, thought, logger) => {
73
+ console.log(`\n${theme.step(`[Step ${step}]`)} ${theme.thought(`💭 ${thought}`)}`);
74
+ logger?.info(`Step ${step} THOUGHT: ${thought}`);
75
+ },
76
+ logCommand: (step, command, logger) => {
77
+ console.log(`${theme.step(`[Step ${step}]`)} ${theme.command(`⚡ RUN: ${command}`)}`);
78
+ logger?.info(`Step ${step} RUN: ${command}`);
79
+ },
80
+ logObservation: (step, tag, status, data, logger) => {
81
+ const icons = {
82
+ success: theme.success('✓'),
83
+ error: theme.error('✗'),
84
+ blocked: theme.blocked('🚫'),
85
+ };
86
+ const icon = icons[status] || '?';
87
+ console.log(` ${icon} ${tag} ${data.slice(0, 120)}`);
88
+ logger?.info(`Step ${step} OBS (${tag}) [${status}]: ${data.slice(0, 200)}`);
89
+ },
90
+ logError: (message, logger) => {
91
+ console.log(theme.error(`❌ ${message}`));
92
+ logger?.error(message);
93
+ },
94
+ logWarning: (message, logger) => {
95
+ console.log(theme.warning(`⚠️ ${message}`));
96
+ logger?.warn(message);
97
+ },
98
+ logHeader: (title, subtitle = '', logger) => {
99
+ console.log(theme.header('='.repeat(60)));
100
+ console.log(theme.header(`🤖 ${title}`));
101
+ if (subtitle) {
102
+ console.log(theme.info(subtitle));
103
+ }
104
+ logger?.info(`=== ${title} === ${subtitle}`);
105
+ },
106
+ logFinal: (answer, logger) => {
107
+ console.log(theme.header('='.repeat(60)));
108
+ console.log(theme.success('FINAL ANSWER'));
109
+ console.log(theme.success('='.repeat(60)));
110
+ console.log(answer);
111
+ console.log(theme.success('='.repeat(60)));
112
+ logger?.info(`FINAL: ${answer}`);
113
+ },
114
+ logStats: (stats, logger) => {
115
+ console.log(`\n${theme.header('📊 Stats')}`);
116
+ for (const [key, value] of Object.entries(stats)) {
117
+ console.log(` ${theme.info(`${key}:`)} ${value}`);
118
+ }
119
+ logger?.info(`Stats: ${JSON.stringify(stats)}`);
120
+ },
121
+ };
122
+ // Export default logger instance
123
+ let defaultLogger = null;
124
+ function getLogger() {
125
+ if (!defaultLogger) {
126
+ defaultLogger = setupLogger();
127
+ }
128
+ return defaultLogger;
129
+ }
130
+ function setDefaultLogger(logger) {
131
+ defaultLogger = logger;
132
+ }
133
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAgCH,kCAyDC;AAiED,8BAKC;AAED,4CAEC;AAjKD,sDAA8B;AAC9B,kDAA0B;AAC1B,gDAAwB;AACxB,4CAAoB;AAEpB,0CAA0C;AAC1C,MAAM,KAAK,GAAG;IACZ,OAAO,EAAE,eAAK,CAAC,IAAI;IACnB,OAAO,EAAE,eAAK,CAAC,IAAI,CAAC,KAAK;IACzB,WAAW,EAAE,eAAK,CAAC,KAAK;IACxB,KAAK,EAAE,eAAK,CAAC,IAAI,CAAC,GAAG;IACrB,OAAO,EAAE,eAAK,CAAC,MAAM;IACrB,IAAI,EAAE,eAAK,CAAC,GAAG,CAAC,KAAK;IACrB,IAAI,EAAE,eAAK,CAAC,IAAI,CAAC,OAAO;IACxB,MAAM,EAAE,eAAK,CAAC,IAAI,CAAC,IAAI;IACvB,OAAO,EAAE,eAAK,CAAC,IAAI,CAAC,KAAK;IACzB,OAAO,EAAE,eAAK,CAAC,IAAI,CAAC,MAAM;CAC3B,CAAC;AAaF,SAAgB,WAAW,CACzB,OAAe,WAAW,EAC1B,SAAiB,MAAM,EACvB,QAAgB,OAAO;IAEvB,MAAM,MAAM,GAAG,iBAAO,CAAC,YAAY,CAAC;QAClC,KAAK;QACL,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAC9B,UAAU,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,8BAA8B;IAC9B,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,YAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9E,sCAAsC;IACtC,MAAM,CAAC,GAAG,CAAC,IAAI,iBAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QACrC,QAAQ,EAAE,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,SAAS,MAAM,CAAC;QACvD,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,iBAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,EAC3D,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;YAC/D,OAAO,GAAG,SAAS,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,OAAO,EAAE,CAAC;QACpE,CAAC,CAAC,CACH;KACF,CAAC,CAAC,CAAC;IAEJ,oDAAoD;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACtD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,YAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,IAAI,iBAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QACrC,QAAQ,EAAE,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC;QAClD,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,iBAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,EAC3D,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;YAC/D,OAAO,GAAG,SAAS,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC;QAC1D,CAAC,CAAC,CACH;KACF,CAAC,CAAC,CAAC;IAEJ,qEAAqE;IACrE,MAAM,CAAC,GAAG,CAAC,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QACxC,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,iBAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EACzB,iBAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CACxB;KACF,CAAC,CAAC,CAAC;IAEJ,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,yDAAyD;AAC5C,QAAA,YAAY,GAAiB;IACxC,UAAU,EAAE,CAAC,IAAY,EAAE,OAAe,EAAE,MAAuB,EAAE,EAAE;QACrE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,aAAa,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,UAAU,EAAE,CAAC,IAAY,EAAE,OAAe,EAAE,MAAuB,EAAE,EAAE;QACrE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACrF,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,cAAc,EAAE,CAAC,IAAY,EAAE,GAAW,EAAE,MAAc,EAAE,IAAY,EAAE,MAAuB,EAAE,EAAE;QACnG,MAAM,KAAK,GAA2B;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAC3B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YACvB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;SAC7B,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS,GAAG,MAAM,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,QAAQ,EAAE,CAAC,OAAe,EAAE,MAAuB,EAAE,EAAE;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,UAAU,EAAE,CAAC,OAAe,EAAE,MAAuB,EAAE,EAAE;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,SAAS,EAAE,CAAC,KAAa,EAAE,WAAmB,EAAE,EAAE,MAAuB,EAAE,EAAE;QAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,EAAE,IAAI,CAAC,OAAO,KAAK,QAAQ,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,QAAQ,EAAE,CAAC,MAAc,EAAE,MAAuB,EAAE,EAAE;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,EAAE,IAAI,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ,EAAE,CAAC,KAA0B,EAAE,MAAuB,EAAE,EAAE;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;CACF,CAAC;AAEF,iCAAiC;AACjC,IAAI,aAAa,GAA0B,IAAI,CAAC;AAEhD,SAAgB,SAAS;IACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,WAAW,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAgB,gBAAgB,CAAC,MAAsB;IACrD,aAAa,GAAG,MAAM,CAAC;AACzB,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Long-term memory system - persistent storage
3
+ * TypeScript equivalent of Python longterm_memory.py
4
+ */
5
+ export declare class LongTermMemory {
6
+ dbPath: string;
7
+ private db;
8
+ constructor(dbPath?: string);
9
+ private init;
10
+ private createTable;
11
+ store(key: string, value: any, category?: string, tags?: string[], ttlDays?: number): boolean;
12
+ retrieve(key: string): any | null;
13
+ search(query: string, category?: string, limit?: number): Array<Record<string, any>>;
14
+ getByCategory(category: string, limit?: number): Array<Record<string, any>>;
15
+ delete(key: string): boolean;
16
+ clearCategory(category: string): number;
17
+ getStats(): {
18
+ total_entries: number;
19
+ by_category: Record<string, number>;
20
+ };
21
+ }
22
+ export declare class UserPreferences {
23
+ private memory;
24
+ constructor(memory?: LongTermMemory);
25
+ set(key: string, value: any): void;
26
+ get(key: string, defaultValue?: any): any;
27
+ getAll(): Record<string, any>;
28
+ }
29
+ export declare class ConversationHistory {
30
+ private memory;
31
+ private maxHistory;
32
+ constructor(memory?: LongTermMemory, maxHistory?: number);
33
+ add(conversationId: string, role: string, content: string, metadata?: Record<string, any>): void;
34
+ getHistory(conversationId: string, limit?: number): Array<Record<string, any>>;
35
+ }
36
+ export declare class WorkflowMemory {
37
+ private memory;
38
+ constructor(memory?: LongTermMemory);
39
+ saveWorkflow(name: string, workflow: Record<string, any>): void;
40
+ getWorkflow(name: string): Record<string, any> | null;
41
+ listWorkflows(): string[];
42
+ }
43
+ export declare function getMemory(): LongTermMemory;
44
+ export declare function getPreferences(): UserPreferences;
45
+ export declare function getConversationHistory(): ConversationHistory;
46
+ export declare function getWorkflowMemory(): WorkflowMemory;
47
+ //# sourceMappingURL=longterm-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"longterm-memory.d.ts","sourceRoot":"","sources":["../src/longterm-memory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,qBAAa,cAAc;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAA2B;gBAEzB,MAAM,CAAC,EAAE,MAAM;IAM3B,OAAO,CAAC,IAAI;IAcZ,OAAO,CAAC,WAAW;IAmBnB,KAAK,CACH,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,QAAQ,GAAE,MAAkB,EAC5B,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO;IAmCV,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAkCjC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAiCxF,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAyB/E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAW5B,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAWvC,QAAQ,IAAI;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;CAiB3E;AAGD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,CAAC,EAAE,cAAc;IAInC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAIlC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG;IAKzC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQ9B;AAGD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,CAAC,EAAE,cAAc,EAAE,UAAU,GAAE,MAAY;IAK7D,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAWhG,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAKnF;AAGD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,CAAC,EAAE,cAAc;IAInC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAI/D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAIrD,aAAa,IAAI,MAAM,EAAE;CAI1B;AAKD,wBAAgB,SAAS,IAAI,cAAc,CAK1C;AAED,wBAAgB,cAAc,IAAI,eAAe,CAEhD;AAED,wBAAgB,sBAAsB,IAAI,mBAAmB,CAE5D;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAElD"}
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+ /**
3
+ * Long-term memory system - persistent storage
4
+ * TypeScript equivalent of Python longterm_memory.py
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.WorkflowMemory = exports.ConversationHistory = exports.UserPreferences = exports.LongTermMemory = void 0;
11
+ exports.getMemory = getMemory;
12
+ exports.getPreferences = getPreferences;
13
+ exports.getConversationHistory = getConversationHistory;
14
+ exports.getWorkflowMemory = getWorkflowMemory;
15
+ const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
16
+ const path_1 = __importDefault(require("path"));
17
+ const logger_1 = require("./logger");
18
+ const logger = (0, logger_1.getLogger)();
19
+ class LongTermMemory {
20
+ dbPath;
21
+ db;
22
+ constructor(dbPath) {
23
+ this.dbPath = dbPath || path_1.default.join(process.env.HOME || '~', '.linguclaw', 'memory.db');
24
+ this.db = null;
25
+ this.init();
26
+ }
27
+ init() {
28
+ try {
29
+ const dir = path_1.default.dirname(this.dbPath);
30
+ if (!require('fs').existsSync(dir)) {
31
+ require('fs').mkdirSync(dir, { recursive: true });
32
+ }
33
+ this.db = new better_sqlite3_1.default(this.dbPath);
34
+ this.createTable();
35
+ }
36
+ catch (error) {
37
+ logger.error(`Failed to initialize long-term memory: ${error}`);
38
+ }
39
+ }
40
+ createTable() {
41
+ if (!this.db)
42
+ return;
43
+ this.db.exec(`
44
+ CREATE TABLE IF NOT EXISTS memories (
45
+ key TEXT PRIMARY KEY,
46
+ value TEXT NOT NULL,
47
+ category TEXT DEFAULT 'general',
48
+ timestamp TEXT NOT NULL,
49
+ access_count INTEGER DEFAULT 0,
50
+ last_accessed TEXT NOT NULL,
51
+ tags TEXT DEFAULT '[]',
52
+ expires_at TEXT
53
+ )
54
+ `);
55
+ this.db.exec('CREATE INDEX IF NOT EXISTS idx_category ON memories(category)');
56
+ }
57
+ store(key, value, category = 'general', tags = [], ttlDays) {
58
+ try {
59
+ if (!this.db)
60
+ return false;
61
+ const expiresAt = ttlDays
62
+ ? new Date(Date.now() + ttlDays * 24 * 60 * 60 * 1000).toISOString()
63
+ : null;
64
+ const now = new Date().toISOString();
65
+ const stmt = this.db.prepare(`
66
+ INSERT OR REPLACE INTO memories
67
+ (key, value, category, timestamp, access_count, last_accessed, tags, expires_at)
68
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)
69
+ `);
70
+ stmt.run(key, JSON.stringify(value), category, now, 0, now, JSON.stringify(tags), expiresAt);
71
+ logger.debug(`Stored memory: ${key} (${category})`);
72
+ return true;
73
+ }
74
+ catch (error) {
75
+ logger.error(`Failed to store memory: ${error}`);
76
+ return false;
77
+ }
78
+ }
79
+ retrieve(key) {
80
+ try {
81
+ if (!this.db)
82
+ return null;
83
+ const row = this.db.prepare('SELECT value, expires_at FROM memories WHERE key = ?').get(key);
84
+ if (!row)
85
+ return null;
86
+ // Check expiration
87
+ if (row.expires_at) {
88
+ const expiresAt = new Date(row.expires_at);
89
+ if (new Date() > expiresAt) {
90
+ this.db.prepare('DELETE FROM memories WHERE key = ?').run(key);
91
+ return null;
92
+ }
93
+ }
94
+ // Update access stats
95
+ this.db.prepare(`
96
+ UPDATE memories
97
+ SET access_count = access_count + 1, last_accessed = ?
98
+ WHERE key = ?
99
+ `).run(new Date().toISOString(), key);
100
+ try {
101
+ return JSON.parse(row.value);
102
+ }
103
+ catch {
104
+ return row.value; // Return raw string if not valid JSON
105
+ }
106
+ }
107
+ catch (error) {
108
+ logger.error(`Failed to retrieve memory: ${error}`);
109
+ return null;
110
+ }
111
+ }
112
+ search(query, category, limit = 10) {
113
+ try {
114
+ if (!this.db)
115
+ return [];
116
+ let sql = 'SELECT key, value, category, timestamp, access_count FROM memories WHERE (key LIKE ? OR value LIKE ?)';
117
+ const params = [`%${query}%`, `%${query}%`];
118
+ if (category) {
119
+ sql += ' AND category = ?';
120
+ params.push(category);
121
+ }
122
+ sql += ' ORDER BY access_count DESC LIMIT ?';
123
+ params.push(limit.toString());
124
+ const rows = this.db.prepare(sql).all(...params);
125
+ return rows.map((row) => {
126
+ let value;
127
+ try {
128
+ value = JSON.parse(row.value);
129
+ }
130
+ catch {
131
+ value = row.value;
132
+ }
133
+ return {
134
+ key: row.key,
135
+ value,
136
+ category: row.category,
137
+ timestamp: row.timestamp,
138
+ access_count: row.access_count,
139
+ };
140
+ });
141
+ }
142
+ catch (error) {
143
+ logger.error(`Failed to search memories: ${error}`);
144
+ return [];
145
+ }
146
+ }
147
+ getByCategory(category, limit = 50) {
148
+ try {
149
+ if (!this.db)
150
+ return [];
151
+ const rows = this.db.prepare(`SELECT key, value, timestamp, access_count FROM memories
152
+ WHERE category = ? ORDER BY last_accessed DESC LIMIT ?`).all(category, limit);
153
+ return rows.map((row) => {
154
+ let value;
155
+ try {
156
+ value = JSON.parse(row.value);
157
+ }
158
+ catch {
159
+ value = row.value;
160
+ }
161
+ return {
162
+ key: row.key,
163
+ value,
164
+ timestamp: row.timestamp,
165
+ access_count: row.access_count,
166
+ };
167
+ });
168
+ }
169
+ catch (error) {
170
+ logger.error(`Failed to get memories by category: ${error}`);
171
+ return [];
172
+ }
173
+ }
174
+ delete(key) {
175
+ try {
176
+ if (!this.db)
177
+ return false;
178
+ const result = this.db.prepare('DELETE FROM memories WHERE key = ?').run(key);
179
+ return result.changes > 0;
180
+ }
181
+ catch (error) {
182
+ logger.error(`Failed to delete memory: ${error}`);
183
+ return false;
184
+ }
185
+ }
186
+ clearCategory(category) {
187
+ try {
188
+ if (!this.db)
189
+ return 0;
190
+ const result = this.db.prepare('DELETE FROM memories WHERE category = ?').run(category);
191
+ return result.changes;
192
+ }
193
+ catch (error) {
194
+ logger.error(`Failed to clear category: ${error}`);
195
+ return 0;
196
+ }
197
+ }
198
+ getStats() {
199
+ try {
200
+ if (!this.db)
201
+ return { total_entries: 0, by_category: {} };
202
+ const total = this.db.prepare('SELECT COUNT(*) as count FROM memories').get().count;
203
+ const categories = {};
204
+ const rows = this.db.prepare('SELECT category, COUNT(*) as count FROM memories GROUP BY category').all();
205
+ for (const row of rows) {
206
+ categories[row.category] = row.count;
207
+ }
208
+ return { total_entries: total, by_category: categories };
209
+ }
210
+ catch (error) {
211
+ logger.error(`Failed to get stats: ${error}`);
212
+ return { total_entries: 0, by_category: {} };
213
+ }
214
+ }
215
+ }
216
+ exports.LongTermMemory = LongTermMemory;
217
+ // User Preferences
218
+ class UserPreferences {
219
+ memory;
220
+ constructor(memory) {
221
+ this.memory = memory || new LongTermMemory();
222
+ }
223
+ set(key, value) {
224
+ this.memory.store(`pref:${key}`, value, 'preferences');
225
+ }
226
+ get(key, defaultValue) {
227
+ const value = this.memory.retrieve(`pref:${key}`);
228
+ return value !== null ? value : defaultValue;
229
+ }
230
+ getAll() {
231
+ const prefs = this.memory.getByCategory('preferences');
232
+ const result = {};
233
+ for (const p of prefs) {
234
+ result[p.key.replace('pref:', '')] = p.value;
235
+ }
236
+ return result;
237
+ }
238
+ }
239
+ exports.UserPreferences = UserPreferences;
240
+ // Conversation History
241
+ class ConversationHistory {
242
+ memory;
243
+ maxHistory;
244
+ constructor(memory, maxHistory = 100) {
245
+ this.memory = memory || new LongTermMemory();
246
+ this.maxHistory = maxHistory;
247
+ }
248
+ add(conversationId, role, content, metadata) {
249
+ const key = `conv:${conversationId}:${new Date().toISOString()}`;
250
+ const entry = {
251
+ role,
252
+ content,
253
+ timestamp: new Date().toISOString(),
254
+ metadata: metadata || {},
255
+ };
256
+ this.memory.store(key, entry, 'conversations', [], 30); // 30 day TTL
257
+ }
258
+ getHistory(conversationId, limit = 20) {
259
+ const prefix = `conv:${conversationId}:`;
260
+ const results = this.memory.search(prefix, 'conversations', limit);
261
+ return results.map(r => r.value);
262
+ }
263
+ }
264
+ exports.ConversationHistory = ConversationHistory;
265
+ // Workflow Memory
266
+ class WorkflowMemory {
267
+ memory;
268
+ constructor(memory) {
269
+ this.memory = memory || new LongTermMemory();
270
+ }
271
+ saveWorkflow(name, workflow) {
272
+ this.memory.store(`workflow:${name}`, workflow, 'workflows');
273
+ }
274
+ getWorkflow(name) {
275
+ return this.memory.retrieve(`workflow:${name}`);
276
+ }
277
+ listWorkflows() {
278
+ const workflows = this.memory.getByCategory('workflows');
279
+ return workflows.map(w => w.key.replace('workflow:', ''));
280
+ }
281
+ }
282
+ exports.WorkflowMemory = WorkflowMemory;
283
+ // Global instances
284
+ let memoryInstance = null;
285
+ function getMemory() {
286
+ if (!memoryInstance) {
287
+ memoryInstance = new LongTermMemory();
288
+ }
289
+ return memoryInstance;
290
+ }
291
+ function getPreferences() {
292
+ return new UserPreferences(getMemory());
293
+ }
294
+ function getConversationHistory() {
295
+ return new ConversationHistory(getMemory());
296
+ }
297
+ function getWorkflowMemory() {
298
+ return new WorkflowMemory(getMemory());
299
+ }
300
+ //# sourceMappingURL=longterm-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"longterm-memory.js","sourceRoot":"","sources":["../src/longterm-memory.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAkTH,8BAKC;AAED,wCAEC;AAED,wDAEC;AAED,8CAEC;AAjUD,oEAAsC;AACtC,gDAAwB;AAExB,qCAAqC;AAErC,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;AAE3B,MAAa,cAAc;IACzB,MAAM,CAAS;IACP,EAAE,CAA2B;IAErC,YAAY,MAAe;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACtF,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACf,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,IAAI;QACV,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,IAAI,CAAC,EAAE,GAAG,IAAI,wBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QAErB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;KAWZ,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CACH,GAAW,EACX,KAAU,EACV,WAAmB,SAAS,EAC5B,OAAiB,EAAE,EACnB,OAAgB;QAEhB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,KAAK,CAAC;YAE3B,MAAM,SAAS,GAAG,OAAO;gBACvB,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;gBACpE,CAAC,CAAC,IAAI,CAAC;YAET,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAErC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;OAI5B,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CACN,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EACrB,QAAQ,EACR,GAAG,EACH,CAAC,EACD,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EACpB,SAAS,CACV,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK,QAAQ,GAAG,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;YACjD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YAE1B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAuD,CAAC;YACnJ,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YAEtB,mBAAmB;YACnB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC3C,IAAI,IAAI,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;oBAC3B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC/D,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,sBAAsB;YACtB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;OAIf,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;YAEtC,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,sCAAsC;YAC1D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,QAAiB,EAAE,QAAgB,EAAE;QACzD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,EAAE,CAAC;YAExB,IAAI,GAAG,GAAG,uGAAuG,CAAC;YAClH,MAAM,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;YAE5C,IAAI,QAAQ,EAAE,CAAC;gBACb,GAAG,IAAI,mBAAmB,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;YAED,GAAG,IAAI,qCAAqC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC3B,IAAI,KAAK,CAAC;gBACV,IAAI,CAAC;oBAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBAAC,CAAC;gBACnE,OAAO;oBACL,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,KAAK;oBACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;iBAC/B,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,aAAa,CAAC,QAAgB,EAAE,QAAgB,EAAE;QAChD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,EAAE,CAAC;YAExB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B;gEACwD,CACzD,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAEvB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC3B,IAAI,KAAK,CAAC;gBACV,IAAI,CAAC;oBAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBAAC,CAAC;gBACnE,OAAO;oBACL,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,KAAK;oBACL,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;iBAC/B,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,KAAK,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9E,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxF,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;YAE3D,MAAM,KAAK,GAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAU,CAAC,KAAK,CAAC;YAC7F,MAAM,UAAU,GAA2B,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oEAAoE,CAAC,CAAC,GAAG,EAAW,CAAC;YAClH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;YACvC,CAAC;YAED,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;YAC9C,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;CACF;AAvND,wCAuNC;AAED,mBAAmB;AACnB,MAAa,eAAe;IAClB,MAAM,CAAiB;IAE/B,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;IAC/C,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAU;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,YAAkB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QAClD,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;IAC/C,CAAC;IAED,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QAC/C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAxBD,0CAwBC;AAED,uBAAuB;AACvB,MAAa,mBAAmB;IACtB,MAAM,CAAiB;IACvB,UAAU,CAAS;IAE3B,YAAY,MAAuB,EAAE,aAAqB,GAAG;QAC3D,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,cAAsB,EAAE,IAAY,EAAE,OAAe,EAAE,QAA8B;QACvF,MAAM,GAAG,GAAG,QAAQ,cAAc,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG;YACZ,IAAI;YACJ,OAAO;YACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,QAAQ,IAAI,EAAE;SACzB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa;IACvE,CAAC;IAED,UAAU,CAAC,cAAsB,EAAE,QAAgB,EAAE;QACnD,MAAM,MAAM,GAAG,QAAQ,cAAc,GAAG,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;CACF;AAzBD,kDAyBC;AAED,kBAAkB;AAClB,MAAa,cAAc;IACjB,MAAM,CAAiB;IAE/B,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;IAC/C,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,QAA6B;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,aAAa;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;CACF;AAnBD,wCAmBC;AAED,mBAAmB;AACnB,IAAI,cAAc,GAA0B,IAAI,CAAC;AAEjD,SAAgB,SAAS;IACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAgB,cAAc;IAC5B,OAAO,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,sBAAsB;IACpC,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,iBAAiB;IAC/B,OAAO,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;AACzC,CAAC"}