@minecraft-docker/mcctl 2.3.5 → 2.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.
@@ -0,0 +1,197 @@
1
+ import { existsSync, readFileSync, writeFileSync, copyFileSync, mkdirSync } from 'node:fs';
2
+ import { join, dirname } from 'node:path';
3
+ import { Paths, Config, log, colors } from '@minecraft-docker/shared';
4
+ import { diffEnvFiles, applyEnvDiff } from '../lib/env-diff.js';
5
+ import * as prompts from '@clack/prompts';
6
+ /**
7
+ * Get CLI package version from package.json
8
+ */
9
+ function getCliVersion() {
10
+ try {
11
+ const packageJsonPath = new URL('../../package.json', import.meta.url);
12
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
13
+ return packageJson.version;
14
+ }
15
+ catch {
16
+ return '0.0.0';
17
+ }
18
+ }
19
+ /**
20
+ * Template files to sync to servers/_template
21
+ */
22
+ const TEMPLATE_FILES = [
23
+ 'servers/_template/docker-compose.yml',
24
+ 'servers/_template/config.env',
25
+ ];
26
+ /**
27
+ * Execute the upgrade command.
28
+ *
29
+ * Flow:
30
+ * 1. Check platform initialization
31
+ * 2. Compare templateVersion with CLI version
32
+ * 3. Diff .env template against user .env
33
+ * 4. Apply new variables (interactive or non-interactive)
34
+ * 5. Update servers/_template files
35
+ * 6. Update templateVersion in config
36
+ */
37
+ export async function upgradeCommand(options) {
38
+ const paths = new Paths(options.root);
39
+ const config = new Config(paths);
40
+ const cliVersion = getCliVersion();
41
+ // Check initialization
42
+ if (!paths.isInitialized()) {
43
+ log.error('Platform not initialized. Run: mcctl init');
44
+ return 1;
45
+ }
46
+ prompts.intro(colors.bold(`mcctl upgrade (v${cliVersion})`));
47
+ // Load config (may not exist for older platforms)
48
+ let mcctlConfig = config.load();
49
+ const currentTemplateVersion = mcctlConfig?.templateVersion ?? 'unknown';
50
+ prompts.log.info(`Current template version: ${colors.cyan(currentTemplateVersion)}`);
51
+ prompts.log.info(`CLI version: ${colors.cyan(cliVersion)}`);
52
+ // Track changes made
53
+ let envChangesApplied = false;
54
+ let templateFilesUpdated = 0;
55
+ // --- Step 1: .env migration ---
56
+ const envResult = await migrateEnvFile(paths, options);
57
+ if (envResult.error) {
58
+ return 1;
59
+ }
60
+ envChangesApplied = envResult.changed;
61
+ // --- Step 2: Update servers/_template files ---
62
+ templateFilesUpdated = updateTemplateFiles(paths, options);
63
+ // --- Step 3: Update templateVersion in config ---
64
+ if (!options.dryRun) {
65
+ const updatedConfig = mcctlConfig
66
+ ? { ...mcctlConfig, templateVersion: cliVersion }
67
+ : {
68
+ version: cliVersion,
69
+ initialized: new Date().toISOString(),
70
+ dataDir: paths.root,
71
+ defaultType: 'PAPER',
72
+ defaultVersion: '1.21.1',
73
+ autoStart: true,
74
+ avahiEnabled: true,
75
+ templateVersion: cliVersion,
76
+ };
77
+ config.save(updatedConfig);
78
+ }
79
+ // --- Summary ---
80
+ printSummary(envChangesApplied, templateFilesUpdated, cliVersion, options.dryRun);
81
+ return 0;
82
+ }
83
+ /**
84
+ * Migrate .env file by comparing template with user's file.
85
+ */
86
+ async function migrateEnvFile(paths, options) {
87
+ const templateEnvPath = join(paths.templates, '.env.example');
88
+ const userEnvPath = paths.envFile;
89
+ if (!existsSync(templateEnvPath)) {
90
+ prompts.log.warn('Template .env.example not found. Skipping .env migration.');
91
+ return { changed: false, error: false };
92
+ }
93
+ if (!existsSync(userEnvPath)) {
94
+ prompts.log.warn('User .env file not found. Skipping .env migration.');
95
+ return { changed: false, error: false };
96
+ }
97
+ const templateContent = readFileSync(templateEnvPath, 'utf-8');
98
+ const userContent = readFileSync(userEnvPath, 'utf-8');
99
+ const diff = diffEnvFiles(templateContent, userContent);
100
+ const totalNew = diff.newVars.length + diff.newCommentedVars.length;
101
+ if (totalNew === 0) {
102
+ prompts.log.success('No new environment variables found. .env is up to date.');
103
+ return { changed: false, error: false };
104
+ }
105
+ // Report findings
106
+ prompts.log.step(`Found ${colors.yellow(String(totalNew))} new variable(s) in template:`);
107
+ for (const v of diff.newVars) {
108
+ const sectionHint = v.section ? ` (${v.section})` : '';
109
+ console.log(` ${colors.green('+')} ${colors.bold(v.key)}=${colors.dim(v.defaultValue)}${colors.dim(sectionHint)}`);
110
+ }
111
+ for (const v of diff.newCommentedVars) {
112
+ const sectionHint = v.section ? ` (${v.section})` : '';
113
+ console.log(` ${colors.dim('+')} ${colors.dim(`# ${v.key}=${v.defaultValue}`)}${colors.dim(sectionHint)}`);
114
+ }
115
+ console.log('');
116
+ // Dry-run: just show, don't write
117
+ if (options.dryRun) {
118
+ prompts.log.info('Dry run mode - no changes will be made.');
119
+ return { changed: false, error: false };
120
+ }
121
+ // Collect values for new active variables
122
+ const values = new Map();
123
+ if (!options.nonInteractive && diff.newVars.length > 0) {
124
+ prompts.log.info('Enter values for new variables (press Enter for default):');
125
+ console.log('');
126
+ for (const v of diff.newVars) {
127
+ const result = await prompts.text({
128
+ message: `${v.key}`,
129
+ placeholder: v.defaultValue,
130
+ defaultValue: v.defaultValue,
131
+ });
132
+ if (prompts.isCancel(result)) {
133
+ prompts.log.warn('Cancelled. No changes made.');
134
+ return { changed: false, error: false };
135
+ }
136
+ values.set(v.key, result);
137
+ }
138
+ }
139
+ // Apply diff
140
+ const updatedContent = applyEnvDiff(userContent, diff, values);
141
+ writeFileSync(userEnvPath, updatedContent, 'utf-8');
142
+ prompts.log.success(`.env updated with ${totalNew} new variable(s).`);
143
+ return { changed: true, error: false };
144
+ }
145
+ /**
146
+ * Update servers/_template files from bundled templates.
147
+ */
148
+ function updateTemplateFiles(paths, options) {
149
+ let updated = 0;
150
+ for (const relPath of TEMPLATE_FILES) {
151
+ const srcPath = join(paths.templates, relPath);
152
+ const destPath = join(paths.root, relPath);
153
+ if (!existsSync(srcPath)) {
154
+ continue;
155
+ }
156
+ if (options.dryRun) {
157
+ prompts.log.info(`Would update: ${relPath}`);
158
+ updated++;
159
+ continue;
160
+ }
161
+ // Ensure destination directory exists
162
+ const destDir = dirname(destPath);
163
+ if (!existsSync(destDir)) {
164
+ mkdirSync(destDir, { recursive: true });
165
+ }
166
+ copyFileSync(srcPath, destPath);
167
+ updated++;
168
+ }
169
+ if (updated > 0) {
170
+ const verb = options.dryRun ? 'Would update' : 'Updated';
171
+ prompts.log.success(`${verb} ${updated} template file(s) in servers/_template.`);
172
+ }
173
+ return updated;
174
+ }
175
+ /**
176
+ * Print upgrade summary.
177
+ */
178
+ function printSummary(envChanged, templateFilesUpdated, newVersion, dryRun) {
179
+ console.log('');
180
+ if (dryRun) {
181
+ prompts.outro(colors.yellow('Dry run complete. No files were modified.'));
182
+ return;
183
+ }
184
+ const changes = [];
185
+ if (envChanged)
186
+ changes.push('.env updated with new variables');
187
+ if (templateFilesUpdated > 0)
188
+ changes.push(`${templateFilesUpdated} template file(s) updated`);
189
+ changes.push(`templateVersion set to ${newVersion}`);
190
+ if (changes.length > 0) {
191
+ prompts.outro(colors.green(`Upgrade complete: ${changes.join(', ')}.`));
192
+ }
193
+ else {
194
+ prompts.outro(colors.green('Everything is up to date.'));
195
+ }
196
+ }
197
+ //# sourceMappingURL=upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { Paths, log, colors, AuditActionEnum } from '@minecraft-docker/shared';
3
- import { initCommand, statusCommand, createCommand, deleteCommand, worldCommand, backupCommand, execCommand, rconCommand, configCommand, opCommand, serverBackupCommand, serverRestoreCommand, whitelistCommand, banCommand, kickCommand, playerOnlineCommand, playerCommand, migrateCommand, modCommand, updateCommand, consoleInitCommand, consoleServiceCommand, consoleUserCommand, consoleApiCommand, consoleRemoveCommand, auditCommand, playitCommand, } from './commands/index.js';
3
+ import { initCommand, statusCommand, createCommand, deleteCommand, worldCommand, backupCommand, execCommand, rconCommand, configCommand, opCommand, serverBackupCommand, serverRestoreCommand, whitelistCommand, banCommand, kickCommand, playerOnlineCommand, playerCommand, migrateCommand, modCommand, updateCommand, consoleInitCommand, consoleServiceCommand, consoleUserCommand, consoleApiCommand, consoleRemoveCommand, auditCommand, playitCommand, upgradeCommand, } from './commands/index.js';
4
4
  import { ShellExecutor } from './lib/shell.js';
5
5
  import { checkForUpdates } from './lib/update-checker.js';
6
6
  import { readFileSync } from 'fs';
@@ -205,6 +205,11 @@ ${colors.cyan('Self Update:')}
205
205
  ${colors.bold('update')} --yes Auto-confirm update
206
206
  ${colors.bold('update')} --all Update CLI and all installed services
207
207
 
208
+ ${colors.cyan('Platform Upgrade:')}
209
+ ${colors.bold('upgrade')} Sync .env and templates with latest CLI version
210
+ ${colors.bold('upgrade')} --dry-run Preview changes without applying
211
+ ${colors.bold('upgrade')} --non-interactive Apply defaults without prompting
212
+
208
213
  ${colors.cyan('playit.gg Management:')}
209
214
  ${colors.bold('playit start')} Start playit-agent container
210
215
  ${colors.bold('playit stop')} Stop playit-agent container
@@ -310,7 +315,7 @@ function parseArgs(args) {
310
315
  const key = arg.slice(2);
311
316
  const nextArg = args[i + 1];
312
317
  // Boolean-only flags (never take a value)
313
- const booleanOnlyFlags = ['all', 'json', 'help', 'version', 'force', 'yes', 'follow', 'detail', 'watch', 'offline', 'no-start', 'no-whitelist', 'list', 'dry-run', 'api', 'console', 'build', 'no-build', 'keep-config', 'check', 'reconfigure', 'no-playit', 'no-playit-domain'];
318
+ const booleanOnlyFlags = ['all', 'json', 'help', 'version', 'force', 'yes', 'follow', 'detail', 'watch', 'offline', 'no-start', 'no-whitelist', 'list', 'dry-run', 'api', 'console', 'build', 'no-build', 'keep-config', 'check', 'reconfigure', 'no-playit', 'no-playit-domain', 'remove', 'non-interactive', 'upgrade'];
314
319
  if (booleanOnlyFlags.includes(key)) {
315
320
  result.flags[key] = true;
316
321
  i++;
@@ -409,6 +414,7 @@ async function main() {
409
414
  skipValidation: flags['skip-validation'] === true,
410
415
  skipDocker: flags['skip-docker'] === true,
411
416
  reconfigure: flags['reconfigure'] === true,
417
+ upgrade: flags['upgrade'] === true,
412
418
  playitKey: flags['playit-key'],
413
419
  noPlayit: flags['no-playit'] === true,
414
420
  });
@@ -865,13 +871,23 @@ async function main() {
865
871
  });
866
872
  break;
867
873
  }
874
+ case 'upgrade': {
875
+ exitCode = await upgradeCommand({
876
+ root: rootDir,
877
+ dryRun: flags['dry-run'] === true,
878
+ nonInteractive: flags['non-interactive'] === true,
879
+ });
880
+ break;
881
+ }
868
882
  case 'playit': {
869
- // playit command: playit <start|stop|status|setup>
883
+ // playit command: playit <start|stop|status|setup|domain>
870
884
  // subCommand = action
871
885
  exitCode = await playitCommand({
872
886
  root: rootDir,
873
887
  subCommand: subCommand,
874
888
  json: flags['json'] === true,
889
+ domainArgs: positional,
890
+ remove: flags['remove'] === true,
875
891
  });
876
892
  break;
877
893
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,iCAAiC;AACjC,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACvE,OAAO,WAAW,CAAC,OAAO,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAE7B;;GAEG;AACH,KAAK,UAAU,oBAAoB,CACjC,UAA8B,EAC9B,UAAoB,EACpB,KAAuC,EACvC,OAA2B;IAE3B,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,kBAAkB,CAAC;gBACxB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;gBAC9B,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBAClF,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;aAC/F,CAAC,CAAC;QACL,KAAK,SAAS;YACZ,OAAO,qBAAqB,CAAC;gBAC3B,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,UAAU,CAAC,CAAC,CAAiE;gBACzF,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;gBAC9B,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI;gBACtC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI;gBAChC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBAC5B,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBAClF,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC9F,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;gBAC9B,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI;gBACnC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;aAC/B,CAAC,CAAC;QACL,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,8BAA8B;YAC9B,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,8BAA8B;YAC9B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,QAAQ;YACX,OAAO,oBAAoB,CAAC;gBAC1B,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;gBAC9B,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI;aAC1C,CAAC,CAAC;QACL;YACE,GAAG,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CAAC;EACZ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;;EAEpB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;;;EAGrB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IACtB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;;;;IAInB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;;EAEvB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;;;;;EAKhC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACjB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IAClB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;;EAErB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;;;;;;EAMhC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;;;;;;;EAOjC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;;;;;;;;EAQ3B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAC9B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IACzB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IACxB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;IAC3B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;;EAE7B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IACtB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IACvB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IACzB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;;EAE5B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;;;;;;EAM/B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IACtB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IACvB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IACzB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;;EAE5B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;;;;;;EAM/B,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;;;;;EAKjC,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;IAC3B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;;EAE7B,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;IACpC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;;EAE5B,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;;EAE/B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;;EAE/B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IACvB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;;EAE/B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;IACzB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;;EAEvB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IACtB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IACtB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;;EAExB,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;IAC3B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;;EAE7B,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;;;;IAI3B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;IAC3B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;;IAE9B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;;;IAG7B,MAAM,CAAC,GAAG,CAAC,kEAAkE,CAAC;;EAEhF,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;;;;;;;EAO/B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;EAe9B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;;;;;EAK9B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;;;;;;;EAO9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BzB,CAAC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,IAAc;IAM/B,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,SAA+B;QAC3C,UAAU,EAAE,EAAc;QAC1B,KAAK,EAAE,EAAsC;KAC9C,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,4BAA4B;IAC5B,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QAErB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE5B,0CAA0C;YAC1C,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAE1T,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBACzB,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;gBAC5B,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBACzB,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE5B,gCAAgC;YAChC,MAAM,OAAO,GAA2B;gBACtC,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,SAAS;gBACZ,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,WAAW;gBACd,CAAC,EAAE,OAAO;gBACV,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,OAAO;gBACV,CAAC,EAAE,SAAS;gBACZ,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,OAAO;aACX,CAAC;YAEF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;YAEpC,2BAA2B;YAC3B,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAE7D,IAAI,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;gBAC7B,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;gBAChC,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;gBAC7B,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;YACvB,CAAC;iBAAM,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5K,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAE1D,sBAAsB;IACtB,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACxC,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,yCAAyC;IACzC,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAuB,CAAC;IACpD,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAuB,CAAC;IAClE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IAEzD,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,IAAI,CAAC;QACH,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,MAAM;gBACT,QAAQ,GAAG,MAAM,WAAW,CAAC;oBAC3B,IAAI,EAAE,OAAO;oBACb,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,IAAI;oBACjD,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI;oBACzC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI;oBAC1C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI;oBAClC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAuB;oBACpD,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI;iBACtC,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,QAAQ;gBACX,QAAQ,GAAG,MAAM,aAAa,CAAC;oBAC7B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;oBAC5B,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI;oBAChC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;oBAC9B,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;oBACnF,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;iBAC1B,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBACvD,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR,CAAC;gBACD,QAAQ,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBACvD,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR,CAAC;gBACD,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,qCAAqC;gBACrC,oDAAoD;gBACpD,QAAQ,GAAG,MAAM,aAAa,CAAC;oBAC7B,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;oBACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;oBACzC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAuB;oBAC/C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;oBACzC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAuB;oBAClD,SAAS,EAAE,KAAK,CAAC,OAAO,CAAuB;oBAC/C,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI;oBACnC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI;oBAC3C,SAAS,EAAE,KAAK,CAAC,WAAW,CAAuB;oBACnD,YAAY;oBACZ,OAAO,EAAE,KAAK,CAAC,SAAS,CAAuB;oBAC/C,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAuB;oBAC9D,SAAS,EAAE,KAAK,CAAC,YAAY,CAAuB;oBACpD,YAAY,EAAE,KAAK,CAAC,eAAe,CAAuB;oBAC1D,cAAc,EAAE,KAAK,CAAC,kBAAkB,CAAC,KAAK,IAAI;iBACnD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,qCAAqC;gBACrC,0EAA0E;gBAC1E,QAAQ,GAAG,MAAM,aAAa,CAAC;oBAC7B,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;oBACnB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;oBACvD,YAAY;iBACb,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBACvD,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR,CAAC;gBAED,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjB,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;oBAC3C,IAAI,KAAK,CAAC,MAAM,CAAC;wBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5C,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1C,CAAC;gBAED,YAAY;gBACZ,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC1D,MAAM,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC;oBAC/B,MAAM,EAAE,eAAe,CAAC,YAAY;oBACpC,KAAK,EAAE,WAAW;oBAClB,UAAU,EAAE,QAAQ;oBACpB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK;oBAClC,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBAC9C,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBACvD,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR,CAAC;gBAED,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjB,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;oBAC3C,IAAI,KAAK,CAAC,MAAM,CAAC;wBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5C,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1C,CAAC;gBAED,YAAY;gBACZ,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC1D,MAAM,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC;oBAC/B,MAAM,EAAE,eAAe,CAAC,WAAW;oBACnC,KAAK,EAAE,WAAW;oBAClB,UAAU,EAAE,QAAQ;oBACpB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK;oBAClC,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBAC9C,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,iFAAiF;gBACjF,MAAM,4BAA4B,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAClF,IAAI,UAAU,IAAI,4BAA4B,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpE,8BAA8B;oBAC9B,QAAQ,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;oBAC9E,MAAM;gBACR,CAAC;gBAED,4DAA4D;gBAC5D,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBACvD,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR,CAAC;gBAED,4CAA4C;gBAC5C,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;gBAC3C,IAAI,KAAK,CAAC,MAAM,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,KAAK,CAAC,OAAO,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAW,CAAC,CAAC;gBAEnE,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACxC,MAAM;YACR,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBACvD,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR,CAAC;gBAED,2BAA2B;gBAC3B,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;gBAC3C,IAAI,KAAK,CAAC,MAAM,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,KAAK,CAAC,OAAO,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAW,CAAC,CAAC;gBAEnE,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACxC,MAAM;YACR,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,QAAQ,GAAG,MAAM,WAAW,CAAC;oBAC3B,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;oBACzB,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC7B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,QAAQ,GAAG,MAAM,WAAW,CAAC;oBAC3B,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;iBAC1B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,QAAQ,GAAG,MAAM,aAAa,CAAC;oBAC7B,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;oBACzB,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;oBAClB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;oBACpB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;oBAC5B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI;oBAChC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI;oBACrC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;oBAC1B,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI;oBAC/B,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC,KAAK,IAAI;oBAC7C,cAAc,EAAE,KAAK,CAAC,kBAAkB,CAAC,KAAK,IAAI;iBACnD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,oCAAoC;gBACpC,QAAQ,GAAG,MAAM,YAAY,CAAC;oBAC5B,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,UAAU;oBACtB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;oBACxB,UAAU,EAAE,UAAU,KAAK,KAAK;wBAC9B,CAAC,CAAE,KAAK,CAAC,QAAQ,CAAwB;wBACzC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBACjB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;oBACzC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBACzD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;oBAC5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;iBAC/B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,4BAA4B;gBAC5B,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;oBAC5B,+CAA+C;oBAC/C,QAAQ,GAAG,MAAM,mBAAmB,CAAC;wBACnC,IAAI,EAAE,OAAO;wBACb,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;wBACzB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;wBAC1B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;qBAC7B,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;oBACjC,0CAA0C;oBAC1C,QAAQ,GAAG,MAAM,aAAa,CAAC;wBAC7B,IAAI,EAAE,OAAO;wBACb,UAAU,EAAE,MAAM;wBAClB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;wBACzB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI;wBAClC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;qBAC7B,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;oBAClC,gDAAgD;oBAChD,QAAQ,GAAG,MAAM,aAAa,CAAC;wBAC7B,IAAI,EAAE,OAAO;wBACb,UAAU,EAAE,OAAO;wBACnB,WAAW,EAAE,UAAU,CAAC,CAAC,CAAsB;wBAC/C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;qBAC7B,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;oBAC5D,0CAA0C;oBAC1C,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;oBAC/C,IAAI,KAAK,CAAC,MAAM,CAAC;wBAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC7C,IAAI,KAAK,CAAC,SAAS,CAAC;wBAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACnD,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC5C,CAAC;qBAAM,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;oBACrC,oCAAoC;oBACpC,6EAA6E;oBAC7E,QAAQ,GAAG,MAAM,aAAa,CAAC;wBAC7B,IAAI,EAAE,OAAO;wBACb,UAAU,EAAE,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC;wBACvC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,qCAAqC;gBACrC,QAAQ,GAAG,MAAM,aAAa,CAAC;oBAC7B,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,UAAU;oBACtB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAuB;oBAC/C,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;oBACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;oBAC5B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;oBAC5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;iBAC/B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,oDAAoD;gBACpD,iDAAiD;gBACjD,kGAAkG;gBAClG,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;gBAC/G,QAAQ,GAAG,MAAM,SAAS,CAAC;oBACzB,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,UAAU;oBACtB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAwD;oBAChF,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;oBACzB,KAAK;oBACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;iBAC7B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,QAAQ,GAAG,MAAM,mBAAmB,CAAC;oBACnC,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;oBACzB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAuB;oBAC/C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;oBAC5B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;iBAC7B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,QAAQ,GAAG,MAAM,oBAAoB,CAAC;oBACpC,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;oBACvB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;oBAC9B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI;oBACjC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;iBAC7B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,0DAA0D;gBAC1D,2EAA2E;gBAC3E,QAAQ,GAAG,MAAM,gBAAgB,CAAC;oBAChC,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,UAAU;oBACtB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAoE;oBAC5F,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;oBACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;iBAC7B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,0DAA0D;gBAC1D,2EAA2E;gBAC3E,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,QAA+C,CAAC;gBACpD,IAAI,MAA0B,CAAC;gBAC/B,IAAI,MAA0B,CAAC;gBAE/B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,kDAAkD;oBAClD,QAAQ,GAAG,UAAU,CAAC,CAAC,CAA0C,CAAC;oBAClE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;oBACvB,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;oBACvB,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;gBACtD,CAAC;gBAED,QAAQ,GAAG,MAAM,UAAU,CAAC;oBAC1B,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,UAAU;oBACtB,UAAU,EAAE,MAAsD;oBAClE,MAAM;oBACN,MAAM;oBACN,QAAQ;oBACR,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;iBAC7B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,mDAAmD;gBACnD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;gBAE1D,QAAQ,GAAG,MAAM,WAAW,CAAC;oBAC3B,IAAI,EAAE,OAAO;oBACb,UAAU;oBACV,UAAU;oBACV,MAAM;oBACN,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;iBAC7B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBACvD,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR,CAAC;gBAED,QAAQ,UAAU,EAAE,CAAC;oBACnB,KAAK,OAAO;wBACV,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;wBACrC,MAAM;oBACR,KAAK,MAAM;wBACT,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;wBACpC,MAAM;oBACR,KAAK,SAAS;wBACZ,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;wBACvC,MAAM;oBACR;wBACE,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;wBACtD,QAAQ,GAAG,CAAC,CAAC;gBACjB,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,qDAAqD;gBACrD,QAAQ,GAAG,MAAM,cAAc,CAAC;oBAC9B,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,UAAU;oBACtB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAuB;oBACjD,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;oBAC1B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI;oBACjC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI;oBAChC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;oBAC9B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;iBAC7B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,8DAA8D;gBAC9D,mFAAmF;gBACnF,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAmB,CAAC,CAAC;oBAC1C,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAqB,CAAC,CAAC;wBAC7C,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC;4BACrC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAc,CAAC,CAAC,CAAC,UAAmB,CAAC;gBAErE,QAAQ,GAAG,MAAM,UAAU,CAAC;oBAC1B,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,UAAU;oBACtB,UAAU,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC/D,KAAK,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC1D,QAAQ,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;oBACnE,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;oBAC5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;iBAC/B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,QAAQ,GAAG,MAAM,aAAa,CAAC;oBAC7B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;oBAC9B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;oBAC9B,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;oBAC1B,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;oBAC1B,IAAI,EAAE,OAAO;iBACd,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,+CAA+C;gBAC/C,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;gBAC7E,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,eAAe,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBAC5G,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,sCAAsC;gBACtC,QAAQ,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC9E,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,QAAQ,GAAG,MAAM,YAAY,CAAC;oBAC5B,UAAU,EAAE,UAAU;oBACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC1E,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAuB;oBAC7C,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAuB;oBAC7C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAuB;oBAC3C,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAsC;oBAC5D,IAAI,EAAE,KAAK,CAAC,MAAM,CAAuB;oBACzC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAuB;oBACrC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;oBACvE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAuB;oBAC7C,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI;oBACjC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;oBAC9B,YAAY;iBACb,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,QAAQ,GAAG,MAAM,cAAc,CAAC;oBAC9B,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI;oBACjC,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,IAAI;iBAClD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,0DAA0D;gBAC1D,sBAAsB;gBACtB,QAAQ,GAAG,MAAM,aAAa,CAAC;oBAC7B,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,UAA0E;oBACtF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;oBAC5B,UAAU,EAAE,UAAU;oBACtB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI;iBACjC,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED;gBACE,GAAG,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;gBACzC,UAAU,EAAE,CAAC;gBACb,QAAQ,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,qBAAqB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnF,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Creeper ASCII art banner for mcctl CLI
3
+ * Displays on init and version commands
4
+ */
5
+ export interface UpdateCheckResult {
6
+ currentVersion: string;
7
+ latestVersion: string;
8
+ updateCommand: string;
9
+ }
10
+ export declare const CREEPER_ART: string[][];
11
+ export declare const CREEPER_ASCII: string[][];
12
+ export interface BannerOptions {
13
+ version: string;
14
+ gitHash?: string;
15
+ updateInfo?: UpdateCheckResult | null;
16
+ useAscii?: boolean;
17
+ }
18
+ /**
19
+ * Generate the banner string with creeper art and version info
20
+ */
21
+ export declare function generateBanner(options: BannerOptions): string;
22
+ /**
23
+ * Print the banner to console
24
+ */
25
+ export declare function printBanner(options: BannerOptions): void;
26
+ /**
27
+ * Get git commit hash (short)
28
+ */
29
+ export declare function getGitHash(): string | undefined;
30
+ //# sourceMappingURL=banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/lib/banner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAGD,eAAO,MAAM,WAAW,EAAE,MAAM,EAAE,EASjC,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,MAAM,EAAE,EASnC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAuC7D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAGxD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,SAAS,CAW/C"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Creeper ASCII art banner for mcctl CLI
3
+ * Displays on init and version commands
4
+ */
5
+ import { colors } from '@minecraft-docker/shared';
6
+ // 8x8 Creeper face pattern using emoji blocks
7
+ export const CREEPER_ART = [
8
+ ['🟩', '🟩', '🟩', '🟩', '🟩', '🟩', '🟩', '🟩'],
9
+ ['🟩', '⬛', '⬛', '🟩', '🟩', '⬛', '⬛', '🟩'],
10
+ ['🟩', '⬛', '⬛', '🟩', '🟩', '⬛', '⬛', '🟩'],
11
+ ['🟩', '🟩', '🟩', '⬛', '⬛', '🟩', '🟩', '🟩'],
12
+ ['🟩', '🟩', '⬛', '⬛', '⬛', '⬛', '🟩', '🟩'],
13
+ ['🟩', '🟩', '⬛', '⬛', '⬛', '⬛', '🟩', '🟩'],
14
+ ['🟩', '🟩', '⬛', '🟩', '🟩', '⬛', '🟩', '🟩'],
15
+ ['🟩', '🟩', '🟩', '🟩', '🟩', '🟩', '🟩', '🟩'],
16
+ ];
17
+ // ASCII fallback for terminals without emoji support
18
+ export const CREEPER_ASCII = [
19
+ ['#', '#', '#', '#', '#', '#', '#', '#'],
20
+ ['#', '@', '@', '#', '#', '@', '@', '#'],
21
+ ['#', '@', '@', '#', '#', '@', '@', '#'],
22
+ ['#', '#', '#', '@', '@', '#', '#', '#'],
23
+ ['#', '#', '@', '@', '@', '@', '#', '#'],
24
+ ['#', '#', '@', '@', '@', '@', '#', '#'],
25
+ ['#', '#', '@', '#', '#', '@', '#', '#'],
26
+ ['#', '#', '#', '#', '#', '#', '#', '#'],
27
+ ];
28
+ /**
29
+ * Generate the banner string with creeper art and version info
30
+ */
31
+ export function generateBanner(options) {
32
+ const { version, gitHash, updateInfo, useAscii = false } = options;
33
+ const art = useAscii ? CREEPER_ASCII : CREEPER_ART;
34
+ // Build right-side info lines
35
+ const versionStr = gitHash ? `v${version} (${gitHash})` : `v${version}`;
36
+ const infoLines = [
37
+ '',
38
+ `⛏️ mcctl ${versionStr}`,
39
+ '─────────────────────────────',
40
+ 'Docker Minecraft Server',
41
+ 'Controller CLI',
42
+ '',
43
+ 'https://minecraft-server-manager.readthedocs.io',
44
+ '',
45
+ ];
46
+ // Build banner lines
47
+ const lines = [];
48
+ for (let i = 0; i < art.length; i++) {
49
+ const artRow = art[i].join('');
50
+ const infoLine = infoLines[i] || '';
51
+ lines.push(`${artRow} ${infoLine}`);
52
+ }
53
+ // Add empty line
54
+ lines.push('');
55
+ // Add update notification if available
56
+ if (updateInfo) {
57
+ lines.push(colors.yellow(`⚠️ Update available: ${updateInfo.currentVersion} → ${updateInfo.latestVersion}`));
58
+ lines.push(colors.dim(` Run: ${updateInfo.updateCommand}`));
59
+ lines.push('');
60
+ }
61
+ return lines.join('\n');
62
+ }
63
+ /**
64
+ * Print the banner to console
65
+ */
66
+ export function printBanner(options) {
67
+ console.log('');
68
+ console.log(generateBanner(options));
69
+ }
70
+ /**
71
+ * Get git commit hash (short)
72
+ */
73
+ export function getGitHash() {
74
+ try {
75
+ const { execSync } = require('node:child_process');
76
+ const hash = execSync('git rev-parse --short HEAD', {
77
+ encoding: 'utf-8',
78
+ stdio: ['pipe', 'pipe', 'pipe'],
79
+ }).trim();
80
+ return hash || undefined;
81
+ }
82
+ catch {
83
+ return undefined;
84
+ }
85
+ }
86
+ //# sourceMappingURL=banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/lib/banner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * .env template diffing library for upgrade command.
3
+ * Compares a template .env.example with a user's .env file
4
+ * and identifies new variables that need to be added.
5
+ *
6
+ * Key principle: NEVER modify existing user values (append-only).
7
+ */
8
+ export interface ParsedEnvVar {
9
+ key: string;
10
+ defaultValue: string;
11
+ commented: boolean;
12
+ section: string;
13
+ }
14
+ export interface ParsedEnvFile {
15
+ vars: ParsedEnvVar[];
16
+ }
17
+ export interface EnvDiffResult {
18
+ newVars: Array<{
19
+ key: string;
20
+ defaultValue: string;
21
+ section: string;
22
+ }>;
23
+ newCommentedVars: Array<{
24
+ key: string;
25
+ defaultValue: string;
26
+ section: string;
27
+ }>;
28
+ }
29
+ /**
30
+ * Parse a .env template file into structured format.
31
+ * Preserves section headers and distinguishes between
32
+ * active variables and commented-out variables.
33
+ */
34
+ export declare function parseEnvTemplate(content: string): ParsedEnvFile;
35
+ /**
36
+ * Diff template .env against user .env to find new variables.
37
+ * Returns variables that exist in the template but not in the user's file.
38
+ */
39
+ export declare function diffEnvFiles(template: string, userEnv: string): EnvDiffResult;
40
+ /**
41
+ * Apply env diff to user's .env file content.
42
+ * Appends new variables at the end, grouped by section.
43
+ * Uses values from the `values` map when available, otherwise uses defaults.
44
+ *
45
+ * @param userEnv - Current user .env file content
46
+ * @param diff - Diff result from diffEnvFiles
47
+ * @param values - User-provided values for new variables
48
+ * @returns Updated .env file content
49
+ */
50
+ export declare function applyEnvDiff(userEnv: string, diff: EnvDiffResult, values: Map<string, string>): string;
51
+ //# sourceMappingURL=env-diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-diff.d.ts","sourceRoot":"","sources":["../../src/lib/env-diff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,gBAAgB,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjF;AAgDD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAiD/D;AAmCD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CA0B7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CA2CR"}