hazo_llm_api 1.0.3 → 1.0.4

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 (151) hide show
  1. package/README.md +4 -4
  2. package/package.json +1 -1
  3. package/techdoc.md +2 -2
  4. package/dist/components/hazo_llm_prompt_config/hazo_llm_prompt_config.d.ts +0 -16
  5. package/dist/components/hazo_llm_prompt_config/hazo_llm_prompt_config.d.ts.map +0 -1
  6. package/dist/components/hazo_llm_prompt_config/hazo_llm_prompt_config.js +0 -258
  7. package/dist/components/hazo_llm_prompt_config/hazo_llm_prompt_config.js.map +0 -1
  8. package/dist/components/hazo_llm_prompt_config/index.d.ts +0 -8
  9. package/dist/components/hazo_llm_prompt_config/index.d.ts.map +0 -1
  10. package/dist/components/hazo_llm_prompt_config/index.js +0 -7
  11. package/dist/components/hazo_llm_prompt_config/index.js.map +0 -1
  12. package/dist/components/hazo_llm_prompt_config/types.d.ts +0 -74
  13. package/dist/components/hazo_llm_prompt_config/types.d.ts.map +0 -1
  14. package/dist/components/hazo_llm_prompt_config/types.js +0 -8
  15. package/dist/components/hazo_llm_prompt_config/types.js.map +0 -1
  16. package/dist/components/index.d.ts +0 -7
  17. package/dist/components/index.d.ts.map +0 -1
  18. package/dist/components/index.js +0 -7
  19. package/dist/components/index.js.map +0 -1
  20. package/dist/components/layout/index.d.ts +0 -7
  21. package/dist/components/layout/index.d.ts.map +0 -1
  22. package/dist/components/layout/index.js +0 -7
  23. package/dist/components/layout/index.js.map +0 -1
  24. package/dist/components/layout/layout.d.ts +0 -21
  25. package/dist/components/layout/layout.d.ts.map +0 -1
  26. package/dist/components/layout/layout.js +0 -18
  27. package/dist/components/layout/layout.js.map +0 -1
  28. package/dist/index.d.ts +0 -15
  29. package/dist/index.d.ts.map +0 -1
  30. package/dist/index.js +0 -21
  31. package/dist/index.js.map +0 -1
  32. package/dist/lib/config/config_parser.d.ts +0 -131
  33. package/dist/lib/config/config_parser.d.ts.map +0 -1
  34. package/dist/lib/config/config_parser.js +0 -297
  35. package/dist/lib/config/config_parser.js.map +0 -1
  36. package/dist/lib/config/index.d.ts +0 -8
  37. package/dist/lib/config/index.d.ts.map +0 -1
  38. package/dist/lib/config/index.js +0 -22
  39. package/dist/lib/config/index.js.map +0 -1
  40. package/dist/lib/config/provider_loader.d.ts +0 -113
  41. package/dist/lib/config/provider_loader.d.ts.map +0 -1
  42. package/dist/lib/config/provider_loader.js +0 -169
  43. package/dist/lib/config/provider_loader.js.map +0 -1
  44. package/dist/lib/database/index.d.ts +0 -8
  45. package/dist/lib/database/index.d.ts.map +0 -1
  46. package/dist/lib/database/index.js +0 -10
  47. package/dist/lib/database/index.js.map +0 -1
  48. package/dist/lib/database/init_database.d.ts +0 -118
  49. package/dist/lib/database/init_database.d.ts.map +0 -1
  50. package/dist/lib/database/init_database.js +0 -524
  51. package/dist/lib/database/init_database.js.map +0 -1
  52. package/dist/lib/database/utils.d.ts +0 -50
  53. package/dist/lib/database/utils.d.ts.map +0 -1
  54. package/dist/lib/database/utils.js +0 -78
  55. package/dist/lib/database/utils.js.map +0 -1
  56. package/dist/lib/index.d.ts +0 -14
  57. package/dist/lib/index.d.ts.map +0 -1
  58. package/dist/lib/index.js +0 -17
  59. package/dist/lib/index.js.map +0 -1
  60. package/dist/lib/llm_api/hazo_llm_image_image.d.ts +0 -26
  61. package/dist/lib/llm_api/hazo_llm_image_image.d.ts.map +0 -1
  62. package/dist/lib/llm_api/hazo_llm_image_image.js +0 -94
  63. package/dist/lib/llm_api/hazo_llm_image_image.js.map +0 -1
  64. package/dist/lib/llm_api/hazo_llm_image_image_text.d.ts +0 -26
  65. package/dist/lib/llm_api/hazo_llm_image_image_text.d.ts.map +0 -1
  66. package/dist/lib/llm_api/hazo_llm_image_image_text.js +0 -222
  67. package/dist/lib/llm_api/hazo_llm_image_image_text.js.map +0 -1
  68. package/dist/lib/llm_api/hazo_llm_image_text.d.ts +0 -20
  69. package/dist/lib/llm_api/hazo_llm_image_text.d.ts.map +0 -1
  70. package/dist/lib/llm_api/hazo_llm_image_text.js +0 -78
  71. package/dist/lib/llm_api/hazo_llm_image_text.js.map +0 -1
  72. package/dist/lib/llm_api/hazo_llm_text_image.d.ts +0 -20
  73. package/dist/lib/llm_api/hazo_llm_text_image.d.ts.map +0 -1
  74. package/dist/lib/llm_api/hazo_llm_text_image.js +0 -69
  75. package/dist/lib/llm_api/hazo_llm_text_image.js.map +0 -1
  76. package/dist/lib/llm_api/hazo_llm_text_image_text.d.ts +0 -26
  77. package/dist/lib/llm_api/hazo_llm_text_image_text.d.ts.map +0 -1
  78. package/dist/lib/llm_api/hazo_llm_text_image_text.js +0 -154
  79. package/dist/lib/llm_api/hazo_llm_text_image_text.js.map +0 -1
  80. package/dist/lib/llm_api/hazo_llm_text_text.d.ts +0 -20
  81. package/dist/lib/llm_api/hazo_llm_text_text.d.ts.map +0 -1
  82. package/dist/lib/llm_api/hazo_llm_text_text.js +0 -91
  83. package/dist/lib/llm_api/hazo_llm_text_text.js.map +0 -1
  84. package/dist/lib/llm_api/index.d.ts +0 -191
  85. package/dist/lib/llm_api/index.d.ts.map +0 -1
  86. package/dist/lib/llm_api/index.js +0 -1168
  87. package/dist/lib/llm_api/index.js.map +0 -1
  88. package/dist/lib/llm_api/provider_helper.d.ts +0 -163
  89. package/dist/lib/llm_api/provider_helper.d.ts.map +0 -1
  90. package/dist/lib/llm_api/provider_helper.js +0 -346
  91. package/dist/lib/llm_api/provider_helper.js.map +0 -1
  92. package/dist/lib/llm_api/types.d.ts +0 -525
  93. package/dist/lib/llm_api/types.d.ts.map +0 -1
  94. package/dist/lib/llm_api/types.js +0 -49
  95. package/dist/lib/llm_api/types.js.map +0 -1
  96. package/dist/lib/prompts/get_prompt.d.ts +0 -50
  97. package/dist/lib/prompts/get_prompt.d.ts.map +0 -1
  98. package/dist/lib/prompts/get_prompt.js +0 -232
  99. package/dist/lib/prompts/get_prompt.js.map +0 -1
  100. package/dist/lib/prompts/index.d.ts +0 -9
  101. package/dist/lib/prompts/index.d.ts.map +0 -1
  102. package/dist/lib/prompts/index.js +0 -9
  103. package/dist/lib/prompts/index.js.map +0 -1
  104. package/dist/lib/prompts/prompt_cache.d.ts +0 -151
  105. package/dist/lib/prompts/prompt_cache.d.ts.map +0 -1
  106. package/dist/lib/prompts/prompt_cache.js +0 -276
  107. package/dist/lib/prompts/prompt_cache.js.map +0 -1
  108. package/dist/lib/prompts/substitute_variables.d.ts +0 -38
  109. package/dist/lib/prompts/substitute_variables.d.ts.map +0 -1
  110. package/dist/lib/prompts/substitute_variables.js +0 -175
  111. package/dist/lib/prompts/substitute_variables.js.map +0 -1
  112. package/dist/lib/providers/gemini/gemini_client.d.ts +0 -25
  113. package/dist/lib/providers/gemini/gemini_client.d.ts.map +0 -1
  114. package/dist/lib/providers/gemini/gemini_client.js +0 -235
  115. package/dist/lib/providers/gemini/gemini_client.js.map +0 -1
  116. package/dist/lib/providers/gemini/gemini_provider.d.ts +0 -111
  117. package/dist/lib/providers/gemini/gemini_provider.d.ts.map +0 -1
  118. package/dist/lib/providers/gemini/gemini_provider.js +0 -431
  119. package/dist/lib/providers/gemini/gemini_provider.js.map +0 -1
  120. package/dist/lib/providers/gemini/index.d.ts +0 -8
  121. package/dist/lib/providers/gemini/index.d.ts.map +0 -1
  122. package/dist/lib/providers/gemini/index.js +0 -8
  123. package/dist/lib/providers/gemini/index.js.map +0 -1
  124. package/dist/lib/providers/index.d.ts +0 -8
  125. package/dist/lib/providers/index.d.ts.map +0 -1
  126. package/dist/lib/providers/index.js +0 -8
  127. package/dist/lib/providers/index.js.map +0 -1
  128. package/dist/lib/providers/qwen/index.d.ts +0 -8
  129. package/dist/lib/providers/qwen/index.d.ts.map +0 -1
  130. package/dist/lib/providers/qwen/index.js +0 -8
  131. package/dist/lib/providers/qwen/index.js.map +0 -1
  132. package/dist/lib/providers/qwen/qwen_client.d.ts +0 -154
  133. package/dist/lib/providers/qwen/qwen_client.d.ts.map +0 -1
  134. package/dist/lib/providers/qwen/qwen_client.js +0 -1002
  135. package/dist/lib/providers/qwen/qwen_client.js.map +0 -1
  136. package/dist/lib/providers/qwen/qwen_provider.d.ts +0 -139
  137. package/dist/lib/providers/qwen/qwen_provider.d.ts.map +0 -1
  138. package/dist/lib/providers/qwen/qwen_provider.js +0 -304
  139. package/dist/lib/providers/qwen/qwen_provider.js.map +0 -1
  140. package/dist/lib/providers/registry.d.ts +0 -66
  141. package/dist/lib/providers/registry.d.ts.map +0 -1
  142. package/dist/lib/providers/registry.js +0 -158
  143. package/dist/lib/providers/registry.js.map +0 -1
  144. package/dist/lib/providers/types.d.ts +0 -145
  145. package/dist/lib/providers/types.d.ts.map +0 -1
  146. package/dist/lib/providers/types.js +0 -37
  147. package/dist/lib/providers/types.js.map +0 -1
  148. package/dist/server.d.ts +0 -26
  149. package/dist/server.d.ts.map +0 -1
  150. package/dist/server.js +0 -49
  151. package/dist/server.js.map +0 -1
