markdown-to-document-cli 1.2.7 β†’ 1.2.8

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.
package/README.md CHANGED
@@ -83,6 +83,36 @@ npm install markdown-to-document-cli
83
83
 
84
84
  ## πŸš€ μ‚¬μš©λ²•
85
85
 
86
+ ### πŸ“ 파일 경둜 μž…λ ₯ 방법
87
+
88
+ **μ˜¬λ°”λ₯Έ 경둜 μž…λ ₯ (ꢌμž₯)**:
89
+ ```bash
90
+ # 방법 1: λ“œλž˜κ·Έ μ•€ λ“œλ‘­ (κ°€μž₯ 쉬움)
91
+ # νŒŒμΌμ„ 터미널 창으둜 λ“œλž˜κ·Έν•˜λ©΄ κ²½λ‘œκ°€ μžλ™ μž…λ ₯λ©λ‹ˆλ‹€
92
+
93
+ # 방법 2: μ ˆλŒ€ 경둜
94
+ m2d /Users/username/documents/my-document.md
95
+
96
+ # 방법 3: μƒλŒ€ 경둜
97
+ m2d ./docs/document.md
98
+ m2d ../project/README.md
99
+ ```
100
+
101
+ **⚠️ ν”Όν•΄μ•Ό ν•  경둜 μž…λ ₯**:
102
+ ```bash
103
+ # ❌ λ°±μŠ¬λž˜μ‹œ μ΄μŠ€μΌ€μ΄ν”„κ°€ ν¬ν•¨λœ 경둜
104
+ m2d /Users/username/My\ Documents/file.md
105
+
106
+ # βœ… λŒ€μ‹  μ΄λ ‡κ²Œ (λ”°μ˜΄ν‘œ μ‚¬μš© λ˜λŠ” λ“œλž˜κ·Έ μ•€ λ“œλ‘­)
107
+ m2d "/Users/username/My Documents/file.md"
108
+ ```
109
+
110
+ **μžλ™ 경둜 정리 κΈ°λŠ₯**:
111
+ - λ°±μŠ¬λž˜μ‹œ μ΄μŠ€μΌ€μ΄ν”„ μžλ™ 제거
112
+ - λ”°μ˜΄ν‘œ μžλ™ 제거
113
+ - 곡백이 ν¬ν•¨λœ 경둜 μžλ™ 처리
114
+ - μƒλŒ€ 경둜λ₯Ό μ ˆλŒ€ 경둜둜 μžλ™ λ³€ν™˜
115
+
86
116
  ### Interactive Mode (ꢌμž₯)
87
117
 
88
118
  ```bash
@@ -205,11 +235,45 @@ m2d list-presets
205
235
 
206
236
  # ν‘œμ§€ ν…Œλ§ˆ λͺ©λ‘
207
237
  m2d list-themes
238
+ ```
239
+
240
+ ### μ˜μ‘΄μ„± 확인 (ꢌμž₯)
241
+
242
+ λ³€ν™˜μ„ μ‹œμž‘ν•˜κΈ° 전에 ν•„μš”ν•œ 도ꡬ듀이 λͺ¨λ‘ μ„€μΉ˜λ˜μ–΄ μžˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”:
208
243
 
209
- # μ˜μ‘΄μ„± 확인
244
+ ```bash
210
245
  m2d check
211
246
  ```
212
247
 
248
+ **μžλ™μœΌλ‘œ ν™•μΈν•˜λŠ” ν•­λͺ©**:
249
+ - βœ… Node.js (ν•„μˆ˜)
250
+ - βœ… Pandoc (ν•„μˆ˜)
251
+ - βœ… PDF μ—”μ§„: WeasyPrint, XeLaTeX, PDFLaTeX 쀑 μ΅œμ†Œ 1개
252
+ - βšͺ Python (WeasyPrint μ‚¬μš© μ‹œ ν•„μš”)
253
+
254
+ **μ„€μΉ˜λ˜μ§€ μ•Šμ€ 도ꡬ가 있으면**:
255
+ - ν”Œλž«νΌλ³„(macOS, Linux, Windows) 맞좀 μ„€μΉ˜ λͺ…λ Ήμ–΄ 제곡
256
+ - λ³΅μ‚¬ν•΄μ„œ λ°”λ‘œ μ‚¬μš©ν•  수 μžˆλŠ” λͺ…λ Ήμ–΄
257
+ - 각 λ„κ΅¬μ˜ μ—­ν•  μ„€λͺ…
258
+
259
+ **μ˜ˆμ‹œ 좜λ ₯**:
260
+ ```
261
+ πŸ” μ˜μ‘΄μ„± 확인 쀑...
262
+
263
+ ν•„μˆ˜ μ˜μ‘΄μ„±:
264
+ βœ… Node.js (v20.10.0)
265
+ βœ… Pandoc (v3.1.2)
266
+
267
+ PDF 생성 μ—”μ§„ (μ΅œμ†Œ 1개 ν•„μš”):
268
+ βœ… WeasyPrint (v60.1)
269
+ βšͺ XeLaTeX - λ―Έμ„€μΉ˜
270
+ βšͺ PDFLaTeX - λ―Έμ„€μΉ˜
271
+
272
+ βœ… λͺ¨λ“  μ˜μ‘΄μ„±μ΄ μ€€λΉ„λ˜μ—ˆμŠ΅λ‹ˆλ‹€!
273
+
274
+ πŸš€ μ€€λΉ„ μ™„λ£Œ! μ§€κΈˆ λ°”λ‘œ λ¬Έμ„œ λ³€ν™˜μ„ μ‹œμž‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
275
+ ```
276
+
213
277
  ## βš™οΈ ν•„μˆ˜ μš”κ΅¬μ‚¬ν•­
214
278
 
215
279
  ### Pandoc μ„€μΉ˜
@@ -312,6 +376,97 @@ publisher: μΆœνŒμ‚¬λͺ…
312
376
 
313
377
  ## πŸ› 문제 ν•΄κ²°
314
378
 
