sonamu 0.7.4 → 0.7.5

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 (133) hide show
  1. package/dist/api/config.d.ts +1 -4
  2. package/dist/api/config.d.ts.map +1 -1
  3. package/dist/api/config.js +1 -1
  4. package/dist/api/sonamu.d.ts +2 -0
  5. package/dist/api/sonamu.d.ts.map +1 -1
  6. package/dist/api/sonamu.js +19 -47
  7. package/dist/bin/cli.js +6 -6
  8. package/dist/database/base-model.d.ts +1 -1
  9. package/dist/database/base-model.d.ts.map +1 -1
  10. package/dist/database/base-model.js +15 -4
  11. package/dist/database/code-generator.d.ts.map +1 -1
  12. package/dist/database/code-generator.js +3 -3
  13. package/dist/database/db.d.ts.map +1 -1
  14. package/dist/database/db.js +1 -1
  15. package/dist/database/puri-wrapper.d.ts +11 -11
  16. package/dist/database/puri-wrapper.d.ts.map +1 -1
  17. package/dist/database/puri-wrapper.js +7 -11
  18. package/dist/database/puri.d.ts +36 -17
  19. package/dist/database/puri.d.ts.map +1 -1
  20. package/dist/database/puri.js +54 -7
  21. package/dist/database/puri.types.d.ts +54 -17
  22. package/dist/database/puri.types.d.ts.map +1 -1
  23. package/dist/database/puri.types.js +2 -4
  24. package/dist/database/puri.types.test-d.js +129 -0
  25. package/dist/database/upsert-builder.d.ts +16 -10
  26. package/dist/database/upsert-builder.d.ts.map +1 -1
  27. package/dist/database/upsert-builder.js +10 -19
  28. package/dist/entity/entity-manager.d.ts +113 -22
  29. package/dist/entity/entity-manager.d.ts.map +1 -1
  30. package/dist/entity/entity-manager.js +1 -1
  31. package/dist/entity/entity.d.ts +34 -0
  32. package/dist/entity/entity.d.ts.map +1 -1
  33. package/dist/entity/entity.js +110 -37
  34. package/dist/index.d.ts +5 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +8 -2
  37. package/dist/migration/code-generation.d.ts.map +1 -1
  38. package/dist/migration/code-generation.js +341 -149
  39. package/dist/migration/migration-set.d.ts.map +1 -1
  40. package/dist/migration/migration-set.js +21 -5
  41. package/dist/migration/migrator.d.ts.map +1 -1
  42. package/dist/migration/migrator.js +7 -1
  43. package/dist/migration/postgresql-schema-reader.d.ts +11 -1
  44. package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
  45. package/dist/migration/postgresql-schema-reader.js +111 -10
  46. package/dist/syncer/syncer.d.ts.map +1 -1
  47. package/dist/syncer/syncer.js +4 -3
  48. package/dist/template/implementations/generated.template.d.ts.map +1 -1
  49. package/dist/template/implementations/generated.template.js +12 -2
  50. package/dist/template/implementations/generated_sso.template.d.ts +3 -3
  51. package/dist/template/implementations/generated_sso.template.d.ts.map +1 -1
  52. package/dist/template/implementations/generated_sso.template.js +50 -2
  53. package/dist/template/implementations/model.template.js +6 -6
  54. package/dist/template/implementations/model_test.template.js +4 -4
  55. package/dist/template/implementations/view_enums_dropdown.template.js +2 -2
  56. package/dist/template/implementations/view_enums_select.template.js +2 -2
  57. package/dist/template/implementations/view_form.template.d.ts.map +1 -1
  58. package/dist/template/implementations/view_form.template.js +12 -9
  59. package/dist/template/implementations/view_id_async_select.template.js +4 -4
  60. package/dist/template/implementations/view_list.template.d.ts.map +1 -1
  61. package/dist/template/implementations/view_list.template.js +12 -9
  62. package/dist/template/implementations/view_search_input.template.js +2 -2
  63. package/dist/template/template.js +2 -2
  64. package/dist/template/zod-converter.d.ts.map +1 -1
  65. package/dist/template/zod-converter.js +17 -2
  66. package/dist/testing/fixture-manager.d.ts +2 -1
  67. package/dist/testing/fixture-manager.d.ts.map +1 -1
  68. package/dist/testing/fixture-manager.js +29 -29
  69. package/dist/types/types.d.ts +593 -68
  70. package/dist/types/types.d.ts.map +1 -1
  71. package/dist/types/types.js +113 -9
  72. package/dist/vector/chunking.d.ts +25 -0
  73. package/dist/vector/chunking.d.ts.map +1 -0
  74. package/dist/vector/chunking.js +97 -0
  75. package/dist/vector/config.d.ts +12 -0
  76. package/dist/vector/config.d.ts.map +1 -0
  77. package/dist/vector/config.js +83 -0
  78. package/dist/vector/embedding.d.ts +42 -0
  79. package/dist/vector/embedding.d.ts.map +1 -0
  80. package/dist/vector/embedding.js +147 -0
  81. package/dist/vector/types.d.ts +105 -0
  82. package/dist/vector/types.d.ts.map +1 -0
  83. package/dist/vector/types.js +5 -0
  84. package/dist/vector/vector-search.d.ts +47 -0
  85. package/dist/vector/vector-search.d.ts.map +1 -0
  86. package/dist/vector/vector-search.js +176 -0
  87. package/package.json +9 -8
  88. package/src/api/config.ts +0 -4
  89. package/src/api/sonamu.ts +21 -36
  90. package/src/bin/cli.ts +5 -5
  91. package/src/database/base-model.ts +20 -11
  92. package/src/database/code-generator.ts +6 -2
  93. package/src/database/db.ts +1 -0
  94. package/src/database/puri-wrapper.ts +22 -16
  95. package/src/database/puri.ts +150 -27
  96. package/src/database/puri.types.test-d.ts +457 -0
  97. package/src/database/puri.types.ts +231 -33
  98. package/src/database/upsert-builder.ts +43 -34
  99. package/src/entity/entity-manager.ts +2 -2
  100. package/src/entity/entity.ts +134 -44
  101. package/src/index.ts +6 -0
  102. package/src/migration/code-generation.ts +377 -174
  103. package/src/migration/migration-set.ts +22 -3
  104. package/src/migration/migrator.ts +6 -0
  105. package/src/migration/postgresql-schema-reader.ts +121 -21
  106. package/src/syncer/syncer.ts +3 -2
  107. package/src/template/implementations/generated.template.ts +51 -9
  108. package/src/template/implementations/generated_sso.template.ts +71 -2
  109. package/src/template/implementations/model.template.ts +5 -5
  110. package/src/template/implementations/model_test.template.ts +3 -3
  111. package/src/template/implementations/view_enums_dropdown.template.ts +1 -1
  112. package/src/template/implementations/view_enums_select.template.ts +1 -1
  113. package/src/template/implementations/view_form.template.ts +11 -8
  114. package/src/template/implementations/view_id_async_select.template.ts +3 -3
  115. package/src/template/implementations/view_list.template.ts +11 -8
  116. package/src/template/implementations/view_search_input.template.ts +1 -1
  117. package/src/template/template.ts +1 -1
  118. package/src/template/zod-converter.ts +20 -0
  119. package/src/testing/fixture-manager.ts +31 -30
  120. package/src/types/types.ts +226 -48
  121. package/src/vector/chunking.ts +115 -0
  122. package/src/vector/config.ts +68 -0
  123. package/src/vector/embedding.ts +193 -0
  124. package/src/vector/types.ts +122 -0
  125. package/src/vector/vector-search.ts +261 -0
  126. package/dist/template/implementations/view_enums_buttonset.template.d.ts +0 -17
  127. package/dist/template/implementations/view_enums_buttonset.template.d.ts.map +0 -1
  128. package/dist/template/implementations/view_enums_buttonset.template.js +0 -31
  129. package/dist/template/implementations/view_list_columns.template.d.ts +0 -17
  130. package/dist/template/implementations/view_list_columns.template.d.ts.map +0 -1
  131. package/dist/template/implementations/view_list_columns.template.js +0 -49
  132. package/src/template/implementations/view_enums_buttonset.template.ts +0 -34
  133. package/src/template/implementations/view_list_columns.template.ts +0 -53