@@ -1,169 +0,0 @@
1
- /**
2
- * Provider Loader Factory
3
- *
4
- * Generic factory for loading LLM providers from configuration.
5
- * Reduces duplication by providing a unified approach to provider loading.
6
- */
7
- import { find_config_file, read_config_file, parse_generation_config, parse_capabilities, load_api_key_from_env, get_api_key_env_var_name, } from './config_parser.js';
8
- // =============================================================================
9
- // Provider Registry
10
- // =============================================================================
11
- /**
12
- * Map of registered provider factories by name
13
- */
14
- const provider_factories = new Map();
15
- /**
16
- * Register a provider factory
17
- *
18
- * @param factory - Provider factory to register
19
- *
20
- * @example
21
- * ```typescript
22
- * register_provider_factory({
23
- * name: 'gemini',
24
- * config_section: 'llm_gemini',
25
- * text_param_mappings: GEMINI_PARAM_MAPPINGS,
26
- * image_param_mappings: GEMINI_PARAM_MAPPINGS,
27
- * build_config: (section, api_key, text_config, image_config, capabilities, logger) => ({
28
- * api_key,
29
- * api_url: section.api_url,
30
- * // ... other gemini-specific fields
31
- * }),
32
- * create_provider: (config) => new GeminiProvider(config),
33
- * });
34
- * ```
35
- */
36
- export function register_provider_factory(factory) {
37
- provider_factories.set(factory.name.toLowerCase(), factory);
38
- }
39
- /**
40
- * Get a registered provider factory by name
41
- *
42
- * @param name - Provider name (case-insensitive)
43
- * @returns Provider factory or undefined
44
- */
45
- export function get_provider_factory(name) {
46
- return provider_factories.get(name.toLowerCase());
47
- }
48
- /**
49
- * Get all registered provider factory names
50
- *
51
- * @returns Array of provider names
52
- */
53
- export function get_registered_factory_names() {
54
- return Array.from(provider_factories.keys());
55
- }
56
- // =============================================================================
57
- // Provider Loading
58
- // =============================================================================
59
- /**
60
- * Load a provider from config using its registered factory
61
- *
62
- * @param provider_name - Name of the provider to load
63
- * @param logger - Logger instance
64
- * @returns Provider instance or error result
65
- */
66
- export function load_provider_from_config(provider_name, logger) {
67
- const file_name = 'provider_loader.ts';
68
- const name_lower = provider_name.toLowerCase();
69
- // Get the factory for this provider
70
- const factory = provider_factories.get(name_lower);
71
- if (!factory) {
72
- return {
73
- success: false,
74
- error: `No factory registered for provider "${provider_name}". Available: ${get_registered_factory_names().join(', ')}`,
75
- };
76
- }
77
- // Find and read config file
78
- const config_path = find_config_file();
79
- if (!config_path) {
80
- logger.warn('Config file not found', {
81
- file: file_name,
82
- data: { provider: provider_name },
83
- });
84
- return {
85
- success: false,
86
- error: 'Config file hazo_llm_api_config.ini not found',
87
- };
88
- }
89
- const config = read_config_file(config_path);
90
- if (!config) {
91
- return {
92
- success: false,
93
- error: `Failed to read config file: ${config_path}`,
94
- };
95
- }
96
- // Get the provider's section
97
- const section = config[factory.config_section] || {};
98
- // Load API key from environment
99
- const api_key = load_api_key_from_env(name_lower);
100
- if (!api_key) {
101
- const env_var = get_api_key_env_var_name(name_lower);
102
- logger.error(`${env_var} not found in environment variables`, {
103
- file: file_name,
104
- data: { provider: provider_name, config_path },
105
- });
106
- return {
107
- success: false,
108
- error: `${env_var} not found in environment variables. Add it to your .env.local file.`,
109
- };
110
- }
111
- try {
112
- // Parse generation configs
113
- const text_config = parse_generation_config(section, factory.text_param_mappings, 'text_');
114
- const image_config = parse_generation_config(section, factory.image_param_mappings, 'image_');
115
- // Parse capabilities
116
- const capabilities = parse_capabilities(section.capabilities);
117
- // Build provider config
118
- const provider_config = factory.build_config(section, api_key, text_config, image_config, capabilities, logger);
119
- // Create provider instance
120
- const provider = factory.create_provider(provider_config);
121
- logger.info(`Loaded ${provider_name} provider`, {
122
- file: file_name,
123
- data: {
124
- capabilities: Array.from(provider.get_capabilities()),
125
- },
126
- });
127
- return { success: true, provider };
128
- }
129
- catch (error) {
130
- const error_message = error instanceof Error ? error.message : String(error);
131
- logger.error(`Failed to load ${provider_name} provider`, {
132
- file: file_name,
133
- data: { error: error_message, config_path },
134
- });
135
- return {
136
- success: false,
137
- error: `Failed to create ${provider_name} provider: ${error_message}`,
138
- };
139
- }
140
- }
141
- /**
142
- * Load all enabled providers from config
143
- *
144
- * @param enabled_llms - List of enabled LLM names
145
- * @param logger - Logger instance
146
- * @returns Map of successfully loaded providers
147
- */
148
- export function load_all_providers(enabled_llms, logger) {
149
- const file_name = 'provider_loader.ts';
150
- const providers = new Map();
151
- for (const llm_name of enabled_llms) {
152
- const result = load_provider_from_config(llm_name, logger);
153
- if (result.success) {
154
- providers.set(llm_name.toLowerCase(), result.provider);
155
- }
156
- else {
157
- logger.warn(`${llm_name} provider is enabled but failed to load`, {
158
- file: file_name,
159
- data: {
160
- llm_name,
161
- error: result.error,
162
- hint: `Check ${get_api_key_env_var_name(llm_name)} in environment variables and [llm_${llm_name.toLowerCase()}] section in config.`,
163
- },
164
- });
165
- }
166
- }
167
- return providers;
168
- }
169
- //# sourceMappingURL=provider_loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider_loader.js","sourceRoot":"","sources":["../../../src/lib/config/provider_loader.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Database Module Exports
3
- *
4
- * Export all database-related functions from this module
5
- */
6
- export { initialize_database, get_database, close_database, insert_prompt, update_prompt, delete_prompt, get_default_sqlite_path, expand_path, resolve_sqlite_path, } from './init_database.js';
7
- export { row_to_prompt_record, PROMPT_COLUMNS, PROMPT_COLUMN_NAMES, get_prompt_select_clause, } from './utils.js';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/database/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EAEb,uBAAuB,EACvB,WAAW,EACX,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Database Module Exports
3
- *
4
- * Export all database-related functions from this module
5
- */
6
- export { initialize_database, get_database, close_database, insert_prompt, update_prompt, delete_prompt,
7
- // Path helpers
8
- get_default_sqlite_path, expand_path, resolve_sqlite_path, } from './init_database.js';
9
- export { row_to_prompt_record, PROMPT_COLUMNS, PROMPT_COLUMN_NAMES, get_prompt_select_clause, } from './utils.js';
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/database/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa;AACb,eAAe;AACf,uBAAuB,EACvB,WAAW,EACX,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
@@ -1,118 +0,0 @@
1
- /**
2
- * Database Initialization Module
3
- *
4
- * Initializes and manages the SQLite database for prompt storage.
5
- * Uses sql.js for database operations (pure JavaScript SQLite).
6
- * Creates the prompts_library table if it doesn't exist.
7
- */
8
- import { Database as SqlJsDatabase } from 'sql.js';
9
- import type { Logger, PromptRecord } from '../llm_api/types.js';
10
- /**
11
- * Get the default SQLite database path
12
- * Returns an absolute path relative to the current working directory
13
- *
14
- * @returns Default database path: "{process.cwd()}/prompt_library.sqlite"
15
- *
16
- * @example
17
- * ```typescript
18
- * import { get_default_sqlite_path } from 'hazo_llm_api/server';
19
- *
20
- * const path = get_default_sqlite_path();
21
- * // Returns: "/path/to/your/app/prompt_library.sqlite"
22
- * ```
23
- */
24
- export declare function get_default_sqlite_path(): string;
25
- /**
26
- * Expand tilde (~) in path to user's home directory
27
- * Also supports environment variables in the format ${VAR_NAME}
28
- *
29
- * @param file_path - Path that may contain ~ or environment variables
30
- * @returns Expanded path
31
- *
32
- * @example
33
- * ```typescript
34
- * import { expand_path } from 'hazo_llm_api/server';
35
- *
36
- * expand_path('~/data/prompts.db');
37
- * // Returns: "/Users/username/data/prompts.db"
38
- *
39
- * expand_path('${HOME}/data/prompts.db');
40
- * // Returns: "/Users/username/data/prompts.db"
41
- * ```
42
- */
43
- export declare function expand_path(file_path: string): string;
44
- /**
45
- * Resolve a database path to an absolute path
46
- * Handles tilde expansion, environment variables, and relative paths
47
- *
48
- * @param sqlite_path - Path to resolve (can be relative, absolute, or contain ~/$VAR)
49
- * @returns Absolute path to the database file
50
- *
51
- * @example
52
- * ```typescript
53
- * import { resolve_sqlite_path } from 'hazo_llm_api/server';
54
- *
55
- * resolve_sqlite_path('prompt_library.sqlite');
56
- * // Returns: "/path/to/cwd/prompt_library.sqlite"
57
- *
58
- * resolve_sqlite_path('~/data/prompts.db');
59
- * // Returns: "/Users/username/data/prompts.db"
60
- *
61
- * resolve_sqlite_path('/absolute/path/prompts.db');
62
- * // Returns: "/absolute/path/prompts.db"
63
- * ```
64
- */
65
- export declare function resolve_sqlite_path(sqlite_path: string): string;
66
- /**
67
- * Initialize the SQLite database connection and create tables if needed
68
- * @param sqlite_path - Path to the SQLite database file (relative to app root)
69
- * @param logger - Logger instance for logging operations
70
- * @returns Database instance
71
- */
72
- export declare function initialize_database(sqlite_path: string, logger: Logger): Promise<SqlJsDatabase>;
73
- /**
74
- * Initialize database synchronously (for use in already async contexts)
75
- * Note: This should only be called after initialize_database has been called once
76
- */
77
- export declare function initialize_database_sync(sqlite_path: string, logger: Logger): SqlJsDatabase | null;
78
- /**
79
- * Get the current database instance
80
- * @returns Database instance or null if not initialized
81
- */
82
- export declare function get_database(): SqlJsDatabase | null;
83
- /**
84
- * Save the database to file
85
- * @param logger - Logger instance
86
- */
87
- export declare function save_database(logger: Logger): void;
88
- /**
89
- * Close the database connection
90
- * @param logger - Logger instance
91
- */
92
- export declare function close_database(logger: Logger): void;
93
- /**
94
- * Insert a new prompt into the database
95
- * @param db - Database instance
96
- * @param prompt - Prompt data to insert
97
- * @param logger - Logger instance
98
- * @returns The inserted prompt record
99
- */
100
- export declare function insert_prompt(db: SqlJsDatabase, prompt: Omit<PromptRecord, 'uuid' | 'created_at' | 'changed_by'>, logger: Logger): PromptRecord;
101
- /**
102
- * Update an existing prompt in the database
103
- * @param db - Database instance
104
- * @param uuid - UUID of the prompt to update
105
- * @param updates - Fields to update
106
- * @param logger - Logger instance
107
- * @returns The updated prompt record
108
- */
109
- export declare function update_prompt(db: SqlJsDatabase, uuid: string, updates: Partial<Omit<PromptRecord, 'uuid' | 'created_at' | 'changed_by'>>, logger: Logger): PromptRecord | null;
110
- /**
111
- * Delete a prompt from the database
112
- * @param db - Database instance
113
- * @param uuid - UUID of the prompt to delete
114
- * @param logger - Logger instance
115
- * @returns True if deleted successfully, false if not found
116
- */
117
- export declare function delete_prompt(db: SqlJsDatabase, uuid: string, logger: Logger): boolean;
118
- //# sourceMappingURL=init_database.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init_database.d.ts","sourceRoot":"","sources":["../../../src/lib/database/init_database.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAkB,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,QAAQ,CAAC;AAK9D,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAYhE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAmBrD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAQ/D;AAcD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAgFxB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,aAAa,GAAG,IAAI,CAatB;AAwDD;;;GAGG;AACH,wBAAgB,YAAY,IAAI,aAAa,GAAG,IAAI,CAEnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAoClD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAyBnD;AAMD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,aAAa,EACjB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,CAAC,EAChE,MAAM,EAAE,MAAM,GACb,YAAY,CA+Dd;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC,EAC1E,MAAM,EAAE,MAAM,GACb,YAAY,GAAG,IAAI,CA+FrB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAgDT"}