379
+ ### ❌ PDF λ³€ν™˜ μ‹€νŒ¨: "xelatex not found" λ˜λŠ” "PDF 엔진을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€"
380
+
381
+ **πŸ€” μ™œ 이런 였λ₯˜κ°€ λ‚˜μ˜¬κΉŒμš”?**
382
+
383
+ PDFλ₯Ό λ§Œλ“€λ €λ©΄ **"PDF μ œμž‘ μ—”μ§„"**이 ν•„μš”ν•©λ‹ˆλ‹€. 마치 빡을 κ΅½κΈ° μœ„ν•΄ 였븐이 ν•„μš”ν•œ κ²ƒμ²˜λŸΌμš”!
384
+
385
+ 이 였λ₯˜λŠ” "였븐이 μ—†μ–΄μ„œ 빡을 ꡬ울 수 μ—†μ–΄μš”"λΌλŠ” λœ»μž…λ‹ˆλ‹€. μ•„λž˜ 방법 쀑 ν•˜λ‚˜λ₯Ό μ„ νƒν•΄μ„œ ν•΄κ²°ν•˜μ„Έμš”.
386
+
387
+ #### μ˜΅μ…˜ 1: WeasyPrint μ„€μΉ˜ (μΆ”μ²œ ⭐)
388
+
389
+ **κ°€μž₯ 쉽고 λΉ λ₯Έ 방법!** ν•œκΈ€λ„ μ™„λ²½ν•˜κ²Œ μ§€μ›ν•©λ‹ˆλ‹€.
390
+
391
+ ```bash
392
+ # Python pip μ‚¬μš©
393
+ pip install weasyprint
394
+
395
+ # λ˜λŠ” Python 3
396
+ pip3 install weasyprint
397
+ ```
398
+
399
+ πŸ’‘ **Python이 μ—†λ‹€λ©΄?** [python.org](https://www.python.org/downloads/)μ—μ„œ λ¨Όμ € μ„€μΉ˜ν•˜μ„Έμš”.
400
+
401
+ #### μ˜΅μ…˜ 2: XeLaTeX μ„€μΉ˜ (ν•œκΈ€ μ΅œμ ν™”)
402
+
403
+ **ν•œκΈ€ 폰트λ₯Ό μ•„λ¦„λ‹΅κ²Œ!** μ „λ¬Έ 좜판 μˆ˜μ€€μ˜ ν’ˆμ§ˆμ„ μ›ν•œλ‹€λ©΄ 이걸둜!
404
+
405
+ ```bash
406
+ # macOS (Homebrew)
407
+ brew install --cask basictex
408
+ # μ„€μΉ˜ ν›„ PATH μ—…λ°μ΄νŠΈ
409
+ eval "$(/usr/libexec/path_helper)"
410
+
411
+ # λ˜λŠ” 전체 TeX Live μ„€μΉ˜
412
+ brew install --cask mactex
413
+
414
+ # Linux (Ubuntu/Debian)
415
+ sudo apt-get install texlive-xetex texlive-fonts-recommended
416
+
417
+ # Linux (Fedora)
418
+ sudo dnf install texlive-xetex
419
+ ```
420
+
421
+ ⚠️ **μ€‘μš”**: μ„€μΉ˜ ν›„ 터미널을 λ‹€μ‹œ μ‹œμž‘ν•˜μ„Έμš”!
422
+
423
+ #### μ˜΅μ…˜ 3: PDFLaTeX μ„€μΉ˜
424
+
425
+ ```bash
426
+ # macOS
427
+ brew install --cask basictex
428
+
429
+ # Linux (Ubuntu/Debian)
430
+ sudo apt-get install texlive-latex-base
431
+ ```
432
+
433
+ #### βœ“ μ„€μΉ˜ ν™•μΈν•˜κΈ°
434
+
435
+ 였븐이 μ œλŒ€λ‘œ μ„€μΉ˜λ˜μ—ˆλŠ”μ§€ 확인해 λ΄…μ‹œλ‹€:
436
+
437
+ ```bash
438
+ # WeasyPrint 확인
439
+ weasyprint --version
440
+
441
+ # XeLaTeX 확인
442
+ xelatex --version
443
+
444
+ # PDFLaTeX 확인
445
+ pdflatex --version
446
+ ```
447
+
448
+ 버전 λ²ˆν˜Έκ°€ λ‚˜μ˜€λ©΄ 성곡! πŸŽ‰
449
+
450
+ #### πŸ’‘ ν”„λ‘œ 팁: νŠΉμ • μ—”μ§„ μ§€μ •ν•˜κΈ°
451
+
452
+ μ—¬λŸ¬ 개λ₯Ό μ„€μΉ˜ν–ˆλ‹€λ©΄, μ›ν•˜λŠ” 엔진을 직접 선택할 수 μžˆμŠ΅λ‹ˆλ‹€:
453
+
454
+ ```bash
455
+ # μžλ™ 선택 (κΈ°λ³Έκ°’ - ꢌμž₯)
456
+ m2d document.md --pdf-engine auto
457
+
458
+ # WeasyPrint둜 PDF λ§Œλ“€κΈ°
459
+ m2d document.md --pdf-engine weasyprint
460
+
461
+ # XeLaTeX둜 PDF λ§Œλ“€κΈ°
462
+ m2d document.md --pdf-engine xelatex
463
+
464
+ # PDFLaTeX둜 PDF λ§Œλ“€κΈ°
465
+ m2d document.md --pdf-engine pdflatex
466
+ ```
467
+
468
+ ---
469
+
315
470
  ### Pandoc을 찾을 수 μ—†μŒ
316
471
 
317
472
  ```bash
@@ -322,19 +477,49 @@ pandoc --version
322
477
  m2d document.md --pandoc-path /path/to/pandoc
323
478
  ```
324
479
 
325
- ### PDF λ³€ν™˜ μ‹€νŒ¨
480
+ **μ„€μΉ˜ 방법**:
481
+ - macOS: `brew install pandoc`
482
+ - Windows: `winget install --id JohnMacFarlane.Pandoc`
483
+ - Linux: `sudo apt-get install pandoc`
326
484
 
327
- ```bash
328
- # WeasyPrint μ„€μΉ˜
329
- pip install weasyprint
485
+ ---
330
486
 
331
- # λ˜λŠ” λ‹€λ₯Έ PDF μ—”μ§„ μ‚¬μš©
332
- m2d document.md --format pdf --pdf-engine pdflatex
333
- ```
487
+ ### 파일 경둜 였λ₯˜
488
+
489
+ **증상**: "νŒŒμΌμ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€" λ˜λŠ” κ²½λ‘œμ— λ°±μŠ¬λž˜μ‹œ(`\`)κ°€ 포함됨
490
+
491
+ **ν•΄κ²° 방법**:
492
+ 1. **λ“œλž˜κ·Έ μ•€ λ“œλ‘­ μ‚¬μš©** (κ°€μž₯ 쉬움)
493
+ - νŒŒμΌμ„ 터미널 창으둜 λ“œλž˜κ·Έν•˜μ„Έμš”
494
+ - κ²½λ‘œκ°€ μžλ™μœΌλ‘œ μž…λ ₯λ©λ‹ˆλ‹€
495
+
496
+ 2. **λ”°μ˜΄ν‘œλ‘œ 감싸기**
497
+ ```bash
498
+ m2d "/Users/username/My Documents/file.md"
499
+ ```
500
+
501
+ 3. **λ°±μŠ¬λž˜μ‹œ 제거**
502
+ ```bash
503
+ # ❌ 잘λͺ»λœ 예
504
+ m2d /Users/username/My\ Documents/file.md
505
+
506
+ # βœ… μ˜¬λ°”λ₯Έ 예
507
+ m2d "/Users/username/My Documents/file.md"
508
+ ```
509
+
510
+ **μžλ™ μˆ˜μ • κΈ°λŠ₯**: CLIκ°€ μžλ™μœΌλ‘œ 경둜λ₯Ό μ •λ¦¬ν•˜κ³  κ²€μ¦ν•©λ‹ˆλ‹€.
334
511
 
335
512
  ### 이미지λ₯Ό 찾을 수 μ—†μŒ
336
513
 
337
- 이미지 파일이 λ§ˆν¬λ‹€μš΄ 파일과 λ™μΌν•œ 디렉토리 λ˜λŠ” `images/`, `attachments/` 폴더에 μžˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”.
514
+ 이미지 파일이 λ§ˆν¬λ‹€μš΄ 파일과 λ™μΌν•œ 디렉토리 λ˜λŠ” `images/`, `attachments/`, `assets/`, `media/` 폴더에 μžˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”.
515
+
516
+ **μ§€μ›ν•˜λŠ” 이미지 ν˜•μ‹**: PNG, JPG/JPEG, GIF, SVG, WebP
517
+
518
+ ---
519
+
520
+ ### πŸ“š 더 λ§Žμ€ 문제 ν•΄κ²°
521
+
522
+ 이미지 였λ₯˜, ν•œκΈ€ 깨짐, 검증 문제 λ“± λ‹€μ–‘ν•œ 상황에 λŒ€ν•œ 해결책은 [전체 문제 ν•΄κ²° κ°€μ΄λ“œ](./TroubleShooting.md)λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.
338
523
 
339
524
  ## πŸ“„ λΌμ΄μ„ μŠ€
340
525
 
package/dist/cli.js CHANGED
@@ -16,6 +16,8 @@ import inquirer from 'inquirer';
16
16
  import { MarkdownToDocument } from './index.js';
17
17
  import { TYPOGRAPHY_PRESETS, COVER_THEMES } from './utils/constants.js';
18
18
  import { Logger } from './utils/common.js';
19
+ import { DependencyChecker } from './utils/dependencyChecker.js';
20
+ import { PathValidator } from './utils/pathValidator.js';
19
21
  import * as path from 'path';
20
22
  import * as fs from 'fs';
21
23
  import { fileURLToPath } from 'url';
@@ -261,17 +263,13 @@ program
261
263
  Logger.setEnabled(true);
262
264
  process.env.DEBUG = 'true';
263
265
  }
264
- // Resolve input path
265
- const inputPath = path.resolve(input);
266
- // Check if input file exists
267
- if (!fs.existsSync(inputPath)) {
268
- console.error(chalk.red(`❌ Error: Input file not found: ${inputPath}`));
266
+ // Validate and normalize input path
267
+ const pathValidation = PathValidator.validatePath(input);
268
+ if (!pathValidation.valid) {
269
+ PathValidator.displayValidationError(pathValidation);
269
270
  process.exit(1);
270
271
  }
271
- // Check if input is markdown
272
- if (!inputPath.endsWith('.md')) {
273
- console.error(chalk.yellow('⚠️ Warning: Input file does not have .md extension'));
274
- }
272
+ const inputPath = pathValidation.normalizedPath;
275
273
  const fileContent = fs.readFileSync(inputPath, 'utf-8');
276
274
  const analysisResult = analyzeMarkdownContent(fileContent);
277
275
  const metadata = extractMetadata(fileContent);
@@ -282,17 +280,6 @@ program
282
280
  const typographyOption = String(options.typography || 'auto');
283
281
  const typographyPreset = typographyOption === 'auto' ? analysisResult.recommendedPreset : typographyOption;
284
282
  console.log(chalk.cyan.bold('\nπŸ“š Markdown to Document CLI\n'));
285
- // Initialize converter
286
- const spinner = ora('Initializing...').start();
287
- const converter = new MarkdownToDocument(options.pandocPath);
288
- const initResult = await converter.initialize();
289
- if (!initResult.success) {
290
- spinner.fail('Initialization failed');
291
- console.error(chalk.red(`❌ ${initResult.error}`));
292
- console.log(chalk.yellow('\n' + MarkdownToDocument.getInstallInstructions()));
293
- process.exit(1);
294
- }
295
- spinner.succeed('Initialized successfully');
296
283
  // Prepare conversion options
297
284
  const conversionOptions = {
298
285
  inputPath,
@@ -311,6 +298,25 @@ program
311
298
  customTitle,
312
299
  customAuthor: customAuthor || undefined,
313
300
  };
301
+ // Check dependencies proactively
302
+ const depChecker = new DependencyChecker();
303
+ const isReady = await depChecker.quickCheck(conversionOptions.format);
304
+ if (!isReady) {
305
+ await depChecker.displayDependencyReport();
306
+ console.log(chalk.red('\n❌ ν•„μˆ˜ μ˜μ‘΄μ„±μ„ λ¨Όμ € μ„€μΉ˜ν•΄ μ£Όμ„Έμš”.\n'));
307
+ process.exit(1);
308
+ }
309
+ // Initialize converter
310
+ const spinner = ora('Initializing...').start();
311
+ const converter = new MarkdownToDocument(options.pandocPath);
312
+ const initResult = await converter.initialize();
313
+ if (!initResult.success) {
314
+ spinner.fail('Initialization failed');
315
+ console.error(chalk.red(`❌ ${initResult.error}`));
316
+ console.log(chalk.yellow('\n' + MarkdownToDocument.getInstallInstructions()));
317
+ process.exit(1);
318
+ }
319
+ spinner.succeed('Initialized successfully');
314
320
  // Show conversion info
315
321
  console.log(chalk.gray('─'.repeat(50)));
316
322
  console.log(chalk.bold('πŸ“„ Input:'), chalk.cyan(inputPath));
@@ -448,23 +454,26 @@ program
448
454
  name: 'inputPath',
449
455
  message: chalk.yellow('πŸ“„ λ§ˆν¬λ‹€μš΄ 파일 경둜:'),
450
456
  validate: (input) => {
451
- const cleanedInput = input.trim().replace(/^['"]|['"]$/g, '');
452
- if (!cleanedInput)
453
- return chalk.red('파일 경둜λ₯Ό μž…λ ₯ν•˜μ„Έμš”.');
454
- const resolvedPath = path.resolve(cleanedInput);
455
- if (!fs.existsSync(resolvedPath)) {
456
- return chalk.red('νŒŒμΌμ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.');
457
- }
458
- if (!resolvedPath.endsWith('.md')) {
459
- return chalk.yellow('λ§ˆν¬λ‹€μš΄ 파일(.md)을 μ„ νƒν•˜μ„Έμš”.');
457
+ const validation = PathValidator.validatePath(input);
458
+ if (!validation.valid) {
459
+ // Return first error and suggestion
460
+ let errorMsg = validation.error || '잘λͺ»λœ κ²½λ‘œμž…λ‹ˆλ‹€.';
461
+ if (validation.suggestions && validation.suggestions.length > 0) {
462
+ errorMsg += '\n' + chalk.gray(' πŸ’‘ ' + validation.suggestions[0]);
463
+ }
464
+ return errorMsg;
460
465
  }
461
466
  return true;
462
467
  },
463
- transformer: (input) => input.trim().replace(/^['"]|['"]$/g, ''),
468
+ transformer: (input) => PathValidator.normalizePath(input),
464
469
  },
465
470
  ]);
466
- const cleanedInputPath = fileAnswer.inputPath.trim().replace(/^['"]|['"]$/g, '');
467
- const resolvedInputPath = path.resolve(cleanedInputPath);
471
+ const pathValidation = PathValidator.validatePath(fileAnswer.inputPath);
472
+ if (!pathValidation.valid || !pathValidation.normalizedPath) {
473
+ PathValidator.displayValidationError(pathValidation);
474
+ process.exit(1);
475
+ }
476
+ const resolvedInputPath = pathValidation.normalizedPath;
468
477
  const fileContent = fs.readFileSync(resolvedInputPath, 'utf-8');
469
478
  // λ¬Έμ„œ 뢄석 (μžλ™)
470
479
  const analysisResult = analyzeMarkdownContent(fileContent);
@@ -632,6 +641,14 @@ program
632
641
  console.log(chalk.gray('\n' + '─'.repeat(60)));
633
642
  console.log(chalk.gray(' Step 3/3: λ³€ν™˜ μ‹€ν–‰\n'));
634
643
  try {
644
+ // Check dependencies proactively
645
+ const depChecker = new DependencyChecker();
646
+ const isReady = await depChecker.quickCheck(format);
647
+ if (!isReady) {
648
+ await depChecker.displayDependencyReport();
649
+ console.log(chalk.red('\n❌ ν•„μˆ˜ μ˜μ‘΄μ„±μ„ λ¨Όμ € μ„€μΉ˜ν•΄ μ£Όμ„Έμš”.\n'));
650
+ process.exit(1);
651
+ }
635
652
  const spinner = ora(chalk.cyan('βš™οΈ μ΄ˆκΈ°ν™” 쀑...')).start();
636
653
  const converter = new MarkdownToDocument();
637
654
  const initResult = await converter.initialize();
@@ -720,16 +737,15 @@ program
720
737
  .command('check')
721
738
  .description('Check if required dependencies are installed')
722
739
  .action(async () => {
723
- console.log(chalk.cyan.bold('\nπŸ” Checking Dependencies...\n'));
724
- const converter = new MarkdownToDocument();
725
- const result = await converter.initialize();
726
- if (result.success) {
727
- console.log(chalk.green('βœ… All dependencies are installed!\n'));
740
+ const depChecker = new DependencyChecker();
741
+ const isReady = await depChecker.displayDependencyReport();
742
+ if (isReady) {
743
+ console.log(chalk.green('πŸš€ μ€€λΉ„ μ™„λ£Œ! μ§€κΈˆ λ°”λ‘œ λ¬Έμ„œ λ³€ν™˜μ„ μ‹œμž‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€.\n'));
744
+ console.log(chalk.cyan('μ‚¬μš© μ˜ˆμ‹œ:'));
745
+ console.log(chalk.gray(' m2d document.md'));
746
+ console.log(chalk.gray(' m2d interactive\n'));
728
747
  }
729
748
  else {
730
- console.log(chalk.red('❌ Dependency check failed\n'));
731
- console.log(chalk.yellow(result.error || 'Unknown error'));
732
- console.log(chalk.yellow('\n' + MarkdownToDocument.getInstallInstructions()));
733
749
  process.exit(1);
734
750
  }
735
751
  });
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAkB,kBAAkB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAOpC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,MAAM,aAAa,GAAG,GAAW,EAAE;IAC/B,IAAI,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;QACvD,OAAO,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,OAAO,CAAC;IACnB,CAAC;AACL,CAAC,CAAC;AAsBF;;GAEG;AACH,SAAS,sBAAsB,CAAC,OAAe;IAC3C,MAAM,MAAM,GAA2B;QACnC,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,KAAK;QACrB,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,CAAC;QACjB,SAAS,EAAE,CAAC;QACZ,mBAAmB,EAAE,KAAK;QAC1B,iBAAiB,EAAE,OAAO;QAC1B,MAAM,EAAE,EAAE;KACb,CAAC;IAEF,6BAA6B;IAC7B,MAAM,CAAC,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE5D,8CAA8C;IAC9C,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACjE,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC,oBAAoB,CAAC;IAClD,IAAI,oBAAoB,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,oBAAoB,CAAC,MAAM,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED,8CAA8C;IAC9C,MAAM,mBAAmB,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACrE,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,mBAAmB,CAAC;IAChD,IAAI,mBAAmB,EAAE,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,mBAAmB,CAAC,MAAM,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,iCAAiC;IACjC,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACvD,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,gBAAgB,CAAC;IAC1C,IAAI,gBAAgB,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,gBAAgB,CAAC,MAAM,MAAM,CAAC,CAAC;IAClE,CAAC;IAED,gCAAgC;IAChC,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACxD,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,cAAc,CAAC;IACtC,IAAI,cAAc,EAAE,CAAC;QACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,MAAM,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,mCAAmC;IACnC,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACtE,MAAM,CAAC,UAAU,GAAG,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;IAE9F,eAAe;IACf,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC7D,MAAM,CAAC,UAAU,GAAG,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC;IAE9C,2DAA2D;IAC3D,IAAI,YAAY,EAAE,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACtD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACrC,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,CAAC,cAAc,GAAG,gBAAgB,EAAE,MAAM,IAAI,CAAC,CAAC;IACtD,IAAI,gBAAgB,EAAE,CAAC;QACnB,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBACpB,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;oBACnD,MAAM;gBACV,CAAC;YACL,CAAC;YACD,IAAI,MAAM,CAAC,gBAAgB;gBAAE,MAAM;QACvC,CAAC;IACL,CAAC;IAED,wBAAwB;IACxB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,CAAC,aAAa,GAAG,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,EAAE,MAAM,cAAc,CAAC,CAAC;IACjE,CAAC;IAED,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACpF,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAE1E,4CAA4C;IAC5C,MAAM,CAAC,mBAAmB;QACtB,MAAM,CAAC,iBAAiB;YACxB,MAAM,CAAC,gBAAgB;YACvB,MAAM,CAAC,aAAa;YACpB,MAAM,CAAC,WAAW;YAClB,MAAM,CAAC,gBAAgB;YACvB,MAAM,CAAC,gBAAgB;YACvB,MAAM,CAAC,aAAa,CAAC;IAEzB,wDAAwD;IACxD,IAAI,MAAM,CAAC,UAAU,GAAG,EAAE,EAAE,CAAC;QACzB,MAAM,CAAC,iBAAiB,GAAG,aAAa,CAAC;IAC7C,CAAC;SAAM,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,iBAAiB,GAAG,aAAa,CAAC;IAC7C,CAAC;SAAM,IAAI,MAAM,CAAC,cAAc,GAAG,EAAE,EAAE,CAAC;QACpC,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IACxC,CAAC;SAAM,IAAI,MAAM,CAAC,SAAS,GAAG,KAAK,EAAE,CAAC;QAClC,MAAM,CAAC,iBAAiB,GAAG,YAAY,CAAC;IAC5C,CAAC;SAAM,CAAC;QACJ,MAAM,CAAC,iBAAiB,GAAG,UAAU,CAAC;IAC1C,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,MAA8B;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAE1C,aAAa;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7G,eAAe;IACf,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,cAAsC;IACtE,MAAM,gBAAgB,GAAG;QACrB,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC;QACrD,iBAAiB,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,CAAC;QAC3E,eAAe,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;KACpD,CAAC;IAEF,MAAM,OAAO,GAAU,EAAE,CAAC;IAE1B,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC;QAExE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,aAAa,GAAG,QAAQ,KAAK,cAAc,CAAC,iBAAiB,CAAC;gBACpE,MAAM,IAAI,GAAG,aAAa;oBACtB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;oBACjG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBACvE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB;IACzB,MAAM,eAAe,GAA6B;QAC9C,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,CAAC;QAC1F,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC;QACrD,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC;QACtD,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;KAC7C,CAAC;IAEF,MAAM,OAAO,GAAU,EAAE,CAAC;IAE1B,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC;QAExE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,KAAK,EAAE,CAAC;gBACR,OAAO,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;oBACpE,KAAK,EAAE,OAAO;iBACjB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,gBAAgB;AAChB,OAAO;KACF,IAAI,CAAC,sBAAsB,CAAC;KAC5B,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,gEAAgE,CAAC;KAC7E,OAAO,CAAC,aAAa,EAAE,CAAC;KACxB,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;KAC/C,MAAM,CAAC,iBAAiB,EAAE,wDAAwD,CAAC;KACnF,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,CAAC;KAC3E,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;KACjD,MAAM,CAAC,uBAAuB,EAAE,iCAAiC,EAAE,MAAM,CAAC;KAC1E,MAAM,CAAC,2BAA2B,EAAE,wIAAwI,EAAE,MAAM,CAAC;KACrL,MAAM,CAAC,qBAAqB,EAAE,aAAa,CAAC;KAC5C,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC;KAClD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC;KAC3C,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,EAAE,GAAG,CAAC;KAC9D,MAAM,CAAC,UAAU,EAAE,2BAA2B,CAAC;KAC/C,MAAM,CAAC,uBAAuB,EAAE,kDAAkD,EAAE,MAAM,CAAC;KAC3F,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,IAAI,CAAC;KAC9D,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;KACrD,MAAM,CAAC,cAAc,EAAE,sBAAsB,CAAC;KAC9C,MAAM,CAAC,sBAAsB,EAAE,+BAA+B,CAAC;KAC/D,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC7B,IAAI,CAAC;QACD,sCAAsC;QACtC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC;QAC/B,CAAC;QAED,oCAAoC;QACpC,MAAM,cAAc,GAAG,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEzD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YACxB,aAAa,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,cAAe,CAAC;QAEjD,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAE9C,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,CAAE,OAAO,CAAC,KAA4B,IAAI,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QACpF,MAAM,YAAY,GAAG,CAAE,OAAO,CAAC,MAA6B,IAAI,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QAEvF,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC;QAC9D,MAAM,gBAAgB,GAAG,gBAAgB,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAE3G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAEhE,6BAA6B;QAC7B,MAAM,iBAAiB,GAAG;YACtB,SAAS;YACT,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YACrE,MAAM,EAAE,OAAO,CAAC,MAAiC;YACjD,gBAAgB,EAAE,gBAAuB;YACzC,UAAU,EAAE,OAAO,CAAC,KAAK;YACzB,eAAe,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK;YAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK;YAClC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxC,UAAU,EAAE,OAAO,CAAC,GAAG,KAAK,KAAK;YACjC,SAAS,EAAE,OAAO,CAAC,SAAgB;YACnC,SAAS,EAAE,OAAO,CAAC,SAAgB;YACnC,oBAAoB,EAAE,OAAO,CAAC,cAAc;YAC5C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5D,WAAW;YACX,YAAY,EAAE,YAAY,IAAI,SAAS;SAC1C,CAAC;QAEF,iCAAiC;QACjC,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAEtE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,UAAU,CAAC,uBAAuB,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,uBAAuB;QACvB,MAAM,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7D,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAE5C,uBAAuB;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,IAAI,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1J,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9D,IAAI,YAAY;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACnF,IAAI,iBAAiB,CAAC,UAAU,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,IAAI,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;QACzI,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAE/C,mBAAmB;QACnB,MAAM,cAAc,GAAG,GAAG,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE1D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAEhD,sCAAsC;YACtC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAEnD,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,WAAW,SAAS,CAAC,CAAC,CAAC;gBACxE,CAAC;gBACD,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;YAED,gBAAgB;YAChB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;YACP,CAAC;YAED,oBAAoB;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;YACP,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEjF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC,CAAC,CAAC;AAEP;;GAEG;AACH,SAAS,eAAe,CAAC,OAAe;IACpC,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAChE,IAAI,CAAC,gBAAgB;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAEzE,OAAO;QACH,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;QAC9B,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;KACnC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,iBAAyB;IACzD,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IAE9F,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QAC7B,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,aAAa,GAAG,QAAQ,KAAK,iBAAiB,CAAC;QACrD,MAAM,IAAI,GAAG,aAAa;YACtB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1E,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB;IAC9B,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAEtG,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO;YACH,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;YACpE,KAAK,EAAE,OAAO;SACjB,CAAC;IACN,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,8CAA8C;AAC9C,OAAO;KACF,OAAO,CAAC,aAAa,CAAC;KACtB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,KAAK,IAAI,EAAE;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAEpD,0CAA0C;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACrC;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACvC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBACxB,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACpB,oCAAoC;oBACpC,IAAI,QAAQ,GAAG,UAAU,CAAC,KAAK,IAAI,YAAY,CAAC;oBAChD,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9D,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxE,CAAC;oBACD,OAAO,QAAQ,CAAC;gBACpB,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC;SACrE;KACJ,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACxE,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QAC1D,aAAa,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,iBAAiB,GAAG,cAAc,CAAC,cAAc,CAAC;IACxD,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAEhE,aAAa;IACb,MAAM,cAAc,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAE9C,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACtC;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC;YAC5C,OAAO,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;YAClE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;YACpB,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;SACxC;QACD;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC;YAC3C,OAAO,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;YAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;YACpB,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;SACxC;KACJ,CAAC,CAAC;IAEH,+CAA+C;IAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE/C,kBAAkB;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG;QACd,GAAG,cAAc,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI;QAChD,OAAO,cAAc,CAAC,UAAU,GAAG;QACnC,KAAK,cAAc,CAAC,UAAU,GAAG;KACpC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC;IAE3C,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,cAAc,CAAC,MAAM,CAAC,MAAM,sBAAsB,CAAC,CAAC,CAAC;IAC5F,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,QAAQ;IACR,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACrC;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC;YACrC,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC;oBACpE,KAAK,EAAE,OAAO;iBACjB;gBACD;oBACI,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBAC7D,KAAK,EAAE,QAAQ;iBAClB;aACJ;YACD,OAAO,EAAE,OAAO;SACnB;KACJ,CAAC,CAAC;IAEH,MAAM,IAAI,GAAoB,UAAU,CAAC,IAAI,CAAC;IAE9C,WAAW;IACX,IAAI,MAAM,GAAiB,MAAM,CAAC;IAClC,IAAI,gBAAgB,GAAG,cAAc,CAAC,iBAAiB,CAAC;IACxD,IAAI,UAAU,GAAG,OAAO,CAAC;IACzB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAChF,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IAC7C,IAAI,WAAW,GAAI,WAAW,CAAC,WAAsB,CAAC,IAAI,EAAE,IAAI,aAAa,CAAC;IAC9E,IAAI,YAAY,GAAI,WAAW,CAAC,YAAuB,CAAC,IAAI,EAAE,IAAI,cAAc,CAAC;IACjF,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACnB,mBAAmB;QACnB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACvC;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;gBAClC,OAAO,EAAE;oBACL,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;oBACvD,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;oBAChD,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;iBAChD;gBACD,OAAO,EAAE,MAAM;aAClB;SACJ,CAAC,CAAC;QACH,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAE7B,aAAa;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,IAAI,IAAI,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACxG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;QACrF,IAAI,cAAc,CAAC,mBAAmB,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACzD,CAAC;IAEL,CAAC;SAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,kBAAkB;QAClB,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACxC;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;gBAClC,OAAO,EAAE;oBACL,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;oBACvD,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;oBAChD,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;iBAChD;gBACD,OAAO,EAAE,MAAM;aAClB;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBACvC,OAAO,EAAE;oBACL,GAAG,0BAA0B,CAAC,cAAc,CAAC,iBAAiB,CAAC;oBAC/D,IAAI,QAAQ,CAAC,SAAS,EAAE;oBACxB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;iBACzD;gBACD,OAAO,EAAE,cAAc,CAAC,iBAAiB;aAC5C;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpC,OAAO,EAAE;oBACL,GAAG,yBAAyB,EAAE;oBAC9B,IAAI,QAAQ,CAAC,SAAS,EAAE;oBACxB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;iBACxD;gBACD,OAAO,EAAE,OAAO;aACnB;SACJ,CAAC,CAAC;QAEH,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;QAC9B,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAAC;QAClD,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QAEtC,uBAAuB;QACvB,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC3C;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC;oBAC5C,OAAO,EAAE,0BAA0B,CAAC,cAAc,CAAC;oBACnD,OAAO,EAAE,cAAc,CAAC,iBAAiB;iBAC5C;aACJ,CAAC,CAAC;YACH,gBAAgB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;QACzD,CAAC;QAED,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC1C;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC;oBACzC,OAAO,EAAE,oBAAoB,EAAE;oBAC/B,OAAO,EAAE,OAAO;iBACnB;aACJ,CAAC,CAAC;YACH,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;QAC5C,CAAC;IAEL,CAAC;IAED,0CAA0C;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE/C,IAAI,CAAC;QACD,iCAAiC;QACjC,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,UAAU,CAAC,uBAAuB,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAExD,MAAM,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;QAEhD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,QAAQ;QACR,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE3C,MAAM,iBAAiB,GAAG;YACtB,SAAS,EAAE,iBAAiB;YAC5B,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7D,MAAM,EAAE,MAAM;YACd,gBAAgB,EAAE,gBAAuB;YACzC,UAAU,EAAE,UAAU;YACtB,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,WAAW,IAAI,SAAS;YACrC,YAAY,EAAE,YAAY,IAAI,SAAS;SAC1C,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE1D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC,CAAC,CAAC;AAEP,uBAAuB;AACvB,OAAO;KACF,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,GAAG,EAAE;IACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAErE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,QAAQ,qBAAqB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACnG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEP,sBAAsB;AACtB,OAAO;KACF,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,GAAG,EAAE;IACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE/D,MAAM,UAAU,GAAG;QACf,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE,iBAAiB;KAC9B,CAAC;IAEF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,EAAE,CAAC;AAClB,CAAC,CAAC,CAAC;AAEP,6BAA6B;AAC7B,OAAO;KACF,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,KAAK,IAAI,EAAE;IACf,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,uBAAuB,EAAE,CAAC;IAE3D,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC,CAAC,CAAC;AAEP,kBAAkB;AAClB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,qCAAqC;AACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,OAAO,CAAC,UAAU,EAAE,CAAC;AACzB,CAAC"}
@@ -71,6 +71,10 @@ export declare class PandocService {
71
71
  * Build Pandoc command arguments for EPUB
72
72
  */
73
73
  private buildEpubArgs;
74
+ /**
75
+ * Check if a PDF engine is available on the system
76
+ */
77
+ private checkPdfEngineAvailable;
74
78
  private resolvePdfEngine;
75
79
  /**
76
80
  * Build Pandoc command arguments for PDF
@@ -1 +1 @@
1
- {"version":3,"file":"PandocService.d.ts","sourceRoot":"","sources":["../../src/services/PandocService.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAqB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAiB3F,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,qBAAa,aAAa;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,YAAY,CAAe;gBAEvB,UAAU,GAAE,MAAW;IAOnC;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC;IAuDjD;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAiCjC;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAwB3F;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBzF;;OAEG;YACW,aAAa;IAyE3B,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;YACW,YAAY;IA4E1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;YACW,qBAAqB;IAsCnC;;OAEG;IACH,MAAM,CAAC,sBAAsB,IAAI,MAAM;CAyB1C"}
1
+ {"version":3,"file":"PandocService.d.ts","sourceRoot":"","sources":["../../src/services/PandocService.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAqB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAiB3F,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,qBAAa,aAAa;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,YAAY,CAAe;gBAEvB,UAAU,GAAE,MAAW;IAOnC;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC;IAuDjD;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAiCjC;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAwB3F;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBzF;;OAEG;YACW,aAAa;IAyE3B;;OAEG;YACW,uBAAuB;YASvB,gBAAgB;IA0C9B;;OAEG;YACW,YAAY;IA4E1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;YACW,qBAAqB;IAsCnC;;OAEG;IACH,MAAM,CAAC,sBAAsB,IAAI,MAAM;CAyB1C"}
@@ -230,16 +230,46 @@ export class PandocService {
230
230
  args.push('--standalone');
231
231
  return args;
232
232
  }
233
- resolvePdfEngine(engine) {
233
+ /**
234
+ * Check if a PDF engine is available on the system
235
+ */
236
+ async checkPdfEngineAvailable(engine) {
237
+ try {
238
+ await execFileAsync(engine, ['--version'], { timeout: 3000 });
239
+ return true;
240
+ }
241
+ catch {
242
+ return false;
243
+ }
244
+ }
245
+ async resolvePdfEngine(engine) {
234
246
  if (engine === 'auto') {
235
- const weasyprintPath = this.findPdfEnginePath('weasyprint');
236
- if (weasyprintPath !== 'weasyprint') {
237
- return { engine: 'weasyprint', path: weasyprintPath };
247
+ // Try engines in order of preference for Korean + typography support
248
+ const enginePreferences = [
249
+ { name: 'weasyprint', path: this.findPdfEnginePath('weasyprint') },
250
+ { name: 'xelatex', path: 'xelatex' },
251
+ { name: 'pdflatex', path: 'pdflatex' },
252
+ ];
253
+ for (const { name, path } of enginePreferences) {
254
+ const isAvailable = await this.checkPdfEngineAvailable(path);
255
+ if (isAvailable) {
256
+ Logger.debug(`[PDF Engine] Selected: ${name} (${path})`);
257
+ return { engine: name, path };
258
+ }
238
259
  }
239
- // Best fallback for Korean + typography when WeasyPrint is not installed
240
- return { engine: 'xelatex', path: 'xelatex' };
260
+ // No engine found
261
+ throw new Error('PDF 엔진을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. WeasyPrint, XeLaTeX, λ˜λŠ” PDFLaTeXλ₯Ό μ„€μΉ˜ν•˜μ„Έμš”.\n' +
262
+ 'μ„€μΉ˜ 방법:\n' +
263
+ ' WeasyPrint: pip install weasyprint\n' +
264
+ ' XeLaTeX/PDFLaTeX: brew install basictex (macOS) λ˜λŠ” https://www.tug.org/texlive/');
265
+ }
266
+ const path = this.findPdfEnginePath(engine);
267
+ const isAvailable = await this.checkPdfEngineAvailable(path);
268
+ if (!isAvailable) {
269
+ throw new Error(`μ§€μ •λœ PDF 엔진을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€: ${engine}\n` +
270
+ 'λ‹€λ₯Έ 엔진을 μ„ νƒν•˜κ±°λ‚˜ --pdf-engine=auto μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ„Έμš”.');
241
271
  }
242
- return { engine, path: this.findPdfEnginePath(engine) };
272
+ return { engine, path };
243
273
  }
244
274
  /**
245
275
  * Build Pandoc command arguments for PDF
@@ -263,7 +293,7 @@ export class PandocService {
263
293
  args.push('-o', options.outputPath);
264
294
  // PDF engine
265
295
  const requestedEngine = options.pdfEngine || 'auto';
266
- const resolvedEngine = this.resolvePdfEngine(requestedEngine);
296
+ const resolvedEngine = await this.resolvePdfEngine(requestedEngine);
267
297
  args.push(`--pdf-engine=${resolvedEngine.path}`);
268
298
  // Metadata: Author
269
299
  if (options.author) {
@@ -1 +1 @@
1
- {"version":3,"file":"PandocService.js","sourceRoot":"","sources":["../../src/services/PandocService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PandocService.js","sourceRoot":"","sources":["../../src/services/PandocService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Dependency Checker - Proactive installation guidance
3
+ *
4
+ * Checks for required dependencies and provides user-friendly installation instructions
5
+ */
6
+ export interface DependencyStatus {
7
+ name: string;
8
+ required: boolean;
9
+ installed: boolean;
10
+ version?: string;
11
+ installInstructions: InstallInstructions;
12
+ }
13
+ export interface InstallInstructions {
14
+ description: string;
15
+ macOS: string[];
16
+ linux: string[];
17
+ windows: string[];
18
+ notes?: string;
19
+ }
20
+ export declare class DependencyChecker {
21
+ /**
22
+ * Check if a command is available
23
+ */
24
+ private isCommandAvailable;
25
+ /**
26
+ * Check Node.js
27
+ */
28
+ private checkNode;
29
+ /**
30
+ * Check Pandoc
31
+ */
32
+ private checkPandoc;
33
+ /**
34
+ * Check PDF engines (at least one should be available)
35
+ */
36
+ private checkPdfEngines;
37
+ /**
38
+ * Check Python (optional, for WeasyPrint)
39
+ */
40
+ private checkPython;
41
+ /**
42
+ * Check all dependencies
43
+ */
44
+ checkAll(): Promise<{
45
+ allRequired: boolean;
46
+ hasPdfEngine: boolean;
47
+ dependencies: DependencyStatus[];
48
+ pdfEngines: DependencyStatus[];
49
+ }>;
50
+ /**
51
+ * Display installation instructions for a dependency
52
+ */
53
+ displayInstallInstructions(dep: DependencyStatus): void;
54
+ /**
55
+ * Display comprehensive dependency report
56
+ */
57
+ displayDependencyReport(): Promise<boolean>;
58
+ /**
59
+ * Quick check - returns true if ready to convert
60
+ */
61
+ quickCheck(format: 'epub' | 'pdf' | 'both'): Promise<boolean>;
62
+ }
63
+ //# sourceMappingURL=dependencyChecker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencyChecker.d.ts","sourceRoot":"","sources":["../../src/utils/dependencyChecker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,mBAAmB,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAiB;IAC1B;;OAEG;YACW,kBAAkB;IAahC;;OAEG;YACW,SAAS;IAiBvB;;OAEG;YACW,WAAW;IAiBzB;;OAEG;YACW,eAAe;IAoD7B;;OAEG;YACW,WAAW;IAmBzB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,YAAY,EAAE,gBAAgB,EAAE,CAAC;QACjC,UAAU,EAAE,gBAAgB,EAAE,CAAC;KAClC,CAAC;IAkBF;;OAEG;IACH,0BAA0B,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IA6BvD;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IA0EjD;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CActE"}
@@ -0,0 +1,268 @@
1
+ /**
2
+ * Dependency Checker - Proactive installation guidance
3
+ *
4
+ * Checks for required dependencies and provides user-friendly installation instructions
5
+ */
6
+ import { execFile } from 'child_process';
7
+ import { promisify } from 'util';
8
+ import chalk from 'chalk';
9
+ const execFileAsync = promisify(execFile);
10
+ export class DependencyChecker {
11
+ /**
12
+ * Check if a command is available
13
+ */
14
+ async isCommandAvailable(command, args = ['--version']) {
15
+ try {
16
+ const { stdout } = await execFileAsync(command, args, { timeout: 3000 });
17
+ const versionMatch = stdout.match(/(\d+\.\d+(?:\.\d+)?)/);
18
+ return {
19
+ available: true,
20
+ version: versionMatch ? versionMatch[1] : 'installed'
21
+ };
22
+ }
23
+ catch {
24
+ return { available: false };
25
+ }
26
+ }
27
+ /**
28
+ * Check Node.js
29
+ */
30
+ async checkNode() {
31
+ const result = await this.isCommandAvailable('node');
32
+ return {
33
+ name: 'Node.js',
34
+ required: true,
35
+ installed: result.available,
36
+ version: result.version,
37
+ installInstructions: {
38
+ description: 'JavaScript λŸ°νƒ€μž„ - CLIκ°€ μ‹€ν–‰λ˜λŠ” 기반',
39
+ macOS: ['brew install node', 'λ˜λŠ” https://nodejs.org μ—μ„œ λ‹€μš΄λ‘œλ“œ'],
40
+ linux: ['sudo apt-get install nodejs npm', 'λ˜λŠ” https://nodejs.org μ—μ„œ λ‹€μš΄λ‘œλ“œ'],
41
+ windows: ['winget install OpenJS.NodeJS', 'λ˜λŠ” https://nodejs.org μ—μ„œ λ‹€μš΄λ‘œλ“œ'],
42
+ notes: 'Node.js 18 이상 ꢌμž₯'
43
+ }
44
+ };
45
+ }
46
+ /**
47
+ * Check Pandoc
48
+ */
49
+ async checkPandoc() {
50
+ const result = await this.isCommandAvailable('pandoc');
51
+ return {
52
+ name: 'Pandoc',
53
+ required: true,
54
+ installed: result.available,
55
+ version: result.version,
56
+ installInstructions: {
57
+ description: 'λ¬Έμ„œ λ³€ν™˜ μ—”μ§„ - EPUB/PDF μƒμ„±μ˜ 핡심',
58
+ macOS: ['brew install pandoc'],
59
+ linux: ['sudo apt-get install pandoc'],
60
+ windows: ['winget install --id JohnMacFarlane.Pandoc'],
61
+ notes: 'Pandoc 2.19 이상 ν•„μš”'
62
+ }
63
+ };
64
+ }
65
+ /**
66
+ * Check PDF engines (at least one should be available)
67
+ */
68
+ async checkPdfEngines() {
69
+ const engines = [
70
+ {
71
+ name: 'WeasyPrint',
72
+ command: 'weasyprint',
73
+ description: 'PDF 생성 μ—”μ§„ (μΆ”μ²œ) - κ°€μž₯ 쉽고 ν•œκΈ€ 지원 우수',
74
+ macOS: ['pip3 install weasyprint', 'λ˜λŠ” pip install weasyprint'],
75
+ linux: ['pip3 install weasyprint', 'λ˜λŠ” pip install weasyprint'],
76
+ windows: ['pip install weasyprint'],
77
+ notes: 'Python이 ν•„μš”ν•©λ‹ˆλ‹€: https://python.org'
78
+ },
79
+ {
80
+ name: 'XeLaTeX',
81
+ command: 'xelatex',
82
+ description: 'PDF 생성 μ—”μ§„ (ν•œκΈ€ μ΅œμ ν™”) - μ „λ¬Έ 좜판 ν’ˆμ§ˆ',
83
+ macOS: ['brew install --cask basictex', 'eval "$(/usr/libexec/path_helper)"'],
84
+ linux: ['sudo apt-get install texlive-xetex texlive-fonts-recommended'],
85
+ windows: ['https://www.tug.org/texlive/ μ—μ„œ μ„€μΉ˜'],
86
+ notes: 'μ„€μΉ˜ ν›„ 터미널 μž¬μ‹œμž‘ ν•„μš”'
87
+ },
88
+ {
89
+ name: 'PDFLaTeX',
90
+ command: 'pdflatex',
91
+ description: 'PDF 생성 μ—”μ§„ (κΈ°λ³Έ) - ν‘œμ€€ LaTeX',
92
+ macOS: ['brew install --cask basictex'],
93
+ linux: ['sudo apt-get install texlive-latex-base'],
94
+ windows: ['https://www.tug.org/texlive/ μ—μ„œ μ„€μΉ˜'],
95
+ notes: 'μ„€μΉ˜ ν›„ 터미널 μž¬μ‹œμž‘ ν•„μš”'
96
+ }
97
+ ];
98
+ const results = [];
99
+ for (const engine of engines) {
100
+ const result = await this.isCommandAvailable(engine.command);
101
+ results.push({
102
+ name: engine.name,
103
+ required: false,
104
+ installed: result.available,
105
+ version: result.version,
106
+ installInstructions: {
107
+ description: engine.description,
108
+ macOS: engine.macOS,
109
+ linux: engine.linux,
110
+ windows: engine.windows,
111
+ notes: engine.notes
112
+ }
113
+ });
114
+ }
115
+ return results;
116
+ }
117
+ /**
118
+ * Check Python (optional, for WeasyPrint)
119
+ */
120
+ async checkPython() {
121
+ const result = await this.isCommandAvailable('python3', ['--version']);
122
+ const result2 = !result.available ? await this.isCommandAvailable('python', ['--version']) : result;
123
+ return {
124
+ name: 'Python',
125
+ required: false,
126
+ installed: result.available || result2.available,
127
+ version: result.version || result2.version,
128
+ installInstructions: {
129
+ description: 'WeasyPrint μ„€μΉ˜μ— ν•„μš” (선택사항)',
130
+ macOS: ['brew install python3'],
131
+ linux: ['sudo apt-get install python3 python3-pip'],
132
+ windows: ['winget install Python.Python.3', 'λ˜λŠ” https://python.org μ—μ„œ λ‹€μš΄λ‘œλ“œ'],
133
+ notes: 'WeasyPrintλ₯Ό μ‚¬μš©ν•˜λ €λ©΄ ν•„μš”ν•©λ‹ˆλ‹€'
134
+ }
135
+ };
136
+ }
137
+ /**
138
+ * Check all dependencies
139
+ */
140
+ async checkAll() {
141
+ const node = await this.checkNode();
142
+ const pandoc = await this.checkPandoc();
143
+ const python = await this.checkPython();
144
+ const pdfEngines = await this.checkPdfEngines();
145
+ const dependencies = [node, pandoc, python];
146
+ const allRequired = node.installed && pandoc.installed;
147
+ const hasPdfEngine = pdfEngines.some(engine => engine.installed);
148
+ return {
149
+ allRequired,
150
+ hasPdfEngine,
151
+ dependencies,
152
+ pdfEngines
153
+ };
154
+ }
155
+ /**
156
+ * Display installation instructions for a dependency
157
+ */
158
+ displayInstallInstructions(dep) {
159
+ const platform = process.platform;
160
+ const instructions = dep.installInstructions;
161
+ console.log(chalk.yellow(`\nπŸ“¦ ${dep.name} μ„€μΉ˜ 방법:`));
162
+ console.log(chalk.gray(` ${instructions.description}\n`));
163
+ if (platform === 'darwin') {
164
+ console.log(chalk.cyan(' macOS:'));
165
+ instructions.macOS.forEach(cmd => {
166
+ console.log(chalk.white(` $ ${cmd}`));
167
+ });
168
+ }
169
+ else if (platform === 'win32') {
170
+ console.log(chalk.cyan(' Windows:'));
171
+ instructions.windows.forEach(cmd => {
172
+ console.log(chalk.white(` > ${cmd}`));
173
+ });
174
+ }
175
+ else {
176
+ console.log(chalk.cyan(' Linux:'));
177
+ instructions.linux.forEach(cmd => {
178
+ console.log(chalk.white(` $ ${cmd}`));
179
+ });
180
+ }
181
+ if (instructions.notes) {
182
+ console.log(chalk.gray(`\n πŸ’‘ ${instructions.notes}`));
183
+ }
184
+ }
185
+ /**
186
+ * Display comprehensive dependency report
187
+ */
188
+ async displayDependencyReport() {
189
+ console.log(chalk.cyan.bold('\nπŸ” μ˜μ‘΄μ„± 확인 쀑...\n'));
190
+ const { allRequired, hasPdfEngine, dependencies, pdfEngines } = await this.checkAll();
191
+ // Show required dependencies
192
+ console.log(chalk.bold('ν•„μˆ˜ μ˜μ‘΄μ„±:'));
193
+ dependencies.filter(d => d.required).forEach(dep => {
194
+ if (dep.installed) {
195
+ console.log(chalk.green(` βœ… ${dep.name} ${dep.version ? `(v${dep.version})` : ''}`));
196
+ }
197
+ else {
198
+ console.log(chalk.red(` ❌ ${dep.name} - μ„€μΉ˜ ν•„μš”`));
199
+ }
200
+ });
201
+ // Show PDF engines
202
+ console.log(chalk.bold('\nPDF 생성 μ—”μ§„ (μ΅œμ†Œ 1개 ν•„μš”):'));
203
+ pdfEngines.forEach(engine => {
204
+ if (engine.installed) {
205
+ console.log(chalk.green(` βœ… ${engine.name} ${engine.version ? `(v${engine.version})` : ''}`));
206
+ }
207
+ else {
208
+ console.log(chalk.gray(` βšͺ ${engine.name} - λ―Έμ„€μΉ˜`));
209
+ }
210
+ });
211
+ // Show optional dependencies
212
+ const optional = dependencies.filter(d => !d.required);
213
+ if (optional.length > 0) {
214
+ console.log(chalk.bold('\n선택 μ˜μ‘΄μ„±:'));
215
+ optional.forEach(dep => {
216
+ if (dep.installed) {
217
+ console.log(chalk.green(` βœ… ${dep.name} ${dep.version ? `(v${dep.version})` : ''}`));
218
+ }
219
+ else {
220
+ console.log(chalk.gray(` βšͺ ${dep.name} - λ―Έμ„€μΉ˜`));
221
+ }
222
+ });
223
+ }
224
+ // If missing required dependencies, show installation instructions
225
+ if (!allRequired) {
226
+ console.log(chalk.red.bold('\n⚠️ ν•„μˆ˜ μ˜μ‘΄μ„±μ΄ λˆ„λ½λ˜μ—ˆμŠ΅λ‹ˆλ‹€!\n'));
227
+ dependencies.filter(d => d.required && !d.installed).forEach(dep => {
228
+ this.displayInstallInstructions(dep);
229
+ });
230
+ return false;
231
+ }
232
+ // If no PDF engine, show recommendations
233
+ if (!hasPdfEngine) {
234
+ console.log(chalk.yellow.bold('\n⚠️ PDF 생성 엔진이 μ—†μŠ΅λ‹ˆλ‹€!\n'));
235
+ console.log(chalk.yellow('PDF νŒŒμΌμ„ μƒμ„±ν•˜λ €λ©΄ μ΅œμ†Œ 1개의 PDF 엔진이 ν•„μš”ν•©λ‹ˆλ‹€.'));
236
+ console.log(chalk.yellow('EPUB만 μƒμ„±ν•˜λ €λ©΄ 이 단계λ₯Ό κ±΄λ„ˆλ›Έ 수 μžˆμŠ΅λ‹ˆλ‹€.\n'));
237
+ // Show WeasyPrint first (recommended)
238
+ const weasyprint = pdfEngines.find(e => e.name === 'WeasyPrint');
239
+ if (weasyprint) {
240
+ this.displayInstallInstructions(weasyprint);
241
+ }
242
+ console.log(chalk.gray('\nλ˜λŠ” λ‹€λ₯Έ PDF 엔진을 μ„ νƒν•˜μ„Έμš”:'));
243
+ pdfEngines.filter(e => e.name !== 'WeasyPrint').forEach(engine => {
244
+ console.log(chalk.gray(` β€’ ${engine.name}: ${engine.installInstructions.description}`));
245
+ });
246
+ console.log(chalk.cyan('\nπŸ’‘ 전체 μ„€μΉ˜ κ°€μ΄λ“œ: https://github.com/goodlookingprokim/markdown-to-document-cli#-ν•„μˆ˜-μš”κ΅¬μ‚¬ν•­\n'));
247
+ }
248
+ if (allRequired && hasPdfEngine) {
249
+ console.log(chalk.green.bold('\nβœ… λͺ¨λ“  μ˜μ‘΄μ„±μ΄ μ€€λΉ„λ˜μ—ˆμŠ΅λ‹ˆλ‹€!\n'));
250
+ }
251
+ return allRequired;
252
+ }
253
+ /**
254
+ * Quick check - returns true if ready to convert
255
+ */
256
+ async quickCheck(format) {
257
+ const { allRequired, hasPdfEngine } = await this.checkAll();
258
+ if (!allRequired) {
259
+ return false;
260
+ }
261
+ // If PDF is needed but no engine available
262
+ if ((format === 'pdf' || format === 'both') && !hasPdfEngine) {
263
+ return false;
264
+ }
265
+ return true;
266
+ }
267
+ }
268
+ //# sourceMappingURL=dependencyChecker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencyChecker.js","sourceRoot":"","sources":["../../src/utils/dependencyChecker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Path Validator - Robust file path handling and validation
3
+ *
4
+ * Handles common path issues:
5
+ * - Backslash escapes in paths
6
+ * - Quoted paths
7
+ * - Spaces in paths
8
+ * - Relative vs absolute paths
9
+ * - Path existence validation
10
+ */
11
+ export interface PathValidationResult {
12
+ valid: boolean;
13
+ normalizedPath?: string;
14
+ error?: string;
15
+ suggestions?: string[];
16
+ }
17
+ export declare class PathValidator {
18
+ /**
19
+ * Normalize and clean a file path
20
+ * Handles backslashes, quotes, and other common issues
21
+ */
22
+ static normalizePath(inputPath: string): string;
23
+ /**
24
+ * Validate a file path and provide helpful feedback
25
+ */
26
+ static validatePath(inputPath: string): PathValidationResult;
27
+ /**
28
+ * Generate helpful suggestions based on the invalid path
29
+ */
30
+ private static generatePathSuggestions;
31
+ /**
32
+ * Display validation error with helpful suggestions
33
+ */
34
+ static displayValidationError(result: PathValidationResult): void;
35
+ /**
36
+ * Interactive path input with validation
37
+ */
38
+ static promptForValidPath(initialPath?: string): Promise<string | null>;
39
+ /**
40
+ * Quick validation for CLI arguments
41
+ */
42
+ static quickValidate(inputPath: string): {
43
+ valid: boolean;
44
+ path?: string;
45
+ error?: string;
46
+ };
47
+ }
48
+ //# sourceMappingURL=pathValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathValidator.d.ts","sourceRoot":"","sources":["../../src/utils/pathValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,qBAAa,aAAa;IACtB;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAuB/C;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB;IA0D5D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAwCtC;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAwBjE;;OAEG;WACU,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAwB7E;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAQ7F"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Path Validator - Robust file path handling and validation
3
+ *
4
+ * Handles common path issues:
5
+ * - Backslash escapes in paths
6
+ * - Quoted paths
7
+ * - Spaces in paths
8
+ * - Relative vs absolute paths
9
+ * - Path existence validation
10
+ */
11
+ import * as fs from 'fs';
12
+ import * as path from 'path';
13
+ import chalk from 'chalk';
14
+ export class PathValidator {
15
+ /**
16
+ * Normalize and clean a file path
17
+ * Handles backslashes, quotes, and other common issues
18
+ */
19
+ static normalizePath(inputPath) {
20
+ let cleaned = inputPath.trim();
21
+ // Remove surrounding quotes (single or double)
22
+ cleaned = cleaned.replace(/^['"]|['"]$/g, '');
23
+ // Replace escaped spaces (\ ) with regular spaces
24
+ cleaned = cleaned.replace(/\\\s/g, ' ');
25
+ // Replace other escaped characters
26
+ cleaned = cleaned.replace(/\\(.)/g, '$1');
27
+ // Normalize path separators and resolve
28
+ cleaned = path.normalize(cleaned);
29
+ // Resolve to absolute path if relative
30
+ if (!path.isAbsolute(cleaned)) {
31
+ cleaned = path.resolve(process.cwd(), cleaned);
32
+ }
33
+ return cleaned;
34
+ }
35
+ /**
36
+ * Validate a file path and provide helpful feedback
37
+ */
38
+ static validatePath(inputPath) {
39
+ if (!inputPath || inputPath.trim() === '') {
40
+ return {
41
+ valid: false,
42
+ error: '파일 κ²½λ‘œκ°€ λΉ„μ–΄μžˆμŠ΅λ‹ˆλ‹€.',
43
+ suggestions: [
44
+ 'νŒŒμΌμ„ ν„°λ―Έλ„λ‘œ λ“œλž˜κ·Έ μ•€ λ“œλ‘­ν•˜μ„Έμš”',
45
+ 'λ˜λŠ” μ ˆλŒ€ 경둜λ₯Ό μž…λ ₯ν•˜μ„Έμš”: /Users/username/document.md'
46
+ ]
47
+ };
48
+ }
49
+ const normalizedPath = this.normalizePath(inputPath);
50
+ // Check if file exists
51
+ if (!fs.existsSync(normalizedPath)) {
52
+ const suggestions = this.generatePathSuggestions(normalizedPath);
53
+ return {
54
+ valid: false,
55
+ normalizedPath,
56
+ error: `νŒŒμΌμ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€: ${normalizedPath}`,
57
+ suggestions
58
+ };
59
+ }
60
+ // Check if it's a file (not a directory)
61
+ const stats = fs.statSync(normalizedPath);
62
+ if (!stats.isFile()) {
63
+ return {
64
+ valid: false,
65
+ normalizedPath,
66
+ error: `디렉토리가 μ•„λ‹Œ νŒŒμΌμ„ 선택해야 ν•©λ‹ˆλ‹€: ${normalizedPath}`,
67
+ suggestions: [
68
+ 'λ§ˆν¬λ‹€μš΄ 파일(.md)을 μ„ νƒν•˜μ„Έμš”',
69
+ '디렉토리 λ‚΄μ˜ νŠΉμ • νŒŒμΌμ„ μ§€μ •ν•˜μ„Έμš”'
70
+ ]
71
+ };
72
+ }
73
+ // Check if it's a markdown file
74
+ if (!normalizedPath.endsWith('.md')) {
75
+ return {
76
+ valid: false,
77
+ normalizedPath,
78
+ error: `λ§ˆν¬λ‹€μš΄ 파일(.md)이 μ•„λ‹™λ‹ˆλ‹€: ${normalizedPath}`,
79
+ suggestions: [
80
+ '파일 ν™•μž₯μžκ°€ .md인지 ν™•μΈν•˜μ„Έμš”',
81
+ '예: document.md, README.md'
82
+ ]
83
+ };
84
+ }
85
+ return {
86
+ valid: true,
87
+ normalizedPath
88
+ };
89
+ }
90
+ /**
91
+ * Generate helpful suggestions based on the invalid path
92
+ */
93
+ static generatePathSuggestions(invalidPath) {
94
+ const suggestions = [];
95
+ const dirname = path.dirname(invalidPath);
96
+ const basename = path.basename(invalidPath);
97
+ // Check if directory exists
98
+ if (fs.existsSync(dirname)) {
99
+ suggestions.push(`λ””λ ‰ν† λ¦¬λŠ” μ‘΄μž¬ν•©λ‹ˆλ‹€: ${dirname}`);
100
+ // Try to find similar files
101
+ try {
102
+ const files = fs.readdirSync(dirname);
103
+ const mdFiles = files.filter(f => f.endsWith('.md'));
104
+ if (mdFiles.length > 0) {
105
+ suggestions.push(`이 λ””λ ‰ν† λ¦¬μ˜ λ§ˆν¬λ‹€μš΄ 파일:`);
106
+ mdFiles.slice(0, 5).forEach(f => {
107
+ suggestions.push(` - ${path.join(dirname, f)}`);
108
+ });
109
+ if (mdFiles.length > 5) {
110
+ suggestions.push(` ... κ·Έ μ™Έ ${mdFiles.length - 5}개 파일`);
111
+ }
112
+ }
113
+ }
114
+ catch {
115
+ // Ignore permission errors
116
+ }
117
+ }
118
+ else {
119
+ suggestions.push('디렉토리가 μ‘΄μž¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€');
120
+ suggestions.push('경둜λ₯Ό λ‹€μ‹œ ν™•μΈν•˜μ„Έμš”');
121
+ }
122
+ // Common mistakes
123
+ if (invalidPath.includes('\\')) {
124
+ suggestions.push('⚠️ λ°±μŠ¬λž˜μ‹œ(\\)κ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€');
125
+ suggestions.push('νŒŒμΌμ„ λ“œλž˜κ·Έ μ•€ λ“œλ‘­ν•˜κ±°λ‚˜ λ”°μ˜΄ν‘œ 없이 경둜λ₯Ό μž…λ ₯ν•˜μ„Έμš”');
126
+ }
127
+ return suggestions;
128
+ }
129
+ /**
130
+ * Display validation error with helpful suggestions
131
+ */
132
+ static displayValidationError(result) {
133
+ console.log(chalk.red(`\n❌ ${result.error}\n`));
134
+ if (result.suggestions && result.suggestions.length > 0) {
135
+ console.log(chalk.yellow('πŸ’‘ 도움말:'));
136
+ result.suggestions.forEach(suggestion => {
137
+ if (suggestion.startsWith(' -')) {
138
+ console.log(chalk.gray(suggestion));
139
+ }
140
+ else if (suggestion.startsWith('⚠️')) {
141
+ console.log(chalk.yellow(` ${suggestion}`));
142
+ }
143
+ else {
144
+ console.log(chalk.cyan(` β€’ ${suggestion}`));
145
+ }
146
+ });
147
+ console.log();
148
+ }
149
+ console.log(chalk.cyan('πŸ“ μ˜¬λ°”λ₯Έ 경둜 μž…λ ₯ 방법:'));
150
+ console.log(chalk.gray(' 1. νŒŒμΌμ„ 터미널 창으둜 λ“œλž˜κ·Έ μ•€ λ“œλ‘­'));
151
+ console.log(chalk.gray(' 2. μ ˆλŒ€ 경둜 μž…λ ₯: /Users/username/document.md'));
152
+ console.log(chalk.gray(' 3. μƒλŒ€ 경둜 μž…λ ₯: ./docs/document.md'));
153
+ console.log();
154
+ }
155
+ /**
156
+ * Interactive path input with validation
157
+ */
158
+ static async promptForValidPath(initialPath) {
159
+ let attempts = 0;
160
+ const maxAttempts = 3;
161
+ while (attempts < maxAttempts) {
162
+ const inputPath = initialPath || '';
163
+ const result = this.validatePath(inputPath);
164
+ if (result.valid && result.normalizedPath) {
165
+ return result.normalizedPath;
166
+ }
167
+ this.displayValidationError(result);
168
+ attempts++;
169
+ if (attempts >= maxAttempts) {
170
+ console.log(chalk.red('❌ μ΅œλŒ€ μ‹œλ„ 횟수λ₯Ό μ΄ˆκ³Όν–ˆμŠ΅λ‹ˆλ‹€.\n'));
171
+ return null;
172
+ }
173
+ }
174
+ return null;
175
+ }
176
+ /**
177
+ * Quick validation for CLI arguments
178
+ */
179
+ static quickValidate(inputPath) {
180
+ const result = this.validatePath(inputPath);
181
+ return {
182
+ valid: result.valid,
183
+ path: result.normalizedPath,
184
+ error: result.error
185
+ };
186
+ }
187
+ }
188
+ //# sourceMappingURL=pathValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathValidator.js","sourceRoot":"","sources":["../../src/utils/pathValidator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "markdown-to-document-cli",
3
- "version": "1.2.7",
3
+ "version": "1.2.8",
4
4
  "description": "Professional-grade EPUB/PDF conversion tool for Markdown files. 8 validation modules, auto-fix, typography presets, font subsetting (99% size reduction), ISBN validation, copyright page generation.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {