@json-to-office/core-pptx 0.1.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.
- package/LICENSE +18 -0
- package/README.md +9 -0
- package/dist/components/chart.d.ts +63 -0
- package/dist/components/chart.d.ts.map +1 -0
- package/dist/components/highcharts.d.ts +8 -0
- package/dist/components/highcharts.d.ts.map +1 -0
- package/dist/components/image.d.ts +37 -0
- package/dist/components/image.d.ts.map +1 -0
- package/dist/components/index.d.ts +13 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/shape.d.ts +45 -0
- package/dist/components/shape.d.ts.map +1 -0
- package/dist/components/table.d.ts +46 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/text.d.ts +57 -0
- package/dist/components/text.d.ts.map +1 -0
- package/dist/core/generator.d.ts +61 -0
- package/dist/core/generator.d.ts.map +1 -0
- package/dist/core/grid.d.ts +35 -0
- package/dist/core/grid.d.ts.map +1 -0
- package/dist/core/render.d.ts +8 -0
- package/dist/core/render.d.ts.map +1 -0
- package/dist/core/structure.d.ts +8 -0
- package/dist/core/structure.d.ts.map +1 -0
- package/dist/core/template.d.ts +10 -0
- package/dist/core/template.d.ts.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1205 -0
- package/dist/index.js.map +1 -0
- package/dist/themes/defaults.d.ts +8 -0
- package/dist/themes/defaults.d.ts.map +1 -0
- package/dist/themes/index.d.ts +2 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +184 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/color.d.ts +12 -0
- package/dist/utils/color.d.ts.map +1 -0
- package/dist/utils/environment.d.ts +8 -0
- package/dist/utils/environment.d.ts.map +1 -0
- package/dist/utils/warn.d.ts +20 -0
- package/dist/utils/warn.d.ts.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/generator.ts","../src/types.ts","../src/utils/warn.ts","../src/core/grid.ts","../src/themes/defaults.ts","../src/core/structure.ts","../src/core/render.ts","../src/utils/color.ts","../src/components/text.ts","../src/components/image.ts","../src/components/shape.ts","../src/components/table.ts","../src/utils/environment.ts","../src/components/highcharts.ts","../src/components/chart.ts","../src/components/index.ts","../src/core/template.ts","../src/index.ts"],"sourcesContent":["/**\n * Presentation Generator\n * Main orchestration functions for the PPTX generation pipeline\n */\n\nimport PptxGenJS from 'pptxgenjs';\nimport JSZip from 'jszip';\nimport { writeFileSync } from 'fs';\nimport type { PresentationComponentDefinition, PptxThemeConfig, PipelineWarning } from '../types';\nimport { isPresentationComponent } from '../types';\nimport { processPresentation } from './structure';\nimport { renderPresentation } from './render';\n\n/**\n * Options for the generation pipeline\n */\nexport interface GenerationOptions {\n customThemes?: Record<string, PptxThemeConfig>;\n}\n\n/**\n * Result from generateBufferWithWarnings\n */\nexport interface GenerationResult {\n buffer: Buffer;\n warnings: PipelineWarning[];\n}\n\n/**\n * Type guard for presentation component\n */\nexport function isPresentationComponentDefinition(\n definition: unknown\n): definition is PresentationComponentDefinition {\n if (typeof definition !== 'object' || definition === null) return false;\n const def = definition as Record<string, unknown>;\n return def.name === 'pptx' && 'props' in def;\n}\n\n/**\n * Generate a PptxGenJS instance from a presentation component definition\n */\nexport async function generatePresentation(\n document: PresentationComponentDefinition,\n options?: GenerationOptions,\n warnings?: PipelineWarning[]\n): Promise<PptxGenJS> {\n if (!document || document.name !== 'pptx') {\n throw new Error('Top-level component must be a pptx component');\n }\n\n const processed = processPresentation(document, options);\n return await renderPresentation(processed, warnings);\n}\n\n/**\n * Generate a buffer from JSON definition\n */\nexport async function generateBufferFromJson(\n jsonConfig: string | PresentationComponentDefinition,\n options?: GenerationOptions\n): Promise<Buffer> {\n const result = await generateBufferWithWarnings(jsonConfig, options);\n return result.buffer;\n}\n\n/**\n * Generate a buffer from JSON definition, returning warnings alongside the buffer\n */\nexport async function generateBufferWithWarnings(\n jsonConfig: string | PresentationComponentDefinition,\n options?: GenerationOptions\n): Promise<GenerationResult> {\n let component: PresentationComponentDefinition;\n\n if (typeof jsonConfig === 'string') {\n const parsed = JSON.parse(jsonConfig);\n if (!isPresentationComponent(parsed)) {\n throw new Error('Parsed JSON must be a presentation component');\n }\n component = parsed;\n } else {\n component = jsonConfig;\n }\n\n const warnings: PipelineWarning[] = [];\n const pptx = await generatePresentation(component, options, warnings);\n const data = await pptx.write({ outputType: 'nodebuffer' });\n const buffer = await neutralizeTableStyle(data as Buffer);\n return { buffer, warnings };\n}\n\n/**\n * Generate and save a .pptx file from JSON definition\n */\nexport async function generateAndSaveFromJson(\n jsonConfig: string | PresentationComponentDefinition,\n outputPath: string,\n options?: GenerationOptions\n): Promise<void> {\n const buffer = await generateBufferFromJson(jsonConfig, options);\n writeFileSync(outputPath, buffer);\n}\n\n/**\n * Generate from a JSON file path\n */\nexport async function generateFromFile(\n filePath: string,\n outputPath: string\n): Promise<void> {\n const { readFileSync } = await import('fs');\n const json = readFileSync(filePath, 'utf-8');\n await generateAndSaveFromJson(json, outputPath);\n}\n\n/**\n * Replace the default table style (Medium Style 2 - Accent 1, which applies allCaps\n * to headers) with \"No Style, No Grid\" so table text renders as authored.\n */\nconst MEDIUM_STYLE_2_ACCENT_1 = '{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}';\nconst NO_STYLE_NO_GRID = '{2D5ABB26-0587-4C30-8999-92F81FD0307C}';\n\nasync function neutralizeTableStyle(buffer: Buffer): Promise<Buffer> {\n const zip = await JSZip.loadAsync(buffer);\n let changed = false;\n for (const [path, entry] of Object.entries(zip.files)) {\n if (!path.match(/^ppt\\/slides\\/slide\\d+\\.xml$/)) continue;\n const xml = await entry.async('string');\n if (xml.includes(MEDIUM_STYLE_2_ACCENT_1)) {\n zip.file(path, xml.replaceAll(MEDIUM_STYLE_2_ACCENT_1, NO_STYLE_NO_GRID));\n changed = true;\n }\n }\n return changed ? await zip.generateAsync({ type: 'nodebuffer' }) as Buffer : buffer;\n}\n\n/**\n * Save a PptxGenJS instance to file\n */\nexport async function savePresentation(\n pptx: PptxGenJS,\n outputPath: string\n): Promise<void> {\n const data = await pptx.write({ outputType: 'nodebuffer' });\n const buffer = await neutralizeTableStyle(data as Buffer);\n writeFileSync(outputPath, buffer);\n}\n\n/**\n * Export the main API\n */\nexport const PresentationGenerator = {\n generate: generatePresentation,\n generateBufferFromJson,\n generateBufferWithWarnings,\n generateAndSaveFromJson,\n generateFromFile,\n save: savePresentation,\n isPresentationComponentDefinition,\n};\n","/**\n * PPTX Core Types\n */\n\nexport interface PptxComponentInput {\n name: string;\n id?: string;\n enabled?: boolean;\n props: Record<string, any>;\n children?: PptxComponentInput[];\n}\n\nexport interface PresentationComponentDefinition {\n name: 'pptx';\n $schema?: string;\n id?: string;\n props: {\n title?: string;\n author?: string;\n subject?: string;\n company?: string;\n theme?: string;\n slideWidth?: number;\n slideHeight?: number;\n rtlMode?: boolean;\n pageNumberFormat?: '9' | '09';\n grid?: GridConfig;\n templates?: TemplateSlideDefinition[];\n };\n children?: PptxComponentInput[];\n}\n\nexport interface SlideComponentDefinition {\n name: 'slide';\n id?: string;\n props: {\n background?: {\n color?: string;\n image?: { path?: string; base64?: string };\n };\n transition?: {\n type?: string;\n speed?: string;\n };\n notes?: string;\n layout?: string;\n hidden?: boolean;\n template?: string;\n placeholders?: Record<string, PptxComponentInput>;\n };\n children?: PptxComponentInput[];\n}\n\nexport interface ProcessedPresentation {\n metadata: {\n title?: string;\n author?: string;\n subject?: string;\n company?: string;\n };\n theme: PptxThemeConfig;\n grid?: GridConfig;\n slideWidth: number;\n slideHeight: number;\n rtlMode: boolean;\n pageNumberFormat: '9' | '09';\n slides: ProcessedSlide[];\n templates?: TemplateSlideDefinition[];\n}\n\nexport interface ProcessedSlide {\n components: PptxComponentInput[];\n background?: {\n color?: string;\n image?: { path?: string; base64?: string };\n };\n notes?: string;\n layout?: string;\n hidden?: boolean;\n template?: string;\n placeholders?: Record<string, PptxComponentInput>;\n}\n\nexport interface GridConfig {\n columns?: number;\n rows?: number;\n margin?: number | { top: number; right: number; bottom: number; left: number };\n gutter?: number | { column: number; row: number };\n}\n\nexport interface GridPosition {\n column: number;\n row: number;\n columnSpan?: number;\n rowSpan?: number;\n}\n\nexport interface TextStyle {\n fontSize?: number;\n fontFace?: string;\n fontColor?: string;\n bold?: boolean;\n italic?: boolean;\n align?: string;\n lineSpacing?: number;\n charSpacing?: number;\n paraSpaceAfter?: number;\n}\n\nexport type StyleName = 'title' | 'subtitle' | 'heading1' | 'heading2' | 'heading3' | 'body' | 'caption';\n\nexport interface PptxThemeConfig {\n name: string;\n colors: {\n primary: string;\n secondary: string;\n accent: string;\n background: string;\n text: string;\n text2?: string;\n background2?: string;\n accent4?: string;\n accent5?: string;\n accent6?: string;\n };\n fonts: {\n heading: string;\n body: string;\n };\n defaults: {\n fontSize: number;\n fontColor: string;\n };\n styles?: Partial<Record<StyleName, TextStyle>>;\n}\n\nexport interface PlaceholderDefinition {\n name: string;\n x?: number; y?: number; w?: number; h?: number;\n grid?: GridPosition;\n defaults?: PptxComponentInput;\n}\n\nexport interface TemplateSlideDefinition {\n name: string;\n background?: { color?: string; image?: { path?: string; base64?: string } };\n margin?: number | [number, number, number, number];\n slideNumber?: { x: number; y: number; w?: number; h?: number; color?: string; fontSize?: number };\n objects?: PptxComponentInput[];\n placeholders?: PlaceholderDefinition[];\n grid?: GridConfig;\n}\n\nexport interface SlideContext {\n slideNumber: number;\n totalSlides: number;\n pageNumberFormat: '9' | '09';\n}\n\nexport interface PipelineWarning {\n code: string; // WarningCode at call sites; string here to avoid circular import\n message: string;\n component?: string;\n slide?: number;\n}\n\nexport function isPresentationComponent(\n component: unknown\n): component is PresentationComponentDefinition {\n return (\n typeof component === 'object' &&\n component !== null &&\n (component as any).name === 'pptx'\n );\n}\n\nexport function isSlideComponent(\n component: unknown\n): component is SlideComponentDefinition {\n return (\n typeof component === 'object' &&\n component !== null &&\n (component as any).name === 'slide'\n );\n}\n","import type { PipelineWarning } from '../types';\n\nexport const W = {\n UNKNOWN_COMPONENT: 'UNKNOWN_COMPONENT',\n UNKNOWN_CHART_TYPE: 'UNKNOWN_CHART_TYPE',\n UNKNOWN_SHAPE: 'UNKNOWN_SHAPE',\n CHART_NO_DATA: 'CHART_NO_DATA',\n CHART_INVALID_SERIES: 'CHART_INVALID_SERIES',\n CHART_MULTI_SERIES: 'CHART_MULTI_SERIES',\n IMAGE_NO_SOURCE: 'IMAGE_NO_SOURCE',\n IMAGE_PROBE_FAILED: 'IMAGE_PROBE_FAILED',\n MISSING_TEMPLATE: 'MISSING_TEMPLATE',\n UNKNOWN_PLACEHOLDER: 'UNKNOWN_PLACEHOLDER',\n PLACEHOLDER_NO_POSITION: 'PLACEHOLDER_NO_POSITION',\n THEME_COLOR_FALLBACK: 'THEME_COLOR_FALLBACK',\n UNKNOWN_COLOR: 'UNKNOWN_COLOR',\n GRID_POSITION_CLAMPED: 'GRID_POSITION_CLAMPED',\n} as const;\n\nexport type WarningCode = typeof W[keyof typeof W];\n\nexport function warn(\n warnings: PipelineWarning[] | undefined,\n code: WarningCode,\n message: string,\n extra?: Partial<PipelineWarning>\n): void {\n if (warnings) {\n warnings.push({ code, message, ...extra });\n } else {\n console.warn(message);\n }\n}\n","/**\n * Grid Layout Resolution\n * Converts grid coordinates to absolute x/y/w/h positions\n */\n\nimport type { GridConfig, GridPosition, PptxComponentInput, PipelineWarning } from '../types';\nimport { warn, W } from '../utils/warn';\n\nexport const DEFAULT_GRID_CONFIG: Required<{\n columns: number;\n rows: number;\n margin: { top: number; right: number; bottom: number; left: number };\n gutter: { column: number; row: number };\n}> = {\n columns: 12,\n rows: 6,\n margin: { top: 0.5, right: 0.5, bottom: 0.5, left: 0.5 },\n gutter: { column: 0.2, row: 0.2 },\n};\n\nfunction resolveMargin(margin: GridConfig['margin']) {\n if (margin == null) return DEFAULT_GRID_CONFIG.margin;\n if (typeof margin === 'number') return { top: margin, right: margin, bottom: margin, left: margin };\n return margin;\n}\n\nfunction resolveGutter(gutter: GridConfig['gutter']) {\n if (gutter == null) return DEFAULT_GRID_CONFIG.gutter;\n if (typeof gutter === 'number') return { column: gutter, row: gutter };\n return gutter;\n}\n\n/**\n * Merge a template-level grid override on top of the presentation grid.\n * Template fields take precedence; nested margin/gutter objects are shallow-merged.\n * Both sides are normalized to object form before merging so that a shorthand\n * base (e.g. margin: 0.5) combined with a partial override (e.g. { top: 1.1 })\n * doesn't lose the other sides.\n */\nexport function mergeGridConfigs(\n base: GridConfig | undefined,\n override: GridConfig | undefined\n): GridConfig | undefined {\n if (!override) return base;\n if (!base) return override;\n\n const merged: GridConfig = {\n columns: override.columns ?? base.columns,\n rows: override.rows ?? base.rows,\n };\n\n // Merge margin — normalize both to object form first\n if (override.margin !== undefined) {\n if (typeof override.margin === 'number') {\n merged.margin = override.margin;\n } else {\n merged.margin = { ...resolveMargin(base.margin), ...override.margin };\n }\n } else {\n merged.margin = base.margin;\n }\n\n // Merge gutter — same normalization\n if (override.gutter !== undefined) {\n if (typeof override.gutter === 'number') {\n merged.gutter = override.gutter;\n } else {\n merged.gutter = { ...resolveGutter(base.gutter), ...override.gutter };\n }\n } else {\n merged.gutter = base.gutter;\n }\n\n return merged;\n}\n\nexport function resolveGridPosition(\n gridPos: GridPosition,\n gridConfig: GridConfig | undefined,\n slideWidth: number,\n slideHeight: number,\n warnings?: PipelineWarning[]\n): { x: number; y: number; w: number; h: number } {\n const cols = Math.max(1, gridConfig?.columns ?? DEFAULT_GRID_CONFIG.columns);\n const rows = Math.max(1, gridConfig?.rows ?? DEFAULT_GRID_CONFIG.rows);\n const margin = resolveMargin(gridConfig?.margin);\n const gutter = resolveGutter(gridConfig?.gutter);\n\n const col = Math.max(0, Math.min(gridPos.column, cols - 1));\n const row = Math.max(0, Math.min(gridPos.row, rows - 1));\n const colSpan = Math.max(1, Math.min(gridPos.columnSpan ?? 1, cols - col));\n const rowSpan = Math.max(1, Math.min(gridPos.rowSpan ?? 1, rows - row));\n\n if (gridPos.column !== col || gridPos.row !== row) {\n warn(warnings, W.GRID_POSITION_CLAMPED,\n `Grid position clamped: column ${gridPos.column}→${col}, row ${gridPos.row}→${row} (grid: ${cols}×${rows})`\n );\n }\n\n const availableW = slideWidth - margin.left - margin.right;\n const availableH = slideHeight - margin.top - margin.bottom;\n const trackW = (availableW - (cols - 1) * gutter.column) / cols;\n const trackH = (availableH - (rows - 1) * gutter.row) / rows;\n\n const x = margin.left + col * (trackW + gutter.column);\n const y = margin.top + row * (trackH + gutter.row);\n const w = colSpan * trackW + (colSpan - 1) * gutter.column;\n const h = rowSpan * trackH + (rowSpan - 1) * gutter.row;\n\n return { x, y, w, h };\n}\n\nexport function resolveComponentGridPosition(\n component: PptxComponentInput,\n gridConfig: GridConfig | undefined,\n slideWidth: number,\n slideHeight: number,\n warnings?: PipelineWarning[]\n): PptxComponentInput {\n const gridPos = component.props.grid as GridPosition | undefined;\n if (!gridPos) return component;\n\n const resolved = resolveGridPosition(gridPos, gridConfig, slideWidth, slideHeight, warnings);\n\n const { grid: _grid, ...restProps } = component.props; // eslint-disable-line no-unused-vars, @typescript-eslint/no-unused-vars\n const newProps = { ...restProps };\n\n // When explicit values use percentage strings, convert grid-resolved inches\n // to percentages too so pptxgenjs receives consistent units per element.\n const hasPercentX = typeof newProps.x === 'string' || typeof newProps.w === 'string';\n const hasPercentY = typeof newProps.y === 'string' || typeof newProps.h === 'string';\n\n const toPercX = (v: number) => `${+((v / slideWidth) * 100).toFixed(2)}%`;\n const toPercY = (v: number) => `${+((v / slideHeight) * 100).toFixed(2)}%`;\n\n // Grid sets x/y/w/h, but explicit values on the element override individually\n if (newProps.x == null) newProps.x = hasPercentX ? toPercX(resolved.x) : resolved.x;\n if (newProps.y == null) newProps.y = hasPercentY ? toPercY(resolved.y) : resolved.y;\n if (newProps.w == null) newProps.w = hasPercentX ? toPercX(resolved.w) : resolved.w;\n if (newProps.h == null) newProps.h = hasPercentY ? toPercY(resolved.h) : resolved.h;\n\n return { ...component, props: newProps };\n}\n","/**\n * PPTX Theme Defaults\n */\n\nimport type { PptxThemeConfig, TextStyle, StyleName } from '../types';\n\nconst DEFAULT_STYLES: Partial<Record<StyleName, TextStyle>> = {\n title: { fontSize: 36, bold: true, fontColor: 'text', align: 'center' },\n subtitle: { fontSize: 20, italic: true, fontColor: 'text2', align: 'center' },\n heading1: { fontSize: 28, bold: true, fontColor: 'primary' },\n heading2: { fontSize: 22, bold: true, fontColor: 'primary' },\n heading3: { fontSize: 18, bold: true, fontColor: 'text' },\n body: { fontSize: 14 },\n caption: { fontSize: 10, italic: true, fontColor: 'text2' },\n};\n\nexport const DEFAULT_PPTX_THEME: PptxThemeConfig = {\n name: 'default',\n colors: {\n primary: '#4472C4',\n secondary: '#ED7D31',\n accent: '#70AD47',\n background: '#FFFFFF',\n text: '#333333',\n text2: '#44546A',\n background2: '#E7E6E6',\n accent4: '#FFC000',\n accent5: '#5B9BD5',\n accent6: '#70AD47',\n },\n fonts: {\n heading: 'Arial',\n body: 'Arial',\n },\n defaults: {\n fontSize: 18,\n fontColor: '#333333',\n },\n styles: DEFAULT_STYLES,\n};\n\nconst PPTX_THEMES: Record<string, PptxThemeConfig> = {\n default: DEFAULT_PPTX_THEME,\n dark: {\n name: 'dark',\n colors: {\n primary: '#5B9BD5',\n secondary: '#FF6F61',\n accent: '#6BCB77',\n background: '#2D2D2D',\n text: '#FFFFFF',\n text2: '#CCCCCC',\n background2: '#3D3D3D',\n accent4: '#FFB347',\n accent5: '#77DD77',\n accent6: '#AEC6CF',\n },\n fonts: {\n heading: 'Arial',\n body: 'Arial',\n },\n defaults: {\n fontSize: 18,\n fontColor: '#FFFFFF',\n },\n styles: DEFAULT_STYLES,\n },\n minimal: {\n name: 'minimal',\n colors: {\n primary: '#000000',\n secondary: '#666666',\n accent: '#999999',\n background: '#FFFFFF',\n text: '#000000',\n text2: '#444444',\n background2: '#F5F5F5',\n accent4: '#BBBBBB',\n accent5: '#DDDDDD',\n accent6: '#888888',\n },\n fonts: {\n heading: 'Helvetica',\n body: 'Helvetica',\n },\n defaults: {\n fontSize: 18,\n fontColor: '#000000',\n },\n styles: DEFAULT_STYLES,\n },\n};\n\nexport function getPptxTheme(name: string): PptxThemeConfig {\n return PPTX_THEMES[name] || DEFAULT_PPTX_THEME;\n}\n\nexport const pptxThemes = PPTX_THEMES;\n","/**\n * Structure Processing\n * JSON -> internal model\n */\n\nimport type {\n PptxComponentInput,\n PresentationComponentDefinition,\n ProcessedPresentation,\n ProcessedSlide,\n TemplateSlideDefinition,\n} from '../types';\nimport { isSlideComponent } from '../types';\nimport { resolveGridPosition, resolveComponentGridPosition, mergeGridConfigs } from './grid';\nimport { getPptxTheme } from '../themes';\nimport type { GenerationOptions } from './generator';\n\nexport function processPresentation(\n document: PresentationComponentDefinition,\n options?: GenerationOptions\n): ProcessedPresentation {\n const { props, children = [] } = document;\n\n const themeName = props.theme ?? 'default';\n const theme = options?.customThemes?.[themeName] ?? getPptxTheme(themeName);\n const slideWidth = props.slideWidth ?? 10;\n const slideHeight = props.slideHeight ?? 7.5;\n\n // Process template slide definitions\n let templates: TemplateSlideDefinition[] | undefined;\n if (props.templates && props.templates.length > 0) {\n templates = props.templates.map((m: TemplateSlideDefinition) => {\n const effectiveGrid = mergeGridConfigs(props.grid, m.grid);\n\n // Resolve grid positions on placeholders\n const resolvedPhs = m.placeholders?.map(ph => {\n if (!ph.grid) return ph;\n const abs = resolveGridPosition(ph.grid, effectiveGrid, slideWidth, slideHeight);\n return {\n ...ph,\n x: ph.x ?? abs.x,\n y: ph.y ?? abs.y,\n w: ph.w ?? abs.w,\n h: ph.h ?? abs.h,\n grid: undefined,\n };\n });\n\n // Resolve grid positions on fixed objects (unified components)\n const resolvedObjects = m.objects?.map(obj =>\n resolveComponentGridPosition(obj, effectiveGrid, slideWidth, slideHeight)\n );\n\n return { ...m, placeholders: resolvedPhs, objects: resolvedObjects };\n });\n }\n\n const slides: ProcessedSlide[] = [];\n\n for (const child of children) {\n if (isSlideComponent(child)) {\n const slideComponents: PptxComponentInput[] = [];\n if (child.children) {\n for (const slideChild of child.children) {\n slideComponents.push(slideChild);\n }\n }\n\n slides.push({\n components: slideComponents,\n background: child.props.background,\n notes: child.props.notes,\n layout: child.props.layout,\n hidden: child.props.hidden,\n template: child.props.template,\n placeholders: child.props.placeholders as Record<string, any> | undefined,\n });\n }\n }\n\n return {\n metadata: {\n title: props.title,\n author: props.author,\n subject: props.subject,\n company: props.company,\n },\n theme,\n grid: props.grid,\n slideWidth,\n slideHeight,\n rtlMode: props.rtlMode ?? false,\n pageNumberFormat: props.pageNumberFormat ?? '9',\n slides,\n templates,\n };\n}\n","/**\n * Render Pipeline\n * Internal model -> pptxgenjs calls\n */\n\nimport PptxGenJS from 'pptxgenjs';\nimport type { ProcessedPresentation, PipelineWarning, SlideContext } from '../types';\nimport { renderComponent } from '../components';\nimport { resolveComponentGridPosition, mergeGridConfigs } from './grid';\nimport { resolveColor } from '../utils/color';\nimport { warn, W } from '../utils/warn';\nimport { buildSlideTemplateProps } from './template';\n\nexport async function renderPresentation(\n processed: ProcessedPresentation,\n warnings?: PipelineWarning[]\n): Promise<PptxGenJS> {\n const pptx = new PptxGenJS();\n\n // Set presentation metadata\n if (processed.metadata.title) pptx.title = processed.metadata.title;\n if (processed.metadata.author) pptx.author = processed.metadata.author;\n if (processed.metadata.subject) pptx.subject = processed.metadata.subject;\n if (processed.metadata.company) pptx.company = processed.metadata.company;\n\n // Set layout dimensions\n pptx.defineLayout({\n name: 'CUSTOM',\n width: processed.slideWidth,\n height: processed.slideHeight,\n });\n pptx.layout = 'CUSTOM';\n\n // Set RTL mode\n if (processed.rtlMode) {\n pptx.rtlMode = true;\n }\n\n // Set theme fonts\n pptx.theme = {\n headFontFace: processed.theme.fonts.heading,\n bodyFontFace: processed.theme.fonts.body,\n };\n\n // Register template slides\n const templateMap = new Map(processed.templates?.map(m => [m.name, m]) ?? []);\n if (processed.templates) {\n for (const templateDef of processed.templates) {\n const templateProps = buildSlideTemplateProps(templateDef, processed.theme, warnings);\n pptx.defineSlideMaster(templateProps as any);\n }\n }\n\n // Render each slide\n const totalSlides = processed.slides.length;\n for (let slideIdx = 0; slideIdx < totalSlides; slideIdx++) {\n const slideData = processed.slides[slideIdx];\n const slideCtx: SlideContext = {\n slideNumber: slideIdx + 1,\n totalSlides,\n pageNumberFormat: processed.pageNumberFormat,\n };\n const slide = slideData.template\n ? pptx.addSlide({ masterName: slideData.template })\n : pptx.addSlide();\n\n // Apply slide background\n if (slideData.background) {\n if (slideData.background.color) {\n slide.background = { color: resolveColor(slideData.background.color, processed.theme, warnings) };\n } else if (slideData.background.image) {\n if (slideData.background.image.path) {\n slide.background = { path: slideData.background.image.path };\n } else if (slideData.background.image.base64) {\n slide.background = { data: slideData.background.image.base64 };\n }\n }\n }\n\n // Apply hidden flag\n if (slideData.hidden) {\n slide.hidden = true;\n }\n\n // Determine effective grid for this slide (template grid merged with presentation grid)\n const templateDef = slideData.template ? templateMap.get(slideData.template) : undefined;\n if (slideData.template && !templateDef) {\n warn(warnings, W.MISSING_TEMPLATE, `Unknown template \"${slideData.template}\". Available: ${[...templateMap.keys()].join(', ')}`, { slide: slideIdx });\n }\n const effectiveGrid = mergeGridConfigs(processed.grid, templateDef?.grid);\n\n // Render template fixed objects (grid already resolved in structure.ts)\n if (templateDef?.objects) {\n for (const obj of templateDef.objects) {\n await renderComponent(slide, obj, processed.theme, pptx, warnings, slideCtx);\n }\n }\n\n // Render slide components (resolve grid positions first)\n for (const component of slideData.components) {\n const resolved = resolveComponentGridPosition(\n component,\n effectiveGrid,\n processed.slideWidth,\n processed.slideHeight,\n warnings\n );\n await renderComponent(slide, resolved, processed.theme, pptx, warnings, slideCtx);\n }\n\n // Render placeholder content\n if (slideData.placeholders) {\n if (templateDef) {\n const phMap = new Map(templateDef.placeholders?.map(p => [p.name, p]) ?? []);\n\n for (const [phName, component] of Object.entries(slideData.placeholders)) {\n const phDef = phMap.get(phName);\n if (!phDef) {\n warn(warnings, W.UNKNOWN_PLACEHOLDER, `Unknown placeholder \"${phName}\" in template \"${slideData.template}\". Available: ${[...phMap.keys()].join(', ')}`, { slide: slideIdx });\n continue;\n }\n\n const gridResolved = resolveComponentGridPosition(\n component, effectiveGrid,\n processed.slideWidth, processed.slideHeight, warnings\n );\n\n // Position from placeholder, then defaults props, then component props (most specific wins)\n const posDefaults: Record<string, any> = {};\n if (phDef.x != null) posDefaults.x = phDef.x;\n if (phDef.y != null) posDefaults.y = phDef.y;\n if (phDef.w != null) posDefaults.w = phDef.w;\n if (phDef.h != null) posDefaults.h = phDef.h;\n\n const props = { ...posDefaults, ...(phDef.defaults?.props ?? {}), ...gridResolved.props };\n await renderComponent(slide, { ...gridResolved, props }, processed.theme, pptx, warnings, slideCtx);\n }\n } else {\n // No template found — render placeholders at their own positions if available\n for (const [phName, component] of Object.entries(slideData.placeholders)) {\n const hasPosition = component.props.x != null || component.props.y != null || component.props.grid;\n if (hasPosition) {\n const resolved = resolveComponentGridPosition(\n component, effectiveGrid,\n processed.slideWidth, processed.slideHeight, warnings\n );\n await renderComponent(slide, resolved, processed.theme, pptx, warnings, slideCtx);\n } else {\n warn(warnings, W.PLACEHOLDER_NO_POSITION, `Placeholder \"${phName}\" has no template and no explicit position — skipped`, { slide: slideIdx });\n }\n }\n }\n }\n\n // Add speaker notes\n if (slideData.notes) {\n slide.addNotes(slideData.notes);\n }\n }\n\n return pptx;\n}\n","/**\n * Color utilities for PPTX generation.\n * pptxgenjs expects bare 6-char hex (e.g. 'FF0000'), but our theme\n * convention uses '#'-prefixed values (e.g. '#FF0000').\n */\n\nimport type { PptxThemeConfig, PipelineWarning } from '../types';\nimport { SEMANTIC_COLOR_NAMES } from '@json-to-office/shared-pptx';\nimport { warn, W } from './warn';\n\n// Build identity entries from the shared source of truth, then add aliases\nconst SEMANTIC_TO_THEME_KEY: Record<string, keyof PptxThemeConfig['colors']> = {\n ...Object.fromEntries(SEMANTIC_COLOR_NAMES.map(n => [n, n])),\n // Aliases (PowerPoint XML compat)\n accent1: 'primary',\n accent2: 'secondary',\n accent3: 'accent',\n tx1: 'text',\n tx2: 'text2',\n bg1: 'background',\n bg2: 'background2',\n};\n\n/**\n * Resolve a color value to bare hex (no '#' prefix).\n * Accepts hex colors (with or without '#') or semantic theme color names.\n */\nexport function resolveColor(color: string, theme: PptxThemeConfig, warnings?: PipelineWarning[]): string {\n const themeKey = SEMANTIC_TO_THEME_KEY[color];\n if (themeKey) {\n const resolved = theme.colors[themeKey];\n if (resolved) return resolved.startsWith('#') ? resolved.slice(1) : resolved;\n // Fall back to primary for unset optional colors\n warn(warnings, W.THEME_COLOR_FALLBACK, `Theme color \"${themeKey}\" not defined, falling back to primary`);\n return theme.colors.primary.startsWith('#') ? theme.colors.primary.slice(1) : theme.colors.primary;\n }\n // Not a semantic name — treat as literal hex\n const bare = color.startsWith('#') ? color.slice(1) : color;\n // Expand 3-char hex shorthand (e.g. 'FFF' → 'FFFFFF')\n if (/^[0-9A-Fa-f]{3}$/.test(bare)) {\n return bare[0] + bare[0] + bare[1] + bare[1] + bare[2] + bare[2];\n }\n if (!/^[0-9A-Fa-f]{6}$/.test(bare)) {\n warn(warnings, W.UNKNOWN_COLOR, `Unknown color value: \"${color}\", treating as literal`);\n }\n return bare;\n}\n","/**\n * Text Component Renderer\n */\n\nimport type PptxGenJS from 'pptxgenjs';\nimport type { PptxThemeConfig, StyleName, PipelineWarning, SlideContext } from '../types';\nimport { resolveColor } from '../utils/color';\n\ninterface TextComponentProps {\n text: string;\n x?: number | string;\n y?: number | string;\n w?: number | string;\n h?: number | string;\n fontSize?: number;\n fontFace?: string;\n color?: string;\n bold?: boolean;\n italic?: boolean;\n underline?: boolean | { style?: string; color?: string };\n strike?: boolean;\n align?: string;\n valign?: string;\n breakLine?: boolean;\n bullet?: boolean | { type?: string; style?: string; startAt?: number };\n margin?: number | number[];\n rotate?: number;\n shadow?: {\n type?: string;\n color?: string;\n blur?: number;\n offset?: number;\n angle?: number;\n opacity?: number;\n };\n fill?: { color: string; transparency?: number };\n hyperlink?: { url?: string; slide?: number; tooltip?: string };\n lineSpacing?: number;\n charSpacing?: number;\n paraSpaceBefore?: number;\n paraSpaceAfter?: number;\n style?: StyleName;\n}\n\nfunction resolvePagePlaceholders(text: string, ctx: SlideContext): string {\n const { slideNumber, totalSlides, pageNumberFormat } = ctx;\n const fmt = (n: number) => pageNumberFormat === '09'\n ? String(n).padStart(String(totalSlides).length, '0')\n : String(n);\n return text\n .replace(/\\{PAGE_NUMBER\\}/g, fmt(slideNumber))\n .replace(/\\{PAGE_COUNT\\}/g, fmt(totalSlides));\n}\n\nexport function renderTextComponent(\n slide: PptxGenJS.Slide,\n props: TextComponentProps,\n theme: PptxThemeConfig,\n warnings?: PipelineWarning[],\n slideCtx?: SlideContext\n): void {\n // Resolve named style as defaults\n const style = props.style ? theme.styles?.[props.style] : undefined;\n const isHeadingStyle = props.style && /^(title|heading)/.test(props.style);\n\n const opts: Record<string, unknown> = {};\n\n // Position\n if (props.x !== undefined) opts.x = props.x;\n if (props.y !== undefined) opts.y = props.y;\n if (props.w !== undefined) opts.w = props.w;\n if (props.h !== undefined) opts.h = props.h;\n\n // When height is not explicitly set, provide a reasonable default based on\n // font size so that LibreOffice (which renders cy=\"0\" as blank) can display\n // the text. Also mark as textBox for proper auto-sizing in PowerPoint.\n if (props.h === undefined) {\n const fontSize = props.fontSize ?? theme.defaults.fontSize ?? 18;\n const lines = (props.text.match(/\\n/g)?.length ?? 0) + 1;\n opts.h = Math.max(0.5, (fontSize / 72) * 1.6 * lines);\n opts.isTextBox = true;\n }\n\n // Font — cascade: component props → style → theme defaults\n opts.fontSize = props.fontSize ?? style?.fontSize ?? theme.defaults.fontSize;\n opts.fontFace = props.fontFace ?? style?.fontFace ?? (isHeadingStyle ? theme.fonts.heading : theme.fonts.body);\n opts.color = resolveColor(props.color ?? style?.fontColor ?? theme.defaults.fontColor, theme, warnings);\n\n // Formatting\n const bold = props.bold ?? style?.bold;\n const italic = props.italic ?? style?.italic;\n if (bold != null) opts.bold = bold;\n if (italic != null) opts.italic = italic;\n if (props.strike) opts.strike = true;\n\n if (props.underline !== undefined) {\n if (typeof props.underline === 'boolean') {\n opts.underline = { style: 'sng' };\n } else {\n opts.underline = props.underline;\n }\n }\n\n // Alignment\n const align = props.align ?? style?.align;\n if (align) opts.align = align;\n opts.valign = props.valign ?? 'top';\n\n // Bullet\n if (props.bullet !== undefined) opts.bullet = props.bullet;\n\n // Margin — default to 0 so text aligns exactly to grid positions\n opts.margin = props.margin ?? 0;\n\n // Rotation\n if (props.rotate !== undefined) opts.rotate = props.rotate;\n\n // Shadow\n if (props.shadow) {\n opts.shadow = {\n type: props.shadow.type ?? 'outer',\n color: resolveColor(props.shadow.color ?? '000000', theme, warnings),\n blur: props.shadow.blur ?? 3,\n offset: props.shadow.offset ?? 3,\n angle: props.shadow.angle ?? 45,\n opacity: props.shadow.opacity ?? 0.5,\n };\n }\n\n // Fill\n if (props.fill) {\n opts.fill = { color: resolveColor(props.fill.color, theme, warnings) };\n if (props.fill.transparency !== undefined) {\n (opts.fill as Record<string, unknown>).transparency = props.fill.transparency;\n }\n }\n\n // Hyperlink\n if (props.hyperlink) {\n if (props.hyperlink.url) {\n opts.hyperlink = {\n url: props.hyperlink.url,\n tooltip: props.hyperlink.tooltip,\n };\n } else if (props.hyperlink.slide) {\n opts.hyperlink = {\n slide: props.hyperlink.slide,\n tooltip: props.hyperlink.tooltip,\n };\n }\n }\n\n // Line spacing\n const lineSpacing = props.lineSpacing ?? style?.lineSpacing;\n if (lineSpacing !== undefined) opts.lineSpacing = lineSpacing;\n const charSpacing = props.charSpacing ?? style?.charSpacing;\n if (charSpacing !== undefined) opts.charSpacing = charSpacing;\n if (props.paraSpaceBefore !== undefined) opts.paraSpaceBefore = props.paraSpaceBefore;\n const paraSpaceAfter = props.paraSpaceAfter ?? style?.paraSpaceAfter;\n if (paraSpaceAfter !== undefined) opts.paraSpaceAfter = paraSpaceAfter;\n\n // Break line handling\n if (props.breakLine) opts.breakLine = true;\n\n const text = slideCtx ? resolvePagePlaceholders(props.text, slideCtx) : props.text;\n slide.addText(text, opts as any);\n}\n","/**\n * Image Component Renderer\n */\n\nimport path from 'path';\nimport probe from 'probe-image-size';\nimport type PptxGenJS from 'pptxgenjs';\nimport type { PptxThemeConfig, PipelineWarning } from '../types';\nimport { resolveColor } from '../utils/color';\nimport { warn, W } from '../utils/warn';\n\n/** Block requests to private/loopback/link-local hosts. */\nfunction isPrivateUrl(urlStr: string): boolean {\n try {\n const { hostname } = new URL(urlStr);\n if (\n hostname === 'localhost' ||\n hostname === '127.0.0.1' ||\n hostname === '::1' ||\n hostname === '[::1]' ||\n hostname.startsWith('10.') ||\n hostname.startsWith('192.168.') ||\n hostname.startsWith('169.254.') ||\n hostname.endsWith('.local') ||\n hostname.endsWith('.internal')\n ) return true;\n if (hostname.startsWith('172.')) {\n const second = parseInt(hostname.split('.')[1], 10);\n if (second >= 16 && second <= 31) return true;\n }\n return false;\n } catch { return true; }\n}\n\ninterface ImageComponentProps {\n path?: string;\n base64?: string;\n x?: number | string;\n y?: number | string;\n w?: number | string;\n h?: number | string;\n sizing?: { type: string; w?: number; h?: number };\n rotate?: number;\n rounding?: boolean;\n shadow?: {\n type?: string;\n color?: string;\n blur?: number;\n offset?: number;\n angle?: number;\n opacity?: number;\n };\n hyperlink?: { url?: string; slide?: number; tooltip?: string };\n alt?: string;\n}\n\n/**\n * Probe the intrinsic dimensions of an image (URL, file path, or base64).\n * Returns width/height in pixels, or undefined on failure.\n */\nasync function probeImageSize(\n imagePath: string,\n warnings?: PipelineWarning[]\n): Promise<{ width: number; height: number } | undefined> {\n try {\n if (/^data:image\\//.test(imagePath)) {\n const base64Data = imagePath.split(',')[1];\n if (!base64Data) return undefined;\n const buf = Buffer.from(base64Data, 'base64');\n const result = probe.sync(buf);\n return result ? { width: result.width, height: result.height } : undefined;\n }\n\n if (/^https?:\\/\\//.test(imagePath)) {\n if (isPrivateUrl(imagePath)) return undefined;\n const result = await probe(imagePath, { timeout: 5000 });\n return { width: result.width, height: result.height };\n }\n\n // Local file — restrict to CWD to prevent path traversal\n const resolved = path.resolve(imagePath);\n if (!resolved.startsWith(process.cwd())) return undefined;\n const { createReadStream } = await import('fs');\n const result = await probe(createReadStream(resolved));\n return result ? { width: result.width, height: result.height } : undefined;\n } catch (err) {\n warn(warnings, W.IMAGE_PROBE_FAILED, `Image probe failed: ${err instanceof Error ? err.message : String(err)}`, { component: 'image' });\n return undefined;\n }\n}\n\nexport async function renderImageComponent(\n slide: PptxGenJS.Slide,\n props: ImageComponentProps,\n theme: PptxThemeConfig,\n warnings?: PipelineWarning[]\n): Promise<void> {\n const opts: Record<string, unknown> = {};\n\n // Source\n if (props.path) {\n opts.path = props.path;\n } else if (props.base64) {\n opts.data = props.base64;\n } else {\n warn(warnings, W.IMAGE_NO_SOURCE, 'Image component missing both path and base64', { component: 'image' });\n return;\n }\n\n // Position\n if (props.x !== undefined) opts.x = props.x;\n if (props.y !== undefined) opts.y = props.y;\n if (props.w !== undefined) opts.w = props.w;\n if (props.h !== undefined) opts.h = props.h;\n\n // Sizing — pptxgenjs's contain implementation produces negative srcRect\n // values when the image aspect ratio differs from the box, causing\n // stretching. We handle contain ourselves: probe intrinsic dimensions,\n // calculate fitted size, and center within the box. Cover is delegated to\n // pptxgenjs with correct intrinsic dimensions.\n if (props.sizing && (props.sizing.type === 'contain' || props.sizing.type === 'cover')) {\n const source = props.path || props.base64;\n const intrinsic = source ? await probeImageSize(source, warnings) : undefined;\n\n const boxW = Number(props.sizing.w ?? props.w);\n const boxH = Number(props.sizing.h ?? props.h);\n\n if (intrinsic && !isNaN(boxW) && !isNaN(boxH)) {\n const imgAspect = intrinsic.width / intrinsic.height;\n\n if (props.sizing.type === 'contain') {\n // Fit image inside box, preserving aspect ratio, centered\n const boxAspect = boxW / boxH;\n let fitW: number, fitH: number;\n if (imgAspect > boxAspect) {\n // Image is wider than box — width-limited\n fitW = boxW;\n fitH = boxW / imgAspect;\n } else {\n // Image is taller than box — height-limited\n fitH = boxH;\n fitW = boxH * imgAspect;\n }\n // Center within the box\n const baseX = Number(props.x ?? 0);\n const baseY = Number(props.y ?? 0);\n opts.x = baseX + (boxW - fitW) / 2;\n opts.y = baseY + (boxH - fitH) / 2;\n opts.w = fitW;\n opts.h = fitH;\n // No sizing — element is already the correct size\n } else {\n // Cover: pptxgenjs handles this correctly with real intrinsic dims\n opts.w = intrinsic.width;\n opts.h = intrinsic.height;\n opts.sizing = { type: 'cover', w: boxW, h: boxH };\n }\n } else {\n // Fallback: pass sizing through with w/h auto-filled from outer dims\n opts.sizing = { ...props.sizing, w: boxW, h: boxH };\n }\n } else if (props.sizing) {\n opts.sizing = {\n ...props.sizing,\n w: props.sizing.w ?? props.w,\n h: props.sizing.h ?? props.h,\n };\n }\n\n // Rotation\n if (props.rotate !== undefined) opts.rotate = props.rotate;\n\n // Rounding\n if (props.rounding) opts.rounding = true;\n\n // Shadow\n if (props.shadow) {\n opts.shadow = {\n type: props.shadow.type ?? 'outer',\n color: resolveColor(props.shadow.color ?? '000000', theme, warnings),\n blur: props.shadow.blur ?? 3,\n offset: props.shadow.offset ?? 3,\n angle: props.shadow.angle ?? 45,\n opacity: props.shadow.opacity ?? 0.5,\n };\n }\n\n // Hyperlink\n if (props.hyperlink) {\n if (props.hyperlink.url) {\n opts.hyperlink = {\n url: props.hyperlink.url,\n tooltip: props.hyperlink.tooltip,\n };\n } else if (props.hyperlink.slide) {\n opts.hyperlink = {\n slide: props.hyperlink.slide,\n tooltip: props.hyperlink.tooltip,\n };\n }\n }\n\n // Alt text\n if (props.alt) opts.altText = props.alt;\n\n slide.addImage(opts as any);\n}\n","/**\n * Shape Component Renderer\n */\n\nimport type PptxGenJS from 'pptxgenjs';\nimport type { PptxThemeConfig, StyleName, PipelineWarning } from '../types';\nimport type { TextSegment } from '@json-to-office/shared-pptx';\nimport { resolveColor } from '../utils/color';\nimport { warn, W } from '../utils/warn';\n\ninterface ShapeComponentProps {\n type: string;\n x?: number | string;\n y?: number | string;\n w?: number | string;\n h?: number | string;\n fill?: { color: string; transparency?: number };\n line?: { color?: string; width?: number; dashType?: string };\n text?: string | TextSegment[];\n fontSize?: number;\n fontFace?: string;\n fontColor?: string;\n charSpacing?: number;\n bold?: boolean;\n italic?: boolean;\n align?: string;\n valign?: string;\n rotate?: number;\n shadow?: {\n type?: string;\n color?: string;\n blur?: number;\n offset?: number;\n angle?: number;\n opacity?: number;\n };\n rectRadius?: number;\n style?: StyleName;\n}\n\nconst SHAPE_TYPE_MAP: Record<string, string> = {\n rect: 'rect',\n roundRect: 'roundRect',\n ellipse: 'ellipse',\n triangle: 'triangle',\n diamond: 'diamond',\n pentagon: 'pentagon',\n hexagon: 'hexagon',\n star5: 'star5',\n star6: 'star6',\n line: 'line',\n arrow: 'rightArrow',\n chevron: 'chevron',\n cloud: 'cloud',\n heart: 'heart',\n lightning: 'lightningBolt',\n};\n\nfunction buildShapeOpts(\n props: ShapeComponentProps,\n theme: PptxThemeConfig,\n warnings?: PipelineWarning[]\n): Record<string, unknown> {\n const opts: Record<string, unknown> = {};\n\n if (props.x !== undefined) opts.x = props.x;\n if (props.y !== undefined) opts.y = props.y;\n if (props.w !== undefined) opts.w = props.w;\n if (props.h !== undefined) opts.h = props.h;\n\n if (props.fill) {\n opts.fill = { color: resolveColor(props.fill.color, theme, warnings) };\n if (props.fill.transparency !== undefined) {\n (opts.fill as Record<string, unknown>).transparency = props.fill.transparency;\n }\n }\n\n if (props.line) {\n opts.line = {};\n if (props.line.color) (opts.line as Record<string, unknown>).color = resolveColor(props.line.color, theme, warnings);\n if (props.line.width) (opts.line as Record<string, unknown>).width = props.line.width;\n if (props.line.dashType) (opts.line as Record<string, unknown>).dashType = props.line.dashType;\n }\n\n if (props.rotate !== undefined) opts.rotate = props.rotate;\n if (props.rectRadius !== undefined) opts.rectRadius = props.rectRadius;\n\n if (props.shadow) {\n opts.shadow = {\n type: props.shadow.type ?? 'outer',\n color: resolveColor(props.shadow.color ?? '000000', theme, warnings),\n blur: props.shadow.blur ?? 3,\n offset: props.shadow.offset ?? 3,\n angle: props.shadow.angle ?? 45,\n opacity: props.shadow.opacity ?? 0.5,\n };\n }\n\n return opts;\n}\n\nexport function renderShapeComponent(\n slide: PptxGenJS.Slide,\n props: ShapeComponentProps,\n theme: PptxThemeConfig,\n pptx: PptxGenJS,\n warnings?: PipelineWarning[]\n): void {\n // Resolve shape type from pptxgenjs ShapeType enum\n const shapeTypeName = SHAPE_TYPE_MAP[props.type] || props.type;\n const shapeType = (pptx.ShapeType as Record<string, any>)[shapeTypeName];\n\n if (!shapeType) {\n warn(warnings, W.UNKNOWN_SHAPE, `Unknown shape type: ${props.type}`, { component: 'shape' });\n return;\n }\n\n // Resolve named style\n const style = props.style ? theme.styles?.[props.style] : undefined;\n const isHeadingStyle = props.style && /^(title|heading)/.test(props.style);\n\n const opts = buildShapeOpts(props, theme, warnings);\n\n // If shape has text, use addText with shape option\n if (props.text && (!Array.isArray(props.text) || props.text.length > 0)) {\n opts.shape = shapeType;\n\n opts.fontSize = props.fontSize ?? style?.fontSize ?? theme.defaults.fontSize;\n opts.fontFace = props.fontFace ?? style?.fontFace ?? (isHeadingStyle ? theme.fonts.heading : theme.fonts.body);\n opts.color = resolveColor(props.fontColor ?? style?.fontColor ?? theme.defaults.fontColor, theme, warnings);\n const bold = props.bold ?? style?.bold;\n const italic = props.italic ?? style?.italic;\n if (bold != null) opts.bold = bold;\n if (italic != null) opts.italic = italic;\n const charSpacing = props.charSpacing ?? style?.charSpacing;\n if (charSpacing !== undefined) opts.charSpacing = charSpacing;\n const align = props.align ?? style?.align;\n if (align) opts.align = align;\n opts.valign = props.valign ?? 'top';\n\n if (Array.isArray(props.text)) {\n const textSegments = props.text.map(seg => {\n const segOpts: Record<string, unknown> = {};\n if (seg.fontSize != null) segOpts.fontSize = seg.fontSize;\n if (seg.fontFace != null) segOpts.fontFace = seg.fontFace;\n if (seg.color != null) segOpts.color = resolveColor(seg.color, theme, warnings);\n if (seg.bold != null) segOpts.bold = seg.bold;\n if (seg.italic != null) segOpts.italic = seg.italic;\n if (seg.breakLine != null) segOpts.breakLine = seg.breakLine;\n if (seg.charSpacing != null) segOpts.charSpacing = seg.charSpacing;\n if (seg.spaceBefore != null) segOpts.paraSpaceBefore = seg.spaceBefore;\n if (seg.spaceAfter != null) segOpts.paraSpaceAfter = seg.spaceAfter;\n return { text: seg.text, options: segOpts };\n });\n slide.addText(textSegments, opts as any);\n } else {\n slide.addText(props.text, opts as any);\n }\n } else {\n // Pure shape without text\n slide.addShape(shapeType, opts as any);\n }\n}\n","/**\n * Table Component Renderer\n */\n\nimport type PptxGenJS from 'pptxgenjs';\nimport type { PptxThemeConfig, PipelineWarning } from '../types';\nimport { resolveColor } from '../utils/color';\n\n/**\n * Characters that PowerPoint may render as color emoji.\n * Appending VS15 (U+FE0E) forces text-mode rendering.\n */\nconst EMOJI_PRONE_CHARS = /[✓✔✗✘☐☑☒★☆●○■□▶◀▲▼⚡⚠❌❓❗]/gu;\n\nfunction applyTextVariationSelector(text: string): string {\n return text.replace(EMOJI_PRONE_CHARS, (ch) => ch + '\\uFE0E');\n}\n\ninterface TableCell {\n text: string;\n color?: string;\n fill?: string;\n fontSize?: number;\n fontFace?: string;\n bold?: boolean;\n italic?: boolean;\n align?: string;\n valign?: string;\n colspan?: number;\n rowspan?: number;\n margin?: number | number[];\n}\n\ninterface TableComponentProps {\n rows: (string | TableCell)[][];\n x?: number | string;\n y?: number | string;\n w?: number | string;\n h?: number | string;\n colW?: number | number[];\n rowH?: number | number[];\n border?: { type?: string; pt?: number; color?: string };\n fill?: string;\n fontSize?: number;\n fontFace?: string;\n color?: string;\n align?: string;\n valign?: string;\n autoPage?: boolean;\n autoPageRepeatHeader?: boolean;\n margin?: number | number[];\n borderRadius?: number;\n}\n\nexport function renderTableComponent(\n slide: PptxGenJS.Slide,\n props: TableComponentProps,\n theme: PptxThemeConfig,\n pptx?: PptxGenJS,\n warnings?: PipelineWarning[]\n): void {\n // Pre-compute fills and width for borderRadius feature\n let bgFill: string | undefined;\n let headerFill: string | undefined;\n let borderRadiusTableW: number | undefined;\n if (props.borderRadius && pptx && props.rows.length >= 2) {\n const lastRow = props.rows[props.rows.length - 1];\n const lastCell = lastRow?.[0];\n bgFill = props.fill\n ? resolveColor(props.fill, theme, warnings)\n : (typeof lastCell === 'object' && lastCell.fill)\n ? resolveColor(lastCell.fill, theme, warnings)\n : 'FFFFFF';\n const firstCell = props.rows[0]?.[0];\n headerFill = (typeof firstCell === 'object' && firstCell.fill)\n ? resolveColor(firstCell.fill, theme, warnings)\n : bgFill;\n // Derive width from colW (actual cell widths) so shapes match the table exactly\n borderRadiusTableW = Array.isArray(props.colW)\n ? props.colW.reduce((sum, w) => sum + w, 0)\n : typeof props.colW === 'number'\n ? props.colW * (props.rows[0]?.length ?? 1) // assumes uniform column count\n : typeof props.w === 'number' ? props.w : 5;\n }\n\n // Pre-compute inner border for per-cell border assignment\n const innerBorder = props.border\n ? {\n type: props.border.type ?? 'solid',\n pt: props.border.pt ?? 1,\n color: resolveColor(props.border.color ?? '000000', theme, warnings),\n }\n : undefined;\n\n // Helper: build per-cell border array when borderRadius is active\n const buildBorderRadiusBorders = (rowIndex: number, colIndex: number, colCount: number) => {\n const isTop = rowIndex === 0;\n const isBottom = rowIndex === props.rows.length - 1;\n const isLeft = colIndex === 0;\n const isRight = colIndex === colCount - 1;\n const zeroBorder = { type: 'none', pt: 0 };\n const hInner = innerBorder ?? zeroBorder;\n return [\n (isTop || rowIndex === 1) ? zeroBorder : hInner, // top: outer + header-body seam\n isRight ? zeroBorder : hInner, // right\n (isBottom || rowIndex === 0) ? zeroBorder : hInner, // bottom: outer + header-body seam\n isLeft ? zeroBorder : hInner, // left\n ];\n };\n\n // Convert rows to pptxgenjs format\n const lastRowIdx = props.rows.length - 1;\n const tableRows = props.rows.map((row, rowIndex) =>\n row.map((cell, colIndex) => {\n const lastColIdx = row.length - 1;\n // Corner cells: first/last col of header or last row — transparent\n // so background roundRect shapes show rounded corners through them.\n // All other cells: opaque fill to prevent seam artifacts.\n const isCorner = bgFill &&\n (rowIndex === 0 || rowIndex === lastRowIdx) &&\n (colIndex === 0 || colIndex === lastColIdx);\n\n if (typeof cell === 'string') {\n if (!bgFill) return { text: applyTextVariationSelector(cell) };\n const isHeader = rowIndex === 0;\n const opts: Record<string, unknown> = {\n border: buildBorderRadiusBorders(rowIndex, colIndex, row.length),\n };\n if (!isCorner) opts.fill = { color: isHeader ? headerFill : bgFill };\n return { text: applyTextVariationSelector(cell), options: opts };\n }\n const cellOpts: Record<string, unknown> = {};\n if (cell.color) cellOpts.color = resolveColor(cell.color, theme, warnings);\n if (bgFill) {\n const isHeader = rowIndex === 0;\n if (!isCorner) {\n const resolvedFill = cell.fill ? resolveColor(cell.fill, theme, warnings) : (isHeader ? headerFill : bgFill);\n cellOpts.fill = { color: resolvedFill };\n }\n cellOpts.border = buildBorderRadiusBorders(rowIndex, colIndex, row.length);\n } else if (cell.fill) {\n cellOpts.fill = { color: resolveColor(cell.fill, theme, warnings) };\n }\n if (cell.fontSize) cellOpts.fontSize = cell.fontSize;\n if (cell.fontFace) cellOpts.fontFace = cell.fontFace;\n if (cell.bold) cellOpts.bold = true;\n if (cell.italic) cellOpts.italic = true;\n if (cell.align) cellOpts.align = cell.align;\n if (cell.valign) cellOpts.valign = cell.valign;\n if (cell.colspan) cellOpts.colspan = cell.colspan;\n if (cell.rowspan) cellOpts.rowspan = cell.rowspan;\n if (cell.margin !== undefined) cellOpts.margin = cell.margin;\n\n return { text: applyTextVariationSelector(cell.text), options: cellOpts };\n })\n );\n\n const opts: Record<string, unknown> = {};\n\n // Position\n if (props.x !== undefined) opts.x = props.x;\n if (props.y !== undefined) opts.y = props.y;\n if (props.w !== undefined) opts.w = props.w;\n if (props.h !== undefined) opts.h = props.h;\n\n // Column/row sizing\n if (props.colW !== undefined) opts.colW = props.colW;\n if (props.rowH !== undefined) opts.rowH = props.rowH;\n\n // Border — skip table-level border when borderRadius is active (per-cell borders handle it)\n if (props.border && !bgFill) {\n opts.border = {\n type: props.border.type ?? 'solid',\n pt: props.border.pt ?? 1,\n color: resolveColor(props.border.color ?? '000000', theme, warnings),\n };\n }\n\n // Fill\n if (props.fill) opts.fill = { color: resolveColor(props.fill, theme, warnings) };\n\n // Font defaults\n opts.fontSize = props.fontSize ?? theme.defaults.fontSize;\n opts.fontFace = props.fontFace ?? theme.fonts.body;\n if (props.color) opts.color = resolveColor(props.color, theme, warnings);\n\n // Alignment\n if (props.align) opts.align = props.align;\n opts.valign = props.valign ?? 'middle';\n\n // Auto-paging\n if (props.autoPage) opts.autoPage = true;\n if (props.autoPageRepeatHeader) {\n opts.autoPageRepeatHeader = true;\n opts.autoPageHeaderRows = 1;\n }\n\n // Margin\n if (props.margin !== undefined) opts.margin = props.margin;\n\n // Background roundRect shapes — placed BEFORE the table.\n // Corner cells are transparent so these shapes show through at the corners.\n // Non-corner cells are opaque to prevent seam artifacts.\n if (props.borderRadius && pptx && typeof props.x === 'number' && typeof props.y === 'number') {\n let tableH: number = (props.h as number) ?? 2;\n if (typeof props.rowH === 'number') {\n tableH = props.rowH * props.rows.length;\n } else if (Array.isArray(props.rowH)) {\n tableH = props.rowH.reduce((sum, h) => sum + h, 0);\n }\n const headerH = typeof props.rowH === 'number'\n ? props.rowH\n : Array.isArray(props.rowH)\n ? props.rowH[0]\n : 0.45;\n const tableW = borderRadiusTableW!;\n // Suppress shape outlines completely\n const noLine = { type: 'none' };\n\n // Header roundRect (rounded top corners)\n slide.addShape(pptx.ShapeType.roundRect, {\n x: props.x, y: props.y, w: tableW, h: headerH,\n fill: { color: headerFill }, rectRadius: props.borderRadius, line: noLine,\n } as any);\n // Header flat rect — covers the rounded bottom corners of header\n slide.addShape(pptx.ShapeType.rect, {\n x: props.x,\n y: (props.y as number) + headerH - props.borderRadius,\n w: tableW, h: props.borderRadius,\n fill: { color: headerFill }, line: noLine,\n } as any);\n\n // Body roundRect (rounded bottom corners)\n const bodyY = (props.y as number) + headerH;\n const bodyH = tableH - headerH;\n slide.addShape(pptx.ShapeType.roundRect, {\n x: props.x, y: bodyY, w: tableW, h: bodyH,\n fill: { color: bgFill }, rectRadius: props.borderRadius, line: noLine,\n } as any);\n // Body flat rect — covers the rounded top corners of body\n slide.addShape(pptx.ShapeType.rect, {\n x: props.x, y: bodyY, w: tableW, h: props.borderRadius,\n fill: { color: bgFill }, line: noLine,\n } as any);\n }\n\n // When borderRadius is active, override opts.w to match colW sum\n // and suppress any table-level border/outline\n if (bgFill && borderRadiusTableW !== undefined) {\n opts.w = borderRadiusTableW;\n opts.border = [{ type: 'none' }, { type: 'none' }, { type: 'none' }, { type: 'none' }];\n }\n\n slide.addTable(tableRows as any, opts as any);\n}\n","/**\n * Environment detection utilities\n */\n\n/**\n * Check if the current environment is Node.js\n */\nexport function isNodeEnvironment(): boolean {\n return (\n typeof process !== 'undefined' &&\n process.versions != null &&\n process.versions.node != null &&\n typeof process.versions.node === 'string'\n );\n}\n","/**\n * Highcharts Component Renderer (PPTX)\n */\n\nimport type PptxGenJS from 'pptxgenjs';\nimport type { PptxThemeConfig, PipelineWarning } from '../types';\nimport type { PptxHighchartsProps } from '@json-to-office/shared-pptx';\nimport { isNodeEnvironment } from '../utils/environment';\n\nconst PX_PER_INCH = 96;\nconst DEFAULT_EXPORT_SERVER_URL = 'http://localhost:7801';\n\nfunction getExportServerUrl(propsUrl?: string): string {\n return propsUrl || process.env.HIGHCHARTS_SERVER_URL || DEFAULT_EXPORT_SERVER_URL;\n}\n\n/**\n * Generate chart via Highcharts Export Server\n */\nasync function generateChart(\n config: PptxHighchartsProps\n): Promise<{ base64DataUri: string; width: number; height: number }> {\n if (!isNodeEnvironment()) {\n throw new Error(\n 'Highcharts export server requires a Node.js environment. ' +\n 'Chart generation is not available in browser environments.'\n );\n }\n\n const serverUrl = getExportServerUrl(config.serverUrl);\n\n const response = await fetch(`${serverUrl}/export`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n infile: config.options,\n type: 'png',\n b64: true,\n scale: config.scale,\n }),\n }).catch((error) => {\n throw new Error(\n `Highcharts Export Server is not running at ${serverUrl}. ` +\n 'Start it with: npx highcharts-export-server --enableServer true\\n' +\n `Cause: ${error instanceof Error ? error.message : String(error)}`\n );\n });\n\n if (!response.ok) {\n throw new Error(\n `Highcharts export server returned ${response.status}: ${response.statusText}`\n );\n }\n\n const base64Data = await response.text();\n\n return {\n base64DataUri: `data:image/png;base64,${base64Data}`,\n width: config.options.chart?.width ?? 960,\n height: config.options.chart?.height ?? 720,\n };\n}\n\nexport async function renderHighchartsComponent(\n slide: PptxGenJS.Slide,\n props: PptxHighchartsProps,\n _theme: PptxThemeConfig,\n _warnings?: PipelineWarning[]\n): Promise<void> {\n const chart = await generateChart(props);\n\n const w = props.w ?? chart.width / PX_PER_INCH;\n const h = props.h ?? chart.height / PX_PER_INCH;\n\n slide.addImage({\n data: chart.base64DataUri,\n x: props.x ?? 0,\n y: props.y ?? 0,\n w,\n h,\n } as any);\n}\n","/**\n * Chart Component Renderer — native PowerPoint charts via pptxgenjs slide.addChart()\n */\n\nimport type PptxGenJS from 'pptxgenjs';\nimport type { PptxThemeConfig, PipelineWarning } from '../types';\nimport { resolveColor } from '../utils/color';\nimport { warn, W } from '../utils/warn';\n\ninterface ChartDataSeries {\n name?: string;\n labels?: string[];\n values?: number[];\n sizes?: number[];\n}\n\ninterface ChartComponentProps {\n type: string;\n data: ChartDataSeries[];\n\n showLegend?: boolean;\n showTitle?: boolean;\n showValue?: boolean;\n showPercent?: boolean;\n showLabel?: boolean;\n showSerName?: boolean;\n\n title?: string;\n titleFontSize?: number;\n titleColor?: string;\n titleFontFace?: string;\n\n chartColors?: string[];\n\n legendPos?: string;\n legendFontSize?: number;\n legendFontFace?: string;\n legendColor?: string;\n\n catAxisTitle?: string;\n catAxisHidden?: boolean;\n catAxisLabelRotate?: number;\n catAxisLabelFontSize?: number;\n catAxisLabelColor?: string;\n\n valAxisTitle?: string;\n valAxisHidden?: boolean;\n valAxisMinVal?: number;\n valAxisMaxVal?: number;\n valAxisLabelFormatCode?: string;\n valAxisMajorUnit?: number;\n valAxisLabelColor?: string;\n\n barDir?: string;\n barGrouping?: string;\n barGapWidthPct?: number;\n\n lineSmooth?: boolean;\n lineDataSymbol?: string;\n lineSize?: number;\n\n firstSliceAng?: number;\n holeSize?: number;\n\n radarStyle?: string;\n\n dataLabelColor?: string;\n dataLabelFontSize?: number;\n dataLabelFontFace?: string;\n dataLabelFontBold?: boolean;\n dataLabelPosition?: string;\n\n x?: number | string;\n y?: number | string;\n w?: number | string;\n h?: number | string;\n}\n\n// Map our type strings to pptxgenjs CHART_NAME values\nconst CHART_TYPE_MAP: Record<string, string> = {\n area: 'area',\n bar: 'bar',\n bar3D: 'bar3D',\n bubble: 'bubble',\n doughnut: 'doughnut',\n line: 'line',\n pie: 'pie',\n radar: 'radar',\n scatter: 'scatter',\n};\n\nconst DEFAULT_THEME_COLORS = ['primary', 'secondary', 'accent', 'accent4', 'accent5', 'accent6'];\n\nexport function renderChartComponent(\n slide: PptxGenJS.Slide,\n props: ChartComponentProps,\n theme: PptxThemeConfig,\n _pptx: PptxGenJS,\n warnings?: PipelineWarning[]\n): void {\n const chartType = CHART_TYPE_MAP[props.type];\n if (!chartType) {\n warn(warnings, W.UNKNOWN_CHART_TYPE, `Unknown chart type: ${props.type}`, { component: 'chart' });\n return;\n }\n\n // Validate data\n if (!props.data || props.data.length === 0) {\n warn(warnings, W.CHART_NO_DATA, 'Chart component has no data series', { component: 'chart' });\n return;\n }\n for (const series of props.data) {\n if (!series.labels || !series.values) {\n warn(warnings, W.CHART_INVALID_SERIES, `Chart series \"${series.name ?? '(unnamed)'}\" missing labels or values`, { component: 'chart' });\n return;\n }\n }\n if ((chartType === 'pie' || chartType === 'doughnut') && props.data.length > 1) {\n warn(warnings, W.CHART_MULTI_SERIES, `${props.type} chart has ${props.data.length} series — only the first will render`, { component: 'chart' });\n }\n\n // Build data array\n const data = props.data.map((series) => {\n const d: Record<string, unknown> = {};\n if (series.name !== undefined) d.name = series.name;\n if (series.labels) d.labels = series.labels;\n if (series.values) d.values = series.values;\n if (series.sizes) d.sizes = series.sizes;\n return d;\n });\n\n // Build chart options\n const opts: Record<string, unknown> = {};\n\n // Position\n if (props.x !== undefined) opts.x = props.x;\n if (props.y !== undefined) opts.y = props.y;\n if (props.w !== undefined) opts.w = props.w;\n if (props.h !== undefined) opts.h = props.h;\n\n // Colors — resolve semantic names to hex\n const colorSources = props.chartColors ?? DEFAULT_THEME_COLORS;\n opts.chartColors = colorSources.map((c) => resolveColor(c, theme, warnings));\n\n // Auto-default chart text colors from theme to prevent dark-on-dark / light-on-light\n const themeTextColor = resolveColor('text', theme, warnings);\n opts.titleColor = props.titleColor ? resolveColor(props.titleColor, theme, warnings) : themeTextColor;\n opts.legendColor = props.legendColor ? resolveColor(props.legendColor, theme, warnings) : themeTextColor;\n opts.catAxisLabelColor = props.catAxisLabelColor ? resolveColor(props.catAxisLabelColor, theme, warnings) : themeTextColor;\n opts.valAxisLabelColor = props.valAxisLabelColor ? resolveColor(props.valAxisLabelColor, theme, warnings) : themeTextColor;\n\n // Display toggles\n if (props.showLegend !== undefined) opts.showLegend = props.showLegend;\n if (props.showTitle !== undefined) opts.showTitle = props.showTitle;\n if (props.showValue !== undefined) opts.showValue = props.showValue;\n if (props.showPercent !== undefined) opts.showPercent = props.showPercent;\n if (props.showLabel !== undefined) opts.showLabel = props.showLabel;\n if (props.showSerName !== undefined) opts.showSerName = props.showSerName;\n\n // Title\n if (props.title !== undefined) opts.title = props.title;\n if (props.titleFontSize !== undefined) opts.titleFontSize = props.titleFontSize;\n if (props.titleFontFace !== undefined) opts.titleFontFace = props.titleFontFace;\n\n // Legend\n if (props.legendPos !== undefined) opts.legendPos = props.legendPos;\n if (props.legendFontSize !== undefined) opts.legendFontSize = props.legendFontSize;\n if (props.legendFontFace !== undefined) opts.legendFontFace = props.legendFontFace;\n\n // Category axis\n if (props.catAxisTitle !== undefined) {\n opts.catAxisTitle = props.catAxisTitle;\n opts.showCatAxisTitle = true;\n }\n if (props.catAxisHidden !== undefined) opts.catAxisHidden = props.catAxisHidden;\n if (props.catAxisLabelRotate !== undefined) opts.catAxisLabelRotate = props.catAxisLabelRotate;\n if (props.catAxisLabelFontSize !== undefined) opts.catAxisLabelFontSize = props.catAxisLabelFontSize;\n\n // Value axis\n if (props.valAxisTitle !== undefined) {\n opts.valAxisTitle = props.valAxisTitle;\n opts.showValAxisTitle = true;\n }\n if (props.valAxisHidden !== undefined) opts.valAxisHidden = props.valAxisHidden;\n if (props.valAxisMinVal !== undefined) opts.valAxisMinVal = props.valAxisMinVal;\n if (props.valAxisMaxVal !== undefined) opts.valAxisMaxVal = props.valAxisMaxVal;\n if (props.valAxisLabelFormatCode !== undefined) opts.valAxisLabelFormatCode = props.valAxisLabelFormatCode;\n if (props.valAxisMajorUnit !== undefined) opts.valAxisMajorUnit = props.valAxisMajorUnit;\n\n // Bar-specific\n if (props.barDir !== undefined) opts.barDir = props.barDir;\n if (props.barGrouping !== undefined) opts.barGrouping = props.barGrouping;\n if (props.barGapWidthPct !== undefined) opts.barGapWidthPct = props.barGapWidthPct;\n\n // Line-specific\n if (props.lineSmooth !== undefined) opts.lineSmooth = props.lineSmooth;\n if (props.lineDataSymbol !== undefined) opts.lineDataSymbol = props.lineDataSymbol;\n if (props.lineSize !== undefined) opts.lineSize = props.lineSize;\n\n // Pie/doughnut\n if (props.firstSliceAng !== undefined) opts.firstSliceAng = props.firstSliceAng;\n if (props.holeSize !== undefined) opts.holeSize = props.holeSize;\n\n // Radar\n if (props.radarStyle !== undefined) opts.radarStyle = props.radarStyle;\n\n // Data labels\n opts.dataLabelColor = props.dataLabelColor ? resolveColor(props.dataLabelColor, theme, warnings) : themeTextColor;\n if (props.dataLabelFontSize !== undefined) opts.dataLabelFontSize = props.dataLabelFontSize;\n if (props.dataLabelFontFace !== undefined) opts.dataLabelFontFace = props.dataLabelFontFace;\n if (props.dataLabelFontBold !== undefined) opts.dataLabelFontBold = props.dataLabelFontBold;\n if (props.dataLabelPosition !== undefined) opts.dataLabelPosition = props.dataLabelPosition;\n\n slide.addChart(chartType as any, data as any[], opts as any);\n}\n","/**\n * PPTX Component Renderers\n */\n\nimport type PptxGenJS from 'pptxgenjs';\nimport type { PptxThemeConfig, PptxComponentInput, PipelineWarning, SlideContext } from '../types';\nimport { warn, W } from '../utils/warn';\nimport { renderTextComponent } from './text';\nimport { renderImageComponent } from './image';\nimport { renderShapeComponent } from './shape';\nimport { renderTableComponent } from './table';\nimport { renderHighchartsComponent } from './highcharts';\nimport { renderChartComponent } from './chart';\n\nexport { renderTextComponent } from './text';\nexport { renderImageComponent } from './image';\nexport { renderShapeComponent } from './shape';\nexport { renderTableComponent } from './table';\nexport { renderHighchartsComponent } from './highcharts';\nexport { renderChartComponent } from './chart';\n\nexport async function renderComponent(\n slide: PptxGenJS.Slide,\n component: PptxComponentInput,\n theme: PptxThemeConfig,\n pptx: PptxGenJS,\n warnings?: PipelineWarning[],\n slideCtx?: SlideContext\n): Promise<void> {\n if (component.enabled === false) return;\n\n const { name, props } = component;\n const p = props as any;\n\n switch (name) {\n case 'text':\n renderTextComponent(slide, p, theme, warnings, slideCtx);\n break;\n case 'image':\n await renderImageComponent(slide, p, theme, warnings);\n break;\n case 'shape':\n renderShapeComponent(slide, p, theme, pptx, warnings);\n break;\n case 'table':\n renderTableComponent(slide, p, theme, pptx, warnings);\n break;\n case 'highcharts':\n await renderHighchartsComponent(slide, p, theme, warnings);\n break;\n case 'chart':\n renderChartComponent(slide, p, theme, pptx, warnings);\n break;\n default:\n warn(warnings, W.UNKNOWN_COMPONENT, `Unknown PPTX component type: ${name}`, { component: name });\n }\n}\n","/**\n * Template Slide Builder\n * Converts internal TemplateSlideDefinition to pptxgenjs SlideMasterProps\n *\n * Fixed objects (shapes, text, images) are no longer rendered here — they use\n * the unified component pipeline and are rendered per-slide in render.ts.\n */\n\nimport type { TemplateSlideDefinition, PptxThemeConfig, PipelineWarning } from '../types';\nimport { resolveColor } from '../utils/color';\n\nexport function buildSlideTemplateProps(\n def: TemplateSlideDefinition,\n theme: PptxThemeConfig,\n warnings?: PipelineWarning[]\n): Record<string, any> {\n const result: Record<string, any> = { title: def.name };\n\n // Background\n if (def.background) {\n if (def.background.color) {\n result.background = { color: resolveColor(def.background.color, theme, warnings) };\n } else if (def.background.image) {\n if (def.background.image.path) {\n result.background = { path: def.background.image.path };\n } else if (def.background.image.base64) {\n result.background = { data: def.background.image.base64 };\n }\n }\n }\n\n // Margin\n if (def.margin !== undefined) result.margin = def.margin;\n\n // Slide number\n if (def.slideNumber) {\n result.slideNumber = {\n x: def.slideNumber.x,\n y: def.slideNumber.y,\n };\n if (def.slideNumber.w !== undefined) result.slideNumber.w = def.slideNumber.w;\n if (def.slideNumber.h !== undefined) result.slideNumber.h = def.slideNumber.h;\n if (def.slideNumber.color) result.slideNumber.color = resolveColor(def.slideNumber.color, theme, warnings);\n if (def.slideNumber.fontSize) result.slideNumber.fontSize = def.slideNumber.fontSize;\n }\n\n return result;\n}\n","// Version information\nexport function getPptxCoreVersion(): string {\n return 'PptxCore v1.0.0';\n}\n\n// Core API\nexport {\n generatePresentation,\n generateBufferFromJson,\n generateBufferWithWarnings,\n generateAndSaveFromJson,\n generateFromFile,\n savePresentation,\n isPresentationComponentDefinition,\n PresentationGenerator,\n} from './core/generator';\n\nexport type { GenerationOptions, GenerationResult } from './core/generator';\n\n// Types\nexport type {\n PptxComponentInput,\n PresentationComponentDefinition,\n SlideComponentDefinition,\n ProcessedPresentation,\n ProcessedSlide,\n PptxThemeConfig,\n PipelineWarning,\n SlideContext,\n} from './types';\n\nexport { isPresentationComponent, isSlideComponent } from './types';\n\n// Warning utilities\nexport { W as WarningCodes } from './utils/warn';\nexport type { WarningCode } from './utils/warn';\n\n// Themes\nexport { DEFAULT_PPTX_THEME, getPptxTheme, pptxThemes } from './themes';\n\n// Component renderers\nexport {\n renderTextComponent,\n renderImageComponent,\n renderShapeComponent,\n renderTableComponent,\n renderHighchartsComponent,\n renderComponent,\n} from './components';\n"],"mappings":"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","names":["result","opts","path"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PPTX Theme Defaults
|
|
3
|
+
*/
|
|
4
|
+
import type { PptxThemeConfig } from '../types';
|
|
5
|
+
export declare const DEFAULT_PPTX_THEME: PptxThemeConfig;
|
|
6
|
+
export declare function getPptxTheme(name: string): PptxThemeConfig;
|
|
7
|
+
export declare const pptxThemes: Record<string, PptxThemeConfig>;
|
|
8
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/themes/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,UAAU,CAAC;AAYtE,eAAO,MAAM,kBAAkB,EAAE,eAuBhC,CAAC;AAsDF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAE1D;AAED,eAAO,MAAM,UAAU,iCAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/pptxgenjs@3.12.0/node_modules/pptxgenjs/types/index.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/globals.global.d.ts","../../../node_modules/.pnpm/@types+node@20.11.0/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/jszip@3.10.1/node_modules/jszip/index.d.ts","../src/types.ts","../src/utils/warn.ts","../src/core/grid.ts","../src/themes/defaults.ts","../src/themes/index.ts","../src/core/structure.ts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/symbols/symbols.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/symbols/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/any/any.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/any/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/mapped/mapped-key.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/mapped/mapped-result.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/async-iterator/async-iterator.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/async-iterator/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/readonly/readonly.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/readonly/readonly-from-mapped-result.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/readonly/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/readonly-optional/readonly-optional.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/readonly-optional/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/constructor/constructor.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/constructor/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/literal/literal.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/literal/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/enum/enum.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/enum/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/function/function.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/function/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/computed/computed.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/computed/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/never/never.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/never/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-type.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-evaluated.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/intersect/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/union/union-type.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/union/union-evaluated.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/union/union.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/union/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/recursive/recursive.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/recursive/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/unsafe/unsafe.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/unsafe/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/ref/ref.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/ref/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/tuple/tuple.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/tuple/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/error/error.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/error/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/string/string.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/string/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/boolean/boolean.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/boolean/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/number/number.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/number/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/integer/integer.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/integer/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/bigint/bigint.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/bigint/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/template-literal/parse.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/template-literal/finite.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/template-literal/generate.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/template-literal/syntax.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/template-literal/pattern.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/template-literal/template-literal.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/template-literal/union.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/template-literal/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-property-keys.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-from-mapped-result.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-from-mapped-key.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/indexed/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/iterator/iterator.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/iterator/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/promise/promise.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/promise/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/sets/set.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/sets/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/mapped/mapped.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/mapped/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/optional/optional.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/optional/optional-from-mapped-result.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/optional/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/awaited/awaited.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/awaited/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-property-keys.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-from-mapped-result.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-property-entries.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/keyof/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/omit/omit-from-mapped-result.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/omit/omit.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/omit/omit-from-mapped-key.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/omit/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/pick/pick-from-mapped-result.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/pick/pick.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/pick/pick-from-mapped-key.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/pick/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/null/null.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/null/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/symbol/symbol.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/symbol/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/undefined/undefined.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/undefined/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/partial/partial.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/partial/partial-from-mapped-result.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/partial/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/regexp/regexp.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/regexp/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/record/record.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/record/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/required/required.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/required/required-from-mapped-result.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/required/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/transform/transform.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/transform/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/module/compute.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/module/infer.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/module/module.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/module/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/not/not.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/not/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/static/static.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/static/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/object/object.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/object/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/helpers/helpers.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/helpers/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/array/array.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/array/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/date/date.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/date/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/uint8array/uint8array.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/uint8array/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/unknown/unknown.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/unknown/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/void/void.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/void/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/schema/schema.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/schema/anyschema.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/schema/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/clone/type.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/clone/value.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/clone/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/create/type.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/create/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/argument/argument.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/argument/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/guard/kind.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/guard/type.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/guard/value.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/guard/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/patterns/patterns.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/patterns/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/registry/format.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/registry/type.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/registry/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/composite/composite.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/composite/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/const/const.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/const/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/constructor-parameters/constructor-parameters.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/constructor-parameters/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude-from-template-literal.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude-from-mapped-result.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/exclude/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/extends/extends-check.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/extends/extends-from-mapped-result.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/extends/extends.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/extends/extends-from-mapped-key.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/extends/extends-undefined.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/extends/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/extract/extract-from-template-literal.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/extract/extract.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/extract/extract-from-mapped-result.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/extract/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/instance-type/instance-type.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/instance-type/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/instantiate/instantiate.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/instantiate/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/intrinsic/intrinsic-from-mapped-key.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/intrinsic/intrinsic.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/intrinsic/capitalize.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/intrinsic/lowercase.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/intrinsic/uncapitalize.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/intrinsic/uppercase.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/intrinsic/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/parameters/parameters.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/parameters/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/rest/rest.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/rest/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/return-type/return-type.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/return-type/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/type/json.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/type/javascript.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/type/type/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/index.d.mts","../../shared-pptx/dist/schemas/component-union.d.ts","../../shared-pptx/dist/schemas/components.d.ts","../../shared-pptx/dist/schemas/component-registry.d.ts","../../shared-pptx/dist/schemas/document.d.ts","../../shared-pptx/dist/schemas/export.d.ts","../../shared-pptx/dist/schemas/theme.d.ts","../../shared-pptx/dist/schemas/generator.d.ts","../../shared/dist/schema-utils-cbci6dek.d.ts","../../shared/dist/types/warnings.d.ts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/errors/errors.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/errors/function.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/errors/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/guard/guard.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/guard/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/assert/assert.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/assert/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/cast/cast.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/cast/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/check/check.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/check/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/clean/clean.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/clean/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/clone/clone.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/clone/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/convert/convert.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/convert/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/create/create.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/create/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/decode/decode.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/decode/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/default/default.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/default/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/delta/delta.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/delta/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/encode/encode.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/encode/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/equal/equal.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/equal/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/hash/hash.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/hash/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/mutate/mutate.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/mutate/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/parse/parse.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/parse/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/pointer/pointer.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/pointer/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/transform/decode.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/transform/encode.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/transform/has.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/transform/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/value/value.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/value/index.d.mts","../../../node_modules/.pnpm/@sinclair+typebox@0.34.38/node_modules/@sinclair/typebox/build/esm/value/index.d.mts","../../shared/dist/validation/unified/index.d.ts","../../shared/dist/utils/semver.d.ts","../../shared/dist/index.d.ts","../../shared-pptx/dist/index.d.ts","../src/utils/color.ts","../src/components/text.ts","../../../node_modules/.pnpm/@types+needle@3.3.0/node_modules/@types/needle/index.d.ts","../../../node_modules/.pnpm/@types+probe-image-size@7.2.4/node_modules/@types/probe-image-size/index.d.ts","../src/components/image.ts","../src/components/shape.ts","../src/components/table.ts","../src/utils/environment.ts","../src/components/highcharts.ts","../src/components/chart.ts","../src/components/index.ts","../src/core/template.ts","../src/core/render.ts","../src/core/generator.ts","../src/index.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc",{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"3fb9f239e09c0afc7b04c29821961a7efbe7d400a11a2e884243db8a20287811","efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"e2eb1ce13a9c0fa7ab62c63909d81973ef4b707292667c64f1e25e6e53fa7afa","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","91073e48c8e2833110f328848b2c298425bd596a332107f248de6f28b2311f5e","bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true},"7aae1df2053572c2cfc2089a77847aadbb38eedbaa837a846c6a49fb37c6e5bd","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","f1ace2d2f98429e007d017c7a445efad2aaebf8233135abdb2c88b8c0fef91ab","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"1b6d2b76e8a526c7e26f96df0f4fb49510b281597dbf95225c231781fa2d1614","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"9335b283875185dc274fe8ad30989fdfc5bd9772efbe1d6e4ec72044a3f1a46a","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"f325631e35c2bc4815911085c55e21109b7c500d8e467524252363bd859f6e50","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eefcdf86cefff36e5d87de36a3638ab5f7d16c2b68932be4a72c14bb924e43c1","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","8013f6c4d1632da8f1c4d3d702ae559acccd0f1be05360c31755f272587199c9",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","522cb15ff9bef5a65c2f3dbd10dbba9e7ecae4de32f90f5c0b4198132be63ae4",{"version":"e676e4c87c6c71773c18328de7c259b1113336de89e62be5510e068d83856a11","signature":"5cf6683000f012df637f84c4d1ef181e12eaeaa66d6160f4efa2e981628e8373"},{"version":"eee9bb55d783f79beb7dc5accfba126eecaaa29964ea100e386ec2219b1e2def","signature":"8cbd0651ad9ec9a499036ed2522886d1675a68a9d3c742f7eba9461e366b37ac"},{"version":"0ff1a4dbb7a1d92440c6aee9787629e93b309a37ca51afde2c930db18f5e3711","signature":"c7edfc7202ff02748c05dd7616e885e86c5c4ac28dd7d2985a7585eeb8c08b02"},{"version":"8aae7e2266989c21d1e0fe1b2b301be4eae59840b372c4a96a27dd54f7fadfc6","signature":"90f16f3c098cbb50247ffd89503244018ae4faad8cb8bdb7a5231f443891bf29"},"a552a0533a7ce7124daa5936dc136a6cc522260598fbd36b67082ee114f5327a",{"version":"6a9b4cedd663a8d9582e155c19db464f78d55f301dd1bc0388c3d1e9f3d0c2ef","signature":"424f7600bcb339b7da073e725998688d91297ee261a2d03519dfef73441286f7"},"b104e2da53231a529373174880dc0abfbc80184bb473b6bf2a9a0746bebb663d","3d4bb4d84af5f0b348f01c85537da1c7afabc174e48806c8b20901377c57b8e4","a2500b15294325d9784a342145d16ef13d9efb1c3c6cb4d89934b2c0d521b4ab","79d5c409e84764fabdd276976a31928576dcf9aea37be3b5a81f74943f01f3ff","8ea020ea63ecc981b9318fc532323e31270c911a7ade4ba74ab902fcf8281c45","c81e1a9b03e4de1225b33ac84aaf50a876837057828e0806d025daf919bf2d51","bb7264d8bd6152524f2ef5dae5c260ae60d459bf406202258bd0ce57c79e5a6d","fb66165c4976bc21a4fde14101e36c43d46f907489b7b6a5f2a2679108335d4a","628c2e0a0b61be3e44f296083e6af9b5a9b6881037dd43e7685ee473930a4404","4776f1e810184f538d55c5da92da77f491999054a1a1ee69a2d995ab2e8d1bc0","11544c4e626eab113df9432e97a371693c98c17ae4291d2ad425af5ef00e580b","e1847b81166d25f29213d37115253c5b82ec9ee78f19037592aa173e017636d5","fe0bd60f36509711c4a69c0e00c0111f5ecdc685e6c1a2ae99bd4d56c76c07fc","b8f3f4ee9aae88a9cec9797d166209eb2a7e4beb8a15e0fc3c8b90c9682c337d","ea3c4f5121fe2e86101c155ebe60b435c729027ae50025b2a4e1d12a476002ae","372db10bea0dbe1f8588f82b339152b11847e6a4535d57310292660c8a9acfc5","6f9fba6349c16eed21d139d5562295e8d5aafa5abe6e8ebcde43615a80c69ac1","1474533e27d0e3e45a417ea153d4612f0adbff055f244a29606a1fae6db56cda","c7fd8a79d0495955d55bfea34bbdb85235b0f27b417a81afc395655ef43d091d","987405949bfafbb1c93d976c3352fe33bfb85303a79fc5d9588b681e4af6c3b3","867bc1f5a168fd86d12d828dfafd77c557f13b4326588615b19e301f6856f70c","6beddab08d635b4c16409a748dcd8de38a8e444a501b8e79d89f458ae88579d1","1dea5c7bf28569228ffcc83e69e1c759e7f0133c232708e09cfa4d7ed3ec7079","6114545678bb75e581982c990597ca3ba7eeef185256a14c906edfc949db2cd1","5c8625f8dbbd94ab6ca171d621049c810cce4fce6ec1fd1c24c331d9858dce17","af36e5f207299ba2013f981dffacd4a04cdce2dd4bd255fff084e7257bf8b947","c69c720b733cdaa3b4542f4c1206d9f0fcf3696f87a6e88adb15db6882fbcd69","9c37e66916cbbe7d96301934b665ec712679c3cb99081ccaae4034b987533a59","2e1a163ab5b5c2640d7f5a100446bbcaeda953a06439c901b2ae307f7088dc30","f0b3406d2bc2c262f218c42a125832e026997278a890ef3549fa49e62177ce86","756cf223ca25eb36c413b2a286fa108f19a5ac39dc6d65f2c590dc118f6150df","70ce03da8740ca786a1a78b8a61394ecf812dd1acf2564d0ce6be5caf29e58d9","e0f5707d91bb950edb6338e83dd31b6902b6620018f6aa5fd0f504c2b0ea61f5","0dc7ae20eab8097b0c7a48b5833f6329e976f88af26055cdae6337141ff2c12e","76b6db79c0f5b326ff98b15829505efd25d36ce436b47fe59781ac9aec0d7f1b","786f3f186af874ea3e34c2aeef56a0beab90926350f3375781c0a3aa844cd76e","63dbc8fa1dcbfb8af6c48f004a1d31988f42af171596c5cca57e4c9d5000d291","aa235b26568b02c10d74007f577e0fa21a266745029f912e4fba2c38705b3abe","3d6d570b5f36cf08d9ad8d93db7ddc90fa7ccc0c177de2e9948bb23cde805d32","037b63ef3073b5f589102cb7b2ace22a69b0c2dcf2359ff6093d4048f9b96daa","627e2ac450dcd71bdd8c1614b5d3a02b214ad92a1621ebeb2642dffb9be93715","813514ef625cb8fc3befeec97afddfb3b80b80ced859959339d99f3ad538d8fe","624f8a7a76f26b9b0af9524e6b7fa50f492655ab7489c3f5f0ddd2de5461b0c3","d6b6fa535b18062680e96b2f9336e301312a2f7bdaeb47c4a5b3114c3de0c08b","818e8f95d3851073e92bcad7815367dd8337863aaf50d79e703ac479cca0b6a4","29b716ff24d0db64060c9a90287f9de2863adf0ef1efef71dbaba33ebc20b390","2530c36527a988debd39fed6504d8c51a3e0f356aaf2d270edd492f4223bdeff","2553cfd0ec0164f3ea228c5badd1ba78607d034fc2dec96c781026a28095204b","6e943693dbc91aa2c6c520e7814316469c8482d5d93df51178d8ded531bb29ee","e74e1249b69d9f49a6d9bfa5305f2a9f501e18de6ab0829ab342abf6d55d958b","16f60d6924a9e0b4b9961e42b5e586b28ffd57cdfa236ae4408f7bed9855a816","493c2d42f1b6cfe3b13358ff3085b90fa9a65d4858ea4d02d43772c0795006ec","3702c7cbcd937d7b96e5376fe562fd77b4598fe93c7595ee696ebbfefddac70f","848621f6b65b3963f86c51c8b533aea13eadb045da52515e6e1407dea19b8457","c15b679c261ce17551e17a40a42934aeba007580357f1a286c79e8e091ee3a76","156108cedad653a6277b1cb292b18017195881f5fe837fb7f9678642da8fa8f2","0a0bb42c33e9faf63e0b49a429e60533ab392f4f02528732ecbd62cfc2d54c10","70fa95cd7cb511e55c9262246de1f35f3966c50e8795a147a93c538db824cdc8","bc28d8cec56b5f91c8a2ec131444744b13f63c53ce670cb31d4dffdfc246ba34","7bd87c0667376e7d6325ada642ec29bf28e940cb146d21d270cac46b127e5313","0318969deede7190dd3567433a24133f709874c5414713aac8b706a5cb0fe347","3770586d5263348c664379f748428e6f17e275638f8620a60490548d1fada8b4","ff65e6f720ba4bf3da5815ca1c2e0df2ece2911579f307c72f320d692410e03d","edb4f17f49580ebcec71e1b7217ad1139a52c575e83f4f126db58438a549b6df","353c0cbb6e39e73e12c605f010fddc912c8212158ee0c49a6b2e16ede22cdaab","e125fdbea060b339306c30c33597b3c677e00c9e78cd4bf9a15b3fb9474ebb5d","ee141f547382d979d56c3b059fc12b01a88b7700d96f085e74268bc79f48c40a","1d64132735556e2a1823044b321c929ad4ede45b81f3e04e0e23cf76f4cbf638","8b4a3550a3cac035fe928701bc046f5fac76cca32c7851376424b37312f4b4ca","5fd7f9b36f48d6308feba95d98817496274be1939a9faa5cd9ed0f8adf3adf3a","15a8f79b1557978d752c0be488ee5a70daa389638d79570507a3d4cfc620d49d","d4c14ea7d76619ef4244e2c220c2caeec78d10f28e1490eeac89df7d2556b79f","8096207a00346207d9baf7bc8f436ef45a20818bf306236a4061d6ccc45b0372","040f2531989793c4846be366c100455789834ba420dfd6f36464fe73b68e35b6","c5c7020a1d11b7129eb8ddffb7087f59c83161a3792b3560dcd43e7528780ab0","d1f97ea020060753089059e9b6de1ab05be4cb73649b595c475e2ec197cbce0f","b5ddca6fd676daf45113412aa2b8242b8ee2588e99d68c231ab7cd3d88b392fa","77404ec69978995e3278f4a2d42940acbf221da672ae9aba95ffa485d0611859","4e6672fb142798b69bcb8d6cd5cc2ec9628dbea9744840ee3599b3dcd7b74b09","609653f5b74ef61422271a28dea232207e7ab8ad1446de2d57922e3678160f01","9f96251a94fbff4038b464ee2d99614bca48e086e1731ae7a2b5b334826d3a86","cacbb7f3e679bdea680c6c609f4403574a5de8b66167b8867967083a40821e2a","ee4cf97e8bad27c9e13a17a9f9cbd86b32e9fbc969a5c3f479dafb219209848c","3a4e35b6e99ed398e77583ffc17f8774cb4253f8796c0e04ce07c26636fed4a9","08d323cb848564baef1ecbe29df14f7ad84e5b2eaf2e02ea8cb422f069dcb2fa","e640df876f436395b62342518b114be951312a618eee28335b04cd9be7349e81","c3b9c02a31b36dd3a4067f420316c550f93d463e46b2704391100428e145fd7f","b2a4d01fcf005530c3f8689ac0197e5fd6b75eb031e73ca39e5a27d41793a5d8","e99d9167596f997dd2da0de0751a9f0e2f4100f07bddf049378719191aee87f6","3f9c7d3b86994c40e199fca9d3144e0a4430bff908a26d58904d7fab68d03e6a","403971c465292dedc8dff308f430c6b69ec5e19ea98d650dae40c70f2399dc14","fd3774aa27a30b17935ad360d34570820b26ec70fa5fcfd44c7e884247354d37","7b149b38e54fe0149fe500c5d5a049654ce17b1705f6a1f72dd50d84c6a678b9","3eb76327823b6288eb4ed4648ebf4e75cf47c6fbc466ed920706b801399f7dc3","c6a219d0d39552594a4cc75970768004f99684f28890fc36a42b853af04997b7","2110d74b178b022ca8c5ae8dcc46e759c34cf3b7e61cb2f8891fd8d24cb614ef","38f5e025404a3108f5bb41e52cead694a86d16ad0005e0ef7718a2a31e959d1e","8db133d270ebb1ba3fa8e2c4ab48df2cc79cb03a705d47ca9f959b0756113d3d","bc2930d6f7099833b3e47fc45440d30984b84e8a457bbe443bb0c686ea623663","f06e5783d10123b74b14e141426a80234b9d6e5ad94bfc4850ea912719f4987c","de9466be4b561ad0079ac95ca7445c99fdf45ef115a93af8e2e933194b3cdf4c","0c1eed961c15e1242389b0497628709f59d7afd50d5a1955daa10b5bd3b68fc2","5e07a9f7f130e5404c202bf7b0625a624c9d266b980576f5d62608ef21d96eab","2f97d5063ab69bf32d6417d71765fc154dc6ff7c16700db7c4af5341a965c277","a8a9459dd76ef5eeef768da4ce466c5539d73b26334131bd1dd6cbd74ce48fa2","c9fdc6ea16a7375f149c45eba5b3e5e071bb54103bacae2eb523da8e2e040e8e","9e4d81dd52d5a8b6c159c0b2f2b5fbe2566f12fcc81f7ba7ebb46ca604657b45","9ee245e7c6aa2d81ee0d7f30ff6897334842c469b0e20da24b3cddc6f635cc06","e7d5132674ddcd01673b0517eebc44c17f478126284c3eabd0a552514cb992bb","a820710a917f66fa88a27564465a033c393e1322a61eb581d1f20e0680b498f1","19086752f80202e6a993e2e45c0e7fc7c7fc4315c4805f3464625f54d919fa2e","141aebe2ee4fecd417d44cf0dabf6b80592c43164e1fbd9bfaf03a4ec377c18e","72c35a5291e2e913387583717521a25d15f1e77d889191440dc855c7e821b451","ec1c67b32d477ceeebf18bdeb364646d6572e9dd63bb736f461d7ea8510aca4f","fb555843022b96141c2bfaf9adcc3e5e5c2d3f10e2bcbd1b2b666bd701cf9303","f851083fc20ecc00ff8aaf91ba9584e924385768940654518705423822de09e8","c8d53cdb22eedf9fc0c8e41a1d9a147d7ad8997ed1e306f1216ed4e8daedb6b3","6c052f137bab4ba9ed6fd76f88a8d00484df9d5cb921614bb4abe60f51970447","ff4eff8479b0548b2ebc1af1bc7612253c3d44704c3c20dfd8a8df397fc3f2a1","7d5c2df0c3706f45b77970232aa3a38952561311ccc8fcb7591e1b7a469ad761","2c41502b030205006ea3849c83063c4327342fbf925d8ed93b18309428fdd832","d12eecede214f8807a719178d7d7e2fc32f227d4705d123c3f45d8a3b5765f38","c8893abd114f341b860622b92c9ffc8c9eb9f21f6541bd3cbc9a4aa9b1097e42","825674da70d892b7e32c53f844c5dfce5b15ea67ceda4768f752eed2f02d8077","2c676d27ef1afbc8f8e514bb46f38550adf177ae9b0102951111116fa7ea2e10","a6072f5111ea2058cb4d592a4ee241f88b198498340d9ad036499184f7798ae2","ab87c99f96d9b1bf93684b114b27191944fef9a164476f2c6c052b93eaac0a4f","13e48eaca1087e1268f172607ae2f39c72c831a482cab597076c6073c97a15e7","19597dbe4500c782a4252755510be8324451847354cd8e204079ae81ab8d0ef6","f7d487e5f0104f0737951510ea361bc919f5b5f3ebc51807f81ce54934a3556f","efa8c5897e0239017e5b53e3f465d106b00d01ee94c9ead378a33284a2998356","fe3c53940b26832930246d4c39d6e507c26a86027817882702cf03bff314fa1d","53ee33b91d4dc2787eccebdbd396291e063db1405514bb3ab446e1ca3fd81a90","c4a97da118b4e6dde7c1daa93c4da17f0c4eedece638fc6dcc84f4eb1d370808","71666363fbdb0946bfc38a8056c6010060d1a526c0584145a9560151c6962b4f","1326f3630d26716257e09424f33074a945940afd64f2482e2bbc885258fca6bb","cc2eb5b23140bbceadf000ef2b71d27ac011d1c325b0fc5ecd42a3221db5fb2e","d04f5f3e90755ed40b25ed4c6095b6ad13fc9ce98b34a69c8da5ed38e2dbab5a","280b04a2238c0636dad2f25bbbbac18cf7bb933c80e8ec0a44a1d6a9f9d69537","0e9a2d784877b62ad97ed31816b1f9992563fdda58380cd696e796022a46bfdf","1b1411e7a3729bc632d8c0a4d265de9c6cbba4dc36d679c26dad87507faedee3","c478cfb0a2474672343b932ea69da64005bbfc23af5e661b907b0df8eb87bcb7","1a7bff494148b6e66642db236832784b8b2c9f5ad9bff82de14bcdb863dadcd9","65e6ad2d939dd38d03b157450ba887d2e9c7fd0f8f9d3008c0d1e59a0d8a73b4","f72b400dbf8f27adbda4c39a673884cb05daf8e0a1d8152eec2480f5700db36c","347f6fe4308288802eb123596ad9caf06755e80cfc7f79bbe56f4141a8ee4c50","5f5baa59149d3d6d6cef2c09d46bb4d19beb10d6bee8c05b7850c33535b3c438","a8f0c99380c9e91a73ecfc0a8582fbdefde3a1351e748079dc8c0439ea97b6db","be02e3c3cb4e187fd252e7ae12f6383f274e82288c8772bb0daf1a4e4af571ad","82ca40fb541799273571b011cd9de6ee9b577ef68acc8408135504ae69365b74","e671e3fc9b6b2290338352606f6c92e6ecf1a56459c3f885a11080301ca7f8de","04453db2eb9c577d0d7c46a7cd8c3dd52ca8d9bc1220069de2a564c07cdeb8c4","5559ab4aa1ba9fac7225398231a179d63a4c4dccd982a17f09404b536980dae8","2d7b9e1626f44684252d826a8b35770b77ce7c322734a5d3236b629a301efdcf","5b8dafbb90924201f655931d429a4eceb055f11c836a6e9cbc7c3aecf735912d","0b9be1f90e5e154b61924a28ed2de133fd1115b79c682b1e3988ac810674a5c4","7a9477ba5fc17786ee74340780083f39f437904229a0cd57fc9a468fd6567eb8","3da1dd252145e279f23d85294399ed2120bf8124ed574d34354a0a313c8554b6","e5c4080de46b1a486e25a54ddbb6b859312359f9967a7dc3c9d5cf4676378201","cfe1cdf673d2db391fd1a1f123e0e69c7ca06c31d9ac8b35460130c5817c8d29","b9701f688042f44529f99fd312c49fea853e66538c19cfcbb9ef024fdb5470cc","6daa62c5836cc12561d12220d385a4a243a4a5a89afd6f2e48009a8dd8f0ad83","c74550758053cf21f7fea90c7f84fa66c27c5f5ac1eca77ce6c2877dbfdec4d1","bd8310114a3a5283faac25bfbfc0d75b685a3a3e0d827ee35d166286bdd4f82e","1459ae97d13aeb6e457ccffac1fbb5c5b6d469339729d9ef8aeb8f0355e1e2c9","1bf03857edaebf4beba27459edf97f9407467dc5c30195425cb8a5d5a573ea52","f6b4833d66c12c9106a3299e520ed46f9a4c443cefc22c993315c4bb97a28db1","746c02f8b99bd90c4d135badaab575c6cfce0d030528cf90190c8914b0934ea3","a858ba8df5e703977dee467b10af084398919e99c9e42559180e75953a1f6ef6","d2dcd6105c195d0409abd475b41363789c63ae633282f04465e291a68a151685","0b569ed836f0431c2efaef9b6017e8b700a7fed319866d7667f1189957275045","9371612fd8638d7f6a249a14843132e7adb0b5c84edba9ed7905e835b644c013","0c72189b6ec67331476a36ec70a2b8ce6468dc4db5d3eb52deb9fefbd6981ebb","e723c58ce0406b459b2ed8cca98baaba724bbc7d7a44797b240f4d23dd2eea03","7e4a27fd17dbb256314c2513784236f2ae2023573e83d0e65ebddfda336701db","131ecac1c7c961041df80a1dc353223af4e658d56ba1516317f79bd5400cffeb","f3a55347fb874828e442c2916716d56552ac3478204c29c0d47e698c00eb5d28","49ebbdfe7427d784ccdc8325bdecc8dda1719a7881086f14751879b4f8d70c21","c1692845412646f17177eb62feb9588c8b5d5013602383f02ae9d38f3915020c","b1b440e6c973d920935591a3d360d79090b8cf58947c0230259225b02cf98a83","defc2ae12099f46649d12aa4872ce23ba43fba275920c00c398487eaf091bbae","620390fbef44884902e4911e7473531e9be4db37eeef2da52a34449d456b4617","e60440cbd3ec916bc5f25ada3a6c174619745c38bfca58d3554f7d62905dc376","86388eda63dcb65b4982786eec9f80c3ef21ca9fb2808ff58634e712f1f39a27","022cd098956e78c9644e4b3ad1fe460fac6914ca9349d6213f518386baf7c96b","dfc67e73325643e92f71f94276b5fb3be09c59a1eeee022e76c61ae99f3eda4b","8c3d6c9abaa0b383f43cac0c227f063dc4018d851a14b6c2142745a78553c426","ee551dc83df0963c1ee03dc32ce36d83b3db9793f50b1686dc57ec2bbffc98af","968832c4ffd675a0883e3d208b039f205e881ae0489cc13060274cf12e0e4370","c593ca754961cfd13820add8b34da35a114cda7215d214e4177a1b0e1a7f3377","ed88c51aa3b33bb2b6a8f2434c34f125946ba7b91ed36973169813fdad57f1ec","a9ea477d5607129269848510c2af8bcfd8e262ebfbd6cd33a6c451f0cd8f5257","d188e3f3b2db1e1c2481a3ae57afa54619cf8f9cc552492ac64a1ab6765c80c4","fd7bdf8b6983c8a4567e21bef7bacfa077621ae7682bc92a3b230bad3db88829","ec4221d9d7687e6ef6578d74c825caf2d3ec5273c4cee3a466ab8672a3cd9ec8","f5d45dfaebb9f86f276653ec4abebfad6dfc6a4de0aad7736ee7dc6543996734","697f27c7ef30d00caf5ef53fe19a2356d5cee46d28a6067242956329d7207a7a","dcbce23060ae5698bdd1eb6c67d8925ef3500e8a26e402c27ff4e7d6beea9b40","dc62896a07b72b4893a18f1b168989c441cd33a4365439264be1aabaeae8da13","d17b86502f6c271eea2ab5812f892390645751d256678413b099419b5b74a5a4","01438f9b54d83d682bb4ea694f5db230d521af444ca9c626da9ba7318c774bff","58deeb59996b02a708aea42419cbb8ea4392094876daa46fbe7fb25b06562bab","3f3cd13ff24f4b1620a568ccd4cb8c4745487899bc8e81f403d278caa81c03d2","1d43afc4b1e50d5ba3e1453e115171ebd86f86337b36c7f3d9496787dc7e0e26","f5bbdd7b64f61b3121b742f850d1006e313c584317f6f17d07bd4faafd08d953","917a4c642d50a390b3a73b3395deda4f10ef4932222950f583e3ac1f3fe11d1b","3a5f01ee5d00249bce7833755d5f0b73ea86677ef3255b1ba6a66110f38623ea","c3188d818a087e2b2712251b3baa0307b9e70080b2c432238aae1ebb01023a0a","e90bc5f533bf1a6cd9935bc8986f047fd57515779e95f73b762790e7e9404430","9a2e658d89e7a71a997653260784aa334eae0e5579291717058bbd5eb760b3f9","a6d7eab38d0e354c9a80bd93c658d83d6ade0f81d5bbed7c1f270b8dc47ad371","78a72d85b663fb862736b1bc64c71d0e007d73862ee941719cb9c5f623c800f1","cf6f48a64e3d17435e67df7d33a53fcff8a074fec634563e1dc7f366d3fea8b2","f7dd0da7832ae4eb5d9c5962fa43b1b9fa10c0995175edd0034f10238b7e8955","f964ba426f140b14ac24ec00e1495063e69b9456fbbb04840d675b5ae22ddbfe","9c4be29ca2d83213c30d996a91b5c5fba948d72d33f9b8906a215a58ad5a0348","a490a6b62f1b90868d6dd31fc0830d9e817fbb26ab7fd6b8d586d2d9c0f7f584","8441ccd97550a455fc6e41a3a606199571cc2dbbaf025deb5e508f18e6ddb5ae","9315043cf0e2f3277da2cd59617807d8450157d89cc9d28887d0c2d468e8376c","2dcb32e711943e4afde264914cd067df2d781a9b84dc60fd58d5280fd60aa867","eb442ac712309348b3eca12ac1193698087d1ad00f1029a1b8d7ff0ee49cf5de","81fdf3c8ddf95cb1d751bd7498958bea1cf91902ef901f2e604405dee46426c6","4c03c55cabc4c43a06a1dd0d10d67672901cd1bb9c0b9067c8a3537a5ccbf336","77e7477a7b7a0b2d4b3e7204bc85bcadc6946e8897a7c4ef4e67ecdfa027a2b3","f62fcd6eb66fd311d62474ff7b6e8417545503ffabc125bd8f4392a1b7c07231","69756ee70a81a5bf682edad813ae4f6bfbe0f0f832cfaf1aed921f9892af0e50","4998ee7caf6056c89829cd19132c8084adaf27af72c503161db1f4c263125c7d","3685fab1dc22927cd3761883bc7f5e2b400dffa5effc92be126ac82a387bc7ae","e77505c8ddb21d6092fe0861c437dafdd9609a63cefa555de1ec98788d9f4a21","115a2218f646b60542fc18c6a250b0ae7656e6bbcb32380550020f886fb941fc","6233ba2f2c60d7f380d27aee2e63b23f90abbde000186b45e8fb53938d4f9824","c39be24e0cf86757c682e49176ede0b266ce43a32134069704439dfffb5b6484","a230af6a9c503edba1693fae5fac4a09dcd0a1a22da2707cca4438981a11e3e6","73fa9299fb9f9b37837253b605c40fd278b9adf43efaab17fbbd9a2bff901e07","f2ca29497adadb3a5fcc057dd421e72df00105f0e76736a74f781a0b1ad0c4d1","e178061774c6bf4a9261f3634fa9093a1220427de1e2cc6aa15aaf6ef1dc6b96","e93caca179061a5b59628efe8ca884c80bad205c149c58821dad67a20a05161b","5ce9e1ffea9992f32a293f6fe499a7b3c57b1eda2e3fb7224798fd21e305fba3","60da08ef3131e3d0e3eea472645d3b9f2788526358c6782ea6c783b037a063be","bcba4f1e7ad4b8a74e4966298f0c40fcc1e4ccb1a69bf7452794d4a18a1f8bd8","bce69accd396be42656c1fc903cbb39ea2ae10e1f0b8bb5291358544a7ff84db","b3fffc657872e52ae36fd56237f432053b6512b6a2208cc8252facca4bdccd29","20f786112a1ee17ff5cae6b96f93d1ddf10abf6e3414ed8e94f651f8c4fbb7a8","c59780316c266f105e7b78bd2b01a78cdb566aaff8ccdc340eed1b8078081e86","1267643f39816e1f455f764211fe8a9224c45632ac829756c49f5019a24de9ef","11eb2c78ae2f963cba178d85135ef5708098325f9a071c0543b445ee3f36f696","c3353342470a92c5674dc4f0bc406f4a7166f23957df3aefb0bb44ff8f594757","105160dd183e51adee654a4e6f1d902dc4edb4a4372e67f7a11d494892cef2a4","9b2a259e16c16ceb5c75c2d2cba8db7f1fd6d43d95b859c24840d0979d9d9ce7",{"version":"95b69d7a01dd0f964cb3257c77960f779dcad46c4ec11658bdf227d43ef6885a","signature":"7c492a26b5ed1d32bdca4fca07c3dcd360dafd4d858ceed0b4011cbdf218e205"},{"version":"b9f94698922abe33daa2dd98bb648099708d49ee8d75c790ee02b68c43d7197b","signature":"dea78616289a9a462c589d361e2fc8678036657de29b59a98d749169a5cf62d3"},"44e45e8a3f2659e1144ba0eb92ceefef274766f77ef6abbf4de2d0502f9c7316","75a7d79a24175fca9355ce3e55e41a2d0b434c1ec39959a0c32db7c6f4dec280",{"version":"ead4812dbd5600348ecb60b5a3328196773694475dd80ce95ca4b860e7af9f33","signature":"912627b1dbe2ed6d6c15d13472f123be0744246b72b371e8c377623fce7d7d8f"},{"version":"56a125e6351408c064e4342b3883e36c214272d7b9814bd259096398617bb009","signature":"c3ed96ef4ca7da02d8f1c179a11f3f2bc2593876663a463629e57142f45d0c2c"},{"version":"c498b20ba23718bf9751fdc2281af2c2a4578843794d8584ccee66e84dc8f141","signature":"4e8aa055919df43df1a0dd2bf740b3db5aa1f092a13bc1de63480da2cbb5f465"},{"version":"e07ea80bdb4b8b9a3663880e4a9b481e0f35f9e8f818546259061f10192e5716","signature":"6b7b3163b1fe14dfe770ca3fcfff62221f2dba94a3b4cfedca499adfaf4d3a11"},{"version":"51fd5d7142ad05fd0f3b72365b66791c10d685168ec3342997ed6db393d21949","signature":"395baeb2623e6c214864cae9a74e49b0650cef59320922b31902fb2a7233f1a3"},{"version":"1fcc625ad6bc61ba6b7bd4c0c13a5d8ae43986d6ec2cb4314db924c11028242d","signature":"9486b1e6d1465740a57eeb9c6466c09757db681aee852f9e44e327bf1428f203"},{"version":"a8abfb5dc314ecb1eeea552e3e44b9fcf52ec5009d4423bcb2d3dce897d3f406","signature":"c5e32050d5cd6765d5af14dc40fa1bf7f7721144d3d093124174027b543bcbf9"},{"version":"886790194c4b704c631e83fab714fe51d5fb5f4330509ac573864e34abeda8ac","signature":"436513efab12beef4f84ea0c82da352bcc985439e202cba50db7161954f2b2d5"},{"version":"1e8fef86038c5995f2f7e599768ee39ffc1859a42bc341cc5f1b7adf47ecba41","signature":"f6b2a20a40f46064b358f7d931e6ef8c856916484a75276716366afae306bb05"},{"version":"8115fe5cfbd4a81b9688f5b12b2fdfb50a5c9efbfa4bcea2ddec8b7afd835822","signature":"5dce8d96a8e0d0da9b1475bc797746a0fe41c7ef88b74eafde4ee0eafaa9c12b"},{"version":"1b21bbd13051af4b171c7920eb0a707519f307328780d995391f4b93241685e3","signature":"b9b42f4a7dd32b3b9a755c0448ce55df4febc8c99c23ea4ec9d5a2f8061ca555"}],"root":[[147,152],402,403,[406,416]],"options":{"allowImportingTsExtensions":false,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":99,"outDir":"./","removeComments":false,"rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[195,287],[287,354],[354,355],[154,156,160,163,165,167,169,171,173,177,181,185,187,189,191,193,195,197,199,201,203,205,213,218,220,222,224,226,229,231,236,240,244,246,248,250,253,255,257,260,262,266,268,270,272,274,276,278,280,282,284,287,290,292,294,298,300,303,305,307,309,313,319,323,325,327,334,336,338,340,343],[154,287],[155],[293],[154,270,274,287],[275],[154,270,287],[159],[175,181,185,191,222,274,287],[230],[204],[198],[288,289],[287],[177,181,218,224,236,272,274,287],[304],[153,287],[174],[156,163,169,173,177,193,205,246,248,250,272,274,278,280,282,287],[306],[167,177,193,287],[308],[154,163,165,229,270,274,287],[166],[291],[285],[277],[154,169,287],[170],[194],[226,272,287,311],[213,287,311],[177,185,213,226,270,274,287,310,312],[310,311,312],[169,226,272,274,287,316],[226,272,287,316],[185,226,270,274,287,315,317],[314,315,316,317,318],[226,272,287,321],[213,287,321],[177,185,213,226,270,274,287,320,322],[320,321,322],[172],[295,296,297],[154,156,160,163,167,169,173,175,177,181,185,187,189,191,193,197,199,201,203,205,213,220,222,226,229,246,248,250,255,257,262,266,268,272,276,278,280,282,284,287,294],[154,156,160,163,167,169,173,175,177,181,185,187,189,191,193,195,197,199,201,203,205,213,220,222,226,229,246,248,250,255,257,262,266,268,272,276,278,280,282,284,287,294],[177,272,287],[273],[214,215,216,217],[216,226,272,274,287],[214,218,226,272,287],[169,185,201,203,213,287],[175,177,181,185,187,191,193,214,215,217,226,272,274,276,287],[324],[167,177,287],[326],[160,163,165,167,173,181,185,193,220,222,229,257,272,276,282,287,294],[202],[178,179,180],[163,177,178,229,287],[177,178,287],[287,329],[328,329,330,331,332,333],[169,226,272,274,287,329],[169,185,213,226,287,328],[219],[232,233,234,235],[226,233,272,274,287],[181,185,187,193,224,272,274,276,287],[169,175,185,191,201,226,232,234,274,287],[168],[157,158,225],[154,272,287],[157,158,160,163,167,169,171,173,181,185,193,218,220,222,224,229,272,274,276,287],[160,163,167,171,173,175,177,181,185,191,193,218,220,229,231,236,240,244,253,257,260,262,272,274,276,287],[265],[160,163,167,171,173,181,185,187,191,193,220,229,257,270,272,274,276,287],[154,263,264,270,272,287],[176],[267],[245],[200],[271],[154,163,229,270,274,287],[237,238,239],[226,238,272,287],[226,238,272,274,287],[169,175,181,185,187,191,218,226,237,239,272,274,287],[227,228],[226,227,272],[154,226,228,274,287],[335],[173,177,193,287],[251,252],[226,251,272,274,287],[163,165,169,175,181,185,187,191,197,199,201,203,205,226,229,246,248,250,252,272,274,287],[299],[241,242,243],[226,242,272,287],[226,242,272,274,287],[169,175,181,185,187,191,218,226,241,243,272,274,287],[221],[164],[163,229,287],[161,162],[161,226,272],[154,162,226,274,287],[256],[154,156,169,171,177,185,197,199,201,203,213,255,270,272,274,287],[186],[190],[154,189,270,287],[254],[301,302],[258,259],[226,258,272,274,287],[163,165,169,175,181,185,187,191,197,199,201,203,205,226,229,246,248,250,259,272,274,287],[337],[181,185,193,287],[339],[173,177,287],[156,160,167,169,171,173,181,185,187,191,193,197,199,201,203,205,213,220,222,246,248,250,255,257,268,272,276,278,280,282,284,285],[285,286],[154],[223],[269],[160,163,167,171,173,177,181,185,187,189,191,193,220,222,229,257,262,266,268,272,274,276,287],[196],[247],[153],[169,185,195,197,199,201,203,205,206,213],[169,185,195,199,206,207,213,274],[206,207,208,209,210,211,212],[195],[195,213],[169,185,197,199,201,205,213,274],[154,169,177,185,197,199,201,203,205,209,270,274,287],[169,185,211,270,274],[261],[192],[341,342],[160,167,173,205,220,222,231,248,250,255,278,280,284,287,294,309,325,327,336,340,341],[156,163,165,169,171,177,181,185,187,189,191,193,197,199,201,203,213,218,226,229,236,240,244,246,253,257,260,262,266,268,272,276,282,287,305,307,313,319,323,334,338],[279],[249],[182,183,184],[163,177,182,229,287],[177,182,287],[281],[188],[283],[194,270,287,356],[359],[195,270,287],[361],[363],[365],[367],[369],[371],[270,287],[373],[375],[169,185,195,197,270,272,282],[377],[379],[381],[357],[383],[356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,394,396],[385],[387],[389],[195,287,356],[391,392,393],[395],[356,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388],[111,113,145],[59],[95],[96,101,129],[97,108,109,116,126,137],[97,98,108,116],[99,138],[100,101,109,117],[101,126,134],[102,104,108,116],[95,103],[104,105],[108],[106,108],[95,108],[108,109,110,126,137],[108,109,110,123,126,129],[93,96,142],[104,108,111,116,126,137],[108,109,111,112,116,126,134,137],[111,113,126,134,137],[59,60,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144],[108,114],[115,137,142],[104,108,116,126],[117],[118],[95,119],[120,136,142],[121],[122],[108,123,124],[123,125,138,140],[96,108,126,127,128,129],[96,126,128],[126,127],[129],[130],[95,126],[108,132,133],[132,133],[101,116,126,134],[135],[116,136],[96,111,122,137],[101,138],[126,139],[115,140],[141],[96,101,108,110,119,126,137,140,142],[126,143],[126,145,404],[145],[70,74,137],[70,126,137],[65],[67,70,134,137],[116,134],[65,145],[67,70,116,137],[62,63,66,69,96,108,126,137],[62,68],[66,70,96,129,137,145],[96,145],[86,96,145],[64,65,145],[70],[64,65,66,67,68,69,70,71,72,74,75,76,77,78,79,80,81,82,83,84,85,87,88,89,90,91,92],[70,77,78],[68,70,78,79],[69],[62,65,70],[70,74,78,79],[74],[68,70,73,137],[62,67,68,70,74,77],[96,126],[65,70,86,96,142,145],[58,147,148,402],[58,147,401,409],[58,109,118,147,148,402,405],[58,147,148,403,406,407,408,410,411],[58,147,148,401,402],[58,147,402],[58,109,146,147,152,414],[147,148],[58,147,148,149,402,412,413],[147,149,151,415],[147,402],[147,148,151,412,415],[147],[150],[147,148,401],[344,345,346,347,348,349,350,351,400],[344],[344,345],[344,352,353,397,398,399],[344,397],[58,147],[58,147,401],[58,147,403,406,407,408,410,411],[147,415]],"referencedMap":[[354,1],[355,2],[356,3],[344,4],[155,5],[156,6],[293,5],[294,7],[275,8],[276,9],[159,10],[160,11],[230,12],[231,13],[204,5],[205,14],[198,5],[199,15],[290,16],[288,17],[304,18],[305,19],[174,20],[175,21],[306,22],[307,23],[308,24],[309,25],[166,26],[167,27],[292,28],[291,29],[277,5],[278,30],[170,31],[171,32],[195,33],[312,34],[310,35],[311,36],[313,37],[314,1],[317,38],[315,39],[318,17],[316,40],[319,41],[322,42],[320,43],[321,44],[323,45],[172,26],[173,46],[298,47],[295,48],[296,49],[273,50],[274,51],[218,52],[217,53],[215,54],[214,55],[216,56],[325,57],[324,58],[327,59],[326,60],[203,61],[202,5],[181,62],[179,63],[178,10],[180,64],[330,65],[334,66],[328,67],[329,68],[331,65],[332,65],[333,65],[220,69],[219,10],[236,70],[234,71],[235,17],[232,72],[233,73],[169,74],[168,5],[226,75],[157,5],[158,76],[225,77],[263,78],[266,79],[264,80],[265,81],[177,82],[176,5],[268,83],[267,10],[246,84],[245,5],[201,85],[200,5],[272,86],[271,87],[240,88],[239,89],[237,90],[238,91],[229,92],[228,93],[227,94],[336,95],[335,96],[253,97],[252,98],[251,99],[300,100],[244,101],[243,102],[241,103],[242,104],[222,105],[221,10],[165,106],[164,107],[163,108],[162,109],[161,110],[257,111],[256,112],[187,113],[186,10],[191,114],[190,115],[255,116],[254,5],[303,117],[260,118],[259,119],[258,120],[338,121],[337,122],[340,123],[339,124],[286,125],[287,126],[285,127],[224,128],[270,129],[269,130],[197,131],[196,5],[248,132],[247,5],[154,133],[207,134],[208,135],[213,136],[206,137],[210,138],[209,139],[211,140],[212,141],[262,142],[261,10],[193,143],[192,10],[343,144],[342,145],[341,146],[280,147],[279,5],[250,148],[249,5],[185,149],[183,150],[182,10],[184,151],[282,152],[281,5],[189,153],[188,5],[284,154],[283,5],[359,155],[360,156],[361,157],[362,158],[363,157],[364,159],[365,17],[366,160],[368,161],[369,17],[370,162],[371,157],[372,163],[373,164],[374,165],[375,17],[376,166],[377,167],[378,168],[379,164],[380,169],[382,170],[358,171],[383,137],[384,172],[397,173],[386,174],[385,137],[388,175],[387,157],[390,176],[389,137],[391,177],[392,177],[393,17],[394,178],[396,179],[395,180],[404,181],[59,182],[60,182],[95,183],[96,184],[97,185],[98,186],[99,187],[100,188],[101,189],[102,190],[103,191],[104,192],[105,192],[107,193],[106,194],[108,195],[109,196],[110,197],[94,198],[111,199],[112,200],[113,201],[145,202],[114,203],[115,204],[116,205],[117,206],[118,207],[119,208],[120,209],[121,210],[122,211],[123,212],[124,212],[125,213],[126,214],[128,215],[127,216],[129,217],[130,218],[131,219],[132,220],[133,221],[134,222],[135,223],[136,224],[137,225],[138,226],[139,227],[140,228],[141,229],[142,230],[143,231],[405,232],[146,233],[77,234],[84,235],[76,234],[91,236],[68,237],[67,238],[90,233],[85,239],[88,240],[70,241],[69,242],[65,243],[64,244],[87,245],[66,246],[71,247],[75,247],[93,248],[92,247],[79,249],[80,250],[82,251],[78,252],[81,253],[86,233],[73,254],[74,255],[83,256],[63,257],[89,258],[411,259],[410,260],[406,261],[412,262],[407,263],[408,264],[403,264],[415,265],[149,266],[414,267],[152,268],[413,269],[416,270],[150,271],[151,272],[402,273],[148,271],[401,274],[347,275],[345,275],[346,276],[348,275],[351,275],[350,275],[400,277],[352,275],[398,278]],"exportedModulesMap":[[354,1],[355,2],[356,3],[344,4],[155,5],[156,6],[293,5],[294,7],[275,8],[276,9],[159,10],[160,11],[230,12],[231,13],[204,5],[205,14],[198,5],[199,15],[290,16],[288,17],[304,18],[305,19],[174,20],[175,21],[306,22],[307,23],[308,24],[309,25],[166,26],[167,27],[292,28],[291,29],[277,5],[278,30],[170,31],[171,32],[195,33],[312,34],[310,35],[311,36],[313,37],[314,1],[317,38],[315,39],[318,17],[316,40],[319,41],[322,42],[320,43],[321,44],[323,45],[172,26],[173,46],[298,47],[295,48],[296,49],[273,50],[274,51],[218,52],[217,53],[215,54],[214,55],[216,56],[325,57],[324,58],[327,59],[326,60],[203,61],[202,5],[181,62],[179,63],[178,10],[180,64],[330,65],[334,66],[328,67],[329,68],[331,65],[332,65],[333,65],[220,69],[219,10],[236,70],[234,71],[235,17],[232,72],[233,73],[169,74],[168,5],[226,75],[157,5],[158,76],[225,77],[263,78],[266,79],[264,80],[265,81],[177,82],[176,5],[268,83],[267,10],[246,84],[245,5],[201,85],[200,5],[272,86],[271,87],[240,88],[239,89],[237,90],[238,91],[229,92],[228,93],[227,94],[336,95],[335,96],[253,97],[252,98],[251,99],[300,100],[244,101],[243,102],[241,103],[242,104],[222,105],[221,10],[165,106],[164,107],[163,108],[162,109],[161,110],[257,111],[256,112],[187,113],[186,10],[191,114],[190,115],[255,116],[254,5],[303,117],[260,118],[259,119],[258,120],[338,121],[337,122],[340,123],[339,124],[286,125],[287,126],[285,127],[224,128],[270,129],[269,130],[197,131],[196,5],[248,132],[247,5],[154,133],[207,134],[208,135],[213,136],[206,137],[210,138],[209,139],[211,140],[212,141],[262,142],[261,10],[193,143],[192,10],[343,144],[342,145],[341,146],[280,147],[279,5],[250,148],[249,5],[185,149],[183,150],[182,10],[184,151],[282,152],[281,5],[189,153],[188,5],[284,154],[283,5],[359,155],[360,156],[361,157],[362,158],[363,157],[364,159],[365,17],[366,160],[368,161],[369,17],[370,162],[371,157],[372,163],[373,164],[374,165],[375,17],[376,166],[377,167],[378,168],[379,164],[380,169],[382,170],[358,171],[383,137],[384,172],[397,173],[386,174],[385,137],[388,175],[387,157],[390,176],[389,137],[391,177],[392,177],[393,17],[394,178],[396,179],[395,180],[404,181],[59,182],[60,182],[95,183],[96,184],[97,185],[98,186],[99,187],[100,188],[101,189],[102,190],[103,191],[104,192],[105,192],[107,193],[106,194],[108,195],[109,196],[110,197],[94,198],[111,199],[112,200],[113,201],[145,202],[114,203],[115,204],[116,205],[117,206],[118,207],[119,208],[120,209],[121,210],[122,211],[123,212],[124,212],[125,213],[126,214],[128,215],[127,216],[129,217],[130,218],[131,219],[132,220],[133,221],[134,222],[135,223],[136,224],[137,225],[138,226],[139,227],[140,228],[141,229],[142,230],[143,231],[405,232],[146,233],[77,234],[84,235],[76,234],[91,236],[68,237],[67,238],[90,233],[85,239],[88,240],[70,241],[69,242],[65,243],[64,244],[87,245],[66,246],[71,247],[75,247],[93,248],[92,247],[79,249],[80,250],[82,251],[78,252],[81,253],[86,233],[73,254],[74,255],[83,256],[63,257],[89,258],[411,279],[410,280],[406,279],[412,281],[407,280],[408,279],[403,279],[415,279],[149,271],[414,279],[152,282],[413,271],[416,270],[150,271],[151,272],[402,271],[148,271],[401,274],[347,275],[345,275],[346,276],[348,275],[351,275],[350,275],[400,277],[352,275],[398,278]],"semanticDiagnosticsPerFile":[354,355,356,344,155,156,293,294,275,276,159,160,230,231,204,205,198,199,290,288,289,304,305,174,175,306,307,308,309,166,167,292,291,277,278,170,171,194,195,312,310,311,313,314,317,315,318,316,319,322,320,321,323,172,173,298,295,296,297,273,274,218,217,215,214,216,325,324,327,326,203,202,181,179,178,180,330,334,328,329,331,332,333,220,219,236,234,235,232,233,169,168,226,157,158,225,263,266,264,265,177,176,268,267,246,245,201,200,272,271,240,239,237,238,229,228,227,336,335,253,252,251,300,299,244,243,241,242,222,221,165,164,163,162,161,257,256,187,186,191,190,255,254,301,303,302,260,259,258,338,337,340,339,286,287,285,224,223,270,269,197,196,248,247,154,153,207,208,213,206,210,209,211,212,262,261,193,192,343,342,341,280,279,250,249,185,183,182,184,282,281,189,188,284,283,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,357,358,383,384,397,386,385,388,387,390,389,391,392,393,394,396,395,404,59,60,95,96,97,98,99,100,101,102,103,104,105,107,106,108,109,110,94,144,111,112,113,145,114,115,116,117,118,119,120,121,122,123,124,125,126,128,127,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,405,61,146,58,56,57,11,10,2,12,13,14,15,16,17,18,19,3,4,20,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,8,47,44,45,46,48,9,49,50,51,54,52,53,1,55,77,84,76,91,68,67,90,85,88,70,69,65,64,87,66,71,72,75,62,93,92,79,80,82,78,81,86,73,74,83,63,89,411,410,406,412,407,408,403,415,149,414,152,413,416,150,151,147,402,409,148,401,347,345,346,348,349,351,350,400,352,353,399,398],"latestChangedDtsFile":"./index.d.ts"},"version":"5.3.3"}
|