polyv-live-cli 1.0.2

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 (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +417 -0
  3. package/dist/commands/channel.commands.d.ts +9 -0
  4. package/dist/commands/channel.commands.d.ts.map +1 -0
  5. package/dist/commands/channel.commands.js +439 -0
  6. package/dist/commands/channel.commands.js.map +1 -0
  7. package/dist/commands/index.d.ts +3 -0
  8. package/dist/commands/index.d.ts.map +1 -0
  9. package/dist/commands/index.js +8 -0
  10. package/dist/commands/index.js.map +1 -0
  11. package/dist/commands/stream.commands.d.ts +3 -0
  12. package/dist/commands/stream.commands.d.ts.map +1 -0
  13. package/dist/commands/stream.commands.js +272 -0
  14. package/dist/commands/stream.commands.js.map +1 -0
  15. package/dist/config/auth.d.ts +11 -0
  16. package/dist/config/auth.d.ts.map +1 -0
  17. package/dist/config/auth.js +124 -0
  18. package/dist/config/auth.js.map +1 -0
  19. package/dist/config/loader.d.ts +22 -0
  20. package/dist/config/loader.d.ts.map +1 -0
  21. package/dist/config/loader.js +127 -0
  22. package/dist/config/loader.js.map +1 -0
  23. package/dist/config/manager.d.ts +20 -0
  24. package/dist/config/manager.d.ts.map +1 -0
  25. package/dist/config/manager.js +258 -0
  26. package/dist/config/manager.js.map +1 -0
  27. package/dist/config/validator.d.ts +43 -0
  28. package/dist/config/validator.d.ts.map +1 -0
  29. package/dist/config/validator.js +222 -0
  30. package/dist/config/validator.js.map +1 -0
  31. package/dist/handlers/base.handler.d.ts +15 -0
  32. package/dist/handlers/base.handler.d.ts.map +1 -0
  33. package/dist/handlers/base.handler.js +122 -0
  34. package/dist/handlers/base.handler.js.map +1 -0
  35. package/dist/handlers/channel.handler.d.ts +31 -0
  36. package/dist/handlers/channel.handler.d.ts.map +1 -0
  37. package/dist/handlers/channel.handler.js +690 -0
  38. package/dist/handlers/channel.handler.js.map +1 -0
  39. package/dist/handlers/index.d.ts +4 -0
  40. package/dist/handlers/index.d.ts.map +1 -0
  41. package/dist/handlers/index.js +10 -0
  42. package/dist/handlers/index.js.map +1 -0
  43. package/dist/handlers/stream.handler.d.ts +25 -0
  44. package/dist/handlers/stream.handler.d.ts.map +1 -0
  45. package/dist/handlers/stream.handler.js +241 -0
  46. package/dist/handlers/stream.handler.js.map +1 -0
  47. package/dist/index.d.ts +4 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +342 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/services/channel.service.d.ts +25 -0
  52. package/dist/services/channel.service.d.ts.map +1 -0
  53. package/dist/services/channel.service.js +672 -0
  54. package/dist/services/channel.service.js.map +1 -0
  55. package/dist/services/index.d.ts +3 -0
  56. package/dist/services/index.d.ts.map +1 -0
  57. package/dist/services/index.js +8 -0
  58. package/dist/services/index.js.map +1 -0
  59. package/dist/services/stream.service.d.ts +29 -0
  60. package/dist/services/stream.service.d.ts.map +1 -0
  61. package/dist/services/stream.service.js +489 -0
  62. package/dist/services/stream.service.js.map +1 -0
  63. package/dist/types/auth.d.ts +31 -0
  64. package/dist/types/auth.d.ts.map +1 -0
  65. package/dist/types/auth.js +14 -0
  66. package/dist/types/auth.js.map +1 -0
  67. package/dist/types/channel.d.ts +262 -0
  68. package/dist/types/channel.d.ts.map +1 -0
  69. package/dist/types/channel.js +3 -0
  70. package/dist/types/channel.js.map +1 -0
  71. package/dist/types/config.d.ts +82 -0
  72. package/dist/types/config.d.ts.map +1 -0
  73. package/dist/types/config.js +56 -0
  74. package/dist/types/config.js.map +1 -0
  75. package/dist/types/index.d.ts +6 -0
  76. package/dist/types/index.d.ts.map +1 -0
  77. package/dist/types/index.js +22 -0
  78. package/dist/types/index.js.map +1 -0
  79. package/dist/types/signature.d.ts +22 -0
  80. package/dist/types/signature.d.ts.map +1 -0
  81. package/dist/types/signature.js +3 -0
  82. package/dist/types/signature.js.map +1 -0
  83. package/dist/types/stream.d.ts +104 -0
  84. package/dist/types/stream.d.ts.map +1 -0
  85. package/dist/types/stream.js +3 -0
  86. package/dist/types/stream.js.map +1 -0
  87. package/dist/utils/confirmation.d.ts +12 -0
  88. package/dist/utils/confirmation.d.ts.map +1 -0
  89. package/dist/utils/confirmation.js +164 -0
  90. package/dist/utils/confirmation.js.map +1 -0
  91. package/dist/utils/errors.d.ts +40 -0
  92. package/dist/utils/errors.d.ts.map +1 -0
  93. package/dist/utils/errors.js +113 -0
  94. package/dist/utils/errors.js.map +1 -0
  95. package/dist/utils/formatter.d.ts +8 -0
  96. package/dist/utils/formatter.d.ts.map +1 -0
  97. package/dist/utils/formatter.js +93 -0
  98. package/dist/utils/formatter.js.map +1 -0
  99. package/dist/utils/index.d.ts +4 -0
  100. package/dist/utils/index.d.ts.map +1 -0
  101. package/dist/utils/index.js +20 -0
  102. package/dist/utils/index.js.map +1 -0
  103. package/dist/utils/signature.d.ts +9 -0
  104. package/dist/utils/signature.d.ts.map +1 -0
  105. package/dist/utils/signature.js +77 -0
  106. package/dist/utils/signature.js.map +1 -0
  107. package/package.json +86 -0
package/dist/index.js ADDED
@@ -0,0 +1,342 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.main = main;
5
+ const commander_1 = require("commander");
6
+ const fs_1 = require("fs");
7
+ const path_1 = require("path");
8
+ const errors_1 = require("./utils/errors");
9
+ const manager_1 = require("./config/manager");
10
+ const config_1 = require("./types/config");
11
+ const channel_commands_1 = require("./commands/channel.commands");
12
+ const stream_commands_1 = require("./commands/stream.commands");
13
+ process.on('uncaughtException', errors_1.handleUncaughtError);
14
+ process.on('unhandledRejection', errors_1.handleUnhandledRejection);
15
+ function getVersion() {
16
+ try {
17
+ const packagePath = (0, path_1.join)(__dirname, '..', 'package.json');
18
+ const packageJson = JSON.parse((0, fs_1.readFileSync)(packagePath, 'utf8'));
19
+ return packageJson.version;
20
+ }
21
+ catch (error) {
22
+ console.error('Failed to read version from package.json');
23
+ return '1.0.0';
24
+ }
25
+ }
26
+ async function loadAndValidateConfig(program) {
27
+ try {
28
+ const options = program.opts();
29
+ const configResult = await manager_1.configManager.load({
30
+ cliOptions: options,
31
+ });
32
+ if (configResult.config.debug) {
33
+ console.log('Configuration loaded successfully');
34
+ console.log(`Environment: ${configResult.config.environment}`);
35
+ console.log(`Base URL: ${configResult.config.baseUrl}`);
36
+ console.log(`Timeout: ${configResult.config.timeout}ms`);
37
+ console.log(`Max Retries: ${configResult.config.maxRetries}`);
38
+ console.log(`Loaded .env files: ${configResult.loadedEnvFiles.length}`);
39
+ if (configResult.loadedEnvFiles.length > 0) {
40
+ configResult.loadedEnvFiles.forEach(file => console.log(` - ${file}`));
41
+ }
42
+ }
43
+ return configResult.config;
44
+ }
45
+ catch (error) {
46
+ const args = process.argv.slice(2);
47
+ const isHelpOrVersion = args.some(arg => arg === '--help' || arg === '-h' || arg === '--version' || arg === '-v');
48
+ if (isHelpOrVersion) {
49
+ return null;
50
+ }
51
+ throw error;
52
+ }
53
+ }
54
+ async function main() {
55
+ const program = new commander_1.Command();
56
+ program
57
+ .name('polyv-cli')
58
+ .description('CLI tool for managing PolyV live streaming services')
59
+ .version(getVersion(), '-v, --version', 'display version number')
60
+ .helpOption('-h, --help', 'display help for command');
61
+ program.configureHelp({
62
+ helpWidth: 80,
63
+ sortSubcommands: true,
64
+ });
65
+ program
66
+ .option('--appId <id>', 'PolyV application ID')
67
+ .option('--appSecret <secret>', 'PolyV application secret')
68
+ .option('--userId <id>', 'PolyV user ID (optional)');
69
+ program
70
+ .option(`--${config_1.CONFIG_CLI_OPTIONS.ENVIRONMENT} <env>`, 'environment (development|production|test)')
71
+ .option(`--${config_1.CONFIG_CLI_OPTIONS.DEBUG}`, 'enable debug mode')
72
+ .option(`--${config_1.CONFIG_CLI_OPTIONS.TIMEOUT} <ms>`, 'API timeout in milliseconds')
73
+ .option(`--${config_1.CONFIG_CLI_OPTIONS.BASE_URL} <url>`, 'API base URL')
74
+ .option(`--${config_1.CONFIG_CLI_OPTIONS.MAX_RETRIES} <num>`, 'maximum retry attempts')
75
+ .option(`--${config_1.CONFIG_CLI_OPTIONS.CONFIG_PATH} <path>`, 'custom configuration file path');
76
+ (0, channel_commands_1.registerChannelCommands)(program);
77
+ (0, stream_commands_1.registerStreamCommands)(program);
78
+ function getAllRegisteredCommands() {
79
+ const topLevel = [];
80
+ const subCommands = new Map();
81
+ if (program.commands && Array.isArray(program.commands)) {
82
+ program.commands.forEach(cmd => {
83
+ topLevel.push(cmd.name());
84
+ if (cmd.commands && cmd.commands.length > 0) {
85
+ const subCmdNames = cmd.commands.map((subcmd) => subcmd.name());
86
+ subCommands.set(cmd.name(), subCmdNames);
87
+ }
88
+ });
89
+ }
90
+ return { topLevel, subCommands };
91
+ }
92
+ program.addHelpText('after', `
93
+ Configuration:
94
+ Configuration can be provided via multiple sources with the following priority:
95
+ 1. Command line arguments (highest priority)
96
+ 2. Environment variables
97
+ 3. .env files (.env.local, .env.{environment}, .env)
98
+ 4. Default values (lowest priority)
99
+
100
+ Command line configuration:
101
+ --environment <env> Set environment (development|production|test)
102
+ --debug Enable debug mode
103
+ --timeout <ms> API timeout in milliseconds
104
+ --baseUrl <url> API base URL
105
+ --maxRetries <num> Maximum retry attempts
106
+ --config <path> Custom configuration file path
107
+
108
+ Environment variables:
109
+ POLYV_ENVIRONMENT Environment setting
110
+ POLYV_DEBUG Debug mode (true/false)
111
+ POLYV_TIMEOUT API timeout in milliseconds
112
+ POLYV_BASE_URL API base URL
113
+ POLYV_MAX_RETRIES Maximum retry attempts
114
+ POLYV_CONFIG_PATH Custom configuration file path
115
+
116
+ Authentication:
117
+ Authentication is required for all API operations.
118
+
119
+ Command line:
120
+ --appId <ID> --appSecret <SECRET> [--userId <USER_ID>]
121
+
122
+ Environment variables:
123
+ POLYV_APP_ID, POLYV_APP_SECRET, POLYV_USER_ID
124
+
125
+ Examples:
126
+ $ polyv-cli --help
127
+ $ polyv-cli --version
128
+ $ polyv-cli channel create --name "My Live Stream" --appId abc123 --appSecret xyz789
129
+ $ polyv-cli --environment development --debug channel create --name "Test Channel"
130
+ $ polyv-cli --environment development --debug --appId abc123 --appSecret xyz789
131
+
132
+ Environment file example (.env):
133
+ POLYV_ENVIRONMENT=development
134
+ POLYV_DEBUG=true
135
+ POLYV_APP_ID=abc123
136
+ POLYV_APP_SECRET=xyz789
137
+ `);
138
+ let unknownCommand = null;
139
+ program.on('command:*', (args) => {
140
+ unknownCommand = args[0] || null;
141
+ });
142
+ program.exitOverride();
143
+ const args = process.argv.slice(2);
144
+ const isHelpOrVersion = args.some(arg => arg === '--help' || arg === '-h' || arg === '--version' || arg === '-v');
145
+ if (!isHelpOrVersion && args.length > 0) {
146
+ const hasGlobalOptions = args.some(arg => arg.startsWith('--appId') || arg.startsWith('--appSecret') || arg.startsWith('--userId') ||
147
+ arg.startsWith('--environment') || arg.startsWith('--debug') || arg.startsWith('--timeout') ||
148
+ arg.startsWith('--baseUrl') || arg.startsWith('--maxRetries') || arg.startsWith('--config'));
149
+ const hasCommands = args.some(arg => arg === 'channel' || arg === 'stream' || arg === 'help');
150
+ const hasPotentialCommands = args.some(arg => {
151
+ if (arg.startsWith('-'))
152
+ return false;
153
+ const argIndex = args.indexOf(arg);
154
+ if (argIndex === 0)
155
+ return true;
156
+ const prevArg = args[argIndex - 1];
157
+ if (!prevArg)
158
+ return true;
159
+ return !['--appId', '--appSecret', '--userId', '--environment', '--timeout', '--baseUrl', '--maxRetries', '--config'].includes(prevArg);
160
+ });
161
+ if (hasGlobalOptions && !hasCommands && !hasPotentialCommands) {
162
+ let appId = '';
163
+ let appSecret = '';
164
+ let userId = '';
165
+ for (let i = 0; i < args.length; i++) {
166
+ if (args[i] === '--appId' && i + 1 < args.length) {
167
+ appId = args[i + 1] || '';
168
+ }
169
+ else if (args[i] === '--appSecret' && i + 1 < args.length) {
170
+ appSecret = args[i + 1] || '';
171
+ }
172
+ else if (args[i] === '--userId' && i + 1 < args.length) {
173
+ userId = args[i + 1] || '';
174
+ }
175
+ }
176
+ if (!appId)
177
+ appId = process.env['POLYV_APP_ID'] || '';
178
+ if (!appSecret)
179
+ appSecret = process.env['POLYV_APP_SECRET'] || '';
180
+ if (!userId)
181
+ userId = process.env['POLYV_USER_ID'] || '';
182
+ const hasAuthOptions = appId || appSecret || userId;
183
+ if (hasAuthOptions && (!appId || !appSecret)) {
184
+ console.error('Auth configuration is incomplete');
185
+ process.exit(1);
186
+ }
187
+ }
188
+ }
189
+ try {
190
+ program.parse();
191
+ }
192
+ catch (err) {
193
+ if (err.code === 'commander.help' || err.code === 'commander.helpDisplayed') {
194
+ if (isHelpOrVersion) {
195
+ process.exit(0);
196
+ }
197
+ const registeredCommands = getAllRegisteredCommands();
198
+ const allKnownCommands = new Set([
199
+ ...registeredCommands.topLevel,
200
+ ...Array.from(registeredCommands.subCommands.values()).flat(),
201
+ 'help'
202
+ ]);
203
+ const potentialUnknownCommand = args.find((arg, index) => {
204
+ if (arg.startsWith('-'))
205
+ return false;
206
+ if (allKnownCommands.has(arg))
207
+ return false;
208
+ if (index > 0) {
209
+ const prevArg = args[index - 1];
210
+ if (prevArg && prevArg.startsWith('--'))
211
+ return false;
212
+ }
213
+ return true;
214
+ });
215
+ if (potentialUnknownCommand) {
216
+ try {
217
+ await loadAndValidateConfig(program);
218
+ }
219
+ catch (configError) {
220
+ (0, errors_1.logError)(configError instanceof Error ? configError : new Error(String(configError)));
221
+ process.exit(1);
222
+ }
223
+ console.error(`Unknown command: ${potentialUnknownCommand}`);
224
+ console.error('Run --help to see available commands');
225
+ process.exit(1);
226
+ }
227
+ console.log(program.helpInformation());
228
+ process.exit(0);
229
+ }
230
+ if (err.code === 'commander.version') {
231
+ process.exit(0);
232
+ }
233
+ if (err.code && err.code.startsWith('commander.')) {
234
+ if (err.message && err.message !== '(outputHelp)') {
235
+ console.error(err.message);
236
+ }
237
+ process.exit(err.exitCode || 1);
238
+ }
239
+ throw err;
240
+ }
241
+ if (!args.length) {
242
+ console.log(program.helpInformation());
243
+ return;
244
+ }
245
+ const hasOnlyGlobalOptions = args.every(arg => {
246
+ if (arg.startsWith('-')) {
247
+ return arg.startsWith('--appId') || arg.startsWith('--appSecret') || arg.startsWith('--userId') ||
248
+ arg.startsWith('--environment') || arg.startsWith('--debug') || arg.startsWith('--timeout') ||
249
+ arg.startsWith('--baseUrl') || arg.startsWith('--maxRetries') || arg.startsWith('--config');
250
+ }
251
+ const argIndex = args.indexOf(arg);
252
+ if (argIndex > 0) {
253
+ const prevArg = args[argIndex - 1];
254
+ return prevArg === '--appId' || prevArg === '--appSecret' || prevArg === '--userId' ||
255
+ prevArg === '--environment' || prevArg === '--timeout' ||
256
+ prevArg === '--baseUrl' || prevArg === '--maxRetries' || prevArg === '--config';
257
+ }
258
+ return false;
259
+ });
260
+ if (hasOnlyGlobalOptions) {
261
+ const options = program.opts();
262
+ const hasAuthOptions = options['appId'] || options['appSecret'] || options['userId'];
263
+ if (hasAuthOptions && (!options['appId'] || !options['appSecret'])) {
264
+ console.error('Auth configuration is incomplete');
265
+ process.exit(1);
266
+ }
267
+ console.log(program.helpInformation());
268
+ return;
269
+ }
270
+ if (!unknownCommand) {
271
+ const registeredCommands = getAllRegisteredCommands();
272
+ unknownCommand = args.find((arg, index) => {
273
+ if (arg.startsWith('-'))
274
+ return false;
275
+ if (registeredCommands.topLevel.includes(arg) || arg === 'help')
276
+ return false;
277
+ for (const [parentCmd, subCmds] of registeredCommands.subCommands) {
278
+ if (subCmds.includes(arg)) {
279
+ if (index > 0 && args[index - 1] === parentCmd) {
280
+ return false;
281
+ }
282
+ return true;
283
+ }
284
+ }
285
+ if (index > 0) {
286
+ const prevArg = args[index - 1];
287
+ if (prevArg && prevArg.startsWith('--'))
288
+ return false;
289
+ }
290
+ return true;
291
+ }) || null;
292
+ }
293
+ if (unknownCommand) {
294
+ const options = program.opts();
295
+ const appId = options['appId'] || process.env['POLYV_APP_ID'];
296
+ const appSecret = options['appSecret'] || process.env['POLYV_APP_SECRET'];
297
+ const hasAnyAuthOptions = options['appId'] || options['appSecret'] || options['userId'] ||
298
+ process.env['POLYV_APP_ID'] || process.env['POLYV_APP_SECRET'] || process.env['POLYV_USER_ID'];
299
+ if (hasAnyAuthOptions && (!appId || !appSecret)) {
300
+ console.error('Auth configuration is incomplete');
301
+ process.exit(1);
302
+ }
303
+ if (!hasAnyAuthOptions) {
304
+ console.error('Auth configuration is incomplete');
305
+ process.exit(1);
306
+ }
307
+ console.error(`Unknown command: ${unknownCommand}`);
308
+ console.error('Run --help to see available commands');
309
+ process.exit(1);
310
+ }
311
+ if (!isHelpOrVersion) {
312
+ const hasActualCommands = args.some(arg => arg === 'channel' || arg === 'stream' || arg.startsWith('channel ') || arg.startsWith('stream '));
313
+ if (unknownCommand && !hasActualCommands) {
314
+ try {
315
+ const config = await loadAndValidateConfig(program);
316
+ if (!config) {
317
+ console.error(`Unknown command: ${unknownCommand}`);
318
+ console.error('Run --help to see available commands');
319
+ process.exit(1);
320
+ }
321
+ }
322
+ catch (configError) {
323
+ (0, errors_1.logError)(configError instanceof Error ? configError : new Error(String(configError)));
324
+ process.exit(1);
325
+ }
326
+ console.error(`Unknown command: ${unknownCommand}`);
327
+ console.error('Run --help to see available commands');
328
+ process.exit(1);
329
+ }
330
+ if (hasActualCommands) {
331
+ return;
332
+ }
333
+ console.log(program.helpInformation());
334
+ }
335
+ }
336
+ if (require.main === module) {
337
+ main().catch(error => {
338
+ (0, errors_1.logError)(error);
339
+ process.exit(1);
340
+ });
341
+ }
342
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { ChannelCreateRequest, ChannelModel, ChannelServiceConfig, ChannelListRequest, ChannelListItem, ChannelDetailRequest, ChannelDetailModel, ChannelUpdateRequest, ChannelUpdateResponse, ChannelDeleteResponse, ChannelBatchDeleteRequest, ChannelBatchDeleteResponse } from '../types/channel';
2
+ import { AuthConfig } from '../types/auth';
3
+ export declare class ChannelService {
4
+ private readonly httpClient;
5
+ private readonly config;
6
+ private readonly authConfig;
7
+ constructor(authConfig: AuthConfig, serviceConfig: ChannelServiceConfig);
8
+ createChannel(request: ChannelCreateRequest): Promise<ChannelModel>;
9
+ listChannels(request?: ChannelListRequest): Promise<ChannelListItem[]>;
10
+ getChannelDetail(request: ChannelDetailRequest): Promise<ChannelDetailModel>;
11
+ updateChannel(request: ChannelUpdateRequest): Promise<ChannelUpdateResponse>;
12
+ deleteChannel(channelId: string): Promise<ChannelDeleteResponse>;
13
+ batchDeleteChannels(request: ChannelBatchDeleteRequest): Promise<ChannelBatchDeleteResponse>;
14
+ private validateListRequest;
15
+ private validateChannelDetailRequest;
16
+ private validateChannelUpdateRequest;
17
+ private validateChannelId;
18
+ private validateBatchDeleteRequest;
19
+ private createHttpClient;
20
+ private validateCreateRequest;
21
+ private transformToChannelModel;
22
+ private transformAxiosError;
23
+ private sanitizeRequest;
24
+ }
25
+ //# sourceMappingURL=channel.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.service.d.ts","sourceRoot":"","sources":["../../src/services/channel.service.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,oBAAoB,EAEpB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EAEpB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EAErB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAG3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAO5B,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB;IAyBjE,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC;IAmFnE,YAAY,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAyI1E,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+G5E,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA0G5E,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAyDhE,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA6FlG,OAAO,CAAC,mBAAmB;IA6C3B,OAAO,CAAC,4BAA4B;IA2BpC,OAAO,CAAC,4BAA4B;IAmIpC,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,0BAA0B;IAsClC,OAAO,CAAC,gBAAgB;IA6DxB,OAAO,CAAC,qBAAqB;IAwE7B,OAAO,CAAC,uBAAuB;IAwC/B,OAAO,CAAC,mBAAmB;IAqD3B,OAAO,CAAC,eAAe;CAcxB"}