package/dist/index.js CHANGED
@@ -28,7 +28,13 @@ export * from "./types/types.js";
28
28
  export * from "./utils/controller.js";
29
29
  export * from "./utils/model.js";
30
30
  export * from "./utils/type-utils.js";
31
- export * from "./utils/utils.js"; // export * from "./api/code-converters";
31
+ export * from "./utils/utils.js";
32
+ // Vector (pgvector integration)
33
+ export * from "./vector/chunking.js";
34
+ export * from "./vector/config.js";
35
+ export * from "./vector/embedding.js";
36
+ export * from "./vector/types.js";
37
+ export * from "./vector/vector-search.js"; // export * from "./api/code-converters";
32
38
  // export * from "./syncer/syncer";
33
39
 
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9hcGkvYmFzZS1mcmFtZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXBpL2NvbmZpZ1wiO1xuZXhwb3J0IHR5cGUgKiBmcm9tIFwiLi9hcGkvY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXBpL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FwaS9zb25hbXVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL2Jhc2UtbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL2RiXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9wdXJpXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9wdXJpLnR5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9wdXJpLXN1YnNldC50eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGF0YWJhc2UvcHVyaS13cmFwcGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS91cHNlcnQtYnVpbGRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXR5L2VudGl0eVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXR5L2VudGl0eS1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leGNlcHRpb25zL2Vycm9yLWhhbmRsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4Y2VwdGlvbnMvc28tZXhjZXB0aW9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsZS1zdG9yYWdlL2RyaXZlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWlncmF0aW9uL21pZ3JhdGlvbi1zZXRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pZ3JhdGlvbi9taWdyYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWlncmF0aW9uL3Bvc3RncmVzcWwtc2NoZW1hLXJlYWRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWlncmF0aW9uL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uYWl0ZS9uYWl0ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbmFpdGUvbmFpdGUtcmVwb3J0ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0cmVhbS9zc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlbXBsYXRlL3RlbXBsYXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZW1wbGF0ZS90ZW1wbGF0ZS1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXN0aW5nL2ZpeHR1cmUtbWFuYWdlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXMvdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzL2NvbnRyb2xsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzL21vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlscy90eXBlLXV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlscy91dGlsc1wiO1xuXG4vLyBleHBvcnQgKiBmcm9tIFwiLi9hcGkvY29kZS1jb252ZXJ0ZXJzXCI7XG4vLyBleHBvcnQgKiBmcm9tIFwiLi9zeW5jZXIvc3luY2VyXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBbUI7QUFDakMsY0FBYyxrQkFBZTtBQUU3QixjQUFjLHNCQUFtQjtBQUNqQyxjQUFjLGtCQUFlO0FBQzdCLGNBQWMsMkJBQXdCO0FBQ3RDLGNBQWMsbUJBQWdCO0FBQzlCLGNBQWMscUJBQWtCO0FBQ2hDLGNBQWMsMkJBQXdCO0FBQ3RDLGNBQWMsa0NBQStCO0FBQzdDLGNBQWMsNkJBQTBCO0FBQ3hDLGNBQWMsK0JBQTRCO0FBQzFDLGNBQWMscUJBQWtCO0FBQ2hDLGNBQWMsNkJBQTBCO0FBQ3hDLGNBQWMsZ0NBQTZCO0FBQzNDLGNBQWMsZ0NBQTZCO0FBQzNDLGNBQWMsMkJBQXdCO0FBQ3RDLGNBQWMsK0JBQTRCO0FBQzFDLGNBQWMsMEJBQXVCO0FBQ3JDLGNBQWMsMENBQXVDO0FBQ3JELGNBQWMsdUJBQW9CO0FBQ2xDLGNBQWMsbUJBQWdCO0FBQzlCLGNBQWMsNEJBQXlCO0FBQ3ZDLGNBQWMsa0JBQWU7QUFDN0IsY0FBYyx5QkFBc0I7QUFDcEMsY0FBYyxpQ0FBOEI7QUFDNUMsY0FBYywrQkFBNEI7QUFDMUMsY0FBYyxtQkFBZ0I7QUFDOUIsY0FBYyx3QkFBcUI7QUFDbkMsY0FBYyxtQkFBZ0I7QUFDOUIsY0FBYyx3QkFBcUI7QUFDbkMsY0FBYyxtQkFBZ0IsQ0FFOUIseUNBQXlDO0NBQ3pDLG1DQUFtQyJ9
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9hcGkvYmFzZS1mcmFtZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXBpL2NvbmZpZ1wiO1xuZXhwb3J0IHR5cGUgKiBmcm9tIFwiLi9hcGkvY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXBpL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FwaS9zb25hbXVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL2Jhc2UtbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlL2RiXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9wdXJpXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9wdXJpLnR5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS9wdXJpLXN1YnNldC50eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGF0YWJhc2UvcHVyaS13cmFwcGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS91cHNlcnQtYnVpbGRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXR5L2VudGl0eVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXR5L2VudGl0eS1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leGNlcHRpb25zL2Vycm9yLWhhbmRsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4Y2VwdGlvbnMvc28tZXhjZXB0aW9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsZS1zdG9yYWdlL2RyaXZlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWlncmF0aW9uL21pZ3JhdGlvbi1zZXRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pZ3JhdGlvbi9taWdyYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWlncmF0aW9uL3Bvc3RncmVzcWwtc2NoZW1hLXJlYWRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWlncmF0aW9uL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uYWl0ZS9uYWl0ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbmFpdGUvbmFpdGUtcmVwb3J0ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0cmVhbS9zc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlbXBsYXRlL3RlbXBsYXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZW1wbGF0ZS90ZW1wbGF0ZS1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXN0aW5nL2ZpeHR1cmUtbWFuYWdlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXMvdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzL2NvbnRyb2xsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzL21vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlscy90eXBlLXV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlscy91dGlsc1wiO1xuLy8gVmVjdG9yIChwZ3ZlY3RvciBpbnRlZ3JhdGlvbilcbmV4cG9ydCAqIGZyb20gXCIuL3ZlY3Rvci9jaHVua2luZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVjdG9yL2NvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVjdG9yL2VtYmVkZGluZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVjdG9yL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92ZWN0b3IvdmVjdG9yLXNlYXJjaFwiO1xuXG4vLyBleHBvcnQgKiBmcm9tIFwiLi9hcGkvY29kZS1jb252ZXJ0ZXJzXCI7XG4vLyBleHBvcnQgKiBmcm9tIFwiLi9zeW5jZXIvc3luY2VyXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBbUI7QUFDakMsY0FBYyxrQkFBZTtBQUU3QixjQUFjLHNCQUFtQjtBQUNqQyxjQUFjLGtCQUFlO0FBQzdCLGNBQWMsMkJBQXdCO0FBQ3RDLGNBQWMsbUJBQWdCO0FBQzlCLGNBQWMscUJBQWtCO0FBQ2hDLGNBQWMsMkJBQXdCO0FBQ3RDLGNBQWMsa0NBQStCO0FBQzdDLGNBQWMsNkJBQTBCO0FBQ3hDLGNBQWMsK0JBQTRCO0FBQzFDLGNBQWMscUJBQWtCO0FBQ2hDLGNBQWMsNkJBQTBCO0FBQ3hDLGNBQWMsZ0NBQTZCO0FBQzNDLGNBQWMsZ0NBQTZCO0FBQzNDLGNBQWMsMkJBQXdCO0FBQ3RDLGNBQWMsK0JBQTRCO0FBQzFDLGNBQWMsMEJBQXVCO0FBQ3JDLGNBQWMsMENBQXVDO0FBQ3JELGNBQWMsdUJBQW9CO0FBQ2xDLGNBQWMsbUJBQWdCO0FBQzlCLGNBQWMsNEJBQXlCO0FBQ3ZDLGNBQWMsa0JBQWU7QUFDN0IsY0FBYyx5QkFBc0I7QUFDcEMsY0FBYyxpQ0FBOEI7QUFDNUMsY0FBYywrQkFBNEI7QUFDMUMsY0FBYyxtQkFBZ0I7QUFDOUIsY0FBYyx3QkFBcUI7QUFDbkMsY0FBYyxtQkFBZ0I7QUFDOUIsY0FBYyx3QkFBcUI7QUFDbkMsY0FBYyxtQkFBZ0I7QUFDOUIsZ0NBQWdDO0FBQ2hDLGNBQWMsdUJBQW9CO0FBQ2xDLGNBQWMscUJBQWtCO0FBQ2hDLGNBQWMsd0JBQXFCO0FBQ25DLGNBQWMsb0JBQWlCO0FBQy9CLGNBQWMsNEJBQXlCLENBRXZDLHlDQUF5QztDQUN6QyxtQ0FBbUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"code-generation.d.ts","sourceRoot":"","sources":["../../src/migration/code-generation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAIhB,YAAY,EACb,MAAM,gBAAgB,CAAC;AAgpBxB;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAS7F;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAqG7B"}
1
+ {"version":3,"file":"code-generation.d.ts","sourceRoot":"","sources":["../../src/migration/code-generation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAIhB,YAAY,EACb,MAAM,gBAAgB,CAAC;AA21BxB;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAS7F;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAqG7B"}