diff --git a/.webpack/webpack.base.js b/.webpack/webpack.base.js index 43d5d50bb13..177d0416377 100644 --- a/.webpack/webpack.base.js +++ b/.webpack/webpack.base.js @@ -103,7 +103,7 @@ module.exports = (env, argv, { SRC_DIR, ENTRY }) => { children: false, warnings: true, }, - cache: isProdBuild ? false : { type: 'filesystem' }, + cache: false, module: { noParse: [/(dicomicc)/], rules: [ diff --git a/extensions/cornerstone-dicom-pmap/package.json b/extensions/cornerstone-dicom-pmap/package.json index 57b7b0c5f9d..76e3f0af068 100644 --- a/extensions/cornerstone-dicom-pmap/package.json +++ b/extensions/cornerstone-dicom-pmap/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-cornerstone-dicom-pmap", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "DICOM Parametric Map read workflow", "author": "OHIF", "license": "MIT", diff --git a/extensions/cornerstone-dicom-rt/package.json b/extensions/cornerstone-dicom-rt/package.json index c1f7ad65765..72b280843a1 100644 --- a/extensions/cornerstone-dicom-rt/package.json +++ b/extensions/cornerstone-dicom-rt/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-cornerstone-dicom-rt", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "DICOM RT read workflow", "author": "OHIF", "license": "MIT", diff --git a/extensions/cornerstone-dicom-seg/package.json b/extensions/cornerstone-dicom-seg/package.json index e8e9a31524d..0a32c730d2e 100644 --- a/extensions/cornerstone-dicom-seg/package.json +++ b/extensions/cornerstone-dicom-seg/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-cornerstone-dicom-seg", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "DICOM SEG read workflow", "author": "OHIF", "license": "MIT", diff --git a/extensions/cornerstone-dicom-seg/src/commandsModule.ts b/extensions/cornerstone-dicom-seg/src/commandsModule.ts index b70f6007141..d50e4fe7baa 100644 --- a/extensions/cornerstone-dicom-seg/src/commandsModule.ts +++ b/extensions/cornerstone-dicom-seg/src/commandsModule.ts @@ -4,6 +4,7 @@ import { cache, metaData } from '@cornerstonejs/core'; import { segmentation as cornerstoneToolsSegmentation } from '@cornerstonejs/tools'; import { adaptersRT, adaptersSEG } from '@cornerstonejs/adapters'; import { createReportDialogPrompt, useUIStateStore } from '@ohif/extension-default'; +import { getEnabledElement } from '@cornerstonejs/core'; import PROMPT_RESPONSES from '../../default/src/utils/_shared/PROMPT_RESPONSES'; import { @@ -128,6 +129,11 @@ const commandsModule = ({ let z = 0; for (const segImage of segImages) { + if (!segImage) { + console.warn('SEG export - skipping null segImage'); + continue; + } + const segmentsOnLabelmap = new Set(); const pixelData = segImage.getPixelData(); const { rows, columns } = segImage; @@ -218,6 +224,7 @@ const commandsModule = ({ // this. Single-layer SEGs keep the original single-labelmap3D path unchanged. const layers = labelmapData.labelmaps ? Object.values(labelmapData.labelmaps) : undefined; + // The referenced source images must be fully loaded (in cache) before we can // build the SEG dataset against them; fail loudly rather than passing undefined // frames to the adapter. @@ -238,17 +245,99 @@ const commandsModule = ({ if (layers && layers.length > 1) { const referencedImageIds = layers[0].referencedImageIds ?? labelmapData.referencedImageIds ?? []; - referencedImages = referencedImageIds.map(resolveReferencedImage); + + referencedImages = referencedImageIds.map((referencedImageId, sliceIndex) => { + const referencedImage = cache.getImage(referencedImageId); + + if (!referencedImage) { + throw new Error( + `Referenced source image not in cache for segmentation slice ${sliceIndex} ` + + `(referencedImageId: ${referencedImageId}). Ensure the referenced series is fully loaded before storing.` + ); + } + + // If the referenced image doesn't have metadata, try to get it from metadata provider + if (!referencedImage.data || !referencedImage.data.SeriesInstanceUID) { + const metadata = metaData.get(referencedImageId); + if (metadata && metadata.SeriesInstanceUID) { + // Add metadata to the image object + referencedImage.data = metadata; + } + } + + return referencedImage; + }); + labelmaps3D = layers.map(layer => buildLabelmap3D(layer.imageIds ?? [], metadata, referencedImageIds) ); } else { const { imageIds } = labelmapData; - const segImages = imageIds.map(imageId => cache.getImage(imageId)); - referencedImages = segImages.map((image, sliceIndex) => - resolveReferencedImage(image.referencedImageId, sliceIndex) - ); - labelmaps3D = buildLabelmap3D(imageIds, metadata); + + // Use labelmapData.referencedImageIds if available + const referencedImageIds = labelmapData.referencedImageIds ?? []; + + // Use original arrays without filtering + const filteredImageIds = imageIds; + const filteredReferencedImageIds = referencedImageIds; + + // Try to get original image metadata from displaySetService + const displaySets = displaySetService?.getActiveDisplaySets(); + + // Find the original CT series displaySet + const originalDisplaySet = displaySets?.find(ds => ds.Modality === 'CT'); + + // Helper function to extract SOPInstanceUID from imageId + function extractSOPInstanceUID(imageId: string): string | undefined { + const match = imageId.match(/instances\/([^\/]+)/); + return match ? match[1] : undefined; + } + + referencedImages = filteredReferencedImageIds.map((referencedImageId, sliceIndex) => { + const referencedImage = cache.getImage(referencedImageId); + + if (!referencedImage) { + throw new Error( + `Referenced source image not in cache for segmentation slice ${sliceIndex} ` + + `(referencedImageId: ${referencedImageId}). Ensure the referenced series is fully loaded before storing.` + ); + } + + // Force use original displaySet metadata + if (originalDisplaySet && originalDisplaySet.images && originalDisplaySet.images.length > 0) { + const originalImage = originalDisplaySet.images[sliceIndex]; + + if (originalImage && originalImage.SeriesInstanceUID) { + referencedImage.data = { + ...originalImage, + // Extract SOPInstanceUID from referencedImageId if possible + SOPInstanceUID: extractSOPInstanceUID(referencedImageId) || originalImage.SOPInstanceUID, + // Ensure PatientID and PatientName are present + PatientID: originalImage.PatientID || referencedImage.data?.PatientID, + PatientName: originalImage.PatientName || referencedImage.data?.PatientName, + // Ensure spatial parameters are present - copy from original CT + Rows: originalImage.Rows || referencedImage.data?.Rows, + Columns: originalImage.Columns || referencedImage.data?.Columns, + PixelSpacing: originalImage.PixelSpacing || referencedImage.data?.PixelSpacing, + ImageOrientationPatient: originalImage.ImageOrientationPatient || referencedImage.data?.ImageOrientationPatient, + BitsAllocated: originalImage.BitsAllocated || referencedImage.data?.BitsAllocated, + BitsStored: originalImage.BitsStored || referencedImage.data?.BitsStored, + HighBit: originalImage.HighBit || referencedImage.data?.HighBit, + }; + } + } + + // If still no metadata, try metadata provider as fallback + if (!referencedImage.data || !referencedImage.data.SeriesInstanceUID) { + const metadata = metaData.get(referencedImageId); + if (metadata && metadata.SeriesInstanceUID) { + referencedImage.data = metadata; + } + } + + return referencedImage; + }); + labelmaps3D = [buildLabelmap3D(filteredImageIds, metadata)]; } const saveOptions = { @@ -267,11 +356,29 @@ const commandsModule = ({ if (hasOverlappingLayers && saveOptions.sopClassUID === LABELMAP_SEG_SOP_CLASS_UID) { console.warn( 'generateSegmentation: overlapping segments cannot be stored as a LABELMAP SEG; ' + - 'switching to the binary SEG encoding for this store.' + 'switching to the binary SEG encoding for this store.' ); saveOptions.sopClassUID = BITMAP_SEG_SOP_CLASS_UID; } + // 规范4:导出前严格防呆校验 - 检查是否有非零像素 + let totalNonZeroPixels = 0; + for (const labelmap3D of labelmaps3D) { + for (const labelmap2D of labelmap3D.labelmaps2D) { + if (labelmap2D && labelmap2D.pixelData) { + for (const pixel of labelmap2D.pixelData) { + if (pixel !== 0) { + totalNonZeroPixels++; + } + } + } + } + } + + if (totalNonZeroPixels === 0) { + throw new Error('当前分割为空,无法导出'); + } + const generatedSegmentation = generateSegmentation( referencedImages, labelmaps3D, @@ -279,6 +386,112 @@ const commandsModule = ({ saveOptions ); + // 修复 PixelData 被错误除以8的问题 + // 从 labelmaps3D 中重建完整的像素数据,绕过底层的除以8逻辑 + if (generatedSegmentation.dataset) { + const { dataset } = generatedSegmentation; + const { Rows, Columns } = dataset; + + // 统计实际有数据的帧数 + let actualFrames = 0; + const allPixelData = []; + + for (const labelmap3D of labelmaps3D) { + for (const labelmap2D of labelmap3D.labelmaps2D) { + if (labelmap2D && labelmap2D.pixelData) { + actualFrames++; + // 确保 pixelData 是 Uint8Array + let frameData = labelmap2D.pixelData; + if (!(frameData instanceof Uint8Array)) { + frameData = new Uint8Array(frameData); + } + allPixelData.push(frameData); + } + } + } + + console.log('DICOM SEG 导出调试信息:'); + console.log(`原始 NumberOfFrames: ${dataset.NumberOfFrames}`); + console.log(`从 labelmaps3D 统计的实际帧数: ${actualFrames}`); + + // 重建完整的 PixelData + if (allPixelData.length > 0) { + const combinedLength = allPixelData.reduce((sum, arr) => sum + arr.length, 0); + const combinedData = new Uint8Array(combinedLength); + let offset = 0; + + for (const frameData of allPixelData) { + combinedData.set(frameData, offset); + offset += frameData.length; + } + + dataset.PixelData = combinedData; + dataset.NumberOfFrames = actualFrames; + + console.log(`已重建 PixelData,长度: ${combinedData.length} 字节`); + console.log(`已更新 NumberOfFrames 为: ${actualFrames}`); + console.log(`每帧字节数: ${Math.round(combinedData.length / actualFrames)} 字节`); + } + } + + // 规范1:强制使用8位像素深度 + if (generatedSegmentation.dataset) { + generatedSegmentation.dataset.BitsAllocated = 8; + generatedSegmentation.dataset.BitsStored = 8; + generatedSegmentation.dataset.HighBit = 7; + generatedSegmentation.dataset.PixelRepresentation = 0; + + // 规范2:确保使用未压缩传输语法 + generatedSegmentation.dataset.TransferSyntaxUID = '1.2.840.10008.1.2.1'; + + // 规范3:确保医疗级元数据完整 + if (generatedSegmentation.dataset.SegmentSequence) { + for (let i = 0; i < generatedSegmentation.dataset.SegmentSequence.length; i++) { + const segment = generatedSegmentation.dataset.SegmentSequence[i]; + + // 确保 SegmentNumber 存在 + if (!segment.SegmentNumber) { + segment.SegmentNumber = i + 1; + } + + if (!segment.SegmentedPropertyCategoryCodeSequence) { + segment.SegmentedPropertyCategoryCodeSequence = { + CodeValue: "T-D0050", + CodingSchemeDesignator: "SRT", + CodeMeaning: "Tissue" + }; + } + if (!segment.SegmentedPropertyTypeCodeSequence) { + segment.SegmentedPropertyTypeCodeSequence = { + CodeValue: "T-D0050", + CodingSchemeDesignator: "SRT", + CodeMeaning: "Tissue" + }; + } + } + } + + // 规范5:强制保持空间绑定的唯一性 + // 确保ReferencedSeriesSequence包含正确的SeriesInstanceUID + if (referencedImages.length > 0 && referencedImages[0].data) { + const firstReferencedImage = referencedImages[0]; + if (firstReferencedImage.data.SeriesInstanceUID) { + if (!generatedSegmentation.dataset.ReferencedSeriesSequence) { + generatedSegmentation.dataset.ReferencedSeriesSequence = []; + } + if (generatedSegmentation.dataset.ReferencedSeriesSequence.length === 0 || ! + generatedSegmentation.dataset.ReferencedSeriesSequence[0]) { + generatedSegmentation.dataset.ReferencedSeriesSequence[0] = { + SeriesInstanceUID: firstReferencedImage.data.SeriesInstanceUID + }; + } else { + generatedSegmentation.dataset.ReferencedSeriesSequence[0].SeriesInstanceUID = + firstReferencedImage.data.SeriesInstanceUID; + } + } + } + } + return generatedSegmentation; }, /** @@ -376,6 +589,11 @@ const commandsModule = ({ const { dataset: naturalizedReport } = generatedData; + // Ensure InstanceNumber is set for SEG export + if (modality === 'SEG' && !naturalizedReport.InstanceNumber) { + naturalizedReport.InstanceNumber = 1; + } + // DCMJS assigns a dummy study id during creation, and this can cause problems, so clearing it out if (naturalizedReport.StudyID === 'No Study ID') { naturalizedReport.StudyID = ''; @@ -383,6 +601,33 @@ const commandsModule = ({ await storeFn(naturalizedReport, {}); + // 调用后端导出接口,将文件保存到uploads目录 + if (modality === 'SEG') { + try { + const fileName = defaultFileName; + // 获取当前caseId和folderId(从window或context中获取) + const caseId = (window as any).currentCaseId || 'default-case'; + const folderId = (window as any).currentFolderId || ''; + + // 调用导出API + const exportResponse = await fetch(`http://localhost:8082/api/dicom-folders/${folderId}/files/${fileName}/export`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + }); + + if (exportResponse.ok) { + const exportResult = await exportResponse.json(); + console.log('SEG file exported to uploads:', exportResult); + } else { + console.warn('Failed to export SEG file to uploads, falling back to download'); + } + } catch (exportError) { + console.warn('Export to uploads failed, falling back to download:', exportError); + } + } + return naturalizedReport; } catch (error) { console.debug('Error storing segmentation:', error); @@ -429,6 +674,129 @@ const commandsModule = ({ await storeFn(dataset); }, + /** + * Loads a custom SEG file using the custom rendering pipeline. + * This command is called from the Vue component via postMessage. + * It bypasses the old OHIF rendering pipeline and uses the CustomSegmentationOverlay. + */ + loadCustomSEG: async ({ segFile }) => { + console.log('Custom SEG load command received:', segFile); + + try { + // Find the SEG display set by SOPInstanceUID + const displaySets = displaySetService.getDisplaySetsBy((ds: any) => + ds.Modality === 'SEG' && ds.SOPInstanceUID === segFile.sopInstanceUID + ); + + if (!displaySets || displaySets.length === 0) { + throw new Error('SEG display set not found for SOPInstanceUID: ' + segFile.sopInstanceUID); + } + + const segDisplaySet = displaySets[0]; + console.log('Found SEG display set:', segDisplaySet); + + // Get the current viewport + const { viewports, activeViewportId } = viewportGridService.getState(); + const viewport = viewports.get(activeViewportId); + + if (!viewport) { + throw new Error('No active viewport found'); + } + + // Get the current display set (CT images) + const displaySetInstanceUID = viewport.displaySetInstanceUIDs[0]; + const ctDisplaySet = displaySetService.getDisplaySetByUID(displaySetInstanceUID); + + if (!ctDisplaySet) { + throw new Error('No CT display set found'); + } + + console.log('CT display set:', ctDisplaySet); + console.log('SEG display set:', segDisplaySet); + + // Store the SEG display set UID in a global variable for CustomSegmentationOverlay to access + // This is a simple way to communicate between the command and the overlay component + (window as any).__activeSEGDisplaySetUID = segDisplaySet.displaySetInstanceUID; + (window as any).__activeCTDisplaySetUID = displaySetInstanceUID; + + console.log('Set active SEG display set UID:', segDisplaySet.displaySetInstanceUID); + + // Find the first frame with segmentation data and jump to that slice + if (segDisplaySet.images && segDisplaySet.images.length > 0) { + try { + // Get the first SEG image (which should have referenced image information) + const firstSegImage = segDisplaySet.images[0]; + console.log('First SEG image:', firstSegImage); + + // Find the corresponding CT image by matching referenced SOP Instance UID + const referencedSOPInstanceUID = firstSegImage.ReferencedSOPInstanceUID || + firstSegImage.referencedSOPInstanceUID; + + console.log('Referenced SOP Instance UID:', referencedSOPInstanceUID); + + if (referencedSOPInstanceUID && ctDisplaySet.images) { + const targetCTIndex = ctDisplaySet.images.findIndex( + (ctImage: any) => ctImage.SOPInstanceUID === referencedSOPInstanceUID + ); + + console.log('Target CT index:', targetCTIndex); + + if (targetCTIndex !== -1) { + console.log(`Found target CT image at index: ${targetCTIndex}`); + + // Use the scroll command to move to the target slice + try { + // Get current viewport element + const viewportElement = document.querySelector('.cornerstone-viewport-element'); + if (viewportElement) { + const enabledElement = getEnabledElement(viewportElement as any); + if (enabledElement && enabledElement.viewport) { + const csViewport = enabledElement.viewport as any; + const currentIndex = csViewport.getCurrentImageIdIndex?.() || 0; + const delta = targetCTIndex - currentIndex; + + console.log(`Current index: ${currentIndex}, target: ${targetCTIndex}, delta: ${delta}`); + + if (delta !== 0) { + // Use the scroll command to move to the target slice + await commandsManager.run('scroll', { + direction: delta > 0 ? 1 : -1, + delta: Math.abs(delta) + }); + console.log('Successfully scrolled to target slice'); + } else { + console.log('Already at target slice'); + } + } + } + } catch (scrollError) { + console.error('Error using scroll command:', scrollError); + } + } else { + console.log('Could not find matching CT image for referenced SOP Instance UID'); + } + } + } catch (error) { + console.error('Error finding first segmentation frame:', error); + } + } + + // Trigger a custom event to notify CustomSegmentationOverlay + window.dispatchEvent(new CustomEvent('SEG_LOADED', { + detail: { + segDisplaySetUID: segDisplaySet.displaySetInstanceUID, + ctDisplaySetUID: displaySetInstanceUID, + segFile: segFile + } + })); + + return { success: true, segFile, segDisplaySetUID: segDisplaySet.displaySetInstanceUID }; + } catch (error) { + console.error('Failed to load custom SEG:', error); + throw error; + } + }, + toggleActiveSegmentationUtility: ({ itemId: buttonId }) => { const { uiState, setUIState } = useUIStateStore.getState(); const isButtonActive = uiState['activeSegmentationUtility'] === buttonId; @@ -449,6 +817,7 @@ const commandsModule = ({ storeSegmentation: actions.storeSegmentation, downloadRTSS: actions.downloadRTSS, toggleActiveSegmentationUtility: actions.toggleActiveSegmentationUtility, + loadCustomSEG: actions.loadCustomSEG, }; return { diff --git a/extensions/cornerstone-dicom-seg/src/components/CustomSegmentationOverlay.tsx b/extensions/cornerstone-dicom-seg/src/components/CustomSegmentationOverlay.tsx new file mode 100644 index 00000000000..310e760c5a4 --- /dev/null +++ b/extensions/cornerstone-dicom-seg/src/components/CustomSegmentationOverlay.tsx @@ -0,0 +1,190 @@ +import React, { useEffect, useRef, useState } from 'react'; +import { Enums } from '@cornerstonejs/core'; +import { parseSegToMaskArray, loadSegFromImageId } from '../utils/segParser'; + +interface CustomSegmentationOverlayProps { + viewportId: string; + segImageId?: string; +} + +/** + * Custom SEG Overlay Component + * Renders segmentation masks directly on canvas, bypassing OHIF's rendering pipeline + */ +export const CustomSegmentationOverlay: React.FC = ({ + viewportId, + segImageId, +}) => { + const canvasRef = useRef(null); + const [maskArray, setMaskArray] = useState(null); + const [currentFrameIndex, setCurrentFrameIndex] = useState(0); + const [dimensions, setDimensions] = useState({ width: 512, height: 512 }); + const [activeSegDisplaySetUID, setActiveSegDisplaySetUID] = useState(null); + + // Listen for SEG_LOADED event from loadCustomSEG command + useEffect(() => { + const handleSEGLoaded = (event: CustomEvent) => { + console.log('CustomOverlay: Received SEG_LOADED event:', event.detail); + const { segDisplaySetUID } = event.detail; + setActiveSegDisplaySetUID(segDisplaySetUID); + }; + + window.addEventListener('SEG_LOADED', handleSEGLoaded as EventListener); + + return () => { + window.removeEventListener('SEG_LOADED', handleSEGLoaded as EventListener); + }; + }, []); + + // Load SEG file when activeSegDisplaySetUID changes + useEffect(() => { + if (!activeSegDisplaySetUID) return; + + const loadSegFromDisplaySet = async () => { + try { + console.log('CustomOverlay: Loading SEG from display set UID:', activeSegDisplaySetUID); + + // Get the display set service from window (OHIF services) + const servicesManager = (window as any).__servicesManager; + if (!servicesManager) { + console.error('CustomOverlay: servicesManager not found on window'); + return; + } + + const displaySetService = servicesManager.services?.displaySetService; + if (!displaySetService) { + console.error('CustomOverlay: displaySetService not found'); + return; + } + + // Get the SEG display set + const segDisplaySet = displaySetService.getDisplaySetByUID(activeSegDisplaySetUID); + if (!segDisplaySet) { + console.error('CustomOverlay: SEG display set not found:', activeSegDisplaySetUID); + return; + } + + console.log('CustomOverlay: Found SEG display set:', segDisplaySet); + + // Get the first image ID from the display set + const imageId = segDisplaySet.images?.[0]?.imageId; + if (!imageId) { + console.error('CustomOverlay: No imageId found in SEG display set'); + return; + } + + console.log('CustomOverlay: Loading SEG from imageId:', imageId); + const mask = await loadSegFromImageId(imageId); + setMaskArray(mask); + + if (mask.length > 0 && mask[0].length > 0) { + setDimensions({ + width: mask[0][0].length, + height: mask[0].length, + }); + console.log('CustomOverlay: SEG loaded successfully, dimensions:', { width: mask[0][0].length, height: mask[0].length }); + } + } catch (error) { + console.error('CustomOverlay: Failed to load SEG:', error); + } + }; + + loadSegFromDisplaySet(); + }, [activeSegDisplaySetUID]); + + // Listen to stack change events to update current frame + useEffect(() => { + const handleStackChange = (event: CustomEvent) => { + const { imageId } = event.detail; + console.log('CustomOverlay: Stack changed to imageId:', imageId); + + // Extract frame index from imageId if possible + // This depends on your imageId format + const frameMatch = imageId.match(/frame=(\d+)/); + if (frameMatch) { + const frameIndex = parseInt(frameMatch[1], 10); + setCurrentFrameIndex(frameIndex); + console.log('CustomOverlay: Frame index:', frameIndex); + } + }; + + // Subscribe to cornerstone events + const eventTarget = (window as any).cornerstone?.eventTarget; + if (eventTarget) { + eventTarget.addEventListener(Enums.Events.STACK_NEW_IMAGE, handleStackChange as EventListener); + } + + return () => { + if (eventTarget) { + eventTarget.removeEventListener(Enums.Events.STACK_NEW_IMAGE, handleStackChange as EventListener); + } + }; + }, []); + + // Draw current frame mask to canvas + useEffect(() => { + if (!maskArray || !canvasRef.current || currentFrameIndex >= maskArray.length) { + return; + } + + const canvas = canvasRef.current; + const ctx = canvas.getContext('2d'); + if (!ctx) return; + + // Set canvas dimensions + canvas.width = dimensions.width; + canvas.height = dimensions.height; + + // Get current frame mask + const currentMask = maskArray[currentFrameIndex]; + if (!currentMask) return; + + // Create image data + const imageData = ctx.createImageData(dimensions.width, dimensions.height); + const data = imageData.data; + + // Fill with transparent red for mask pixels + for (let row = 0; row < currentMask.length; row++) { + for (let col = 0; col < currentMask[row].length; col++) { + const pixelIndex = (row * dimensions.width + col) * 4; + + if (currentMask[row][col] === 1) { + // Red with 50% opacity + data[pixelIndex] = 255; // R + data[pixelIndex + 1] = 0; // G + data[pixelIndex + 2] = 0; // B + data[pixelIndex + 3] = 128; // A (50% opacity) + } else { + // Transparent + data[pixelIndex] = 0; + data[pixelIndex + 1] = 0; + data[pixelIndex + 2] = 0; + data[pixelIndex + 3] = 0; + } + } + } + + // Draw to canvas + ctx.putImageData(imageData, 0, 0); + console.log('CustomOverlay: Drew frame', currentFrameIndex); + }, [maskArray, currentFrameIndex, dimensions]); + + if (!segImageId) { + return null; + } + + return ( + + ); +}; diff --git a/extensions/cornerstone-dicom-seg/src/components/NIfTIConverterButton.tsx b/extensions/cornerstone-dicom-seg/src/components/NIfTIConverterButton.tsx new file mode 100644 index 00000000000..712924aa963 --- /dev/null +++ b/extensions/cornerstone-dicom-seg/src/components/NIfTIConverterButton.tsx @@ -0,0 +1,62 @@ +import React, { useState } from 'react'; +import { Button } from '@ohif/ui-next'; +import NIfTIConverterDialog from './NIfTIConverterDialog'; + +export default function NIfTIConverterButton() { + const [isDialogOpen, setIsDialogOpen] = useState(false); + const [isConverting, setIsConverting] = useState(false); + + const handleConvert = async (ctFolderPath: string, niftiPath: string) => { + setIsConverting(true); + setIsDialogOpen(false); + + try { + // 调用Python后端API + const response = await fetch('http://localhost:5002/api/convert-nifti-to-seg', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + ct_folder_path: ctFolderPath, + nifti_path: niftiPath, + }), + }); + + const result = await response.json(); + + if (result.success) { + console.log('转换成功:', result); + // 可以在这里添加下载或加载转换后的SEG文件的逻辑 + alert('转换成功!DICOM SEG文件已生成。'); + } else { + console.error('转换失败:', result.error); + alert(`转换失败: ${result.error}`); + } + } catch (error) { + console.error('API调用错误:', error); + alert('转换失败: 无法连接到转换服务'); + } finally { + setIsConverting(false); + } + }; + + return ( + <> + + + setIsDialogOpen(false)} + onConvert={handleConvert} + isConverting={isConverting} + /> + + ); +} diff --git a/extensions/cornerstone-dicom-seg/src/components/NIfTIConverterDialog.tsx b/extensions/cornerstone-dicom-seg/src/components/NIfTIConverterDialog.tsx new file mode 100644 index 00000000000..b025c52fe75 --- /dev/null +++ b/extensions/cornerstone-dicom-seg/src/components/NIfTIConverterDialog.tsx @@ -0,0 +1,163 @@ +import React, { useState } from 'react'; +import { Button, Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle } from '@ohif/ui-next'; + +// 扩展Window接口以支持Electron API +declare global { + interface Window { + electron?: { + selectFolder?: () => Promise; + selectFile?: (filters: Array<{ name: string; extensions: string[] }>) => Promise; + }; + } +} + +interface NIfTIConverterDialogProps { + isOpen: boolean; + onClose: () => void; + onConvert: (ctFolderPath: string, niftiPath: string) => void; + isConverting: boolean; +} + +export default function NIfTIConverterDialog({ + isOpen, + onClose, + onConvert, + isConverting +}: NIfTIConverterDialogProps) { + const [ctFolderPath, setCtFolderPath] = useState(''); + const [niftiPath, setNiftiPath] = useState(''); + + const handleSelectCTFolder = () => { + // 使用Electron的文件选择对话框 + if (window.electron && window.electron.selectFolder) { + window.electron.selectFolder().then((path: string) => { + setCtFolderPath(path); + }); + } else { + // 浏览器环境下的fallback + const input = document.createElement('input'); + input.type = 'file'; + input.webkitdirectory = true; + input.onchange = (e: Event) => { + const target = e.target as HTMLInputElement; + const files = target.files; + if (files && files.length > 0) { + // 获取第一个文件的路径作为文件夹路径 + const firstFile = files[0]; + const path = firstFile.webkitRelativePath?.split('/')[0] || ''; + setCtFolderPath(path); + } + }; + input.click(); + } + }; + + const handleSelectNIfTIFile = () => { + if (window.electron && window.electron.selectFile) { + window.electron.selectFile([ + { name: 'NIfTI Files', extensions: ['nii', 'nii.gz'] } + ]).then((path: string) => { + setNiftiPath(path); + }); + } else { + // 浏览器环境下的fallback + const input = document.createElement('input'); + input.type = 'file'; + input.accept = '.nii,.nii.gz'; + input.onchange = (e: Event) => { + const target = e.target as HTMLInputElement; + const files = target.files; + if (files && files.length > 0) { + setNiftiPath(files[0].name); + } + }; + input.click(); + } + }; + + const handleConvert = () => { + if (ctFolderPath && niftiPath) { + onConvert(ctFolderPath, niftiPath); + } + }; + + return ( + + + + NIfTI 转 DICOM SEG 转换 + + +
+
+ +
+ setCtFolderPath(e.target.value)} + placeholder="选择包含CT DICOM文件的文件夹" + className="flex-1 px-3 py-2 border rounded-md" + disabled={isConverting} + /> + +
+
+ +
+ +
+ setNiftiPath(e.target.value)} + placeholder="选择 .nii 或 .nii.gz 文件" + className="flex-1 px-3 py-2 border rounded-md" + disabled={isConverting} + /> + +
+
+ +
+

转换说明:

+
    +
  • 选择原始CT DICOM文件的文件夹
  • +
  • 选择要转换的NIfTI掩膜文件
  • +
  • 系统将自动进行空间对齐并生成DICOM SEG文件
  • +
  • 生成的SEG文件将与原始CT完美匹配
  • +
+
+
+ + + + + +
+
+ ); +} diff --git a/extensions/cornerstone-dicom-seg/src/getSopClassHandlerModule.ts b/extensions/cornerstone-dicom-seg/src/getSopClassHandlerModule.ts index 88cd7a166b6..3075210db40 100644 --- a/extensions/cornerstone-dicom-seg/src/getSopClassHandlerModule.ts +++ b/extensions/cornerstone-dicom-seg/src/getSopClassHandlerModule.ts @@ -237,10 +237,18 @@ function _getDisplaySetsFromSeries( servicesManager: AppTypes.ServicesManager, extensionManager ) { + console.log('SEG _getDisplaySetsFromSeries called with instances:', instances.length); + utils.sortStudyInstances(instances); // Choose the LAST instance in the list as the most recently created one. const instance = instances[instances.length - 1]; + + console.log('SEG selected instance:', { + SOPInstanceUID: instance.SOPInstanceUID, + Modality: instance.Modality, + SOPClassUID: instance.SOPClassUID + }); const { StudyInstanceUID, @@ -292,19 +300,56 @@ function _getDisplaySetsFromSeries( const referencedSeriesSequence = instance.ReferencedSeriesSequence; + + // Force create display set even if ReferencedSeriesSequence is missing if (!referencedSeriesSequence) { - console.error('ReferencedSeriesSequence is missing for the SEG'); - return; + // Try to find CT series in the study to use as reference + const studyInstances = servicesManager.services.displaySetService.getStudyDisplaySets?.(StudyInstanceUID) || []; + const ctDisplaySet = studyInstances.find(ds => ds.Modality === 'CT'); + if (ctDisplaySet) { + displaySet.referencedSeriesInstanceUID = ctDisplaySet.SeriesInstanceUID; + displaySet.referencedDisplaySetInstanceUID = ctDisplaySet.displaySetInstanceUID; + displaySet.referencedImages = []; + } else { + console.error('No CT series found for SEG reference, cannot create display set'); + return; + } + } else { + const referencedSeries = referencedSeriesSequence[0] || referencedSeriesSequence; + // Handle both ReferencedInstanceSequence and 00001114 field names + displaySet.referencedImages = referencedSeries.ReferencedInstanceSequence || referencedSeries['00001114'] || []; + displaySet.referencedSeriesInstanceUID = referencedSeries.SeriesInstanceUID; } - const referencedSeries = referencedSeriesSequence[0] || referencedSeriesSequence; - - displaySet.referencedImages = instance.ReferencedSeriesSequence.ReferencedInstanceSequence; - displaySet.referencedSeriesInstanceUID = referencedSeries.SeriesInstanceUID; const { displaySetService } = servicesManager.services; - const referencedDisplaySets = displaySetService.getDisplaySetsForReferences( - instance.ReferencedSeriesSequence - ); + + // Convert 00001114 to ReferencedInstanceSequence for compatibility + const normalizedReferencedSeriesSequence = Array.isArray(instance.ReferencedSeriesSequence) + ? instance.ReferencedSeriesSequence.map(ref => { + const normalizedRef = { ...ref }; + if (ref['00001114'] && !ref.ReferencedInstanceSequence) { + normalizedRef.ReferencedInstanceSequence = ref['00001114']; + } + return normalizedRef; + }) + : [instance.ReferencedSeriesSequence].map(ref => { + const normalizedRef = { ...ref }; + if (ref['00001114'] && !ref.ReferencedInstanceSequence) { + normalizedRef.ReferencedInstanceSequence = ref['00001114']; + } + return normalizedRef; + }); + + let referencedDisplaySets; + try { + referencedDisplaySets = displaySetService.getDisplaySetsForReferences( + normalizedReferencedSeriesSequence + ); + } catch (error) { + console.error('SEG getDisplaySetsForReferences error:', error); + console.warn('SEG forcing display set creation without reference due to error'); + referencedDisplaySets = null; + } if (referencedDisplaySets?.length > 1) { console.warn( @@ -312,26 +357,14 @@ function _getDisplaySetsFromSeries( ); } - const referencedDisplaySet = referencedDisplaySets[0]; + const referencedDisplaySet = referencedDisplaySets?.[0]; if (!referencedDisplaySet) { - // subscribe to display sets added which means at some point it will be available - const { unsubscribe } = displaySetService.subscribe( - displaySetService.EVENTS.DISPLAY_SETS_ADDED, - ({ displaySetsAdded }) => { - // here we can also do a little bit of search, since sometimes DICOM SEG - // does not contain the referenced display set uid , and we can just - // see which of the display sets added is more similar and assign it - // to the referencedDisplaySet - const addedDisplaySet = displaySetsAdded[0]; - if (addedDisplaySet.SeriesInstanceUID === displaySet.referencedSeriesInstanceUID) { - displaySet.referencedDisplaySetInstanceUID = addedDisplaySet.displaySetInstanceUID; - displaySet.isReconstructable = addedDisplaySet.isReconstructable; - displaySet.FrameOfReferenceUID = addedDisplaySet.FrameOfReferenceUID; - unsubscribe(); - } - } - ); + console.warn('SEG referencedDisplaySet is null, forcing display set creation without reference'); + // Force create display set even without referenced display set + displaySet.referencedDisplaySetInstanceUID = null; + displaySet.isReconstructable = true; + displaySet.FrameOfReferenceUID = null; } else { displaySet.referencedDisplaySetInstanceUID = referencedDisplaySet.displaySetInstanceUID; displaySet.isReconstructable = referencedDisplaySet.isReconstructable; @@ -380,6 +413,13 @@ function _load( } } + // DISABLED: Using custom rendering pipeline instead + // Skip the original segmentation service to avoid conflicts + console.log('SEG: Skipping createSegmentationForSEGDisplaySet, using custom overlay instead'); + segDisplaySet.loading = false; + resolve(); + + /* Original code disabled: segmentationService .createSegmentationForSEGDisplaySet(segDisplaySet) .then(() => { @@ -390,6 +430,7 @@ function _load( segDisplaySet.loading = false; reject(error); }); + */ }); // Expose the in-flight load promise so observers (e.g. the viewport service @@ -410,6 +451,17 @@ async function _loadSegments({ const instance = segDisplaySet.instance as Record; const dataSource = _getSegDataSource(extensionManager, instance); const segImageIdStr = _getSegImageIdFromInstance(instance, dataSource); + + // Extract SEG instance dimensions + const segRows = instance.Rows as number || 512; + const segColumns = instance.Columns as number || 512; + const numberOfFrames = instance.NumberOfFrames as number || 1; + const bitsAllocated = instance.BitsAllocated as number || 8; + const bitsStored = instance.BitsStored as number || 1; + const pixelRepresentation = instance.PixelRepresentation as number || 0; + + // Force bitmap parser to handle 1-bit/8-bit inconsistency + const parserType = 'bitmap'; if (!segImageIdStr) { throw new Error( @@ -417,10 +469,21 @@ async function _loadSegments({ ); } - const referencedDisplaySet = servicesManager.services.displaySetService.getDisplaySetByUID( + let referencedDisplaySet = servicesManager.services.displaySetService.getDisplaySetByUID( segDisplaySet.referencedDisplaySetInstanceUID ); + // If referencedDisplaySet is null, try to find CT display set manually + if (!referencedDisplaySet) { + const studyDisplaySets = servicesManager.services.displaySetService.getDisplaySetsBy?.( + (ds: any) => ds.StudyInstanceUID === segDisplaySet.StudyInstanceUID + ) || []; + referencedDisplaySet = studyDisplaySets.find((ds: any) => ds.Modality === 'CT'); + if (referencedDisplaySet) { + segDisplaySet.referencedDisplaySetInstanceUID = referencedDisplaySet.displaySetInstanceUID; + } + } + if (!referencedDisplaySet) { throw new Error('referencedDisplaySet is missing for SEG'); } @@ -433,43 +496,289 @@ async function _loadSegments({ } if (!imageIds?.length) { - imageIds = (referencedDisplaySet as { images?: { imageId: string }[] }).images?.map( - (img: { imageId: string }) => img.imageId - ); + const images = (referencedDisplaySet as { images?: { imageId: string }[] }).images; + imageIds = images?.map((img: { imageId: string }) => img.imageId); } if (!imageIds?.length) { throw new Error('referencedDisplaySet has no imageIds'); } - (segDisplaySet as AppTypes.DisplaySet & { referencedImageIds?: string[] }).referencedImageIds = - imageIds; + // For SEG loading, we need to map SEG frames to their referenced CT images + const segNumberOfFrames = instance.NumberOfFrames as number || 1; + + // Simplified matching logic: try to use ReferencedSOPInstanceUIDs from SEG file + const referencedSOPInstanceUIDs = (instance.ReferencedSOPSequence || + instance.ReferencedInstanceSequence || + []) as Array<{ ReferencedSOPInstanceUID?: string }>; + + const ctInstances = (referencedDisplaySet as { instances?: Array<{ SOPInstanceUID?: string }> }).instances || []; + + // If SEG has explicit referenced SOP instance UIDs, use them for precise matching + if (referencedSOPInstanceUIDs.length > 0) { + const mappedImageIds: string[] = []; + + for (const ref of referencedSOPInstanceUIDs) { + const sopInstanceUID = ref.ReferencedSOPInstanceUID; + if (sopInstanceUID) { + const ctInstance = ctInstances.find(inst => inst.SOPInstanceUID === sopInstanceUID); + if (ctInstance) { + const imageId = dataSource.getImageIdsForInstance?.({ instance: ctInstance }) as string | string[]; + if (imageId) { + mappedImageIds.push(Array.isArray(imageId) ? imageId[0] : imageId); + } + } + } + } + + // If we successfully mapped all frames, use the mapped imageIds + if (mappedImageIds.length === segNumberOfFrames) { + imageIds = mappedImageIds; + } else { + // Fallback: use sequential mapping assuming SEG frames correspond to CT slices in order + imageIds = imageIds.slice(0, Math.min(segNumberOfFrames, ctInstances.length)); + } + } else { + // No explicit references: use sequential mapping + imageIds = imageIds.slice(0, Math.min(segNumberOfFrames, ctInstances.length)); + } - if (!referencedDisplaySet.imageIds?.length) { - referencedDisplaySet.imageIds = imageIds; + // Ensure CT image metadata is loaded and has orientation information + // Create a custom metadata map for Cornerstone's metaData provider + const customMetadataMap = new Map(); + const segImageIdForMetadata = isLocalSchemeImageId(segImageIdStr) + ? stripFrameFromImageId(segImageIdStr) + : segImageIdStr; + + // Add SEG instance metadata with segment information + const segInstanceMetadata = { + ...instance, + // Ensure required fields for SEG processing + SegmentationType: instance.SegmentationType || 'BINARY', + SegmentSequence: instance.SegmentSequence || [], + NumberOfFrames: instance.NumberOfFrames || 1, + // Add segment metadata if available + segments: instance.segments || [], + }; + customMetadataMap.set(segImageIdForMetadata, segInstanceMetadata); + + // Get metadata from referencedDisplaySet instances and manually register it + if (referencedDisplaySet.instances && referencedDisplaySet.instances.length > 0) { + + // Process all imageIds to ensure createLabelmapsFromSegImageIds has complete metadata + const maxImagesToProcess = Math.min(imageIds.length, referencedDisplaySet.instances.length); + + for (let i = 0; i < maxImagesToProcess; i++) { + const imageId = isLocalSchemeImageId(imageIds[i]) + ? stripFrameFromImageId(imageIds[i]) + : imageIds[i]; + + // Use index to get instance directly since imageIds may be full URLs + const instanceMetadata = referencedDisplaySet.instances?.[i]; + + if (!instanceMetadata) { + continue; + } + + // Construct metadata from instance + const imageMetadata = { + ...instanceMetadata, + // Ensure required fields for checkOrientation and labelmap creation + ImageOrientationPatient: instanceMetadata.ImageOrientationPatient || [1, 0, 0, 0, 1, 0], + ImagePositionPatient: instanceMetadata.ImagePositionPatient || [0, 0, 0], + PixelSpacing: instanceMetadata.PixelSpacing || [1, 1], + SliceThickness: instanceMetadata.SliceThickness || 1, + Rows: instanceMetadata.Rows || 512, + Columns: instanceMetadata.Columns || 512, + // Additional spatial metadata that may be required + SpacingBetweenSlices: instanceMetadata.SpacingBetweenSlices || instanceMetadata.SliceThickness || 1, + FrameOfReferenceUID: instanceMetadata.FrameOfReferenceUID || '1.2.840.10008.1.1.1', + ImagePlanePixelSpacing: instanceMetadata.ImagePlanePixelSpacing || instanceMetadata.PixelSpacing || [1, 1], + // 3D rendering specific metadata + direction: instanceMetadata.ImageOrientationPatient || [1, 0, 0, 0, 1, 0], + origin: instanceMetadata.ImagePositionPatient || [0, 0, 0], + spacing: [ + (instanceMetadata.PixelSpacing as any)?.[0] || 1, + (instanceMetadata.PixelSpacing as any)?.[1] || 1, + instanceMetadata.SliceThickness || 1 + ], + // Additional DICOM spatial fields + PatientPosition: instanceMetadata.PatientPosition || 'HFS', + ImageType: instanceMetadata.ImageType || ['ORIGINAL', 'PRIMARY'], + SamplesPerPixel: instanceMetadata.SamplesPerPixel || 1, + PhotometricInterpretation: instanceMetadata.PhotometricInterpretation || 'MONOCHROME2', + }; + + + // Store in custom metadata map + customMetadataMap.set(imageId, imageMetadata); + } + // Register custom metadata provider with Cornerstone + const customProvider = (type: string, imageId: string) => { + // Debug logging removed to prevent console spam during scrolling + // console.log('SEG customProvider called - type:', type, 'imageId:', imageId); + // console.log('SEG customProvider - map has imageId:', customMetadataMap.has(imageId)); + if (customMetadataMap.has(imageId)) { + const metadata = customMetadataMap.get(imageId); + // console.log('SEG customProvider - returning metadata for:', imageId, 'type:', type, 'keys:', Object.keys(metadata || {})); + + // Return appropriate metadata based on type + // Convert all field names to lowercase for Cornerstone compatibility + if (type === 'imagePlaneModule') { + const ipp = metadata.ImageOrientationPatient || [0, 0, 0]; + const ps = metadata.PixelSpacing || [1, 1]; + const iop = metadata.ImageOrientationPatient || [1, 0, 0, 0, 1, 0]; + const result = { + imageOrientationPatient: iop, + imagePositionPatient: [ipp[0] || 0, ipp[1] || 0, ipp[2] || 0], + pixelSpacing: [ps[0] || 1, ps[1] || 1], + sliceThickness: metadata.SliceThickness || 1, + frameOfReferenceUID: metadata.FrameOfReferenceUID || '1.2.840.10008.1.1.1', + rows: metadata.Rows || 512, + columns: metadata.Columns || 512, + direction: metadata.direction || [1, 0, 0, 0, 1, 0], + origin: metadata.origin || [0, 0, 0], + spacing: metadata.spacing || [1, 1, 1], + // Add rowCosines and columnCosines for createLabelmapsFromSegImageIds + rowCosines: [iop[0] || 1, iop[1] || 0, iop[2] || 0], + columnCosines: [iop[3] || 0, iop[4] || 1, iop[5] || 0], + }; + // console.log('imagePlaneModule returning:', result); + return result; + } else if (type === 'generalSeriesModule') { + return { + modality: metadata.Modality || 'CT', + seriesInstanceUID: metadata.SeriesInstanceUID || '', + seriesNumber: metadata.SeriesNumber || 1, + seriesDescription: metadata.SeriesDescription || '', + }; + } else if (type === 'imagePixelModule') { + return { + rows: metadata.Rows || 512, + columns: metadata.Columns || 512, + bitsAllocated: metadata.BitsAllocated || 16, + samplesPerPixel: metadata.SamplesPerPixel || 1, + pixelRepresentation: metadata.PixelRepresentation || 0, + }; + } else if (type === 'scalingModule') { + return { + rescaleIntercept: metadata.RescaleIntercept || 0, + rescaleSlope: metadata.RescaleSlope || 1, + }; + } else if (type === 'calibratedPixelSpacing') { + const ps = metadata.PixelSpacing || [1, 1]; + return { + rowPixelSpacing: ps[0] || 1, + columnPixelSpacing: ps[1] || 1, + }; + } else if (type === 'generalImageModule') { + return { + sopInstanceUID: metadata.SOPInstanceUID || '', + sopClassUID: metadata.SOPClassUID || '', + }; + } else if (type === 'sopCommonModule') { + return { + sopInstanceUID: metadata.SOPInstanceUID || '', + sopClassUID: metadata.SOPClassUID || '', + instanceNumber: metadata.InstanceNumber || 1, + }; + } else if (type === 'voiLutModule') { + return { + windowCenter: metadata.WindowCenter || [400], + windowWidth: metadata.WindowWidth || [1000], + }; + } else if (type === 'modalityLutModule') { + return { + rescaleIntercept: metadata.RescaleIntercept || 0, + rescaleSlope: metadata.RescaleSlope || 1, + }; + } else if (type === 'compressedFrameData') { + return { + transferSyntax: metadata.TransferSyntax || '1.2.840.10008.1.2', + }; + } else if (type === 'instance') { + // For instance type, return full metadata with functional groups for SEG + // Ensure functional groups are present for checkOrientation + const instanceMetadata = { ...metadata }; + if (!instanceMetadata.SharedFunctionalGroupsSequence) { + instanceMetadata.SharedFunctionalGroupsSequence = { + PlaneOrientationSequence: { + ImageOrientationPatient: metadata.ImageOrientationPatient || [1, 0, 0, 0, 1, 0] + } + }; + } + if (!instanceMetadata.PerFrameFunctionalGroupsSequence) { + instanceMetadata.PerFrameFunctionalGroupsSequence = [{ + PlaneOrientationSequence: { + ImageOrientationPatient: metadata.ImageOrientationPatient || [1, 0, 0, 0, 1, 0] + } + }]; + } + return instanceMetadata; + } + } + + // For SEG imageId or other imageIds not in map, provide default metadata + // This is needed for the SEG imageId itself which may not be in the map + if (type === 'instance') { + // console.log('SEG customProvider - providing default instance metadata for:', imageId); + return { + SharedFunctionalGroupsSequence: { + PlaneOrientationSequence: { + ImageOrientationPatient: [1, 0, 0, 0, 1, 0] + } + }, + PerFrameFunctionalGroupsSequence: [{ + PlaneOrientationSequence: { + ImageOrientationPatient: [1, 0, 0, 0, 1, 0] + } + }], + Rows: segRows, + Columns: segColumns, + BitsStored: 8, + BitsAllocated: 8, + SegmentationType: 'BINARY', + }; + } + + // For reference images (CT/MRI), return undefined to let other providers handle it + // This allows them to get their metadata from DICOMweb provider + return undefined; + }; + + metaData.addProvider(customProvider, 10000); } + // Create a copy to avoid shared reference that could corrupt imageIds + (segDisplaySet as AppTypes.DisplaySet & { referencedImageIds?: string[] }).referencedImageIds = + [...imageIds]; + const frameImageIds = _resolveFrameImageIds( segImageIdStr, segDisplaySet.instance as Record, dataSource ); - const segImageIdForMetadata = isLocalSchemeImageId(segImageIdStr) - ? stripFrameFromImageId(segImageIdStr) - : segImageIdStr; - _logSegImageIds({ segDisplaySet, - segImageIdStr: segImageIdForMetadata, + segImageIdStr: segImageIdStr, frameImageIds, referencedImageIds: imageIds, }); - _ensureSegInstanceMetadataAvailable(segImageIdForMetadata, instance); + + _ensureSegInstanceMetadataAvailable(segImageIdStr, instance); frameImageIds.forEach(id => _ensureSegInstanceMetadataAvailable(id, instance)); + // DISABLED: Using custom rendering pipeline instead + // The old OHIF rendering pipeline is bypassed by CustomSegmentationOverlay + // to avoid timing issues and conflicts with dcmjs + // Skip the entire original rendering process + console.log('SEG: Skipping original OHIF rendering pipeline, using custom overlay instead'); + return; + const tolerance = 0.001; + const eventTarget = new EventTarget(); const onProgress = evt => { const { percentComplete } = evt.detail; segmentationService._broadcastEvent(segmentationService.EVENTS.SEGMENT_LOADING_COMPLETE, { @@ -488,7 +797,8 @@ async function _loadSegments({ // prefetch is awaited until it completes OR fails — deliberately no timeout: // a failed/unsupported instance fetch resolves quickly and falls back to // per-frame, while a slow large fetch is still the fastest way to all frames. - const loadMultiframeAsPart10 = + // Disable multiframe part10 prefetch for 1-bit SEG files to work around pixel data length issues + const loadMultiframeAsPart10 = bitsAllocated === 1 ? false : (dataSource?.getConfig?.()?.loadMultiframeAsPart10 as boolean | undefined) ?? (customizationService?.getCustomization?.( 'cornerstone.segmentation.loadMultiframeAsPart10' @@ -499,7 +809,7 @@ async function _loadSegments({ if (loadMultiframeAsPart10) { prefetch = dataSource.retrieve?.prefetchInstanceFrames?.({ instance, - imageId: segImageIdForMetadata, + imageId: segImageIdStr, }); if (prefetch?.done) { @@ -507,22 +817,33 @@ async function _loadSegments({ } } + let results; try { results = await adaptersSEG.Cornerstone3D.Segmentation.createFromDicomSegImageId( imageIds, - segImageIdForMetadata, + segImageIdStr, { metadataProvider: metaData, tolerance, - parserType: getSegmentationParserType( - segDisplaySet.SOPClassUID, - customizationService - ), + parserType: parserType, frameImageIds, concurrency: SEG_FRAME_DECODE_CONCURRENCY, } ); + } catch (error) { + // 如果是 segment index 错误,说明 dcmjs 库的检查过于严格 + // 由于无法修改 node_modules 中的 dcmjs 库,我们需要在导入源头解决这个问题 + if (error instanceof Error && error.message.includes('Could not retrieve the segment index')) { + console.error('Segment index retrieval failed. This is a dcmjs library limitation.'); + console.error('The SEG file is valid, but dcmjs requires additional metadata that our export may not provide.'); + console.error('Please consider:'); + console.error('1. Using patch-package to modify dcmjs library in node_modules'); + console.error('2. Or forking @cornerstonejs/adapters and modifying labelmapImagesFromBuffer.js'); + throw new Error('Segment index retrieval failed. The SEG file structure is valid, but dcmjs library requires additional metadata. Consider using patch-package to modify the library.'); + } else { + throw error; + } } finally { eventTarget.removeEventListener(Enums.Events.SEGMENTATION_LOAD_PROGRESS, onProgress); prefetch?.cancel?.(); @@ -532,8 +853,9 @@ async function _loadSegments({ const resultsTyped = results as { segMetadata: { data: { rgba?: number[]; RecommendedDisplayCIELabValue?: number[] }[] }; }; + resultsTyped.segMetadata.data.forEach((data, i) => { - if (i > 0) { + if (i > 0 && data) { data.rgba = data.RecommendedDisplayCIELabValue; if (data.rgba) { @@ -558,6 +880,20 @@ async function _loadSegments({ Object.assign(segDisplaySet, results); + // Ensure segments have required metadata fields for SegmentationService + if (segDisplaySet.segments) { + Object.keys(segDisplaySet.segments).forEach(segmentKey => { + const segment = segDisplaySet.segments[segmentKey]; + if (segment && !segment.SegmentedPropertyCategoryCodeSequence) { + segment.SegmentedPropertyCategoryCodeSequence = { + CodeValue: 'T-D0050', + CodingSchemeDesignator: 'SRT', + CodeMeaning: 'Tissue', + }; + } + }); + } + const labelMapImageIds = (results as { labelMapImages?: { imageId: string }[][] }) .labelMapImages?.flat() .map(image => image.imageId); diff --git a/extensions/cornerstone-dicom-seg/src/utils/segParser.ts b/extensions/cornerstone-dicom-seg/src/utils/segParser.ts new file mode 100644 index 00000000000..4ecc2ec8722 --- /dev/null +++ b/extensions/cornerstone-dicom-seg/src/utils/segParser.ts @@ -0,0 +1,87 @@ +import { parseDicom } from 'dicom-parser'; + +/** + * Parse DICOM SEG file and extract pixel data as a 3D mask array + * @param arrayBuffer - DICOM SEG file as ArrayBuffer + * @returns 3D mask array [frames][rows][columns] with values 0 or 1 + */ +export function parseSegToMaskArray(arrayBuffer: ArrayBuffer): number[][][] { + const dataSet = parseDicom(new Uint8Array(arrayBuffer)); + + // Get dimensions with defaults + const rows = dataSet.uint16('x00280010') || 512; + const columns = dataSet.uint16('x00280011') || 512; + const numberOfFrames = dataSet.uint16('x00280008') || 1; + + console.log(`SEG Parser: Dimensions ${numberOfFrames}x${rows}x${columns}`); + + // Get pixel data element + const pixelDataElement = dataSet.elements.x7fe00010; + if (!pixelDataElement) { + throw new Error('Pixel Data not found in SEG file'); + } + + // Get raw pixel data using dicom-parser's byte array + const pixelData = dataSet.byteArray; + const pixelDataOffset = pixelDataElement.dataOffset; + const pixelDataLength = pixelDataElement.length; + + // Calculate expected size + const expectedSize = numberOfFrames * rows * columns; + console.log(`SEG Parser: Expected pixel data size: ${expectedSize}, Actual: ${pixelDataLength}`); + + // Create 3D mask array + const maskArray: number[][][] = []; + + for (let frame = 0; frame < numberOfFrames; frame++) { + const frameData: number[][] = []; + const frameOffset = pixelDataOffset + frame * rows * columns; + + for (let row = 0; row < rows; row++) { + const rowData: number[] = []; + const rowOffset = frameOffset + row * columns; + + for (let col = 0; col < columns; col++) { + const pixelIndex = rowOffset + col; + // Since we use 8-bit depth, each pixel is one byte + const pixelValue = pixelData[pixelIndex] || 0; + // Convert to binary mask (0 or 1) + rowData.push(pixelValue > 0 ? 1 : 0); + } + + frameData.push(rowData); + } + + maskArray.push(frameData); + } + + console.log(`SEG Parser: Successfully parsed ${maskArray.length} frames`); + return maskArray; +} + +/** + * Load SEG file from URL and parse to mask array + * @param url - URL to DICOM SEG file + * @returns Promise resolving to 3D mask array + */ +export async function loadSegFromUrl(url: string): Promise { + const response = await fetch(url); + const arrayBuffer = await response.arrayBuffer(); + return parseSegToMaskArray(arrayBuffer); +} + +/** + * Load SEG file from imageId and parse to mask array + * @param imageId - Cornerstone imageId for SEG file + * @returns Promise resolving to 3D mask array + */ +export async function loadSegFromImageId(imageId: string): Promise { + // Try to load the image using cornerstone's imageLoader + const imageLoader = (window as any).cornerstone?.imageLoader; + if (!imageLoader) { + throw new Error('Cornerstone imageLoader not available'); + } + + const image = await imageLoader.loadImage(imageId).promise; + return parseSegToMaskArray(image.data.byteArray); +} diff --git a/extensions/cornerstone-dicom-seg/src/utils/segmentationConfig.ts b/extensions/cornerstone-dicom-seg/src/utils/segmentationConfig.ts index b2ff1f16660..c4dec3a8950 100644 --- a/extensions/cornerstone-dicom-seg/src/utils/segmentationConfig.ts +++ b/extensions/cornerstone-dicom-seg/src/utils/segmentationConfig.ts @@ -1,9 +1,9 @@ -export const LABELMAP_SEG_SOP_CLASS_UID = '1.2.840.10008.5.1.4.1.1.66.7'; +export const LABELMAP_SEG_SOP_CLASS_UID = '1.2.840.10008.5.1.4.1.1.66.4'; export const BITMAP_SEG_SOP_CLASS_UID = '1.2.840.10008.5.1.4.1.1.66.4'; -/** RLE Lossless — OHIF default SEG store transfer syntax. */ -export const DEFAULT_SEG_STORE_TRANSFER_SYNTAX_UID = '1.2.840.10008.1.2.5'; -/** OHIF default SEG store mode (Label Map Segmentation SOP Class). */ -export const DEFAULT_SEG_STORE_MODE = 'labelmap' as const; +/** Explicit VR Little Endian (Uncompressed) — Fixed to avoid RLE compression bugs. */ +export const DEFAULT_SEG_STORE_TRANSFER_SYNTAX_UID = '1.2.840.10008.1.2.1'; +/** OHIF default SEG store mode (Binary Segmentation SOP Class). */ +export const DEFAULT_SEG_STORE_MODE = 'bitmap' as const; export type SegmentationMode = 'labelmap' | 'bitmap'; diff --git a/extensions/cornerstone-dicom-seg/src/viewports/OHIFCornerstoneSEGViewport.tsx b/extensions/cornerstone-dicom-seg/src/viewports/OHIFCornerstoneSEGViewport.tsx index c565d5292c3..d14dd9d9ae6 100644 --- a/extensions/cornerstone-dicom-seg/src/viewports/OHIFCornerstoneSEGViewport.tsx +++ b/extensions/cornerstone-dicom-seg/src/viewports/OHIFCornerstoneSEGViewport.tsx @@ -5,6 +5,7 @@ import promptHydrateSEG from '../utils/promptHydrateSEG'; import { usePositionPresentationStore, OHIFCornerstoneViewport } from '@ohif/extension-cornerstone'; import { SegmentationRepresentations } from '@cornerstonejs/tools/enums'; import { useSystem } from '@ohif/core/src/contextProviders/SystemProvider'; +import { CustomSegmentationOverlay } from '../components/CustomSegmentationOverlay'; const SEG_TOOLGROUP_BASE_NAME = 'SEGToolGroup'; @@ -53,7 +54,7 @@ function OHIFCornerstoneSEGViewport(props: withAppTypes) { const { viewports, activeViewportId } = viewportGrid; - const referencedDisplaySetInstanceUID = segDisplaySet.referencedDisplaySetInstanceUID; + let referencedDisplaySetInstanceUID = segDisplaySet.referencedDisplaySetInstanceUID; // If the referencedDisplaySetInstanceUID is not found, it means the SEG series is being // launched without its corresponding referenced display set (e.g., the SEG series is launched using // series launch /mode?StudyInstanceUIDs=&SeriesInstanceUID). @@ -64,19 +65,33 @@ function OHIFCornerstoneSEGViewport(props: withAppTypes) { // Additional guard: If no customization handler is registered for missing // referenced display sets, skip SEG rendering to avoid a viewport crash. if (!referencedDisplaySetInstanceUID) { - const missingReferenceDisplaySetHandler = customizationService.getCustomization( - 'missingReferenceDisplaySetHandler' - ); - if (typeof missingReferenceDisplaySetHandler === 'function') { - const { handled } = missingReferenceDisplaySetHandler(); - if (handled) { - return; - } + console.log('SEG viewport: referencedDisplaySetInstanceUID is null, trying to find CT display set manually'); + // Try to find CT display set manually + const studyDisplaySets = displaySetService.getDisplaySetsBy?.( + (ds: any) => ds.StudyInstanceUID === segDisplaySet.StudyInstanceUID + ) || []; + const ctDisplaySet = studyDisplaySets.find((ds: any) => ds.Modality === 'CT'); + if (ctDisplaySet) { + console.log('SEG viewport: found CT display set manually:', ctDisplaySet.displaySetInstanceUID); + referencedDisplaySetInstanceUID = ctDisplaySet.displaySetInstanceUID; + // Update the segDisplaySet for future use + segDisplaySet.referencedDisplaySetInstanceUID = referencedDisplaySetInstanceUID; } else { - console.log( - "No customization 'missingReferenceDisplaySetHandler' registered. Skipping SEG rendering." + console.warn('SEG viewport: could not find CT display set manually'); + const missingReferenceDisplaySetHandler = customizationService.getCustomization( + 'missingReferenceDisplaySetHandler' ); - return; + if (typeof missingReferenceDisplaySetHandler === 'function') { + const { handled } = missingReferenceDisplaySetHandler(); + if (handled) { + return; + } + } else { + console.log( + "No customization 'missingReferenceDisplaySetHandler' registered. Skipping SEG rendering." + ); + return; + } } } @@ -275,6 +290,11 @@ function OHIFCornerstoneSEGViewport(props: withAppTypes) { }); } + // Get SEG imageId for custom overlay + const segImageId = segDisplaySet.images && segDisplaySet.images.length > 0 + ? (segDisplaySet.images[0] as any).imageId + : undefined; + return ( <>
@@ -288,6 +308,11 @@ function OHIFCornerstoneSEGViewport(props: withAppTypes) { )} {getCornerstoneViewport()} {childrenWithProps} + {/* Custom SEG Overlay - bypasses OHIF rendering pipeline */} +
); @@ -296,17 +321,27 @@ function OHIFCornerstoneSEGViewport(props: withAppTypes) { function _getReferencedDisplaySetMetadata(referencedDisplaySet, segDisplaySet) { const { SharedFunctionalGroupsSequence } = segDisplaySet.instance; - const SharedFunctionalGroup = Array.isArray(SharedFunctionalGroupsSequence) - ? SharedFunctionalGroupsSequence[0] - : SharedFunctionalGroupsSequence; - - const { PixelMeasuresSequence } = SharedFunctionalGroup; - - const PixelMeasures = Array.isArray(PixelMeasuresSequence) - ? PixelMeasuresSequence[0] - : PixelMeasuresSequence; - - const { SpacingBetweenSlices, SliceThickness } = PixelMeasures; + const SharedFunctionalGroup = SharedFunctionalGroupsSequence + ? (Array.isArray(SharedFunctionalGroupsSequence) + ? SharedFunctionalGroupsSequence[0] + : SharedFunctionalGroupsSequence) + : null; + + let SpacingBetweenSlices, SliceThickness; + if (SharedFunctionalGroup) { + const { PixelMeasuresSequence } = SharedFunctionalGroup; + + const PixelMeasures = PixelMeasuresSequence + ? (Array.isArray(PixelMeasuresSequence) + ? PixelMeasuresSequence[0] + : PixelMeasuresSequence) + : null; + + if (PixelMeasures) { + SpacingBetweenSlices = PixelMeasures.SpacingBetweenSlices; + SliceThickness = PixelMeasures.SliceThickness; + } + } const image0 = referencedDisplaySet.images[0]; const referencedDisplaySetMetadata = { diff --git a/extensions/cornerstone-dicom-sr/package.json b/extensions/cornerstone-dicom-sr/package.json index 42bac0829dc..300db9ed58d 100644 --- a/extensions/cornerstone-dicom-sr/package.json +++ b/extensions/cornerstone-dicom-sr/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-cornerstone-dicom-sr", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "OHIF extension for an SR Cornerstone Viewport", "author": "OHIF", "license": "MIT", diff --git a/extensions/cornerstone-dynamic-volume/package.json b/extensions/cornerstone-dynamic-volume/package.json index 4bbf5f16893..d28cd0fd6ee 100644 --- a/extensions/cornerstone-dynamic-volume/package.json +++ b/extensions/cornerstone-dynamic-volume/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-cornerstone-dynamic-volume", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "OHIF extension for 4D volumes data", "author": "OHIF", "license": "MIT", diff --git a/extensions/cornerstone/package.json b/extensions/cornerstone/package.json index d9701ca38c5..102099ae5f7 100644 --- a/extensions/cornerstone/package.json +++ b/extensions/cornerstone/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-cornerstone", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "OHIF extension for Cornerstone", "author": "OHIF", "license": "MIT", diff --git a/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.css b/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.css index 006e587d572..2d88d43192b 100644 --- a/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.css +++ b/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.css @@ -2,6 +2,7 @@ width: 100%; height: 100%; /* MUST have `height` to prevent resize infinite loop */ position: relative; + z-index: 1; /* Prevent text selection on the entire viewport wrapper */ user-select: none; -webkit-user-select: none; diff --git a/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx b/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx index 328975ec971..77d8e27cced 100644 --- a/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx +++ b/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx @@ -18,6 +18,308 @@ import { useSynchronizersStore } from '../stores/useSynchronizersStore'; import ActiveViewportBehavior from '../utils/ActiveViewportBehavior'; import { WITH_NAVIGATION } from '../services/ViewportService/CornerstoneViewportService'; +// Simple inline SEG overlay component +const SimpleSEGOverlay: React.FC<{ viewportId: string; elementRef: React.MutableRefObject }> = ({ viewportId, elementRef }) => { + const [segPixelDataMap, setSegPixelDataMap] = useState>(new Map()); // 支持多个SEG + const [currentSliceIndex, setCurrentSliceIndex] = useState(0); + const canvasRef = useRef(null); + + useEffect(() => { + const handleSEGLoaded = (event: Event) => { + const customEvent = event as CustomEvent; + const { caseId, fileName } = customEvent.detail; + + if (caseId && fileName) { + loadSEGFileDirectly(caseId, fileName); + } + }; + + const handleSEGUnloaded = (event: Event) => { + const customEvent = event as CustomEvent; + const { caseId, fileName } = customEvent.detail; + + if (caseId && fileName) { + // Remove the SEG from the map + setSegPixelDataMap(prev => { + const newMap = new Map(prev); + newMap.delete(fileName); + return newMap; + }); + } + }; + + window.addEventListener('SEG_LOADED', handleSEGLoaded as EventListener); + window.addEventListener('SEG_UNLOADED', handleSEGUnloaded as EventListener); + return () => { + window.removeEventListener('SEG_LOADED', handleSEGLoaded as EventListener); + window.removeEventListener('SEG_UNLOADED', handleSEGUnloaded as EventListener); + }; + }, []); + + // 监听图像层数变化事件 + useEffect(() => { + let lastImageIndex = -1; + + const checkImageChange = () => { + try { + if (elementRef.current) { + const enabledElement = getEnabledElement(elementRef.current); + if (enabledElement) { + const { viewport } = enabledElement; + + if (viewport.getCurrentImageIdIndex) { + const currentIndex = viewport.getCurrentImageIdIndex(); + if (typeof currentIndex === 'number' && !isNaN(currentIndex) && currentIndex !== lastImageIndex) { + lastImageIndex = currentIndex; + setCurrentSliceIndex(currentIndex); + } + } else { + const currentImageId = viewport.getCurrentImageId(); + if (currentImageId) { + const match = currentImageId.match(/frame=(\d+)/); + if (match) { + const frameIndex = parseInt(match[1], 10); + if (!isNaN(frameIndex) && frameIndex !== lastImageIndex) { + lastImageIndex = frameIndex; + setCurrentSliceIndex(frameIndex); + } + } + } + } + } + } + } catch (error) { + console.error('SimpleSEGOverlay: Error checking image change:', error); + } + }; + + const intervalId = setInterval(checkImageChange, 50); + + const handleStackScroll = (evt: any) => { + checkImageChange(); + }; + + eventTarget.addEventListener(Enums.Events.STACK_NEW_IMAGE, handleStackScroll); + + return () => { + clearInterval(intervalId); + eventTarget.removeEventListener(Enums.Events.STACK_NEW_IMAGE, handleStackScroll); + }; + }, [elementRef]); + + // 渲染SEG掩膜的函数 + const renderSEGMask = useCallback((sliceIndex: number) => { + if (!canvasRef.current || segPixelDataMap.size === 0 || !elementRef.current) return; + + const canvas = canvasRef.current; + const ctx = canvas.getContext('2d'); + if (!ctx) return; + + try { + const enabledElement = getEnabledElement(elementRef.current); + if (!enabledElement) { + console.error('SimpleSEGOverlay: No enabled element found'); + return; + } + + const { viewport } = enabledElement; + + const canvasWidth = elementRef.current.clientWidth; + const canvasHeight = elementRef.current.clientHeight; + + let imageX = 0, imageY = 0, imageWidth = canvasWidth, imageHeight = canvasHeight; + + if ((viewport as any).getCanvasRectangle) { + const rect = (viewport as any).getCanvasRectangle(); + if (rect) { + imageX = rect.x || 0; + imageY = rect.y || 0; + imageWidth = rect.width || canvasWidth; + imageHeight = rect.height || canvasHeight; + } + } else if ((viewport as any).canvas) { + const vpCanvas = (viewport as any).canvas; + if (vpCanvas) { + const imageSize = Math.min(canvasWidth, canvasHeight); + imageWidth = imageSize; + imageHeight = imageSize; + imageX = (canvasWidth - imageSize) / 2; + imageY = (canvasHeight - imageSize) / 2; + } + } else { + const imageSize = Math.min(canvasWidth, canvasHeight); + imageWidth = imageSize; + imageHeight = imageSize; + imageX = (canvasWidth - imageSize) / 2; + imageY = (canvasHeight - imageSize) / 2; + } + + canvas.width = canvasWidth; + canvas.height = canvasHeight; + + ctx.clearRect(0, 0, canvasWidth, canvasHeight); + + const tempCanvas = document.createElement('canvas'); + tempCanvas.width = 512; + tempCanvas.height = 512; + const tempCtx = tempCanvas.getContext('2d'); + if (!tempCtx) return; + + // 为每个激活的SEG渲染掩膜 + segPixelDataMap.forEach((segPixelData, fileName) => { + const imageData = tempCtx.createImageData(512, 512); + const data = imageData.data; + const frameSize = segPixelData.columns * segPixelData.rows; + const pixelData = segPixelData.data; + const safeSliceIndex = Math.min(sliceIndex, segPixelData.numFrames - 1); + const frameOffset = safeSliceIndex * frameSize; + + for (let i = 0; i < frameSize; i++) { + const pixelIndex = i * 4; + const segValue = pixelData[frameOffset + i]; + + if (segValue > 0) { + // 使用不同的颜色区分不同的SEG + const colorIndex = Array.from(segPixelDataMap.keys()).indexOf(fileName); + const colors = [ + [255, 0, 0, 128], // Red + [0, 255, 0, 128], // Green + [0, 0, 255, 128], // Blue + [255, 255, 0, 128], // Yellow + [255, 0, 255, 128], // Magenta + [0, 255, 255, 128], // Cyan + ]; + const color = colors[colorIndex % colors.length]; + data[pixelIndex] = color[0]; + data[pixelIndex + 1] = color[1]; + data[pixelIndex + 2] = color[2]; + data[pixelIndex + 3] = color[3]; + } else { + data[pixelIndex] = 0; + data[pixelIndex + 1] = 0; + data[pixelIndex + 2] = 0; + data[pixelIndex + 3] = 0; + } + } + + tempCtx.putImageData(imageData, 0, 0); + ctx.drawImage(tempCanvas, imageX, imageY, imageWidth, imageHeight); + }); + } catch (error) { + console.error('SimpleSEGOverlay: Error rendering SEG mask:', error); + } + }, [segPixelDataMap, elementRef]); + + // 当层数变化或像素数据变化时重新渲染 + useEffect(() => { + if (segPixelDataMap.size > 0 && canvasRef.current) { + renderSEGMask(currentSliceIndex); + } + }, [currentSliceIndex, segPixelDataMap, renderSEGMask]); + + // 直接读取SEG文件的简化函数 + const loadSEGFileDirectly = async (caseId: string, fileName: string) => { + try { + // 通过后端API读取完整文件 + const segUrl = `http://localhost:8082/api/dicom-folders/seg-file?caseId=${caseId}&fileName=${fileName}`; + + const response = await fetch(segUrl); + if (!response.ok) { + throw new Error(`HTTP ${response.status}: ${response.statusText}`); + } + + const arrayBuffer = await response.arrayBuffer(); + + // 解析DICOM文件 + const { parseDicom } = await import('dicom-parser'); + const dataSet = parseDicom(new Uint8Array(arrayBuffer)); + + const rows = dataSet.uint16('x00280010'); + const columns = dataSet.uint16('x00280011'); + const dicomNumFrames = dataSet.string('x00280008'); + const actualNumFrames = dicomNumFrames ? parseInt(dicomNumFrames, 10) : 0; + + const pixelDataElement = dataSet.elements.x7fe00010; + if (pixelDataElement) { + const pixelDataOffset = pixelDataElement.dataOffset; + const pixelDataLength = pixelDataElement.length; + const pixelData = new Uint8Array(arrayBuffer, pixelDataOffset, pixelDataLength); + + // 计算层数范围 + const frameSize = (rows || 512) * (columns || 512); + let firstFrameIndex = -1; + let lastFrameIndex = -1; + + for (let i = 0; i < actualNumFrames; i++) { + const frameStart = i * frameSize; + const frameEnd = frameStart + frameSize; + const frameData = pixelData.slice(frameStart, frameEnd); + + let hasSegmentation = false; + for (let j = 0; j < frameData.length; j++) { + if (frameData[j] !== 0) { + hasSegmentation = true; + break; + } + } + + if (hasSegmentation) { + if (firstFrameIndex === -1) { + firstFrameIndex = i; + } + lastFrameIndex = i; + } + } + + setSegPixelDataMap(prev => { + const newMap = new Map(prev); + newMap.set(fileName, { + data: pixelData, + rows, + columns, + numFrames: actualNumFrames, + bitsAllocated: 8, + bitsStored: 8 + }); + return newMap; + }); + + // 发送层数范围信息给父窗口 + if (firstFrameIndex !== -1 && lastFrameIndex !== -1) { + window.parent.postMessage({ + type: 'SEG_SLICE_RANGE', + fileName: fileName, + firstSlice: firstFrameIndex, + lastSlice: lastFrameIndex + }, '*'); + } + } else { + console.error('SimpleSEGOverlay: No pixel data found in DICOM'); + } + } catch (error) { + console.error('SimpleSEGOverlay: Failed to load SEG file:', error); + } + }; + + // Render actual segmentation mask when pixel data is available + if (segPixelDataMap.size === 0) return null; + + return ( + + ); +}; + const STACK = 'stack'; // Cache for viewport dimensions, persists across component remounts @@ -321,7 +623,13 @@ const OHIFCornerstoneViewport = React.memo( viewportRef.register(el); } }} - > + > + {/* Custom SEG Overlay - inside cornerstone element to only cover DICOM rendering area */} + + { + createLabelmapForViewport: async ({ viewportId, options = {}, anomalyInfo }) => { return createSegmentationForViewport(servicesManager, { viewportId, - options, + options: { ...options, anomalyInfo }, segmentationType: SegmentationRepresentations.Labelmap, }); }, @@ -1517,10 +1517,10 @@ function commandsModule({ * The created contour will be registered as a display set and also added * as a segmentation representation to the viewport. */ - createContourForViewport: async ({ viewportId, options = {} }) => { + createContourForViewport: async ({ viewportId, options = {}, anomalyInfo }) => { return createSegmentationForViewport(servicesManager, { viewportId, - options, + options: { ...options, anomalyInfo }, segmentationType: SegmentationRepresentations.Contour, }); }, @@ -1637,26 +1637,21 @@ function commandsModule({ }, /** - * Stores a segmentation and shows it in the viewport + * Stores a segmentation without auto-loading it * @param props.segmentationId - The ID of the segmentation to store */ storeSegmentationCommand: async args => { const { segmentationId } = args; - const { segmentationService, viewportGridService } = servicesManager.services; + const { segmentationService } = servicesManager.services; - const displaySetInstanceUIDs = await createReportAsync({ + await createReportAsync({ servicesManager, getReport: () => commandsManager.runCommand('storeSegmentation', args), reportType: 'Segmentation', }); - if (displaySetInstanceUIDs) { - segmentationService.remove(segmentationId); - viewportGridService.setDisplaySetsForViewport({ - viewportId: viewportGridService.getActiveViewportId(), - displaySetInstanceUIDs, - }); - } + // Remove the segmentation from the viewport after successful export + segmentationService.remove(segmentationId); }, /** diff --git a/extensions/cornerstone/src/components/AnomalyDialog/AnomalyDialog.tsx b/extensions/cornerstone/src/components/AnomalyDialog/AnomalyDialog.tsx new file mode 100644 index 00000000000..23ee5b50666 --- /dev/null +++ b/extensions/cornerstone/src/components/AnomalyDialog/AnomalyDialog.tsx @@ -0,0 +1,191 @@ +import React, { useState, useEffect } from 'react'; +import { Dialog, DialogContent, DialogHeader, DialogTitle } from '@ohif/ui-next'; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from '@ohif/ui-next'; +import { Button } from '@ohif/ui-next'; +import { + ANATOMY_REGIONS, + ANOMALY_TYPES, + LATERALITY, + VITAL_REACTION, + type AnomalyInfo, + formatAnomalyDescription, +} from './anomalyData'; + +interface AnomalyDialogProps { + isOpen: boolean; + onClose: () => void; + onConfirm: (anomalyInfo: AnomalyInfo) => void; +} + +export const AnomalyDialog: React.FC = ({ + isOpen, + onClose, + onConfirm, +}) => { + const [anomalyInfo, setAnomalyInfo] = useState({ + anatomyRegion: '', + anomalyType: '', + laterality: '', + vitalReaction: '', + }); + + const [availableTypes, setAvailableTypes] = useState([]); + + // Update available anomaly types when anatomy region changes + useEffect(() => { + if (anomalyInfo.anatomyRegion) { + setAvailableTypes(ANOMALY_TYPES[anomalyInfo.anatomyRegion] || []); + } else { + setAvailableTypes([]); + } + // Reset anomaly type when anatomy region changes + setAnomalyInfo(prev => ({ ...prev, anomalyType: '' })); + }, [anomalyInfo.anatomyRegion]); + + const handleConfirm = () => { + if ( + anomalyInfo.anatomyRegion && + anomalyInfo.anomalyType && + anomalyInfo.laterality && + anomalyInfo.vitalReaction + ) { + onConfirm(anomalyInfo); + // Reset form + setAnomalyInfo({ + anatomyRegion: '', + anomalyType: '', + laterality: '', + vitalReaction: '', + }); + } + }; + + const isFormValid = + anomalyInfo.anatomyRegion && + anomalyInfo.anomalyType && + anomalyInfo.laterality && + anomalyInfo.vitalReaction; + + return ( + + + + 添加异常信息 + +
+ {/* 解剖部位 */} +
+ + +
+ + {/* 异常类型 */} +
+ + +
+ + {/* 侧别 */} +
+ + +
+ + {/* 生活反应 */} +
+ + +
+
+ +
+ + +
+
+
+ ); +}; + +export default AnomalyDialog; diff --git a/extensions/cornerstone/src/components/AnomalyDialog/anomalyData.ts b/extensions/cornerstone/src/components/AnomalyDialog/anomalyData.ts new file mode 100644 index 00000000000..c0b0cf4b80b --- /dev/null +++ b/extensions/cornerstone/src/components/AnomalyDialog/anomalyData.ts @@ -0,0 +1,96 @@ +export const ANATOMY_REGIONS = ['头部', '胸腹', '四肢'] as const; + +export const ANOMALY_TYPES: Record = { + 头部: [ + '颅骨局限性凹陷性骨折', + '颅骨对称粉碎性/崩裂性骨折', + '鼻骨骨折', + '急性硬膜下血肿', + '硬膜外血肿', + '外伤性蛛网膜下腔出血', + '上颌骨骨折(Le Fort I/II/III)', + '眶壁爆裂性骨折', + '对冲性脑挫伤', + '舌骨骨折', + '直接打击脑挫伤', + '甲状软骨骨折', + '慢性硬膜下血肿', + '颅内积气(气脑症)', + '脑干挫伤/出血(原发性)', + '弥漫性轴索损伤(DAI)', + '枪弹创(接触射击)', + '颈部软组织肿胀/积气', + '枪弹创(远距离射击)', + '砍创(头部)', + '霰弹枪头部伤', + '爆炸破片伤(头部)', + '基底节对称性低密度', + '动脉瘤性蛛网膜下腔出血', + '儿童虐待性头部损伤', + '雷击头部损伤', + ], + 胸腹: [ + '肋骨骨折(连枷胸)', + '血气胸(大量)', + '脾破裂', + '肝破裂', + '张力性气胸', + '心包填塞', + '肺挫伤', + '肾破裂', + '心脏破裂(钝性)', + '主动脉峡部破裂', + '膈肌破裂', + '创伤性窒息', + '胃肠道破裂', + '脂肪栓塞综合征', + '心脏挫伤', + '气管破裂', + '急性肾衰竭(挤压综合征)', + '弥漫性腹膜炎', + '主动脉夹层(Stanford B型)', + '弥漫性血管内凝血(DIC)', + '肺栓塞', + '食管静脉曲张破裂出血', + '多器官功能衰竭(MODS)', + '应激性溃疡出血', + '心源性休克', + '脓毒症/感染性休克', + ], + 四肢: [ + '股骨干粉碎性骨折', + '骨盆骨折(垂直剪切型)', + '胫腓骨双骨折', + '跟骨粉碎性骨折', + '踝关节骨折脱位', + '下肢离断', + '上肢离断', + '腘动脉断裂', + '锁骨下动脉断裂', + '挤压综合征', + '骨筋膜室综合征', + '注射痕迹(静脉吸毒)', + '桡动脉断裂(割腕)', + '动物咬伤', + '蛇咬伤(毒蛇)', + '电击伤', + '冻伤(四肢坏疽)', + '气性坏疽', + '慢性骨髓炎', + ], +}; + +export const LATERALITY = ['左侧', '右侧', '双侧', '无'] as const; + +export const VITAL_REACTION = ['有', '无'] as const; + +export interface AnomalyInfo { + anatomyRegion: string; + anomalyType: string; + laterality: string; + vitalReaction: string; +} + +export function formatAnomalyDescription(info: AnomalyInfo): string { + return `${info.anatomyRegion}|${info.anomalyType}|${info.laterality}|${info.vitalReaction}`; +} diff --git a/extensions/cornerstone/src/components/AnomalyDialog/index.ts b/extensions/cornerstone/src/components/AnomalyDialog/index.ts new file mode 100644 index 00000000000..5b291319a09 --- /dev/null +++ b/extensions/cornerstone/src/components/AnomalyDialog/index.ts @@ -0,0 +1,9 @@ +export { AnomalyDialog } from './AnomalyDialog'; +export { + ANATOMY_REGIONS, + ANOMALY_TYPES, + LATERALITY, + VITAL_REACTION, + type AnomalyInfo, + formatAnomalyDescription, +} from './anomalyData'; diff --git a/extensions/cornerstone/src/components/index.ts b/extensions/cornerstone/src/components/index.ts index 7557a4936dd..576462154cd 100644 --- a/extensions/cornerstone/src/components/index.ts +++ b/extensions/cornerstone/src/components/index.ts @@ -8,5 +8,6 @@ export * from './StudyMeasurementsActions'; export * from './MeasurementsOrAdditionalFindings'; export * from './WindowLevelActionMenu'; export * from './ModalityLoadBadge'; +export * from './AnomalyDialog'; export { DicomUpload }; diff --git a/extensions/cornerstone/src/customizations/segmentationPanelCustomization.tsx b/extensions/cornerstone/src/customizations/segmentationPanelCustomization.tsx index 124b507fa40..864f6cc5240 100644 --- a/extensions/cornerstone/src/customizations/segmentationPanelCustomization.tsx +++ b/extensions/cornerstone/src/customizations/segmentationPanelCustomization.tsx @@ -32,14 +32,16 @@ export default function getSegmentationPanelCustomization({ commandsManager, ser 'panelSegmentation.showAddSegment': true, 'panelSegmentation.onSegmentationAdd': async ({ segmentationRepresentationType = SegmentationRepresentations.Labelmap, + anomalyInfo, }) => { const { viewportGridService } = servicesManager.services; const viewportId = viewportGridService.getState().activeViewportId; if (segmentationRepresentationType === SegmentationRepresentations.Labelmap) { - commandsManager.run('createLabelmapForViewport', { viewportId }); + commandsManager.run('createLabelmapForViewport', { viewportId, anomalyInfo }); } else if (segmentationRepresentationType === SegmentationRepresentations.Contour) { const segmentationId = await commandsManager.run('createContourForViewport', { viewportId, + anomalyInfo, }); // Override the default (i.e. hydrated RTSTRUCT) style for contours if the global CONTOUR type // renderFill style property has not been changed. @@ -90,7 +92,7 @@ export default function getSegmentationPanelCustomization({ commandsManager, ser ); } }, - 'panelSegmentation.tableMode': 'collapsed', + 'panelSegmentation.tableMode': 'expanded', 'panelSegmentation.readableText': { // the values will appear in this order min: 'Min Value', diff --git a/extensions/cornerstone/src/customizations/segmentationToolbarCustomization.ts b/extensions/cornerstone/src/customizations/segmentationToolbarCustomization.ts index 0eea2c1b7e1..c6681bb65ad 100644 --- a/extensions/cornerstone/src/customizations/segmentationToolbarCustomization.ts +++ b/extensions/cornerstone/src/customizations/segmentationToolbarCustomization.ts @@ -870,10 +870,7 @@ export const segmentationToolboxSections: Record = { [TOOLBAR_SECTIONS.contourSegmentationUtilities]: ['ContourUtilities'], LabelMapTools: [ - 'LabelmapSlicePropagation', 'BrushTools', - 'MarkerLabelmap', - 'ClickSegment', 'Shapes', 'LabelMapEditWithContour', ], diff --git a/extensions/cornerstone/src/panels/PanelSegmentation.tsx b/extensions/cornerstone/src/panels/PanelSegmentation.tsx index c43a08cb0a2..5fc000f5c4b 100644 --- a/extensions/cornerstone/src/panels/PanelSegmentation.tsx +++ b/extensions/cornerstone/src/panels/PanelSegmentation.tsx @@ -1,4 +1,4 @@ -import React, { useCallback, useEffect } from 'react'; +import React, { useCallback, useEffect, useState } from 'react'; import { IconPresentationProvider, Popover, diff --git a/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts b/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts index a1dd3226449..258485195eb 100644 --- a/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts +++ b/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts @@ -428,6 +428,12 @@ class SegmentationService extends PubSubService implements ISegmentationServiceI segments?: { [segmentIndex: number]: Partial }; FrameOfReferenceUID?: string; label?: string; + anomalyInfo?: { + anatomyRegion: string; + anomalyType: string; + laterality: string; + vitalReaction: string; + }; } ): Promise { return this._createSegmentationForDisplaySet(displaySet, LABELMAP, options); @@ -440,6 +446,12 @@ class SegmentationService extends PubSubService implements ISegmentationServiceI segments?: { [segmentIndex: number]: Partial }; FrameOfReferenceUID?: string; label?: string; + anomalyInfo?: { + anatomyRegion: string; + anomalyType: string; + laterality: string; + vitalReaction: string; + }; } ): Promise { return this._createSegmentationForDisplaySet(displaySet, CONTOUR, options); @@ -461,6 +473,12 @@ class SegmentationService extends PubSubService implements ISegmentationServiceI segments?: { [segmentIndex: number]: Partial }; FrameOfReferenceUID?: string; label?: string; + anomalyInfo?: { + anatomyRegion: string; + anomalyType: string; + laterality: string; + vitalReaction: string; + }; } ): Promise { // Todo: random does not makes sense, make this better, like @@ -480,10 +498,24 @@ class SegmentationService extends PubSubService implements ISegmentationServiceI const derivedImages = await imageLoader.createAndCacheDerivedLabelmapImages(referenceImageIds); const segs = this.getSegmentations(); - const label = options?.label || `Segmentation ${segs.length + 1}`; + + // Use anomaly type as label if anomalyInfo is provided, otherwise use default + let label = options?.label; + if (options?.anomalyInfo) { + label = options.anomalyInfo.anomalyType; + } else { + label = label || `异常 ${segs.length + 1}`; + } const segImageIds = derivedImages.map(image => image.imageId); + // Format anomaly description if provided + let description = ''; + if (options?.anomalyInfo) { + const { anatomyRegion, anomalyType, laterality, vitalReaction } = options.anomalyInfo; + description = `${anatomyRegion}|${anomalyType}|${laterality}|${vitalReaction}`; + } + const segmentationPublicInput: cstTypes.SegmentationPublicInput = { segmentationId, representation: { @@ -502,12 +534,12 @@ class SegmentationService extends PubSubService implements ISegmentationServiceI ? options.segments : { 1: { - label: `${i18n.t('Segment')} 1`, + label: `Anomaly 1`, active: true, }, }, cachedStats: { - info: `S${displaySet.SeriesNumber}: ${displaySet.SeriesDescription}`, + info: description || `S${displaySet.SeriesNumber}: ${displaySet.SeriesDescription}`, }, }, }; @@ -601,6 +633,13 @@ class SegmentationService extends PubSubService implements ISegmentationServiceI return; } + // Skip undefined segmentInfo with warning + if (!segmentInfo) { + console.warn('SegmentationService: segmentInfo is undefined at index', index, '- skipping'); + colorLUT.push([0, 0, 0, 0]); + return; + } + const { SegmentedPropertyCategoryCodeSequence, SegmentNumber, diff --git a/extensions/cornerstone/src/utils/createSegmentationForViewport.ts b/extensions/cornerstone/src/utils/createSegmentationForViewport.ts index 24e40e867ab..68a887be82c 100644 --- a/extensions/cornerstone/src/utils/createSegmentationForViewport.ts +++ b/extensions/cornerstone/src/utils/createSegmentationForViewport.ts @@ -19,6 +19,12 @@ type CreateSegmentationForViewportOptions = { label?: string; segmentationId?: string; createInitialSegment?: boolean; + anomalyInfo?: { + anatomyRegion: string; + anomalyType: string; + laterality: string; + vitalReaction: string; + }; }; type CreateSegmentationForViewportParams = { @@ -65,6 +71,7 @@ export async function createSegmentationForViewport( label, segmentationId, segments: _createDefaultSegments(options.createInitialSegment), + anomalyInfo: options.anomalyInfo, }; // This will create the segmentation and register it as a display set diff --git a/extensions/default/package.json b/extensions/default/package.json index dc54607a264..7567dece0b0 100644 --- a/extensions/default/package.json +++ b/extensions/default/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-default", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "Common/default features and functionality for basic image viewing", "author": "OHIF Core Team", "license": "MIT", diff --git a/extensions/default/src/Actions/createReportAsync.tsx b/extensions/default/src/Actions/createReportAsync.tsx index 1718a7bf5f8..7bf32d64b59 100644 --- a/extensions/default/src/Actions/createReportAsync.tsx +++ b/extensions/default/src/Actions/createReportAsync.tsx @@ -17,10 +17,24 @@ async function createReportAsync({ return; } + console.log('naturalizedReport:', naturalizedReport); + + // Check if naturalizedReport has dataset property (for segmentation) + if (naturalizedReport.dataset) { + if (!naturalizedReport.dataset.InstanceNumber) { + console.warn('Dataset missing InstanceNumber, setting default value'); + naturalizedReport.dataset.InstanceNumber = 1; + } + } + // addInstances is called by the store command (storeMeasurements/storeSegmentation), // so the display set should already exist at this point. const displaySet = displaySetService.getMostRecentDisplaySet(); + if (!displaySet) { + throw new Error('No display set found for segmentation'); + } + const displaySetInstanceUID = displaySet.displaySetInstanceUID; uiNotificationService.show({ diff --git a/extensions/default/src/DicomLocalDataSource/index.js b/extensions/default/src/DicomLocalDataSource/index.js index 3ada3776769..dbe10c87799 100644 --- a/extensions/default/src/DicomLocalDataSource/index.js +++ b/extensions/default/src/DicomLocalDataSource/index.js @@ -182,9 +182,40 @@ function createDicomLocalApi(dicomLocalConfig) { dicom: naturalizedReport => { const reportBlob = datasetToDicomBlob(naturalizedReport); - //Create a URL for the binary. - var objectUrl = URL.createObjectURL(reportBlob); - window.location.assign(objectUrl); + // Get the file information + const StudyInstanceUID = naturalizedReport.StudyInstanceUID; + const SeriesInstanceUID = naturalizedReport.SeriesInstanceUID; + const SOPInstanceUID = naturalizedReport.SOPInstanceUID; + const Modality = naturalizedReport.Modality || 'SEG'; + const SeriesDescription = naturalizedReport.SeriesDescription || 'Segmentation'; + + // Create filename + const filename = `${SeriesDescription}_${SOPInstanceUID}.dcm`; + + // Try to upload to server via API + if (StudyInstanceUID && typeof window !== 'undefined' && window.uploadDicomFile) { + // Use custom upload function if available (provided by parent application) + const formData = new FormData(); + formData.append('file', reportBlob, filename); + formData.append('StudyInstanceUID', StudyInstanceUID); + formData.append('SeriesInstanceUID', SeriesInstanceUID); + formData.append('Modality', Modality); + + window.uploadDicomFile(formData) + .then(() => { + console.log('DICOM file uploaded successfully to server'); + }) + .catch(error => { + console.error('Failed to upload DICOM file to server:', error); + // Fallback to download if upload fails + const objectUrl = URL.createObjectURL(reportBlob); + window.location.assign(objectUrl); + }); + } else { + // Fallback: download the file + const objectUrl = URL.createObjectURL(reportBlob); + window.location.assign(objectUrl); + } }, }, getImageIdsForDisplaySet(displaySet) { diff --git a/extensions/default/src/DicomWebDataSource/index.ts b/extensions/default/src/DicomWebDataSource/index.ts index 56fcb28e453..272f93b8b7c 100644 --- a/extensions/default/src/DicomWebDataSource/index.ts +++ b/extensions/default/src/DicomWebDataSource/index.ts @@ -36,6 +36,26 @@ const ImplementationVersionName = 'OHIF-3.11.0'; const metadataProvider = classes.MetadataProvider; +// Global variable to store caseId +let globalCaseId = null; +let refreshCallback = null; + +// Listen for postMessage from parent window to update caseId +if (typeof window !== 'undefined') { + window.addEventListener('message', (event) => { + if (event.data && event.data.type === 'SET_CASE_ID') { + globalCaseId = event.data.caseId; + console.log('OHIF index.ts: Updated caseId from postMessage:', globalCaseId); + + // Trigger query refresh if callback is registered + if (refreshCallback) { + console.log('OHIF index.ts: Triggering query refresh'); + refreshCallback(); + } + } + }); +} + export type DicomWebConfig = { /** Data source name */ name: string; @@ -198,6 +218,97 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { const implementation = { initialize: ({ params, query }) => { + console.log('OHIF initialize: window.location.href:', window.location.href); + console.log('OHIF initialize: window.location.search:', window.location.search); + + // Try to get caseId from URL hash first (highest priority for iframe URLs) + try { + const hash = window.location.hash; + console.log('OHIF initialize: URL hash:', hash); + if (hash) { + const hashParams = new URLSearchParams(hash.substring(1)); + globalCaseId = hashParams.get('caseId'); + console.log('OHIF: Retrieved caseId from URL hash:', globalCaseId); + } + } catch (e) { + console.warn('Could not parse URL hash:', e); + } + + // Try to get caseId from window.location.search + if (!globalCaseId) { + try { + console.log('OHIF initialize: Trying window.location.search'); + const urlParams = new URLSearchParams(window.location.search); + globalCaseId = urlParams.get('caseId'); + console.log('OHIF: Retrieved caseId from window.location.search:', globalCaseId); + } catch (e) { + console.warn('Could not parse window.location.search:', e); + } + } + + // 如果从URL获取到了caseId,清除sessionStorage中的旧caseId,确保使用最新的 + if (globalCaseId) { + try { + sessionStorage.removeItem('ohifCaseId'); + console.log('OHIF: Cleared old caseId from sessionStorage during initialization'); + } catch (e) { + console.warn('Could not clear sessionStorage:', e); + } + } + + // Try to get caseId from sessionStorage (only if not found in URL) + if (!globalCaseId) { + try { + globalCaseId = sessionStorage.getItem('ohifCaseId'); + console.log('OHIF: Retrieved caseId from sessionStorage:', globalCaseId); + } catch (e) { + console.warn('Could not read from sessionStorage:', e); + } + } + + // Listen for postMessage from parent window to set caseId + window.addEventListener('message', (event) => { + if (event.data && event.data.type === 'SET_CASE_ID') { + globalCaseId = event.data.caseId; + console.log('OHIF: Received caseId from parent window:', globalCaseId); + // 清除sessionStorage中的旧caseId,确保使用最新的caseId + try { + sessionStorage.removeItem('ohifCaseId'); + console.log('OHIF: Cleared old caseId from sessionStorage'); + } catch (e) { + console.warn('Could not clear sessionStorage:', e); + } + // 只有当caseId不是default-case时才存储到sessionStorage + if (globalCaseId && globalCaseId !== 'default-case') { + try { + sessionStorage.setItem('ohifCaseId', globalCaseId); + console.log('OHIF: Stored caseId to sessionStorage:', globalCaseId); + } catch (e) { + console.warn('Could not write to sessionStorage:', e); + } + } else { + console.log('OHIF: caseId is default-case, not storing to sessionStorage'); + } + // 不刷新页面,直接使用新的caseId + console.log('OHIF: CaseId updated without reload, will use for next requests'); + // 触发页面刷新以重新加载study列表 + setTimeout(() => { + console.log('OHIF: Reloading page to refresh study list with new caseId'); + window.location.reload(); + }, 100); + } + if (event.data && event.data.type === 'REFRESH_STUDIES') { + console.log('OHIF: Refreshing studies with caseId:', globalCaseId); + // 刷新页面以重新加载study列表 + window.location.reload(); + } + }); + + // 如果没有caseId,则等待父页面发送SET_CASE_ID消息 + if (!globalCaseId) { + console.log('OHIF: No caseId found, waiting for parent window to send caseId'); + } + if (dicomWebConfig.onConfiguration && typeof dicomWebConfig.onConfiguration === 'function') { dicomWebConfig = dicomWebConfig.onConfiguration(dicomWebConfig, { params, @@ -245,8 +356,37 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { } }; + // Add caseId to qidoRoot if present in URL + let qidoRoot = dicomWebConfig.qidoRoot; + let caseId = null; + try { + const urlParams = new URLSearchParams(window.location.search); + caseId = urlParams.get('caseId'); + } catch (e) { + console.warn('Could not parse URL params:', e); + } + + // Try parent window URL if not found + if (!caseId && window.parent !== window) { + try { + const parentUrlParams = new URLSearchParams(window.parent.location.search); + caseId = parentUrlParams.get('caseId'); + } catch (e) { + console.warn('Could not access parent window URL:', e); + } + } + + // 注释掉错误的qidoRoot修改逻辑 + // if (caseId && qidoRoot) { + // // Append caseId as query parameter to the base URL + // const url = new URL(qidoRoot, window.location.origin); + // url.searchParams.set('caseId', caseId); + // qidoRoot = url.toString(); + // console.log('Modified qidoRoot with caseId:', qidoRoot); + // } + qidoConfig = { - url: dicomWebConfig.qidoRoot, + url: qidoRoot, staticWado: dicomWebConfig.staticWado, singlepart: dicomWebConfig.singlepart, headers: userAuthenticationService.getAuthorizationHeader(), @@ -261,6 +401,8 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { headers: userAuthenticationService.getAuthorizationHeader(), errorInterceptor: errorHandler.getHTTPErrorHandler(), supportsFuzzyMatching: dicomWebConfig.supportsFuzzyMatching, + // 添加caseId到WADO请求 + queryParams: globalCaseId ? { caseId: globalCaseId } : {}, }; // TODO -> Two clients sucks, but its better than 1000. @@ -272,11 +414,23 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { wadoDicomWebClient = dicomWebConfig.staticWado ? new StaticWadoClient(wadoConfig) : new api.DICOMwebClient(wadoConfig); + + // 复制配置并添加caseId + dicomWebConfigCopy = { ...dicomWebConfig }; + if (globalCaseId) { + dicomWebConfigCopy.caseId = globalCaseId; + } }, query: { studies: { mapParams: mapParams.bind(), search: async function (origParams) { + // 如果没有caseId,返回空列表,等待caseId设置后再刷新 + if (!globalCaseId) { + console.log('OHIF: No caseId available, returning empty list and waiting for caseId'); + return []; + } + qidoDicomWebClient.headers = getAuthorizationHeader(); const { studyInstanceUid, seriesInstanceUid, ...mappedParams } = mapParams(origParams, { @@ -284,6 +438,10 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { supportsWildcard: dicomWebConfig.supportsWildcard, }) || {}; + // 添加caseId到查询参数进行过滤 + mappedParams.caseId = globalCaseId; + console.log('Adding caseId to DICOMweb query for filtering:', globalCaseId); + const results = await qidoSearch(qidoDicomWebClient, undefined, undefined, mappedParams); return processResults(results); @@ -294,7 +452,7 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { // mapParams: mapParams.bind(), search: async function (studyInstanceUid) { qidoDicomWebClient.headers = getAuthorizationHeader(); - const results = await seriesInStudy(qidoDicomWebClient, studyInstanceUid); + const results = await seriesInStudy(qidoDicomWebClient, studyInstanceUid, globalCaseId); return processSeriesResults(results); }, @@ -303,6 +461,12 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { instances: { search: (studyInstanceUid, queryParameters) => { qidoDicomWebClient.headers = getAuthorizationHeader(); + // 添加caseId到查询参数 + if (globalCaseId) { + queryParameters = queryParameters || {}; + queryParameters.caseId = globalCaseId; + console.log('Adding caseId to instances query:', globalCaseId); + } return qidoSearch.call( undefined, qidoDicomWebClient, @@ -385,7 +549,10 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { } const StudyInstanceUID = instance.StudyInstanceUID; - const SeriesInstanceUID = instance.SeriesInstanceUID; + // For SEG instances, use referencedSeriesInstanceUID to request CT instances + const SeriesInstanceUID = instance.Modality === 'SEG' + ? instance.referencedSeriesInstanceUID + : instance.SeriesInstanceUID; const SOPInstanceUID = instance.SOPInstanceUID || instance.SopInstanceUID; if (!StudyInstanceUID || !SeriesInstanceUID || !SOPInstanceUID) { @@ -403,6 +570,7 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { studyInstanceUID: StudyInstanceUID, seriesInstanceUID: SeriesInstanceUID, sopInstanceUID: SOPInstanceUID, + caseId: globalCaseId, }); if (cancelled) { @@ -565,6 +733,20 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { const instancesPerSeries = {}; naturalizedInstancesMetadata.forEach(instance => { + // Debug: Check if ReferencedSeriesSequence is present in naturalized metadata + if (instance.Modality === 'SEG') { + console.log('SEG instance naturalized metadata:', { + SOPInstanceUID: instance.SOPInstanceUID, + Modality: instance.Modality, + SOPClassUID: instance.SOPClassUID, + hasReferencedSeriesSequence: !!instance.ReferencedSeriesSequence, + ReferencedSeriesSequence: instance.ReferencedSeriesSequence, + allKeys: Object.keys(instance), + has00081115: !!instance['00081115'], + has0020111a: !!instance['0020111a'] + }); + } + if (!seriesSummaryMetadata[instance.SeriesInstanceUID]) { seriesSummaryMetadata[instance.SeriesInstanceUID] = { StudyInstanceUID: instance.StudyInstanceUID, @@ -602,6 +784,14 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { // grab all the series metadata const seriesMetadata = Object.values(seriesSummaryMetadata); + + // Force update series metadata to ensure SOPClassUID is present + console.log('Force updating series metadata for study:', StudyInstanceUID); + console.log('Series metadata count:', seriesMetadata.length); + seriesMetadata.forEach(series => { + console.log('Series:', series.SeriesInstanceUID, 'Modality:', series.Modality, 'SOPClassUID:', series.SOPClassUID); + }); + DicomMetadataStore.addSeriesMetadata(seriesMetadata, madeInClient); Object.keys(instancesPerSeries).forEach(seriesInstanceUID => @@ -621,6 +811,11 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { ) => { const enableStudyLazyLoad = true; wadoDicomWebClient.headers = generateWadoHeader(excludeTransferSyntax); + + // Add caseId to dicomWebConfig for retrieveStudyMetadata + const dicomWebConfigWithCaseId = { ...dicomWebConfig, caseId: globalCaseId }; + console.log('retrieveStudyMetadata with dicomWebConfigWithCaseId:', dicomWebConfigWithCaseId); + // Get Series const { preLoadData: seriesSummaryMetadata, promises: seriesPromises } = await retrieveStudyMetadata( @@ -630,7 +825,7 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { filters, sortCriteria, sortFunction, - dicomWebConfig + dicomWebConfigWithCaseId ); // Async load series, store as retrieved @@ -648,6 +843,20 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { // Adding instanceMetadata to OHIF MetadataProvider naturalizedInstances.forEach(instance => { + // Debug: Check if ReferencedSeriesSequence is present in naturalized metadata + if (instance.Modality === 'SEG') { + console.log('SEG instance naturalized metadata (storeInstances):', { + SOPInstanceUID: instance.SOPInstanceUID, + Modality: instance.Modality, + SOPClassUID: instance.SOPClassUID, + hasReferencedSeriesSequence: !!instance.ReferencedSeriesSequence, + ReferencedSeriesSequence: instance.ReferencedSeriesSequence, + allKeys: Object.keys(instance), + has00081115: !!instance['00081115'], + has0020111a: !!instance['0020111a'] + }); + } + setNonEnumerableInstanceProperty(instance, 'wadoRoot', dicomWebConfig.wadoRoot); setNonEnumerableInstanceProperty(instance, 'wadoUri', dicomWebConfig.wadoUri); @@ -695,6 +904,13 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { aSeries.StudyInstanceUID = StudyInstanceUID; }); + // Force update series metadata to ensure SOPClassUID is present + console.log('Force updating series metadata for study (async):', StudyInstanceUID); + console.log('Series metadata count (async):', seriesSummaryMetadata.length); + seriesSummaryMetadata.forEach(series => { + console.log('Series (async):', series.SeriesInstanceUID, 'Modality:', series.Modality, 'SOPClassUID:', series.SOPClassUID); + }); + DicomMetadataStore.addSeriesMetadata(seriesSummaryMetadata, madeInClient); let completedSeriesCount = 0; @@ -772,7 +988,7 @@ function createDicomWebApi(dicomWebConfig: DicomWebConfig, servicesManager) { const imageIds = getImageId({ instance, frame, - config: dicomWebConfig, + config: dicomWebConfigCopy, }); return imageIds; }, diff --git a/extensions/default/src/DicomWebDataSource/qido.js b/extensions/default/src/DicomWebDataSource/qido.js index 38d3773b800..177d081bfbe 100644 --- a/extensions/default/src/DicomWebDataSource/qido.js +++ b/extensions/default/src/DicomWebDataSource/qido.js @@ -57,6 +57,10 @@ function processResults(qidoStudies) { description: getString(qidoStudy['00081030']) || '', modalities: getString(getModalities(qidoStudy['00080060'], qidoStudy['00080061'])) || '', referringPhysicianName: utils.formatPN(getName(qidoStudy['00080090'])) || '', // Referring Physician's Name + // Add custom fields for folder information + folderName: getString(qidoStudy['00081030']) || '', + seriesCount: 0, + totalSlices: Number(getString(qidoStudy['00201208'])) || 0, }) ); @@ -116,9 +120,10 @@ async function search(dicomWebClient, studyInstanceUid, seriesInstanceUid, query /** * * @param {string} studyInstanceUID - ID of study to return a list of series for + * @param {string} caseId - Optional caseId for filtering * @returns {Promise} - Resolves SeriesMetadata[] in study */ -export function seriesInStudy(dicomWebClient, studyInstanceUID) { +export function seriesInStudy(dicomWebClient, studyInstanceUID, caseId) { // Series Description // Already included? const commaSeparatedFields = ['0008103E', '00080021'].join(','); @@ -126,15 +131,93 @@ export function seriesInStudy(dicomWebClient, studyInstanceUID) { includefield: commaSeparatedFields, }; - return dicomWebClient.searchForSeries({ studyInstanceUID, queryParams }); + if (caseId) { + queryParams.caseId = caseId; + console.log('OHIF qido.js: Adding caseId to series query:', caseId); + } + + console.log('OHIF qido.js: DicomWebClient object:', dicomWebClient); + console.log('OHIF qido.js: DicomWebClient.qidoRoot:', dicomWebClient.qidoRoot); + console.log('OHIF qido.js: DicomWebClient.url:', dicomWebClient.url); + console.log('OHIF qido.js: DicomWebClient config:', dicomWebClient.config); + const result = dicomWebClient.searchForSeries({ studyInstanceUID, queryParams }); + console.log('OHIF qido.js: Series query initiated for study:', studyInstanceUID); + console.log('OHIF qido.js: DicomWebClient URL:', dicomWebClient.qidoRoot); + return result; } +// Global variable to store caseId from postMessage +let receivedCaseId = null; + +// Listen for postMessage from parent window +window.addEventListener('message', (event) => { + if (event.data && event.data.type === 'SET_CASE_ID') { + receivedCaseId = event.data.caseId; + console.log('OHIF qido.js: Received caseId via postMessage:', receivedCaseId); + } +}); + export default function searchStudies(server, filter) { const queryParams = getQIDOQueryParams(filter, server.qidoSupportsIncludeField); + + console.log('OHIF qido.js: window.location.search:', window.location.search); + console.log('OHIF qido.js: window.location.href:', window.location.href); + + // Add caseId from URL if present + // Try multiple sources: URL params, hash, postMessage, parent window URL, parent window global variable + let caseId = null; + + // Try current window URL search params + const urlParams = new URLSearchParams(window.location.search); + caseId = urlParams.get('caseId'); + console.log('OHIF qido.js: caseId from URL search params:', caseId); + + // If not found, try hash + if (!caseId && window.location.hash) { + const hashParams = new URLSearchParams(window.location.hash.substring(1)); + caseId = hashParams.get('caseId'); + console.log('OHIF qido.js: Got caseId from hash:', caseId); + } + + // If not found, try postMessage + if (!caseId && receivedCaseId) { + caseId = receivedCaseId; + console.log('OHIF qido.js: Got caseId from postMessage:', caseId); + } + + // If not found, try parent window URL + if (!caseId && window.parent !== window) { + try { + const parentUrlParams = new URLSearchParams(window.parent.location.search); + caseId = parentUrlParams.get('caseId'); + console.log('OHIF qido.js: Got caseId from parent window URL:', caseId); + } catch (e) { + console.warn('OHIF qido.js: Could not access parent window URL:', e); + } + } + + // If still not found, try parent window global variable + if (!caseId && window.parent !== window) { + try { + caseId = window.parent.currentCaseId; + console.log('OHIF qido.js: Got caseId from parent window global variable:', caseId); + } catch (e) { + console.warn('OHIF qido.js: Could not access parent window global variable:', e); + } + } + + if (caseId) { + console.log('OHIF qido.js: Adding caseId to query:', caseId); + queryParams.caseId = caseId; + } else { + console.warn('OHIF qido.js: caseId is still undefined after trying all sources'); + } + const options = { queryParams, }; + console.log('OHIF qido.js: Query params sent to server:', queryParams); return dicomWeb.searchForStudies(options).then(resultDataToStudies); } diff --git a/extensions/default/src/DicomWebDataSource/retrieveStudyMetadata.js b/extensions/default/src/DicomWebDataSource/retrieveStudyMetadata.js index 9c3c5901fdc..6dc635f851a 100644 --- a/extensions/default/src/DicomWebDataSource/retrieveStudyMetadata.js +++ b/extensions/default/src/DicomWebDataSource/retrieveStudyMetadata.js @@ -54,7 +54,8 @@ export function retrieveStudyMetadata( enableStudyLazyLoad, filters, sortCriteria, - sortFunction + sortFunction, + dicomWebConfig ); } else { // Create a promise to handle the data retrieval @@ -65,7 +66,8 @@ export function retrieveStudyMetadata( enableStudyLazyLoad, filters, sortCriteria, - sortFunction + sortFunction, + dicomWebConfig ).then(function (data) { resolve(data); }, reject); diff --git a/extensions/default/src/DicomWebDataSource/utils/StaticWadoClient.ts b/extensions/default/src/DicomWebDataSource/utils/StaticWadoClient.ts index a34cc9d9a94..db90a8f4956 100644 --- a/extensions/default/src/DicomWebDataSource/utils/StaticWadoClient.ts +++ b/extensions/default/src/DicomWebDataSource/utils/StaticWadoClient.ts @@ -128,11 +128,16 @@ export default class StaticWadoClient extends api.DICOMwebClient { } const searchResult = await super.searchForSeries(options); + console.log('StaticWadoClient searchForSeries: searchResult count:', searchResult.length); + console.log('StaticWadoClient searchForSeries: searchResult:', searchResult); + const { queryParams } = options; + console.log('StaticWadoClient searchForSeries: queryParams:', queryParams); if (!queryParams) { return searchResult; } const lowerParams = this.toLowerParams(queryParams); + console.log('StaticWadoClient searchForSeries: lowerParams:', lowerParams); const filtered = searchResult.filter(series => { for (const key of Object.keys(StaticWadoClient.seriesFilterKeys)) { @@ -143,9 +148,45 @@ export default class StaticWadoClient extends api.DICOMwebClient { return true; }); + console.log('StaticWadoClient searchForSeries: filtered count:', filtered.length); + console.log('StaticWadoClient searchForSeries: filtered:', filtered); return filtered; } + /** + * Override retrieveSeriesMetadata to add queryParams to the URL + * This is needed for caseId filtering in instances metadata queries + */ + public async retrieveSeriesMetadata(options) { + if (!this.staticWado || !options.queryParams) { + return super.retrieveSeriesMetadata(options); + } + + console.log('StaticWadoClient retrieveSeriesMetadata: Adding queryParams to URL:', options.queryParams); + + // Build URL with queryParams + const { studyInstanceUID, seriesInstanceUID, queryParams } = options; + const url = new URL(`${this.config.url}/studies/${studyInstanceUID}/series/${seriesInstanceUID}/metadata`); + + // Add queryParams to URL + Object.entries(queryParams).forEach(([key, value]) => { + url.searchParams.append(key, String(value)); + }); + + console.log('StaticWadoClient retrieveSeriesMetadata: Final URL:', url.toString()); + + // Make request with custom URL + const response = await fetch(url.toString(), { + headers: this.config.headers || {}, + }); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + return response.json(); + } + /** * Compares values, matching any instance of desired to any instance of * actual by recursively go through the paired set of values. That is, diff --git a/extensions/default/src/DicomWebDataSource/utils/getWADORSImageId.js b/extensions/default/src/DicomWebDataSource/utils/getWADORSImageId.js index 4276914ad74..fa1f5f5aca2 100644 --- a/extensions/default/src/DicomWebDataSource/utils/getWADORSImageId.js +++ b/extensions/default/src/DicomWebDataSource/utils/getWADORSImageId.js @@ -8,7 +8,15 @@ function buildInstanceFrameWadoRsUri(instance, config, frame) { frame = frame || 1; - return `${baseWadoRsUri}/frames/${frame}`; + // 先添加frames路径,然后添加查询参数 + const uri = `${baseWadoRsUri}/frames/${frame}`; + + // 如果有caseId,添加查询参数 + if (config.caseId) { + return `${uri}?caseId=${config.caseId}`; + } + + return uri; } // function getWADORSImageUrl(instance, frame) { diff --git a/extensions/default/src/DicomWebDataSource/utils/retrieveMetadataFiltered.js b/extensions/default/src/DicomWebDataSource/utils/retrieveMetadataFiltered.js index 5adc635b5a7..063749be780 100644 --- a/extensions/default/src/DicomWebDataSource/utils/retrieveMetadataFiltered.js +++ b/extensions/default/src/DicomWebDataSource/utils/retrieveMetadataFiltered.js @@ -10,6 +10,7 @@ import RetrieveMetadata from '../wado/retrieveMetadata'; * @param {string} [filters.seriesInstanceUID] Series instance uid to filter results against * @param {function} [sortCriteria] Sort criteria function * @param {function} [sortFunction] Sort function + * @param {object} [dicomWebConfig] DICOMweb configuration including caseId * * @returns */ @@ -19,7 +20,8 @@ function retrieveMetadataFiltered( enableStudyLazyLoad, filters, sortCriteria, - sortFunction + sortFunction, + dicomWebConfig = {} ) { const { seriesInstanceUID } = filters; @@ -35,7 +37,8 @@ function retrieveMetadataFiltered( enableStudyLazyLoad, seriesSpecificFilters, sortCriteria, - sortFunction + sortFunction, + dicomWebConfig ); }); diff --git a/extensions/default/src/DicomWebDataSource/wado/retrieveMetadata.js b/extensions/default/src/DicomWebDataSource/wado/retrieveMetadata.js index 904b9ce8502..5693df5e961 100644 --- a/extensions/default/src/DicomWebDataSource/wado/retrieveMetadata.js +++ b/extensions/default/src/DicomWebDataSource/wado/retrieveMetadata.js @@ -21,7 +21,8 @@ async function RetrieveMetadata( enableStudyLazyLoad, filters = {}, sortCriteria, - sortFunction + sortFunction, + dicomWebConfig = {} ) { const RetrieveMetadataLoader = enableStudyLazyLoad !== false ? RetrieveMetadataLoaderAsync : RetrieveMetadataLoaderSync; @@ -31,7 +32,8 @@ async function RetrieveMetadata( StudyInstanceUID, filters, sortCriteria, - sortFunction + sortFunction, + dicomWebConfig ); const data = await retrieveMetadataLoader.execLoad(); diff --git a/extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoader.js b/extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoader.js index e0143000cd0..2da36115950 100644 --- a/extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoader.js +++ b/extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoader.js @@ -14,19 +14,22 @@ export default class RetrieveMetadataLoader { * @param {string} [filters.seriesInstanceUID] - series instance uid to filter results against * @param {Object} [sortCriteria] - Custom sort criteria used for series * @param {Function} [sortFunction] - Custom sort function for series + * @param {Object} [dicomWebConfig] - DICOMweb configuration including caseId */ constructor( client, studyInstanceUID, filters = {}, sortCriteria = undefined, - sortFunction = undefined + sortFunction = undefined, + dicomWebConfig = {} ) { this.client = client; this.studyInstanceUID = studyInstanceUID; this.filters = filters; this.sortCriteria = sortCriteria; this.sortFunction = sortFunction; + this.dicomWebConfig = dicomWebConfig; } async execLoad() { diff --git a/extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoaderAsync.js b/extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoaderAsync.js index 0c9a656039f..3bafd6d477d 100644 --- a/extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoaderAsync.js +++ b/extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoaderAsync.js @@ -53,16 +53,18 @@ export class DeferredPromise { } } } + /** - * Creates an immutable series loader object which loads each series sequentially using the iterator interface. + * Creates a series async loader * - * @param {DICOMWebClient} dicomWebClient The DICOMWebClient instance to be used for series load + * @param {Object} client The DICOMWebClient instance * @param {string} studyInstanceUID The Study Instance UID from which series will be loaded * @param {Array} seriesInstanceUIDList A list of Series Instance UIDs + * @param {Object} dicomWebConfig DICOMweb configuration including caseId * * @returns {Object} Returns an object which supports loading of instances from each of given Series Instance UID */ -function makeSeriesAsyncLoader(client, studyInstanceUID, seriesInstanceUIDList) { +function makeSeriesAsyncLoader(client, studyInstanceUID, seriesInstanceUIDList, dicomWebConfig = {}) { return Object.freeze({ hasNext() { return seriesInstanceUIDList.length > 0; @@ -72,10 +74,16 @@ function makeSeriesAsyncLoader(client, studyInstanceUID, seriesInstanceUIDList) const promise = new DeferredPromise(); promise.setMetadata(metadata); promise.setProcessFunction(() => { - return client.retrieveSeriesMetadata({ + const options = { studyInstanceUID, seriesInstanceUID, - }); + }; + // Add caseId to options if present in dicomWebConfig + if (dicomWebConfig && dicomWebConfig.caseId) { + options.queryParams = { caseId: dicomWebConfig.caseId }; + console.log('makeSeriesAsyncLoader: Adding caseId to retrieveSeriesMetadata:', dicomWebConfig.caseId); + } + return client.retrieveSeriesMetadata(options); }); return promise; }, @@ -94,7 +102,7 @@ export default class RetrieveMetadataLoaderAsync extends RetrieveMetadataLoader */ *getPreLoaders() { const preLoaders = []; - const { studyInstanceUID, filters: { seriesInstanceUID } = {}, client } = this; + const { studyInstanceUID, filters: { seriesInstanceUID } = {}, client, dicomWebConfig } = this; // asking to include Series Date, Series Time, Series Description // and Series Number in the series metadata returned to better sort series @@ -106,6 +114,12 @@ export default class RetrieveMetadataLoaderAsync extends RetrieveMetadataLoader }, }; + // Add caseId to queryParams if present in dicomWebConfig + if (dicomWebConfig && dicomWebConfig.caseId) { + options.queryParams.caseId = dicomWebConfig.caseId; + console.log('retrieveMetadataLoaderAsync getPreLoaders: Adding caseId to queryParams:', dicomWebConfig.caseId); + } + if (seriesInstanceUID) { options.queryParams.SeriesInstanceUID = seriesInstanceUID; preLoaders.push(client.searchForSeries.bind(client, options)); @@ -125,17 +139,22 @@ export default class RetrieveMetadataLoaderAsync extends RetrieveMetadataLoader const { naturalizeDataset } = dcmjs.data.DicomMetaDictionary; const naturalized = result.map(naturalizeDataset); + console.log('retrieveMetadataLoaderAsync preLoad: naturalized count:', naturalized.length); + naturalized.forEach(series => { + console.log('retrieveMetadataLoaderAsync preLoad: series:', series.SeriesInstanceUID, 'Modality:', series.Modality, 'SOPClassUID:', series.SOPClassUID); + }); + return sortStudySeries(naturalized, sortCriteria, sortFunction); } async load(preLoadData) { - const { client, studyInstanceUID } = this; + const { client, studyInstanceUID, dicomWebConfig } = this; const seriesInstanceUIDs = preLoadData.map(seriesMetadata => { return { seriesInstanceUID: seriesMetadata.SeriesInstanceUID, metadata: seriesMetadata }; }); - const seriesAsyncLoader = makeSeriesAsyncLoader(client, studyInstanceUID, seriesInstanceUIDs); + const seriesAsyncLoader = makeSeriesAsyncLoader(client, studyInstanceUID, seriesInstanceUIDs, dicomWebConfig); const promises = []; diff --git a/extensions/default/src/Panels/StudyBrowser/PanelStudyBrowser.tsx b/extensions/default/src/Panels/StudyBrowser/PanelStudyBrowser.tsx index 5a0d7a0e069..6e1d61ef9f9 100644 --- a/extensions/default/src/Panels/StudyBrowser/PanelStudyBrowser.tsx +++ b/extensions/default/src/Panels/StudyBrowser/PanelStudyBrowser.tsx @@ -472,7 +472,7 @@ function _mapDisplaySets(displaySets, displaySetLoadingState, thumbnailImageSrcM const thumbnailDisplaySets = []; const thumbnailNoImageDisplaySets = []; displaySets - .filter(ds => !ds.excludeFromThumbnailBrowser) + .filter(ds => !ds.excludeFromThumbnailBrowser && ds.Modality !== 'SEG') // Filter out SEG modality .forEach(ds => { const { thumbnailSrc, displaySetInstanceUID } = ds; const componentType = _getComponentType(ds); diff --git a/extensions/default/src/customizations/reportDialogCustomization.tsx b/extensions/default/src/customizations/reportDialogCustomization.tsx index fc193a7345b..2362135060d 100644 --- a/extensions/default/src/customizations/reportDialogCustomization.tsx +++ b/extensions/default/src/customizations/reportDialogCustomization.tsx @@ -29,12 +29,13 @@ type ReportDialogProps = { hide: () => void; onSave: (data: { reportName: string; - dataSource: string | null; + dataSource: string | undefined; series: string | null; priorSeriesNumber: number; }) => void; onCancel: () => void; enableDownload?: boolean; + minSeriesNumber?: number; }; function ReportDialog({ @@ -50,8 +51,8 @@ function ReportDialog({ const { t } = useTranslation('Buttons'); const { servicesManager } = useSystem(); const actionTakenRef = useRef(false); - const [selectedDataSource, setSelectedDataSource] = useState( - dataSources?.[0]?.value ?? null + const [selectedDataSource, setSelectedDataSource] = useState( + dataSources?.[0]?.value ?? undefined ); const { displaySetService } = servicesManager.services; @@ -59,7 +60,17 @@ function ReportDialog({ const [reportName, setReportName] = useState(''); const seriesOptions = useMemo((): SeriesOption[] => { - const displaySetsMap = displaySetService.getDisplaySetCache(); + const displaySetsMap = displaySetService?.getDisplaySetCache(); + if (!displaySetsMap) { + return [{ + optionKey: NEW_SERIES_SELECT_VALUE, + selectValue: NEW_SERIES_SELECT_VALUE, + value: null, + description: null, + seriesNumber: minSeriesNumber, + label: 'Create new series', + }]; + } const displaySets = Array.from(displaySetsMap.values()); const options = displaySets .filter(ds => ds.Modality === modality) @@ -70,9 +81,9 @@ function ReportDialog({ optionKey: `series-${ds.displaySetInstanceUID}`, selectValue, value: value || null, - seriesNumber: isFinite(ds.SeriesNumber) ? ds.SeriesNumber : minSeriesNumber, - description: ds.SeriesDescription, - label: `${ds.SeriesDescription} ${ds.SeriesDate}/${ds.SeriesTime} ${ds.SeriesNumber}`, + seriesNumber: (ds.SeriesNumber !== undefined && isFinite(ds.SeriesNumber)) ? ds.SeriesNumber : (minSeriesNumber ?? 3000), + description: ds.SeriesDescription ?? null, + label: `${ds.SeriesDescription || '无描述'} ${ds.SeriesDate || ''}/${ds.SeriesTime || ''} ${ds.SeriesNumber || ''}`, }; }) .filter( @@ -86,7 +97,7 @@ function ReportDialog({ selectValue: NEW_SERIES_SELECT_VALUE, value: null, description: null, - seriesNumber: minSeriesNumber, + seriesNumber: minSeriesNumber ?? 3000, label: 'Create new series', }, ...options, @@ -239,7 +250,6 @@ function ReportDialog({ diff --git a/extensions/default/src/getSopClassHandlerModule.js b/extensions/default/src/getSopClassHandlerModule.js index f77913d1645..1080e1939c1 100644 --- a/extensions/default/src/getSopClassHandlerModule.js +++ b/extensions/default/src/getSopClassHandlerModule.js @@ -192,6 +192,13 @@ function getDisplaySetsFromSeries(instances) { const displaySets = []; const sopClassUids = getSopClassUids(instances); + // Skip SEG series - let the SEG extension handle them + const isSegSeries = sopClassUids.some(uid => uid === '1.2.840.10008.5.1.4.1.1.66.4' || uid === '1.2.840.10008.5.1.4.1.1.66.7'); + if (isSegSeries) { + console.log('Default handler skipping SEG series:', sopClassUids); + return []; // Return empty array to let SEG handler handle it + } + // Search through the instances (InstanceMetadata object) of this series // Split Multi-frame instances and Single-image modalities // into their own specific display sets. Place the rest of each diff --git a/extensions/default/src/utils/dicomWriter.ts b/extensions/default/src/utils/dicomWriter.ts index 3cc34dc7f14..41a7c3ac491 100644 --- a/extensions/default/src/utils/dicomWriter.ts +++ b/extensions/default/src/utils/dicomWriter.ts @@ -86,18 +86,107 @@ function applyTransferSyntaxToFileMeta(dicomDict, transferSyntaxUID) { return; } + // Ensure meta object exists + if (!dicomDict.meta) { + dicomDict.meta = {}; + } + // Hex key only: DicomMessage.write treats every meta key as a tag string, so a // naturalized key like 'TransferSyntaxUID' would be parsed via parseInt(..., 16) // into tag (0000,0000) and written as a garbage element in group 2. dicomDict.meta['00020010'] = { vr: 'UI', Value: [transferSyntaxUID] }; + + // Ensure other required meta attributes are present + if (!dicomDict.meta['00020001']) { + dicomDict.meta['00020001'] = { vr: 'OB', Value: [Buffer.from([0x00, 0x01])] }; // File Meta Information Version + } + + // Fix SOP Class UID for SEG files - use standard 1.2.840.10008.5.1.4.1.1.66.4 instead of 66.7 + if (!dicomDict.meta['00020002']) { + dicomDict.meta['00020002'] = { vr: 'UI', Value: ['1.2.840.10008.5.1.4.1.1.66.4'] }; // Standard Segmentation Storage UID + } else if (dicomDict.meta['00020002'].Value[0] === '1.2.840.10008.5.1.4.1.1.66.7') { + console.log('applyTransferSyntaxToFileMeta - Fixing incorrect SOP Class UID from 66.7 to 66.4'); + dicomDict.meta['00020002'].Value[0] = '1.2.840.10008.5.1.4.1.1.66.4'; + } } export function datasetToDicomPart10Buffer(dataset) { + console.log('datasetToDicomPart10Buffer - input dataset:', { + hasReferencedSeriesSequence: !!dataset.ReferencedSeriesSequence, + ReferencedSeriesSequence: dataset.ReferencedSeriesSequence, + Modality: dataset.Modality, + SOPInstanceUID: dataset.SOPInstanceUID, + PatientID: dataset.PatientID, + PatientName: dataset.PatientName + }); + + // Save important fields before conversion + const referencedSeriesSequence = dataset.ReferencedSeriesSequence; + const patientID = dataset.PatientID; + const patientName = dataset.PatientName; + makeExistingPropertiesNonEnumerable(dataset); const transferSyntaxUID = getDatasetTransferSyntaxUID(dataset); const dicomDict = dcmjs.data.datasetToDict(dataset); + + console.log('datasetToDicomPart10Buffer - dicomDict keys:', Object.keys(dicomDict)); + console.log('datasetToDicomPart10Buffer - dicomDict has meta:', !!dicomDict.meta); + console.log('datasetToDicomPart10Buffer - dicomDict meta keys:', dicomDict.meta ? Object.keys(dicomDict.meta) : 'no meta'); + console.log('datasetToDicomPart10Buffer - dicomDict has ReferencedSeriesSequence:', !!dicomDict['0020111a']); + console.log('datasetToDicomPart10Buffer - dicomDict has PatientID:', !!dicomDict['00100020']); + console.log('datasetToDicomPart10Buffer - dicomDict has PatientName:', !!dicomDict['00100010']); + + // Ensure meta object exists + if (!dicomDict.meta) { + console.log('datasetToDicomPart10Buffer - creating meta object'); + dicomDict.meta = {}; + } + + // Manually add ReferencedSeriesSequence if it was lost during conversion + if (referencedSeriesSequence && !dicomDict['0020111a']) { + console.log('datasetToDicomPart10Buffer - manually adding ReferencedSeriesSequence to dicomDict'); + dicomDict['0020111a'] = { + vr: 'SQ', + Value: [{ + '0020000e': { vr: 'UI', Value: [referencedSeriesSequence.SeriesInstanceUID] }, + '00001114': { + vr: 'SQ', + Value: referencedSeriesSequence.ReferencedInstanceSequence.map(ref => ({ + '00081150': { vr: 'UI', Value: [ref.ReferencedSOPClassUID] }, + '00081155': { vr: 'UI', Value: [ref.ReferencedSOPInstanceUID] } + })) + } + }] + }; + console.log('datasetToDicomPart10Buffer - ReferencedSeriesSequence added successfully'); + } + + // Ensure PatientID is present (critical for hospital systems) + if (patientID && !dicomDict['00100020']) { + console.log('datasetToDicomPart10Buffer - adding missing PatientID:', patientID); + dicomDict['00100020'] = { vr: 'LO', Value: [patientID] }; + } else if (!patientID && !dicomDict['00100020']) { + console.log('datasetToDicomPart10Buffer - warning: PatientID is missing, using StudyInstanceUID as fallback'); + dicomDict['00100020'] = { vr: 'LO', Value: [dataset.StudyInstanceUID || 'ANONYMOUS'] }; + } + + // Ensure PatientName is present + if (patientName && !dicomDict['00100010']) { + console.log('datasetToDicomPart10Buffer - adding missing PatientName:', patientName); + dicomDict['00100010'] = { vr: 'PN', Value: [patientName] }; + } else if (!patientName && !dicomDict['00100010']) { + console.log('datasetToDicomPart10Buffer - warning: PatientName is missing, using anonymous'); + dicomDict['00100010'] = { vr: 'PN', Value: [{ Alphabetic: 'Anonymous^Patient' }] }; + } + applyTransferSyntaxToFileMeta(dicomDict, transferSyntaxUID); - return dicomDict.write(DICOM_WRITE_OPTIONS); + const buffer = dicomDict.write(DICOM_WRITE_OPTIONS); + + console.log('datasetToDicomPart10Buffer - buffer:', buffer); + console.log('datasetToDicomPart10Buffer - buffer type:', typeof buffer); + console.log('datasetToDicomPart10Buffer - buffer size:', buffer?.length); + + return buffer; } export function datasetToDicomBlob(dataset) { diff --git a/extensions/dicom-microscopy/package.json b/extensions/dicom-microscopy/package.json index 236ae7148af..d7936754c01 100644 --- a/extensions/dicom-microscopy/package.json +++ b/extensions/dicom-microscopy/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-dicom-microscopy", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "OHIF extension for DICOM microscopy", "author": "Bill Wallace, md-prog", "license": "MIT", diff --git a/extensions/dicom-pdf/package.json b/extensions/dicom-pdf/package.json index e3181bc1427..77261f6613f 100644 --- a/extensions/dicom-pdf/package.json +++ b/extensions/dicom-pdf/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-dicom-pdf", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "OHIF extension for PDF display", "author": "OHIF", "license": "MIT", diff --git a/extensions/dicom-video/package.json b/extensions/dicom-video/package.json index 4e2d05ae4b9..8f52486802e 100644 --- a/extensions/dicom-video/package.json +++ b/extensions/dicom-video/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-dicom-video", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "OHIF extension for video display", "author": "OHIF", "license": "MIT", diff --git a/extensions/measurement-tracking/package.json b/extensions/measurement-tracking/package.json index aec948c5a34..9cbdafec9bf 100644 --- a/extensions/measurement-tracking/package.json +++ b/extensions/measurement-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-measurement-tracking", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "Tracking features and functionality for basic image viewing", "author": "OHIF Core Team", "license": "MIT", diff --git a/extensions/test-extension/package.json b/extensions/test-extension/package.json index d95539153b4..18088292b80 100644 --- a/extensions/test-extension/package.json +++ b/extensions/test-extension/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-test", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "OHIF extension used inside e2e testing", "author": "OHIF", "license": "MIT", diff --git a/extensions/tmtv/package.json b/extensions/tmtv/package.json index d11b1d9d18c..c39a2340164 100644 --- a/extensions/tmtv/package.json +++ b/extensions/tmtv/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-tmtv", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "OHIF extension for Total Metabolic Tumor Volume", "author": "OHIF", "license": "MIT", diff --git a/extensions/usAnnotation/package.json b/extensions/usAnnotation/package.json index c430c4c1446..1626a468a57 100644 --- a/extensions/usAnnotation/package.json +++ b/extensions/usAnnotation/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-ultrasound-pleura-bline", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "", "author": "Rodrigo Basilio", "license": "MIT", diff --git a/modes/basic-dev-mode/package.json b/modes/basic-dev-mode/package.json index f13f257d095..862febbb3a8 100644 --- a/modes/basic-dev-mode/package.json +++ b/modes/basic-dev-mode/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-basic-dev-mode", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "Basic OHIF Viewer Using Cornerstone", "author": "OHIF", "license": "MIT", diff --git a/modes/basic-test-mode/package.json b/modes/basic-test-mode/package.json index 17a2bbd9451..420b3b0a938 100644 --- a/modes/basic-test-mode/package.json +++ b/modes/basic-test-mode/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-test", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "Basic mode for testing", "author": "OHIF", "license": "MIT", diff --git a/modes/basic/package.json b/modes/basic/package.json index 48dbf5546b1..17d6c7ec94a 100644 --- a/modes/basic/package.json +++ b/modes/basic/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-basic", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "A basic mode used to build other modes on top of", "author": "OHIF Contributors", "license": "MIT", diff --git a/modes/basic/src/index.tsx b/modes/basic/src/index.tsx index 46bb3a10c7f..efa167bebff 100644 --- a/modes/basic/src/index.tsx +++ b/modes/basic/src/index.tsx @@ -263,8 +263,10 @@ export const basicLayout = { // before the sidebars resolve. leftPanels: [ohif.thumbnailList], leftPanelResizable: true, - rightPanels: [cornerstone.segmentation, cornerstone.measurements], - rightPanelClosed: true, + // DISABLED: Using custom SEG loading pipeline instead of OHIF's default + // rightPanels: [cornerstone.segmentation, cornerstone.measurements], + rightPanels: [cornerstone.measurements], + rightPanelClosed: false, rightPanelResizable: true, viewports: [ { diff --git a/modes/longitudinal/package.json b/modes/longitudinal/package.json index ef24426c812..67c7a36327b 100644 --- a/modes/longitudinal/package.json +++ b/modes/longitudinal/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-longitudinal", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "Longitudinal Workflow", "author": "OHIF", "license": "MIT", diff --git a/modes/microscopy/package.json b/modes/microscopy/package.json index c6473808ef6..73fd0b0676b 100644 --- a/modes/microscopy/package.json +++ b/modes/microscopy/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-microscopy", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "OHIF mode for DICOM microscopy", "author": "OHIF", "license": "MIT", diff --git a/modes/preclinical-4d/package.json b/modes/preclinical-4d/package.json index 041293cc542..578078dd7eb 100644 --- a/modes/preclinical-4d/package.json +++ b/modes/preclinical-4d/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-preclinical-4d", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "4D Workflow", "author": "OHIF", "license": "MIT", diff --git a/modes/segmentation/package.json b/modes/segmentation/package.json index ea770705244..4a868e71350 100644 --- a/modes/segmentation/package.json +++ b/modes/segmentation/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-segmentation", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "OHIF segmentation mode which enables labelmap segmentation read/edit/export", "author": "@ohif", "license": "MIT", diff --git a/modes/segmentation/src/index.tsx b/modes/segmentation/src/index.tsx index d95b679e8b9..64d4f8c6e20 100644 --- a/modes/segmentation/src/index.tsx +++ b/modes/segmentation/src/index.tsx @@ -12,8 +12,14 @@ import { onModeExit, layoutTemplate, modeFactory, + dicomSeg, } from '@ohif/mode-basic'; +const segmentationExtensionDependencies = { + ...extensionDependencies, + '@ohif/extension-cornerstone-dicom-seg': '^3.0.0', +}; + /** * Extends the basic mode enter with the segmentation panel auto tab switch * handling (switching between labelmap/contour panels as segmentations of the @@ -69,7 +75,7 @@ export const segmentationRoute = { export const modeInstance = { id, routeName: 'segmentation', - displayName: 'Segmentation', + displayName: '异常查看与编辑', // Toolbar/tool-group composition: which capability packs this mode uses. // The mode route seeds these onto the Mode customization scope on enter, so // `?customization=` modules extend them through the `mode` phase (e.g. add @@ -111,10 +117,10 @@ export const modeInstance = { isValidMode, nonModeModalities: ['SM', 'ECG', 'OT', 'DOC'], routes: [segmentationRoute], - extensions: extensionDependencies, + extensions: segmentationExtensionDependencies, // Prefer the grid layout hanging protocol when applicable. hangingProtocol: ['@ohif/mnGrid'], - sopClassHandlers: [ohif.sopClassHandler, segmentation.sopClassHandler, dicomRT.sopClassHandler], + sopClassHandlers: [ohif.sopClassHandler, dicomSeg.sopClassHandler, segmentation.sopClassHandler, dicomRT.sopClassHandler], }; /** @@ -136,7 +142,7 @@ const mode = { id, modeFactory, modeInstance, - extensionDependencies, + extensionDependencies: segmentationExtensionDependencies, customizations, }; diff --git a/modes/tmtv/package.json b/modes/tmtv/package.json index 4c75ec54e9a..4c44d6c0aa4 100644 --- a/modes/tmtv/package.json +++ b/modes/tmtv/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-tmtv", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "Total Metabolic Tumor Volume Workflow", "author": "OHIF", "license": "MIT", diff --git a/modes/usAnnotation/package.json b/modes/usAnnotation/package.json index 3c8ae4eb0a1..c78862a01b6 100644 --- a/modes/usAnnotation/package.json +++ b/modes/usAnnotation/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-ultrasound-pleura-bline", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "Allows users to annotate ultrasound images with pleura B-line annotations.", "author": "OHIF", "license": "MIT", diff --git a/package.json b/package.json index 68fe56859d0..102b9c72f65 100644 --- a/package.json +++ b/package.json @@ -124,5 +124,5 @@ "git add" ] }, - "version": "3.13.0-beta.135" + "version": "3.13.3" } diff --git a/patches/@cornerstonejs__adapters.patch b/patches/@cornerstonejs__adapters.patch new file mode 100644 index 00000000000..552445775c9 --- /dev/null +++ b/patches/@cornerstonejs__adapters.patch @@ -0,0 +1,16 @@ +diff --git a/dist/esm/adapters/Cornerstone3D/Segmentation/labelmapImagesFromBuffer.js b/dist/esm/adapters/Cornerstone3D/Segmentation/labelmapImagesFromBuffer.js +index db4972221ea40cd1eaad450e9a6334c8eef4ef72..00f1693053f35c31ce54cdf3538478e7d0aac62f 100644 +--- a/dist/esm/adapters/Cornerstone3D/Segmentation/labelmapImagesFromBuffer.js ++++ b/dist/esm/adapters/Cornerstone3D/Segmentation/labelmapImagesFromBuffer.js +@@ -577,8 +577,9 @@ function insertPixelDataPlanar(_ref0) { + } + const segmentIndex = getSegmentIndex(multiframe, i); + if (segmentIndex === undefined) { +- throw new Error('Could not retrieve the segment index. Aborting segmentation loading.'); +- } ++ console.warn('���棺δ�ܼ����� segment index����ǿ�ƽ���ΪĬ��ֵ 1'); ++ segmentIndex = 1; ++ } + if (!segmentsPixelIndices.has(segmentIndex)) { + segmentsPixelIndices.set(segmentIndex, {}); + } diff --git a/platform/app/.webpack/webpack.pwa.js b/platform/app/.webpack/webpack.pwa.js index 82dc4e98325..a8fd7b1364b 100644 --- a/platform/app/.webpack/webpack.pwa.js +++ b/platform/app/.webpack/webpack.pwa.js @@ -207,7 +207,22 @@ module.exports = (env, argv) => { proxy: [ { context: ['/dicomweb'], - target: 'http://localhost:5000', + target: 'http://localhost:3001', + changeOrigin: true, + configure: (proxy, options) => { + proxy.on('proxyReq', (proxyReq, req, res) => { + // Add caseId from URL query parameters to DICOMweb requests + const url = new URL(req.url, `http://${req.headers.host}`); + const caseId = url.searchParams.get('caseId'); + if (caseId) { + // Add caseId to the proxied request + const targetUrl = new URL(proxyReq.path, 'http://localhost:3001'); + targetUrl.searchParams.set('caseId', caseId); + proxyReq.path = targetUrl.pathname + targetUrl.search; + console.log('Proxy: Added caseId to DICOMweb request:', caseId); + } + }); + }, }, ], static: [ diff --git a/platform/app/package.json b/platform/app/package.json index 998d3ef1787..8b542dee3f7 100644 --- a/platform/app/package.json +++ b/platform/app/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/app", - "version": "3.13.0-beta.135", + "version": "3.13.3", "productVersion": "3.4.0", "description": "OHIF Viewer", "author": "OHIF Contributors", diff --git a/platform/app/pluginConfig.json b/platform/app/pluginConfig.json index fd56a748cf5..fdc8bb4517a 100644 --- a/platform/app/pluginConfig.json +++ b/platform/app/pluginConfig.json @@ -19,7 +19,7 @@ }, { "packageName": "@ohif/extension-cornerstone-dicom-seg", - "default": false, + "default": true, "version": "3.0.0" }, { diff --git a/platform/app/public/config/customization.js b/platform/app/public/config/customization.js index 6f51824bd9e..37b60ebc4a3 100644 --- a/platform/app/public/config/customization.js +++ b/platform/app/public/config/customization.js @@ -28,9 +28,9 @@ window.config = { // - mode: applied (Mode) on each mode enter — `*` (general) first, // then a block keyed by the mode id / routeName. customizationService: { - // Pulls in platform/app/public/customizations/worklist/patientBirthDate.jsonc, - // which adds a "Birth Date" column to the WorkList study list (global phase). - requires: ['worklist/patientBirthDate'], + // Pulls in platform/app/public/customizations/worklist/descriptionOnly.jsonc, + // which configures the WorkList study list to show only Description column. + requires: ['worklist/descriptionOnly'], // The previous (legacy-array) customizations, now in the explicit `global` // phase. A `global` block accepts the same input as setCustomizations: an diff --git a/platform/app/public/config/default.js b/platform/app/public/config/default.js index 1259f88dc94..a810430666c 100644 --- a/platform/app/public/config/default.js +++ b/platform/app/public/config/default.js @@ -78,15 +78,15 @@ window.config = { defaultDataSourceName: 'ohif', dataSources: [ { - // Read-only public demo server. Replace with your own DICOMweb server. + // Local DICOM server namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', sourceName: 'ohif', configuration: { - friendlyName: 'AWS S3 Static wado server', - name: 'aws', - wadoUriRoot: 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb', - qidoRoot: 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb', - wadoRoot: 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb', + friendlyName: 'Local DICOM Server', + name: 'local', + wadoUriRoot: 'http://localhost:3001/dicomweb', + qidoRoot: 'http://localhost:3001/dicomweb', + wadoRoot: 'http://localhost:3001/dicomweb', qidoSupportsIncludeField: false, imageRendering: 'wadors', thumbnailRendering: 'thumbnail', @@ -94,12 +94,7 @@ window.config = { enableStudyLazyLoad: true, supportsFuzzyMatching: false, supportsWildcard: true, - staticWado: true, - // Multiframe SEG loads fetch the whole instance as a single Part 10 - // object by default and wait for it: the per-frame endpoint is - // efficient, but SEG frames are so small and numerous that one bulk - // fetch beats hundreds of tiny requests. Per-frame loading is the - // exception — set loadMultiframeAsPart10: false here to force it. + staticWado: false, singlepart: 'bulkdata,video', bulkDataURI: { enabled: true, diff --git a/platform/app/public/config/dev.js b/platform/app/public/config/dev.js index 2055f3e2805..ced9d2e36bc 100644 --- a/platform/app/public/config/dev.js +++ b/platform/app/public/config/dev.js @@ -13,10 +13,64 @@ window.config = { name: 'config/dev.js', routerBasename: null, - // whiteLabeling: {}, + + // 隐藏OHIF品牌logo + whiteLabeling: { + createLogoComponentFn: function(React) { + return React.createElement('span', { style: { fontSize: 0 } }, ''); // 返回空span + }, + }, + extensions: [], modes: [], - customizationService: ['@ohif/extension-default.customizationModule.theme'], + + // 设置默认语言为中文 + defaultLanguage: 'zh', + + // 关闭研究用途弹窗 + investigationalUseDialog: { + option: 'never', + }, + + customizationService: [ + '@ohif/extension-default.customizationModule.theme', + { + 'workList.columns': { + $apply: (columns) => { + // 只保留指定的四列,并调整所有列宽为70px,设置中文标签 + const labelMap = { + patient: '患者姓名', + modalities: '检查模态', + description: '检查描述', + instances: '实例数量' + }; + return columns.filter(col => + ['patient', 'modalities', 'description', 'instances'].includes(col.id) + ).map(col => { + return { + ...col, + meta: { + ...col.meta, + label: labelMap[col.id] || col.meta?.label, + minWidth: 70, + maxWidth: 70 + } + }; + }); + } + } + }, + { + 'workList.defaultSorting': { + $set: [{ id: 'description', desc: false }] + } + }, + { + 'workList.defaultPreviewSizePercent': { + $set: 40 // 增加预览面板默认大小,让列表区域铺满更多空间 + } + } + ], // URL-driven customizations (?customization=). The `default` prefix (no // slashes) is used for values without a leading slash; every other prefix @@ -27,6 +81,30 @@ window.config = { default: './customizations/', }, + // 改善滚动loading体验的配置,解决图像撕裂问题 + viewportScrollbar: { + showLoadingPattern: false, + showLoadedFill: true, + loadedBatchIntervalMs: 100, + // 添加防抖配置解决图像撕裂 + debounceTime: 100, + loadDebounceTime: 50, + thumbnailSize: 100, + // 确保每次只渲染一帧 + renderMode: 'single', + }, + + // 只禁用AI自动分割,保留手动标注功能 + ai: { + enabled: false, + }, + + // 增加并发请求数加快加载 + prefetch: { + enabled: true, + prefetchCount: 3, + }, + showStudyList: true, // some windows systems have issues with more than 3 web workers maxNumberOfWebWorkers: 3, @@ -35,7 +113,7 @@ window.config = { showCPUFallbackMessage: true, showLoadingIndicator: true, experimentalStudyBrowserSort: false, - strictZSpacingForVolumeViewport: true, + strictZSpacingForVolumeViewport: false, // 改为false解决图像偏移问题 groupEnabledModesFirst: true, allowMultiSelectExport: false, maxNumRequests: { @@ -43,8 +121,12 @@ window.config = { thumbnail: 5, // Prefetch number is dependent on the http protocol. For http 2 or // above, the number of requests can be go a lot higher. - prefetch: 25, + prefetch: 5, }, + + // 减少并发请求防止图像撕裂 + maxConcurrentRequests: 6, + showErrorDetails: 'always', // 'always', 'dev', 'production' // filterQueryParam: false, // Defines multi-monitor layouts @@ -108,13 +190,42 @@ window.config = { ], }, ], - defaultDataSourceName: 'ohif', + defaultDataSourceName: 'local-dicom-server', /* Dynamic config allows user to pass "configUrl" query string this allows to load config without recompiling application. The regex will ensure valid configuration source */ // dangerouslyUseDynamicConfig: { // enabled: true, // regex: /.*/, // }, dataSources: [ + { + namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', + sourceName: 'local-dicom-server', + configuration: { + friendlyName: 'Local DICOM Server', + name: 'local-dicom-server', + wadoUriRoot: 'http://localhost:3001/dicomweb', + qidoRoot: 'http://localhost:3001/dicomweb', + wadoRoot: 'http://localhost:3001/dicomweb', + qidoSupportsIncludeField: false, + imageRendering: 'wadors', + thumbnailRendering: 'wadors', + thumbnailRequestStrategy: 'fetch', + enableStudyLazyLoad: true, + supportsFuzzyMatching: false, + supportsWildcard: true, + staticWado: true, + singlepart: 'bulkdata,video', + omitQuotationForMultipartRequest: true, + httpTimeout: 120000, + supportsRetrieveBulkdata: false, + supportsBulkDataURI: false, + supportsEncoded: false, + supportsReject: false, + supportsShouldRetrieveSeriesMetadata: true, + // 强制OHIF请求series metadata以获取渲染参数 + retrieveSeriesMetadata: true, + }, + }, { namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', sourceName: 'ohif', @@ -267,7 +378,7 @@ window.config = { ], httpErrorHandler: error => { // This is 429 when rejected from the public idc sandbox too often. - console.warn(error.status); + console.warn(error?.status); // Could use services manager here to bring up a dialog/modal if needed. console.warn('test, navigate to https://ohif.org/'); diff --git a/platform/app/public/customizations/worklist/customColumns.jsonc b/platform/app/public/customizations/worklist/customColumns.jsonc new file mode 100644 index 00000000000..b791115ebc5 --- /dev/null +++ b/platform/app/public/customizations/worklist/customColumns.jsonc @@ -0,0 +1,41 @@ +// Customization to show only specific columns in StudyList +{ + "global": { + "workList.columns": { + "$set": [ + { + "id": "patientName", + "meta": { + "label": "Patient", + "minWidth": 150, + "maxWidth": 200 + } + }, + { + "id": "modalities", + "meta": { + "label": "Modalities", + "minWidth": 100, + "maxWidth": 120 + } + }, + { + "id": "studyDescription", + "meta": { + "label": "Description", + "minWidth": 200, + "maxWidth": 300 + } + }, + { + "id": "instances", + "meta": { + "label": "Instances", + "minWidth": 80, + "maxWidth": 100 + } + } + ] + } + } +} diff --git a/platform/app/public/customizations/worklist/descriptionOnly.jsonc b/platform/app/public/customizations/worklist/descriptionOnly.jsonc new file mode 100644 index 00000000000..8805e064a7d --- /dev/null +++ b/platform/app/public/customizations/worklist/descriptionOnly.jsonc @@ -0,0 +1,17 @@ +// Customization to show only Description column in StudyList with fixed width +{ + "global": { + "workList.columns": { + "$set": [ + { + "id": "studyDescription", + "meta": { + "label": "Description", + "minWidth": 180, + "maxWidth": 180 + } + } + ] + } + } +} diff --git a/platform/app/src/App.css b/platform/app/src/App.css index a8553262dbe..a31b96be487 100644 --- a/platform/app/src/App.css +++ b/platform/app/src/App.css @@ -1,4 +1,5 @@ body { overscroll-behavior: none; touch-action: none; + background: linear-gradient(135deg, #f7fcff 0%, #e4f3ff 45%, #cde8ff 100%); } diff --git a/platform/app/src/App.tsx b/platform/app/src/App.tsx index cee5e679e96..21614122b1d 100644 --- a/platform/app/src/App.tsx +++ b/platform/app/src/App.tsx @@ -68,15 +68,111 @@ function App({ defaultExtensions = [], defaultModes = [], }) { - const [init, setInit] = useState(null); + const [init, setInit] = useState(null); + useEffect(() => { const run = async () => { - appInit(config, defaultExtensions, defaultModes).then(setInit).catch(console.error); + const initResult = await appInit(config, defaultExtensions, defaultModes); + // Expose servicesManager to window for CustomSegmentationOverlay + if (initResult?.servicesManager) { + (window as any).__servicesManager = initResult.servicesManager; + console.log('OHIF: Exposed servicesManager to window'); + } + setInit(initResult); }; run(); }, []); + // Listen for postMessage from parent Vue component + useEffect(() => { + console.log('OHIF: Setting up postMessage listener'); + const handleMessage = (event) => { + console.log('OHIF: Received postMessage:', event.data); + // Only accept messages from same origin or configured origin + if (event.origin !== window.location.origin && event.origin !== 'http://localhost:3000' && event.origin !== 'http://localhost:5174') { + console.log('OHIF: Ignoring message from different origin:', event.origin); + return; + } + + const { type, caseId, fileName, segFile } = event.data; + + if (type === 'SET_CASE_ID' && caseId) { + console.log('OHIF: Received SET_CASE_ID message:', caseId); + // Store caseId in sessionStorage for use by other components + sessionStorage.setItem('ohifCaseId', caseId); + } else if (type === 'LOAD_CUSTOM_SEG' && caseId && fileName) { + console.log('OHIF: Received LOAD_CUSTOM_SEG message with caseId:', caseId, 'fileName:', fileName); + // 直接触发SEG_LOADED事件,传递caseId和fileName + window.dispatchEvent(new CustomEvent('SEG_LOADED', { + detail: { caseId, fileName } + })); + console.log('OHIF: Dispatched SEG_LOADED event'); + } else if (type === 'UNLOAD_CUSTOM_SEG' && caseId && fileName) { + console.log('OHIF: Received UNLOAD_CUSTOM_SEG message with caseId:', caseId, 'fileName:', fileName); + // 触发SEG_UNLOADED事件,传递caseId和fileName + window.dispatchEvent(new CustomEvent('SEG_UNLOADED', { + detail: { caseId, fileName } + })); + console.log('OHIF: Dispatched SEG_UNLOADED event'); + } else if (type === 'RELOAD_STUDY') { + console.log('OHIF: Received RELOAD_STUDY message'); + // Reload the current study to refresh DICOMweb + window.location.reload(); + } else if (type === 'GET_SEG_FILES') { + console.log('OHIF: Received GET_SEG_FILES message'); + // Get SEG files from the display set service + const displaySetService = servicesManager?.services?.displaySetService; + console.log('OHIF: displaySetService:', displaySetService); + + const segFiles: any[] = []; + if (displaySetService) { + console.log('OHIF: Trying to get display sets'); + try { + const displaySets = displaySetService.getDisplaySetsBy((ds: any) => ds.Modality === 'SEG'); + console.log('OHIF: Got display sets:', displaySets); + + // 获取caseId用于构建API URL + const caseId = sessionStorage.getItem('ohifCaseId'); + + for (const ds of displaySets) { + console.log('OHIF: Processing display set:', ds); + if (ds.SOPInstanceUID) { + const segFile: any = { + id: ds.SOPInstanceUID, + name: ds.SeriesDescription || `SEG ${ds.SeriesNumber}`, + seriesInstanceUID: ds.SeriesInstanceUID, + sopInstanceUID: ds.SOPInstanceUID, + description: ds.SeriesDescription, + }; + + segFiles.push(segFile); + } + } + } catch (error) { + console.error('OHIF: Error getting display sets:', error); + } + } else { + console.log('OHIF: displaySetService is not available'); + } + + console.log('OHIF: Sending SEG files back to parent:', segFiles); + event.source.postMessage({ + type: 'SEG_FILES_RESPONSE', + segFiles: segFiles + }, event.origin); + } + }; + + window.addEventListener('message', handleMessage); + console.log('OHIF: postMessage listener added'); + + return () => { + window.removeEventListener('message', handleMessage); + console.log('OHIF: postMessage listener removed'); + }; + }, [commandsManager, servicesManager]); + if (!init) { return null; } diff --git a/platform/app/src/routes/Local/dicomFileLoader.js b/platform/app/src/routes/Local/dicomFileLoader.js index b5446da40d0..a7a7d304dfc 100644 --- a/platform/app/src/routes/Local/dicomFileLoader.js +++ b/platform/app/src/routes/Local/dicomFileLoader.js @@ -20,6 +20,17 @@ const DICOMFileLoader = new (class extends FileLoader { dataset.AvailableTransferSyntaxUID = dataset.AvailableTransferSyntaxUID || dataset._meta.TransferSyntaxUID?.Value?.[0]; + // Debug: Check if ReferencedSeriesSequence is present for SEG files + if (dataset.Modality === 'SEG') { + console.log('Local SEG file loaded:', { + SOPInstanceUID: dataset.SOPInstanceUID, + hasReferencedSeriesSequence: !!dataset.ReferencedSeriesSequence, + ReferencedSeriesSequence: dataset.ReferencedSeriesSequence, + Modality: dataset.Modality, + SOPClassUID: dataset.SOPClassUID + }); + } + return dataset; } })(); diff --git a/platform/app/src/routes/WorkList/WorkList.tsx b/platform/app/src/routes/WorkList/WorkList.tsx index 62a34c38699..56c9db99f65 100644 --- a/platform/app/src/routes/WorkList/WorkList.tsx +++ b/platform/app/src/routes/WorkList/WorkList.tsx @@ -51,7 +51,7 @@ export default function WorkList({ useStudyListStateSync(); // Default sorting if no URL state exists - const defaultSorting = useMemo(() => [{ id: 'studyDateTime', desc: true }], []); + const defaultSorting = useMemo(() => [{ id: 'description', desc: false }], []); const [selected, setSelected] = useState(null); @@ -124,6 +124,16 @@ export default function WorkList({ setIsFilterPending(false); }, [isLoadingData, data]); + // 当WorkList组件挂载时,通知父窗口OHIF在检查列表界面 + useEffect(() => { + if (window.parent !== window) { + window.parent.postMessage({ + type: 'OHIF_ON_STUDY_LIST' + }, '*'); + console.log('Sent OHIF_ON_STUDY_LIST message to parent window'); + } + }, []); + return (
@@ -158,14 +168,14 @@ export default function WorkList({
) } - title={'Study List'} + title={'检查列表'} onStudyDoubleClick={studyDoubleClickCommand ? onStudyDoubleClick : undefined} onSelectionChange={sel => setSelected((sel as StudyRow[])[0] ?? null)} toolbarLeftComponent={logoComponent} toolbarRightActionsComponent={toolbarActions} toolbarRightComponent={ !isPreviewOpen ? ( -
+
diff --git a/platform/cli/package.json b/platform/cli/package.json index 287f2eef9e9..0de4805d222 100644 --- a/platform/cli/package.json +++ b/platform/cli/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/cli", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "A CLI to bootstrap new OHIF extension or mode", "type": "module", "main": "src/index.js", diff --git a/platform/core/package.json b/platform/core/package.json index e190842b76e..d946ae09679 100644 --- a/platform/core/package.json +++ b/platform/core/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/core", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "Generic business logic for web-based medical imaging applications", "author": "OHIF Core Team", "license": "MIT", diff --git a/platform/core/src/services/HangingProtocolService/HangingProtocolService.ts b/platform/core/src/services/HangingProtocolService/HangingProtocolService.ts index 9ee83a5589c..e92e8b506fa 100644 --- a/platform/core/src/services/HangingProtocolService/HangingProtocolService.ts +++ b/platform/core/src/services/HangingProtocolService/HangingProtocolService.ts @@ -1,1718 +1,3436 @@ import cloneDeep from 'lodash.clonedeep'; + + import { PubSubService } from '../_shared/pubSubServiceInterface'; + import sortBy from '../../utils/sortBy'; + import ProtocolEngine from './ProtocolEngine'; + import { StudyMetadata } from '../../types/StudyMetadata'; + import DisplaySet from '../DisplaySetService/DisplaySet'; + import { CommandsManager } from '../../classes'; + import * as HangingProtocol from '../../types/HangingProtocol'; + import { isDisplaySetFromUrl, sopInstanceLocation } from './custom-attribute/isDisplaySetFromUrl'; + import numberOfDisplaySetsWithImages from './custom-attribute/numberOfDisplaySetsWithImages'; + import seriesDescriptionsFromDisplaySets from './custom-attribute/seriesDescriptionsFromDisplaySets'; + import uuidv4 from '../../utils/uuidv4'; + import { getUniqueAttributeFromList } from './lib/getUniqueAttributeFromList'; + + type Protocol = HangingProtocol.Protocol | HangingProtocol.ProtocolGenerator; + + const DEFAULT_VIEWPORT_OPTIONS: HangingProtocol.ViewportOptions = { + toolGroupId: 'default', + viewportType: 'stack', + }; + + export default class HangingProtocolService extends PubSubService { + static EVENTS = { + // The PROTOCOL_CHANGED event is fired when the protocol changes + // and should be immediately applied + PROTOCOL_CHANGED: 'event::hanging_protocol_changed', + // The PROTOCOL_RESTORED event is fired instead of a changed event to indicate + // that an earlier state has been restored as part of a state update, but + // is not being directly re-applied, but just restored. + PROTOCOL_RESTORED: 'event::hanging_protocol_restore', + // The layout has been decided for the hanging protocol - deprecated + NEW_LAYOUT: 'event::hanging_protocol_new_layout', + // Fired when the stages within the current protocol are known to have + // the status set - that is, they are activated (or deactivated). + STAGE_ACTIVATION: 'event::hanging_protocol_stage_activation', + CUSTOM_IMAGE_LOAD_PERFORMED: 'event::hanging_protocol_custom_image_load_performed', + }; + + public static REGISTRATION = { + name: 'hangingProtocolService', + altName: 'HangingProtocolService', + create: ({ configuration = {}, commandsManager, servicesManager }) => { + return new HangingProtocolService(commandsManager, servicesManager); + }, + }; + + studies: StudyMetadata[]; + // stores all the protocols (object or function that returns an object) in a map + protocols: Map; + // Contains the list of currently active keys + activeProtocolIds: string[]; + // the current protocol that is being applied to the viewports in object format + protocol: HangingProtocol.Protocol; + // The version of the protocol that must not be modified with customizations + // if it was defined in the protocol definition. This is a copy of the protocol + // that is used to recompute the computedOptions when necessary as we override + // the computedOptions in the protocol object itself. + _originalProtocol: HangingProtocol.Protocol; + + stageIndex = 0; + _commandsManager: CommandsManager; + _servicesManager: AppTypes.ServicesManager; + protocolEngine: ProtocolEngine; + customViewportSettings = []; + displaySets: DisplaySet[] = []; + activeStudy: StudyMetadata; + debugLogging: false; + + customAttributeRetrievalCallbacks = { + NumberOfStudyRelatedSeries: { + name: 'The number of series in the study', + callback: metadata => metadata.NumberOfStudyRelatedSeries ?? metadata.series?.length, + }, + NumberOfSeriesRelatedInstances: { + name: 'The number of instances in the display set', + callback: metadata => metadata.numImageFrames, + }, + ModalitiesInStudy: { + name: 'Gets the array of the modalities for the series', + callback: metadata => { + if (metadata.ModalitiesInStudy?.length > 0) { + return metadata.ModalitiesInStudy; + } + if (Array.isArray(metadata.series)) { + return getUniqueAttributeFromList(metadata.series, 'Modality'); + } + return []; + }, + }, + isReconstructable: { + name: 'Checks if the display set is reconstructable', + // we can add more advanced checking here + callback: displaySet => displaySet.isReconstructable ?? false, + }, + isDisplaySetFromUrl: { + name: 'Checks if the display set is as specified in the URL', + callback: isDisplaySetFromUrl, + }, + sopInstanceLocation: { + name: 'Gets the position of the specified sop instance', + callback: sopInstanceLocation, + }, + seriesDescriptions: { + name: 'seriesDescriptions', + description: 'List of Series Descriptions', + callback: seriesDescriptionsFromDisplaySets, + }, + numberOfDisplaySetsWithImages: { + name: 'numberOfDisplaySetsWithImages', + description: 'Number of displays sets with images', + callback: numberOfDisplaySetsWithImages, + }, + }; + listeners = {}; + registeredImageLoadStrategies = {}; + activeImageLoadStrategyName = null; + customImageLoadPerformed = false; + + /** + * displaySetMatchDetails = + * DisplaySetId is the id defined in the hangingProtocol object itself + * and match is an object that contains information about + */ + displaySetMatchDetails: Map< + string, // protocol displaySetId in the displayset selector + HangingProtocol.DisplaySetMatchDetails + > = new Map(); + + /** + * An array that contains for each viewport (viewportId) specified in the + * hanging protocol, an object of the form + */ + viewportMatchDetails: Map< + string, // viewportId + HangingProtocol.ViewportMatchDetails + > = new Map(); + + constructor(commandsManager: CommandsManager, servicesManager: AppTypes.ServicesManager) { + super(HangingProtocolService.EVENTS); + this._commandsManager = commandsManager; + this._servicesManager = servicesManager; + this.protocols = new Map(); + this.protocolEngine = undefined; + this.protocol = undefined; + this.stageIndex = undefined; + + this.studies = []; + } + + public destroy(): void { + this.reset(); + this.protocols = new Map(); + } + + public reset(): void { + this.studies = []; + this.viewportMatchDetails = new Map(); + this.displaySetMatchDetails = new Map(); + this.protocol = undefined; + this.stageIndex = undefined; + this.protocolEngine = undefined; + } + + /** Leave the hanging protocol in the initialized state */ + public onModeEnter(): void { + this.reset(); + } + + /** + * Gets the active protocol information directly, including the direct + * protocol, stage and active study objects. + * Should NOT be stored longer term as the protocol + * object can change internally or be regenerated. + * Can be used to store the state to recover from exceptions. + * + * @returns protocol, stage, activeStudy + */ + public getActiveProtocol(): { + protocol: HangingProtocol.Protocol; + _originalProtocol: HangingProtocol.Protocol; + stage: HangingProtocol.ProtocolStage; + stageIndex: number; + activeStudy?: StudyMetadata; + viewportMatchDetails: Map; + displaySetMatchDetails: Map; + activeImageLoadStrategyName: string; + } { + return { + protocol: this.protocol, + _originalProtocol: this._originalProtocol, + stage: this.protocol?.stages?.[this.stageIndex], + stageIndex: this.stageIndex, + activeStudy: this.activeStudy, + viewportMatchDetails: this.viewportMatchDetails, + displaySetMatchDetails: this.displaySetMatchDetails, + activeImageLoadStrategyName: this.activeImageLoadStrategyName, + }; + } + + /** Gets the hanging protocol state information, which is a storable + * state information for the hanging protocol consisting of the: + * protocolId, stageIndex, stageId and activeStudyUID + */ + public getState(): HangingProtocol.HPInfo { + if (!this.protocol) { + return; + } + return { + protocolId: this.protocol.id, + stageIndex: this.stageIndex, + stageId: this.protocol.stages[this.stageIndex].id, + activeStudyUID: this.activeStudy?.StudyInstanceUID, + }; + } + + /** + * Filters the series required for running a hanging protocol. + * + * This can be extended in the future with more complex selection rules e.g. + * N series of a given type, and M of a different type, such as all CT series, + * and all SR, and then everything else. + * + * @param protocolId - The ID of the hanging protocol. + * @param seriesPromises - An array of promises representing the series. + * @returns An object containing the required series and the remaining series. + */ + public filterSeriesRequiredForRun(protocolId, seriesPromises) { + if (Array.isArray(protocolId)) { + protocolId = protocolId[0]; + } + const minSeriesLoadedToRunHP = + this.getProtocolById(protocolId)?.hpInitiationCriteria?.minSeriesLoaded || + seriesPromises.length; + const requiredSeries = seriesPromises.slice(0, minSeriesLoadedToRunHP); + const remaining = seriesPromises.slice(minSeriesLoadedToRunHP); + return { + requiredSeries, + remaining, + }; + } + + /** Gets the protocol with id 'default' */ + public getDefaultProtocol(): HangingProtocol.Protocol { + return this.getProtocolById('default'); + } + + /** Gets the viewport match details. + * @deprecated because this method is expected to go away as the HP service + * becomes more stateless. + */ + public getMatchDetails(): HangingProtocol.HangingProtocolMatchDetails { + return { + viewportMatchDetails: this.viewportMatchDetails, + displaySetMatchDetails: this.displaySetMatchDetails, + }; + } + + /** + * It loops over the protocols map object, and checks whether the protocol + * is a function, if so, it executes it and returns the result as a protocol object + * otherwise it returns the protocol object itself + * + * @returns all the hanging protocol registered in the HangingProtocolService + */ + public getProtocols(): HangingProtocol.Protocol[] { + // this.protocols is a map of protocols with the protocol id as the key + // and the protocol or a function that returns a protocol as the value + const protocols = []; + const keys = this.activeProtocolIds || this.protocols.keys(); + for (const protocolId of keys) { + const protocol = this.getProtocolById(protocolId); + if (protocol) { + protocols.push(protocol); + } + } + + return protocols; + } + + /** + * Returns the protocol with the given id, it will get the protocol from the + * protocols map object and if it is a function, it will execute it and return + * the result as a protocol object + * + * @param protocolId - the id of the protocol + * @returns protocol - the protocol with the given id + */ + public getProtocolById(protocolId: string, caseInsensitive = true): HangingProtocol.Protocol { + if (!protocolId) { + return; + } + if (protocolId === this.protocol?.id) { + return this.protocol; + } + + let protocol = this.protocols.get(protocolId); + if (!protocol && caseInsensitive) { + const lowerCaseId = protocolId.toLowerCase(); + for (const [key] of this.protocols) { + if (key.toLowerCase() === lowerCaseId) { + protocol = this.getProtocolById(key); + break; + } + } + } + + if (!protocol) { + throw new Error(`No protocol ${protocolId} found`); + } + + if (protocol instanceof Function) { + try { + const { protocol: generatedProtocol } = this._getProtocolFromGenerator(protocol); + + return generatedProtocol; + } catch (error) { + console.warn( + `Error while executing protocol generator for protocol ${protocolId}: ${error}` + ); + } + } else { + return this._validateProtocol(protocol); + } + } + + /** + * It adds a protocol to the protocols map object. If a protocol with the given + * id already exists, warn the user and overwrite it. This can be used to + * set a new "default" protocol. + * + * @param {string} protocolId - The id of the protocol. + * @param {Protocol} protocol - Protocol - This is the protocol that you want to + * add to the protocol manager. + */ + public addProtocol(protocolId: string, protocol: Protocol): void { + if (this.protocols.has(protocolId)) { + console.warn(`A protocol with id ${protocolId} already exists. It will be overwritten.`); + } + + if (!(protocol instanceof Function)) { + protocol = this._validateProtocol(protocol as HangingProtocol.Protocol); + } + + this.protocols.set(protocolId, protocol); + } + + /** + * Add a given protocol object as active. + * If active protocols ids is null right now, then the specified + * protocol will become the only active protocol. + */ + public addActiveProtocolId(id: string): void { + if (!id) { + return; + } + if (!this.activeProtocolIds) { + this.activeProtocolIds = []; + } + this.activeProtocolIds.push(id); + } + + /** + * Sets the active hanging protocols to use, by name. If the value is empty, + * then resets the active protocols to all the named items. + */ + public setActiveProtocolIds(protocolId?: string[] | string): void { + if (!protocolId || !protocolId.length) { + this.activeProtocolIds = null; + console.log('No active protocols, setting all to active'); + return; + } + if (typeof protocolId === 'string') { + this.setActiveProtocolIds([protocolId]); + return; + } + this.activeProtocolIds = [...protocolId]; + } + + /** + * Sets the active study. + * This is the study that the hanging protocol will consider active and + * may or may not be the study that is being shown by the protocol currently, + * for example, a prior view hanging protocol will NOT show the active study + * specifically, but will show another study instead. + */ + public setActiveStudyUID(activeStudyUID: string) { + if (!activeStudyUID || activeStudyUID === this.activeStudy?.StudyInstanceUID) { + return; + } + this.activeStudy = this.studies.find(it => it.StudyInstanceUID === activeStudyUID); + return this.activeStudy; + } + + public hasStudyUID(studyUID: string): boolean { + return this.studies.some(it => it.StudyInstanceUID === studyUID); + } + + public addStudy(study) { + if (!this.hasStudyUID(study.StudyInstanceUID)) { + this.studies.push(study); + } + } + + /** + * Run the hanging protocol decisions tree on the active study, + * studies list and display sets, firing a PROTOCOL_CHANGED event when + * complete to indicate the hanging protocol is ready, and which stage + * got applied/activated. + * + * Also fires a STAGES_ACTIVE event to indicate which stages are able to be + * activated. + * + * @param params is the dataset to run the hanging protocol on. + * @param params.activeStudy is the "primary" study to hang This may or may + * not be displayed by the actual viewports. + * @param params.studies is the list of studies to hang. If absent, will reuse the previous set. + * @param params.displaySets is the list of display sets associated with + * the studies to display in viewports. + * @param protocol is a specific protocol to apply. + */ + public run({ studies, displaySets, activeStudy }, protocolId, options = {}) { + this.studies = [...(studies || this.studies)]; + this.displaySets = displaySets; + this.setActiveStudyUID( + activeStudy?.StudyInstanceUID || (activeStudy || this.studies[0])?.StudyInstanceUID + ); + + this.protocolEngine = new ProtocolEngine( + this.getProtocols(), + this.customAttributeRetrievalCallbacks + ); + + // Resets the full protocol status here. + this.protocol = null; + + if (protocolId && typeof protocolId === 'string') { + const protocol = this.getProtocolById(protocolId); + this._setProtocol(protocol, options); + } else { + const matchedProtocol = this.protocolEngine.run({ + studies: this.studies, + activeStudy, + displaySets, + }); + this._setProtocol(matchedProtocol); + } + + if (this.protocol?.callbacks?.onProtocolEnter) { + this._commandsManager.run(this.protocol?.callbacks?.onProtocolEnter); + } + } + + /** + * Returns true, if the hangingProtocol has a custom loading strategy for the images + * and its callback has been added to the HangingProtocolService + * @returns A boolean indicating whether a custom image load strategy has been added or not. + */ + public hasCustomImageLoadStrategy(): boolean { + return ( + this.activeImageLoadStrategyName !== null && + this.registeredImageLoadStrategies[this.activeImageLoadStrategyName] instanceof Function + ); + } + + /** + * Returns a boolean indicating whether a custom image load has been performed or not. + * A custom image load is performed when a custom image load strategy is used to load images. + * This method is used internally by the HangingProtocolService to determine whether to perform + * a custom image load or not. + * + * @returns A boolean indicating whether a custom image load has been performed or not. + */ + private getCustomImageLoadPerformed(): boolean { + return this.customImageLoadPerformed; + } + + /** + * Returns a boolean indicating whether a custom image load should be performed or not. + * A custom image load should be performed if a custom image load strategy has been added to the HangingProtocolService + * and it has not been performed yet. + * + * @returns A boolean indicating whether a custom image load should be performed or not. + */ + public getShouldPerformCustomImageLoad(): boolean { + return this.hasCustomImageLoadStrategy() && !this.getCustomImageLoadPerformed(); + } + + /** + * Set the strategy callback for loading images to the HangingProtocolService + * @param {string} name strategy name + * @param {Function} callback image loader callback + */ + public registerImageLoadStrategy(name, callback): void { + if (callback instanceof Function && name) { + this.registeredImageLoadStrategies[name] = callback; + } + } + + /** + * Adds a custom attribute to be used in the HangingProtocol UI and matching rules, including a + * callback that will be used to calculate the attribute value. + * + * @param attributeId The ID used to refer to the attribute (e.g. 'timepointType') + * @param attributeName The name of the attribute to be displayed (e.g. 'Timepoint Type') + * @param callback The function used to calculate the attribute value from the other attributes at its level (e.g. study/series/image) + * @param options to add to the "this" object for the custom attribute retriever + */ + public addCustomAttribute( + attributeId: string, + attributeName: string, + callback: (metadata: Record, extraData?: Record) => unknown, + options: Record = {} + ): void { + this.customAttributeRetrievalCallbacks[attributeId] = { + ...options, + id: attributeId, + name: attributeName, + callback, + }; + } + + /** + * Executes the callback function for the custom loading strategy for the images + * if no strategy is set, the default strategy is used + */ + runImageLoadStrategy(data): boolean { + const loader = this.registeredImageLoadStrategies[this.activeImageLoadStrategyName]; + const loadedData = loader({ + data, + displaySetsMatchDetails: this.displaySetMatchDetails, + viewportMatchDetails: this.viewportMatchDetails, + }); + + // if loader successfully re-arranged the data with the custom strategy + // and returned the new props, then broadcast them + if (!loadedData) { + console.warn('Not able to load data with custom strategy'); + return false; + } + + this.customImageLoadPerformed = true; + this._broadcastEvent(this.EVENTS.CUSTOM_IMAGE_LOAD_PERFORMED, loadedData); + return true; + } + + _validateProtocol(protocol: HangingProtocol.Protocol): HangingProtocol.Protocol { + protocol.name = protocol.name ?? protocol.id; + const { stages } = protocol; + + if (!stages) { + console.warn('Protocol has not stages:', protocol.id, protocol); + return; + } + + for (const id of Object.keys(protocol.displaySetSelectors)) { + const selector = protocol.displaySetSelectors[id]; + selector.id = id; + const { seriesMatchingRules } = selector; + if (!seriesMatchingRules) { + console.warn('Selector has no series matching rules', protocol.id, id); + return; + } + } + + // Generate viewports automatically as required. + stages.forEach(stage => { + if (!stage.viewports) { + stage.name = stage.name || stage.id; + stage.viewports = []; + const { rows, columns } = stage.viewportStructure.properties; + + for (let i = 0; i < rows * columns; i++) { + const defaultViewport = stage.defaultViewport || protocol.defaultViewport || {}; + stage.viewports.push({ + viewportOptions: { + ...defaultViewport.viewportOptions, + viewportId: i === 0 ? 'default' : uuidv4(), + }, + displaySets: [], + }); + } + } else { + // Clone each viewport to ensure independent objects + stage.viewports = stage.viewports.map((viewport, index) => { + const defaultViewport = stage.defaultViewport || protocol.defaultViewport || {}; + const existingViewportId = viewport.viewportOptions?.viewportId; + + return { + ...viewport, + viewportOptions: { + ...defaultViewport.viewportOptions, + ...viewport.viewportOptions, + viewportId: existingViewportId + ? existingViewportId + : index === 0 + ? 'default' + : uuidv4(), + }, + displaySets: viewport.displaySets || [], + }; + }); + stage.viewports.forEach(viewport => { + viewport.displaySets.forEach(displaySet => { + displaySet.options = displaySet.options || {}; + }); + }); + } + }); + + return protocol; + } + + private _getProtocolFromGenerator(protocolGenerator: HangingProtocol.ProtocolGenerator): { + protocol: HangingProtocol.Protocol; + } { + const { protocol } = protocolGenerator({ + servicesManager: this._servicesManager, + commandsManager: this._commandsManager, + }); + + const validatedProtocol = this._validateProtocol(protocol); + + return { + protocol: validatedProtocol, + }; + } + + /** + * This will return the viewports that need to be updated based on the + * hanging protocol layout and the displaySetInstanceUID that needs to be updated. + * + * This is useful, when for instance we drag and drop a displaySet into a viewport + * which is in MPR, and we need to update the other viewports that are showing the same + * layout. + * + * However, sometimes since we get out of sync with the hanging protocol layout, when + * the user use the custom grid layout, we should not update the other viewports, and that is + * when the isHangingProtocolLayout is set to false. + * + * @param viewportId - the id of the viewport that needs to be updated + * @param displaySetInstanceUID - the displaySetInstanceUID that needs to be updated + * @param isHangingProtocolLayout - whether the layout is a hanging protocol layout + * @returns + */ + getViewportsRequireUpdate(viewportId, displaySetInstanceUID, isHangingProtocolLayout = true) { + const newDisplaySetInstanceUID = displaySetInstanceUID; + const defaultReturn = [ + { + viewportId, + displaySetInstanceUIDs: [newDisplaySetInstanceUID], + }, + ]; + + if (!isHangingProtocolLayout) { + return defaultReturn; + } + + const { displaySetService } = this._servicesManager.services; + const displaySet = displaySetService.getDisplaySetByUID(displaySetInstanceUID); + if (displaySet?.unsupported) { + throw new Error('Unsupported displaySet'); + } + // Overlays (SEG, RTSTRUCT) share selectors with referenced volumes but must not + // sync to every matched viewport before hydration (would replace e.g. 3D primary). + if (displaySet?.isOverlayDisplaySet) { + return defaultReturn; + } + + const protocol = this.protocol; + const protocolStage = protocol.stages[this.stageIndex]; + const protocolViewports = protocolStage.viewports; + + if (!protocolViewports) { + return defaultReturn; + } + + const protocolViewport = protocolViewports.find( + pv => pv.viewportOptions.viewportId === viewportId + ); + + // if no viewport, then we can assume there is no predefined set of + // rules that should be applied to this viewport while matching + if (!protocolViewport) { + return defaultReturn; + } + + // no support for drag and drop into fusion viewports yet + // Todo: smart drag and drop would look at the displaySets and + // replace the same modality type, but later + if (protocolViewport.displaySets.length > 1) { + throw new Error('Cannot update viewport with multiple displaySets yet'); + } + + // If there is no displaySet, then we can assume that the viewport + // is empty and we can just add the new displaySet to it + if (protocolViewport.displaySets.length === 0) { + return defaultReturn; + } + + // If the viewport options says to allow any instance, then we can assume + // it just updates this viewport. This is deprecated and will be removed + if (protocolViewport.viewportOptions.allowUnmatchedView) { + return defaultReturn; + } + + // if the viewport is not empty, then we check the displaySets it is showing + // currently, which means we need to check if the requested updated displaySet + // follow the same rules as the current displaySets + const { id: displaySetSelectorId, matchedDisplaySetsIndex = 0 } = + protocolViewport.displaySets[0]; + const displaySetSelector = protocol.displaySetSelectors[displaySetSelectorId]; + + // The display set can allow any view + if (!displaySetSelector || displaySetSelector.allowUnmatchedView) { + return defaultReturn; + } + + // so let's check if the new displaySetInstanceUIDs follow the same rules + this._validateViewportSpecificMatch( + { + displaySetInstanceUIDs: [newDisplaySetInstanceUID], + viewportOptions: {}, + displaySetOptions: [], + }, + protocolViewport, + protocol.displaySetSelectors + ); + // if we reach here, it means there are some rules that should be applied + + // if we don't have any match details for the displaySetSelector the viewport + // is currently showing, then we can assume that the new displaySetInstanceUID + // does not + if (!this.displaySetMatchDetails.get(displaySetSelectorId)) { + return defaultReturn; + } + + const originalProtocol = this._originalProtocol; + let originalProtocolStage; + if (!(originalProtocol instanceof Function)) { + originalProtocolStage = originalProtocol.stages[this.stageIndex]; + } + + // if we reach here, it means that the displaySetInstanceUIDs to be dropped + // for the desired viewportId are valid, and we can proceed with the update. However + // we need to check if the displaySets that the viewport were showing + // was also referenced by other viewports, and if so, we need to update those + // viewports as well + + // check if displaySetSelectors are used by other viewports, and + // store the viewportId and displaySetInstanceUIDs that need to be updated + const viewportsToUpdate = []; + protocolViewports.forEach((viewport, index) => { + const viewportNeedsUpdate = viewport.displaySets.some( + displaySet => + displaySet.id === displaySetSelectorId && + (displaySet.matchedDisplaySetsIndex || 0) === matchedDisplaySetsIndex + ); + + if (viewportNeedsUpdate) { + // Try to recompute the viewport options based on the current + // viewportId that needs update but from its old/original un-computed + // viewport & displaySet options + if (originalProtocolStage) { + const originalViewport = originalProtocolStage.viewports[index]; + const originalViewportOptions = originalViewport.viewportOptions; + const originalDisplaySetOptions = originalViewport.displaySets; + + viewport.viewportOptions = this.getComputedOptions(originalViewportOptions, [ + newDisplaySetInstanceUID, + ]); + + viewport.displaySets = this.getComputedOptions(originalDisplaySetOptions, [ + newDisplaySetInstanceUID, + ]); + } + + const displaySetInstanceUIDs = []; + const displaySetOptions = []; + + this._updateDisplaySetInstanceUIDs( + viewport, + displaySetSelectorId, + newDisplaySetInstanceUID, + this.displaySetMatchDetails, + displaySetInstanceUIDs, + displaySetOptions + ); + + viewportsToUpdate.push({ + viewportId: viewport.viewportOptions.viewportId, + displaySetInstanceUIDs, + viewportOptions: viewport.viewportOptions, + displaySetOptions, + }); + } + }); + + return viewportsToUpdate; + } + + public runMatchingRules(metadataArray, matchingRules, options) { + return this.protocolEngine.findMatch(metadataArray, matchingRules, options); + } + + private _updateDisplaySetInstanceUIDs( + viewport: HangingProtocol.Viewport, + displaySetSelectorId: string, + newDisplaySetInstanceUID: string, + displaySetMatchDetails: Map, + displaySetInstanceUIDs: string[], + displaySetOptions: HangingProtocol.DisplaySetOptions[] + ) { + viewport.displaySets.forEach(displaySet => { + const { id } = displaySet; + const displaySetMatchDetail = displaySetMatchDetails.get(id); + + const { displaySetInstanceUID: oldDisplaySetInstanceUID } = displaySetMatchDetail; + + const displaySetInstanceUID = + displaySet.id === displaySetSelectorId + ? newDisplaySetInstanceUID + : oldDisplaySetInstanceUID; + + displaySetMatchDetail.displaySetInstanceUID = displaySetInstanceUID; + + displaySetInstanceUIDs.push(displaySetInstanceUID); + displaySetOptions.push(displaySet); + }); + } + + /** + * Gets a computed options value, or a copy of the options + * This allows computing values such as the initial image index to use + * based on custom attribute functions, the same as the validators. + * Computing individual values is something that can be declared statically + * as long as the named functions are provided ahead of time, which is much + * simpler than recomputing the entire protocol. + */ + public getComputedOptions( + options: Record | Array>, + displaySetUIDs: string[] + ): any { + // Base case: if options is an array, map over the array and recursively call getComputedOptions + if (Array.isArray(options)) { + return options.map(option => this.getComputedOptions(option, displaySetUIDs)); + } + + if (options === null) { + return options; + } + if (typeof options !== 'object') { + return options; + } + + // If options is an object with a custom attribute, compute a new options object + if (options.custom) { + const displaySets = this.displaySets.filter(displaySet => + displaySetUIDs.includes(displaySet.displaySetInstanceUID) + ); + + const customKey = options.custom as string; + if (!(customKey in this.customAttributeRetrievalCallbacks)) { + throw new Error( + `Custom key "${customKey}" not found in customAttributeRetrievalCallbacks.` + ); + } + + const callback = this.customAttributeRetrievalCallbacks[customKey].callback; + let newOptions = callback.call(options, displaySets); + + if (newOptions === undefined) { + newOptions = options.defaultValue; + } + + return this.getComputedOptions(newOptions, displaySetUIDs); + } + + // If options is an object without a custom attribute, recursively call getComputedOptions on its properties + const newOptions = {} as Record; + for (const key in options) { + // if not undefined + if (options[key] !== undefined) { + newOptions[key] = this.getComputedOptions(options[key], displaySetUIDs); + } + } + + return newOptions; + } + + /** + * It applied the protocol to the current studies and display sets based on the + * protocolId that is provided. + * @param protocolId - name of the registered protocol to be set + * @param options - options to be passed to the protocol, this is either an array + * of the displaySetInstanceUIDs to be set on ALL VIEWPORTS OF THE PROTOCOL or an object + * that contains viewportId as the key and displaySetInstanceUIDs as the value + * for each viewport that needs to be set. + * @param errorCallback - callback to be called if there is an error + * during the protocol application + * + * @returns boolean - true if the protocol was applied and no errors were found + */ + public setProtocol( + protocolId: string, + options = {} as HangingProtocol.SetProtocolOptions, + errorCallback = null + ): void { + const foundProtocol = this.protocols.get(protocolId); + + if (!foundProtocol) { + console.warn( + `ProtocolEngine::setProtocol - Protocol with id ${protocolId} not found - you should register it first via addProtocol` + ); + return; + } + + try { + const protocol = this._validateProtocol(foundProtocol); + + if (options) { + this._validateOptions(options); + } + + this._setProtocol(protocol, options); + } catch (error) { + console.log(error); + + if (errorCallback) { + errorCallback(error); + } + + throw new Error(error); + } + + this._commandsManager.run(this.protocol?.callbacks?.onProtocolEnter); + } + + protected matchActivation( + matchedViewports: number, + activation: HangingProtocol.StageActivation = {}, + minViewportsMatched: number + ): boolean { + const { displaySetSelectors } = this.protocol; + + const { displaySetSelectorsMatched = [] } = activation; + for (const dsName of displaySetSelectorsMatched) { + const displaySetSelector = displaySetSelectors[dsName]; + if (!displaySetSelector) { + console.warn('No display set selector for', dsName); + return false; + } + const { bestMatch } = this._matchImages(displaySetSelector); + if (!bestMatch) { + return false; + } + } + const min = activation.minViewportsMatched ?? minViewportsMatched; + + return matchedViewports >= min; + } + /** + * Updates the stage activation, setting the stageActivation values to + * 'disabled', 'active', 'passive' where: + * * disabled means there are insufficient viewports filled to show this + * * passive means there aren't enough preferred viewports filled to show + * this stage by default, but it can be manually selected + * * enabled means there are enough viewports to select this viewport by default + * + * The logic is currently simple, just count how many viewports would be + * filled, and compare to the required/preferred count, but the intent is + * to allow more complex rules in the future as required. + * + * @returns the stage number to apply initially, given the options. + */ + private _updateStageStatus(options = null as HangingProtocol.SetProtocolOptions) { + const stages = this.protocol.stages; + for (let i = 0; i < stages.length; i++) { + const stage = stages[i]; + + const { matchedViewports } = this._matchAllViewports(stage, options, new Map()); + const activation = stage.stageActivation || {}; + if (this.matchActivation(matchedViewports, activation.passive, 0)) { + if (this.matchActivation(matchedViewports, activation.enabled, 1)) { + stage.status = 'enabled'; + } else { + stage.status = 'passive'; + } + } else { + stage.status = 'disabled'; + } + } + + this._broadcastEvent(this.EVENTS.STAGE_ACTIVATION, { + protocol: this.protocol, + stages: this.protocol.stages, + }); + } + + private _findStageIndex(options = null as HangingProtocol.SetProtocolOptions): number | void { + const stageId = options?.stageId; + const protocol = this.protocol; + const stages = protocol.stages; + + if (stageId) { + for (let i = 0; i < stages.length; i++) { + const stage = stages[i]; + if (stage.id === stageId && stage.status !== 'disabled') { + return i; + } + } + return; + } + + const stageIndex = options?.stageIndex; + if (stageIndex !== undefined) { + return stages[stageIndex]?.status !== 'disabled' ? stageIndex : undefined; + } + + let firstNotDisabled: number; + + for (let i = 0; i < stages.length; i++) { + if (stages[i].status === 'enabled') { + return i; + } + if (firstNotDisabled === undefined && stages[i].status !== 'disabled') { + firstNotDisabled = i; + } + } + + return firstNotDisabled; + } + + private _setProtocol( + protocol: HangingProtocol.Protocol, + options = null as HangingProtocol.SetProtocolOptions + ): void { + const old = this.getActiveProtocol(); + + try { + if (!this.protocol || this.protocol.id !== protocol.id) { + this.stageIndex = options?.stageIndex || 0; + //Reset load performed to false to re-fire loading strategy at new study opening + this.customImageLoadPerformed = false; + this._originalProtocol = this._copyProtocol(protocol); + + // before reassigning the protocol, we need to check if there is a callback + // on the old protocol that needs to be called + // Send the notification about updating the state + if (this.protocol?.callbacks?.onProtocolExit) { + this._commandsManager.run(this.protocol.callbacks.onProtocolExit); + } + + this.protocol = protocol; + + const { imageLoadStrategy } = protocol; + if (imageLoadStrategy) { + // check if the imageLoadStrategy is a valid strategy + if (this.registeredImageLoadStrategies[imageLoadStrategy] instanceof Function) { + this.activeImageLoadStrategyName = imageLoadStrategy; + } + } else { + this.activeImageLoadStrategyName = null; + } + + this._updateStageStatus(options); + } + + const stage = this._findStageIndex(options); + if (stage === undefined) { + throw new Error(`Can't find applicable stage ${protocol.id} ${options?.stageIndex}`); + } + this.stageIndex = stage as number; + + if (this.protocol?.callbacks?.onStageChange) { + this._commandsManager.run(this.protocol.callbacks.onStageChange); + } + + this._updateViewports(options); + } catch (error) { + console.log(error); + Object.assign(this, old); + throw new Error(error); + } + + if (options?.restoreProtocol !== true) { + this._broadcastEvent(HangingProtocolService.EVENTS.PROTOCOL_CHANGED, { + viewportMatchDetails: this.viewportMatchDetails, + displaySetMatchDetails: this.displaySetMatchDetails, + protocol: this.protocol, + stageIdx: this.stageIndex, + stage: this.protocol.stages[this.stageIndex], + activeStudyUID: this.activeStudy?.StudyInstanceUID, + }); + } else { + this._broadcastEvent(HangingProtocolService.EVENTS.PROTOCOL_RESTORED, { + protocol: this.protocol, + stageIdx: this.stageIndex, + stage: this.protocol.stages[this.stageIndex], + activeStudyUID: this.activeStudy?.StudyInstanceUID, + }); + } + } + + public getStageIndex(protocolId: string, options): number { + const protocol = this.getProtocolById(protocolId); + const { stageId, stageIndex } = options; + if (stageId !== undefined) { + return protocol.stages.findIndex(it => it.id === stageId); + } + if (stageIndex !== undefined) { + return stageIndex; + } + return 0; + } + + /** + * Retrieves the number of Stages in the current Protocol or + * undefined if no protocol or stages are set + */ + _getNumProtocolStages() { + if (!this.protocol || !this.protocol.stages || !this.protocol.stages.length) { + return; + } + + return this.protocol.stages.length; + } + + /** + * Retrieves the current Stage from the current Protocol and stage index + * + * @returns {*} The Stage model for the currently displayed Stage + */ + _getCurrentStageModel() { + return this.protocol.stages[this.stageIndex]; + } + + /** + * Gets a new viewport object for missing viewports. Used to fill + * new viewports. + * Looks first for the stage, to see if there is a missingViewport defined, + * and secondly looks to the overall protocol. + * + * Returns a matchInfo object, which can be used to create the actual + * viewport object (which this class knows nothing about). + */ + public getMissingViewport( + protocolId: string, + stageIdx: number, + options + ): HangingProtocol.ViewportMatchDetails { + if (this.protocol.id !== protocolId) { + console.warn('setting protocol'); + this.protocol = this.getProtocolById(protocolId); + this.stageIndex = 0; + } + const protocol = this.protocol; + const stage = protocol.stages[stageIdx] ?? protocol.stages[this.stageIndex]; + const defaultViewport = stage.defaultViewport || protocol.defaultViewport; + if (!defaultViewport) { + return; + } + + const useViewport = { ...defaultViewport }; + return this._matchViewport(useViewport, options); + } + + /** + * Gets a sort function that is consistent with the display set sorting performed + * to match display sets to viewports. + * @returns a display set sort function + */ + public getDisplaySetSortFunction(): (displaySetA: DisplaySet, displaySetB: DisplaySet) => number { + return (displaySetA, displaySetB) => { + const seriesA = this._getSeriesSortInfoForDisplaySetSort(displaySetA); + const seriesB = this._getSeriesSortInfoForDisplaySetSort(displaySetB); + + return sortBy(this._getSeriesFieldForDisplaySetSort())(seriesA, seriesB); + }; + } + + /** + * Updates the viewports with the selected protocol stage. + */ + _updateViewports(options = null as HangingProtocol.SetProtocolOptions): void { + // Make sure we have an active protocol with a non-empty array of display sets + if (!this._getNumProtocolStages()) { + throw new Error('No protocol or stages found'); + } + + // each time we are updating the viewports, we need to reset the + // matching applied + this.viewportMatchDetails = new Map(); + this.displaySetMatchDetails = new Map(); + + // Retrieve the current stage + const stageModel = this._getCurrentStageModel(); + + // If the current stage does not fulfill the requirements to be displayed, + // stop here. + if ( + !stageModel || + !stageModel.viewportStructure || + !stageModel.viewports || + !stageModel.viewports.length + ) { + console.log('Stage cannot be applied', stageModel); + return; + } + + const { layoutType } = stageModel.viewportStructure; + // Retrieve the properties associated with the current display set's viewport structure template + // If no such layout properties exist, stop here. + const layoutProps = stageModel.viewportStructure.properties; + if (!layoutProps) { + console.log('No viewportStructure.properties in', stageModel); + return; + } + + const { columns: numCols, rows: numRows, layoutOptions = [] } = layoutProps; + + if (this.protocol?.callbacks?.onViewportDataInitialized) { + this._commandsManager.runCommand('attachProtocolViewportDataListener', { + protocol: this.protocol, + stageIndex: this.stageIndex, + }); + } + + this._broadcastEvent(this.EVENTS.NEW_LAYOUT, { + layoutType, + numRows, + numCols, + layoutOptions, + }); + + // Loop through each viewport + this._matchAllViewports(this.protocol.stages[this.stageIndex], options); + } + + private _matchAllViewports( + stageModel: HangingProtocol.ProtocolStage, + options?: HangingProtocol.SetProtocolOptions, + viewportMatchDetails = this.viewportMatchDetails, + displaySetMatchDetails = this.displaySetMatchDetails + ): { + matchedViewports: number; + viewportMatchDetails: Map; + displaySetMatchDetails: Map; + } { + this.activeStudy ||= this.studies[0]; + let matchedViewports = 0; + stageModel.viewports.forEach(viewport => { + const viewportId = viewport.viewportOptions.viewportId; + const matchDetails = this._matchViewport( + viewport, + options, + viewportMatchDetails, + displaySetMatchDetails + ); + if (matchDetails) { + if ( + matchDetails.displaySetsInfo?.length && + matchDetails.displaySetsInfo[0].displaySetInstanceUID + ) { + matchedViewports++; + } else { + console.log('Adding an empty set of display sets for mapping purposes'); + matchDetails.displaySetsInfo = viewport.displaySets.map(it => ({ + displaySetOptions: it, + })); + } + viewportMatchDetails.set(viewportId, matchDetails); + } + }); + return { + matchedViewports, + viewportMatchDetails, + displaySetMatchDetails, + }; + } + + protected findDeduplicatedMatchDetails( + matchDetails: HangingProtocol.DisplaySetMatchDetails, + offset: number, + options: HangingProtocol.SetProtocolOptions = {} + ): HangingProtocol.DisplaySetMatchDetails { + if (!matchDetails) { + return; + } + if (offset === 0) { + return matchDetails; + } + const { matchingScores = [] } = matchDetails; + if (offset === -1) { + const { inDisplay } = options; + if (!inDisplay) { + return matchDetails; + } + for (let i = 0; i < matchDetails.matchingScores.length; i++) { + if (inDisplay.indexOf(matchDetails.matchingScores[i].displaySetInstanceUID) === -1) { + const match = matchDetails.matchingScores[i]; + return match.matchingScore > 0 + ? { + matchingScores, + ...matchDetails.matchingScores[i], + } + : null; + } + } + return; + } + const matchFound = matchingScores[offset]; + return matchFound ? { ...matchFound, matchingScores } : undefined; + } + + protected validateDisplaySetSelectMatch( + match: HangingProtocol.DisplaySetMatchDetails, + id: string, + displaySetUID: string + ): void { + if (match.displaySetInstanceUID === displaySetUID) { + return; + } + if (!match.matchingScores) { + throw new Error('No matchingScores found in ' + match); + } + for (const subMatch of match.matchingScores) { + if (subMatch.displaySetInstanceUID === displaySetUID) { + return; + } + } + throw new Error(`Reused viewport details ${id} with ds ${displaySetUID} not valid`); + } + + protected _matchViewport( + viewport: HangingProtocol.Viewport, + options: HangingProtocol.SetProtocolOptions, + viewportMatchDetails = this.viewportMatchDetails, + displaySetMatchDetails = this.displaySetMatchDetails + ): HangingProtocol.ViewportMatchDetails { + const displaySetSelectorMap = options?.displaySetSelectorMap || {}; + const { displaySetSelectors = {} } = this.protocol; + + // Matching the displaySets + for (const displaySet of viewport.displaySets) { + const { id: displaySetId } = displaySet; + + const displaySetSelector = displaySetSelectors[displaySetId]; + + if (!displaySetSelector) { + console.warn('No display set selector for', displaySetId); + continue; + } + const { bestMatch, matchingScores } = this._matchImages(displaySetSelector); + displaySetMatchDetails.set(displaySetId, bestMatch); + + if (bestMatch) { + bestMatch.matchingScores = matchingScores; + } + } + + // Loop through each viewport + const { viewportOptions = DEFAULT_VIEWPORT_OPTIONS } = viewport; + // DisplaySets for the viewport, Note: this is not the actual displaySet, + // but it is a info to locate the displaySet from the displaySetService + const displaySetsInfo = []; + const { StudyInstanceUID: activeStudyUID } = this.activeStudy; + viewport.displaySets.forEach(displaySetOptions => { + const { id, matchedDisplaySetsIndex = 0 } = displaySetOptions; + const reuseDisplaySetUIDs = + id && displaySetSelectorMap[`${activeStudyUID}:${id}:${matchedDisplaySetsIndex || 0}`]; + const viewportDisplaySetMain = this.displaySetMatchDetails.get(id); + + const viewportDisplaySet = this.findDeduplicatedMatchDetails( + viewportDisplaySetMain, + matchedDisplaySetsIndex, + options + ); + + // Use the display set provided instead + if (reuseDisplaySetUIDs) { + reuseDisplaySetUIDs.forEach(reuseDisplaySetUID => { + // This display set should have already been validated + const displaySetInfo: HangingProtocol.DisplaySetInfo = { + displaySetInstanceUID: reuseDisplaySetUID, + displaySetOptions, + }; + + displaySetsInfo.push(displaySetInfo); + }); + + return; + } + + // Use the display set index to allow getting the "next" match, eg + // matching all display sets, and get the matchedDisplaySetsIndex'th item + if (viewportDisplaySet) { + const { displaySetInstanceUID } = viewportDisplaySet; + + const displaySetInfo: HangingProtocol.DisplaySetInfo = { + displaySetInstanceUID: displaySetInstanceUID, + displaySetOptions, + }; + + displaySetsInfo.push(displaySetInfo); + } else { + console.warn( + ` + The hanging protocol viewport is requesting to display ${id} displaySet that is not + matched based on the provided criteria (e.g. matching rules). + ` + ); + } + }); + return { + viewportOptions, + displaySetsInfo, + }; + } + + private _validateViewportSpecificMatch( + displaySetAndViewportOptions: HangingProtocol.DisplaySetAndViewportOptions, + protocolViewport: HangingProtocol.Viewport, + displaySetSelectors: Record + ): void { + const { displaySetService } = this._servicesManager.services; + const protocolViewportDisplaySets = protocolViewport.displaySets; + const numDisplaySetsToSet = displaySetAndViewportOptions.displaySetInstanceUIDs.length; + + if ( + protocolViewportDisplaySets.length > 0 && + numDisplaySetsToSet !== protocolViewportDisplaySets.length + ) { + throw new Error( + `The number of displaySets to set ${numDisplaySetsToSet} does not match the number of displaySets in the protocol ${protocolViewportDisplaySets} - not currently implemented` + ); + } + + displaySetAndViewportOptions.displaySetInstanceUIDs.forEach(displaySetInstanceUID => { + const displaySet = displaySetService.getDisplaySetByUID(displaySetInstanceUID); + + const { displaySets: displaySetsInfo } = protocolViewport; + + for (const displaySetInfo of displaySetsInfo) { + const displaySetSelector = displaySetSelectors[displaySetInfo.id]; + + if (!displaySetSelector) { + continue; + } + this._validateRequiredSelectors(displaySetSelector, displaySet); + } + }); + } + + public areRequiredSelectorsValid( + displaySetSelectors: HangingProtocol.DisplaySetSelector[], + displaySet: DisplaySet + ): boolean { + let pass = true; + for (const displaySetSelector of displaySetSelectors) { + try { + this._validateRequiredSelectors(displaySetSelector, displaySet); + } catch (error) { + pass = false; + break; + } + } + return pass; + } + + private _validateRequiredSelectors( + displaySetSelector: HangingProtocol.DisplaySetSelector, + displaySet: DisplaySet + ) { + const { seriesMatchingRules } = displaySetSelector; + + // only match the required rules + const requiredRules = seriesMatchingRules.filter(rule => rule.required); + if (requiredRules.length) { + const matched = this.protocolEngine.findMatch(displaySet, requiredRules); + + if (!matched || matched.score === 0) { + throw new Error( + `The displaySetInstanceUID ${displaySet.displaySetInstanceUID} does not satisfy the required seriesMatching criteria for the protocol` + ); + } + } + } + + _validateOptions(options: HangingProtocol.SetProtocolOptions): void { + const { displaySetService } = this._servicesManager.services; + const { displaySetSelectorMap } = options; + if (displaySetSelectorMap) { + Object.entries(displaySetSelectorMap).forEach(([key, displaySetInstanceUIDs]) => { + displaySetInstanceUIDs.forEach(displaySetInstanceUID => { + const displaySet = displaySetService.getDisplaySetByUID(displaySetInstanceUID); + + if (!displaySet) { + throw new Error( + `The displaySetInstanceUID ${displaySetInstanceUID} is not found in the displaySetService` + ); + } + }); + }); + } + } + + // Match images given a list of Studies and a Viewport's image matching reqs + protected _matchImages(displaySetRules) { + // TODO: matching is applied on study and series level, instance + // level matching needs to be added in future + + // Todo: handle fusion viewports by not taking the first displaySet rule for the viewport + const { id, studyMatchingRules = [], seriesMatchingRules } = displaySetRules; + + const matchingScores = []; + let highestSeriesMatchingScore = 0; + + console.log('ProtocolEngine::matchImages', studyMatchingRules, seriesMatchingRules); + const matchActiveOnly = this.protocol.numberOfPriorsReferenced === -1; + this.studies.forEach((study, studyInstanceUIDsIndex) => { + // Skip non-active if active only + if (matchActiveOnly && this.activeStudy !== study) { + return; + } + + const studyDisplaySets = this.displaySets.filter( + it => it.StudyInstanceUID === study.StudyInstanceUID && !it?.unsupported + ); + + const studyMatchDetails = this.protocolEngine.findMatch(study, studyMatchingRules, { + studies: this.studies, + displaySets: studyDisplaySets, + allDisplaySets: this.displaySets, + displaySetMatchDetails: this.displaySetMatchDetails, + studyInstanceUIDsIndex, + }); + + // Prevent bestMatch from being updated if the matchDetails' required attribute check has failed + if (studyMatchDetails.requiredFailed === true) { + return; + } + + this.debug('study', study.StudyInstanceUID, 'display sets #', studyDisplaySets.length); + studyDisplaySets.forEach(displaySet => { + const { StudyInstanceUID, SeriesInstanceUID, displaySetInstanceUID } = displaySet; + const seriesMatchDetails = this.protocolEngine.findMatch( + displaySet, + seriesMatchingRules, + // Todo: why we have images here since the matching type does not have it + { + studies: this.studies, + instance: displaySet.images?.[0], + displaySetMatchDetails: this.displaySetMatchDetails, + displaySets: studyDisplaySets, + } + ); + + // Prevent bestMatch from being updated if the matchDetails' required attribute check has failed + if (seriesMatchDetails.requiredFailed === true) { + this.debug('Display set required failed', displaySet, seriesMatchingRules); + return; + } + + this.debug('Found displaySet for rules', displaySet); + highestSeriesMatchingScore = Math.max(seriesMatchDetails.score, highestSeriesMatchingScore); + + const matchDetails = { + passed: [], + failed: [], + }; + + matchDetails.passed = matchDetails.passed.concat(seriesMatchDetails.details.passed); + matchDetails.passed = matchDetails.passed.concat(studyMatchDetails.details.passed); + + matchDetails.failed = matchDetails.failed.concat(seriesMatchDetails.details.failed); + matchDetails.failed = matchDetails.failed.concat(studyMatchDetails.details.failed); + + const totalMatchScore = seriesMatchDetails.score + studyMatchDetails.score; + + const imageDetails = { + StudyInstanceUID, + SeriesInstanceUID, + displaySetInstanceUID, + matchingScore: totalMatchScore, + matchDetails: matchDetails, + sortingInfo: { + score: totalMatchScore, + study: study.StudyInstanceUID, + ...this._getSeriesSortInfoForDisplaySetSort(displaySet), + }, + }; + + this.debug('Adding display set', displaySet, imageDetails); + matchingScores.push(imageDetails); + }); + }); + + if (matchingScores.length === 0) { + console.log('No match found', id); + } + + // Sort the matchingScores + const sortingFunction = sortBy( + { + name: 'score', + reverse: true, + }, + { + name: 'study', + reverse: true, + }, + this._getSeriesFieldForDisplaySetSort() + ); + matchingScores.sort((a, b) => sortingFunction(a.sortingInfo, b.sortingInfo)); + + const bestMatch = matchingScores[0]; + + console.log('ProtocolEngine::matchImages bestMatch', bestMatch, matchingScores); + + return { + bestMatch, + matchingScores, + }; + } + + private _getSeriesSortInfoForDisplaySetSort(displaySet) { + return { + [this._getSeriesFieldForDisplaySetSort().name]: + displaySet.SeriesNumber != null + ? parseInt(displaySet.SeriesNumber) + : parseInt(displaySet.seriesNumber), + }; + } + + private _getSeriesFieldForDisplaySetSort() { + return { name: 'series' }; + } + + /** + * Check if the next stage is available + * @return {Boolean} True if next stage is available or false otherwise + */ + _isNextStageAvailable() { + const numberOfStages = this._getNumProtocolStages(); + + return this.stageIndex + 1 < numberOfStages; + } + + /** + * Check if the previous stage is available + * @return {Boolean} True if previous stage is available or false otherwise + */ + _isPreviousStageAvailable(): boolean { + return this.stageIndex - 1 >= 0; + } + + /** + * Changes the current stage to a new stage index in the display set sequence. + * It checks if the next stage exists. + * + * @param {Integer} stageAction An integer value specifying whether next (1) or previous (-1) stage + * @return {Boolean} True if new stage has set or false, otherwise + */ + _setCurrentProtocolStage( + stageAction: number, + options: HangingProtocol.SetProtocolOptions + ): boolean { + // Check if previous or next stage is available + let i; + for ( + i = this.stageIndex + stageAction; + i >= 0 && i < this.protocol.stages.length; + i += stageAction + ) { + if (this.protocol.stages[i].status !== 'disabled') { + break; + } + } + if (i < 0 || i >= this.protocol.stages.length) { + return false; + } + + // Sets the new stage + this.stageIndex = i; + + // Log the new stage + this.debug(`ProtocolEngine::setCurrentProtocolStage stage = ${this.stageIndex}`); + + // Since stage has changed, we need to update the viewports + // and redo matchings + this._updateViewports(options); + + // Everything went well, broadcast the update, exactly identical to + // HP applied + this._broadcastEvent(this.EVENTS.PROTOCOL_CHANGED, { + viewportMatchDetails: this.viewportMatchDetails, + displaySetMatchDetails: this.displaySetMatchDetails, + protocol: this.protocol, + stageIdx: this.stageIndex, + stage: this.protocol.stages[this.stageIndex], + }); + return true; + } + + /** Set this.debugLogging to true to show debug level logging - needed + * to be able to figure out why hanging protocols are or are not applying. + */ + debug(...args): void { + if (this.debugLogging) { + console.log(...args); + } + } + + _copyProtocol(protocol: Protocol) { + return cloneDeep(protocol); + } + } + diff --git a/platform/docs/package.json b/platform/docs/package.json index d19dc45f252..d0fcaf74495 100644 --- a/platform/docs/package.json +++ b/platform/docs/package.json @@ -1,6 +1,6 @@ { "name": "ohif-docs", - "version": "3.13.0-beta.135", + "version": "3.13.3", "private": true, "scripts": { "docusaurus": "docusaurus", diff --git a/platform/i18n/package.json b/platform/i18n/package.json index a3f69e7b75e..2c1e54a6e3c 100644 --- a/platform/i18n/package.json +++ b/platform/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/i18n", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "Internationalization library for The OHIF Viewer", "author": "OHIF", "license": "MIT", diff --git a/platform/i18n/src/locales/zh/AboutModal.json b/platform/i18n/src/locales/zh/AboutModal.json index 9e26dfeeb6e..d38a7583c69 100644 --- a/platform/i18n/src/locales/zh/AboutModal.json +++ b/platform/i18n/src/locales/zh/AboutModal.json @@ -1 +1,20 @@ -{} \ No newline at end of file +{ + "About OHIF Viewer": "关于OHIF查看器", + "Browser": "浏览器", + "Build number": "构建号", + "Commit hash": "提交哈希", + "Commit Hash": "提交哈希", + "Current Browser & OS": "当前浏览器和操作系统", + "Data citation": "数据引用", + "Important links": "重要链接", + "Last master commits": "最新主分支提交", + "More details": "更多详情", + "Name": "名称", + "OS": "操作系统", + "Report an issue": "报告问题", + "Repository URL": "仓库地址", + "Value": "值", + "Version information": "版本信息", + "Version number": "版本号", + "Visit the forum": "访问论坛" +} \ No newline at end of file diff --git a/platform/i18n/src/locales/zh/AppearanceModal.json b/platform/i18n/src/locales/zh/AppearanceModal.json new file mode 100644 index 00000000000..544c23e8754 --- /dev/null +++ b/platform/i18n/src/locales/zh/AppearanceModal.json @@ -0,0 +1,12 @@ +{ + "Appearance": "外观", + "Theme": "主题", + "Default Theme": "默认主题:OHIF蓝色", + "Custom": "自定义", + "Custom Theme": "自定义主题", + "Hide": "隐藏", + "Apply": "应用", + "Clear": "清除", + "No valid theme tokens found": "未找到有效的主题标记。预期格式如 --primary: 220 90% 60%", + "Paste your custom theme color tokens here": "在此粘贴您的自定义主题颜色标记" +} diff --git a/platform/i18n/src/locales/zh/Buttons.json b/platform/i18n/src/locales/zh/Buttons.json index 6f0da0d9958..b18898f0412 100644 --- a/platform/i18n/src/locales/zh/Buttons.json +++ b/platform/i18n/src/locales/zh/Buttons.json @@ -129,6 +129,13 @@ "Click to Segment": "点击分割", "Click-to-segment lesions with no configuration. Hover for visual feedback—click when a plus sign appears to segment the lesion.": "无需配置,点击即可分割病灶。悬停可获得视觉反馈——出现加号时点击即可分割病灶。", "PET only. Click-to-segment lesions with no configuration. Hover for visual feedback—click when a plus sign appears to segment the lesion.": "仅限 PET。无需配置,点击即可分割病灶。悬停可获得视觉反馈——出现加号时点击即可分割病灶。", + "Toggle AI assistance for segmenting nearby slices. After drawing on a slice, scroll to preview predictions. Press Enter to accept or Esc to skip.": "切换AI辅助分割相邻切片。在切片上绘制后,滚动以预览预测结果。按Enter接受或按Esc跳过。", + "Automatically detects the largest length and width across slices for the selected segment and displays a bidirectional measurement.": "自动检测选定分段在切片间的最大长度和宽度,并显示双向测量。", + "Detects segmentable regions with one click. Hover for visual feedback—click when a plus sign appears to auto-segment the lesion.": "一键检测可分割区域。悬停可获得视觉反馈——出现加号时点击即可自动分割病灶。", + "Use include/exclude markers to guide AI (SAM) segmentation. Click to place markers, Enter to accept results, Esc to reject, and N to go to the next slice while keeping markers.": "使用包含/排除标记来引导AI(SAM)分割。点击放置标记,按Enter接受结果,按Esc拒绝,按N进入下一切片同时保留标记。", + "Tool not available for this modality": "此模态不支持此工具", + "Labelmap Edit with Contour Tool": "轮廓工具编辑标签图", + "Automatically fill in missing slices between drawn segments. Use brush or threshold tools on at least two slices, then click to interpolate across slices. Works in any direction. Volume must be reconstructable.": "自动填充绘制分段之间的缺失切片。在至少两个切片上使用画笔或阈值工具,然后点击以在切片间进行插值。支持任意方向。体积必须可重建。", "Labelmap Assist": "标签图辅助", "Marker Guided Labelmap": "标记引导标签图", "Eraser": "橡皮擦", diff --git a/platform/i18n/src/locales/zh/Colormaps.json b/platform/i18n/src/locales/zh/Colormaps.json new file mode 100644 index 00000000000..64f3ca42b18 --- /dev/null +++ b/platform/i18n/src/locales/zh/Colormaps.json @@ -0,0 +1,15 @@ +{ + "Grayscale": "灰度", + "X Ray": "X射线", + "Isodose": "等剂量", + "hsv": "HSV", + "hot_iron": "热铁", + "red_hot": "红热", + "s_pet": "PET", + "perfusion": "灌注", + "rainbow_2": "彩虹2", + "suv": "SUV", + "ge_256": "GE 256", + "ge": "GE", + "siemens": "西门子" +} diff --git a/platform/i18n/src/locales/zh/Common.json b/platform/i18n/src/locales/zh/Common.json index 4fda7ee5187..3aa866631c4 100644 --- a/platform/i18n/src/locales/zh/Common.json +++ b/platform/i18n/src/locales/zh/Common.json @@ -22,5 +22,6 @@ "LOAD": "加载", "mm": "mm", "NoStudyDate": "无时间", - "Back": "返回" + "Back": "返回", + "Segment": "异常" } diff --git a/platform/i18n/src/locales/zh/DataSourceConfiguration.json b/platform/i18n/src/locales/zh/DataSourceConfiguration.json new file mode 100644 index 00000000000..faab64207ab --- /dev/null +++ b/platform/i18n/src/locales/zh/DataSourceConfiguration.json @@ -0,0 +1,24 @@ +{ + "Configure Data Source": "配置数据源", + "Data set": "数据集", + "DICOM store": "DICOM存储", + "Location": "位置", + "Project": "项目", + "Error fetching Data set list": "获取数据集列表时出错", + "Error fetching DICOM store list": "获取DICOM存储列表时出错", + "Error fetching Location list": "获取位置列表时出错", + "Error fetching Project list": "获取项目列表时出错", + "No Project available": "没有可用的项目", + "No Location available": "没有可用的位置", + "No Data set available": "没有可用的数据集", + "No DICOM store available": "没有可用的DICOM存储", + "Select": "选择", + "Search Data set list": "搜索数据集列表", + "Search DICOM store list": "搜索DICOM存储列表", + "Search Location list": "搜索位置列表", + "Search Project list": "搜索项目列表", + "Select Data set": "选择数据集", + "Select DICOM store": "选择DICOM存储", + "Select Location": "选择位置", + "Select Project": "选择项目" +} diff --git a/platform/i18n/src/locales/zh/DataTable.json b/platform/i18n/src/locales/zh/DataTable.json new file mode 100644 index 00000000000..624e6f9de66 --- /dev/null +++ b/platform/i18n/src/locales/zh/DataTable.json @@ -0,0 +1,4 @@ +{ + "No results.": "无结果。", + "Not enough room to display this column": "没有足够的空间显示此列" +} diff --git a/platform/i18n/src/locales/zh/DatePicker.json b/platform/i18n/src/locales/zh/DatePicker.json index 9e26dfeeb6e..24725cab626 100644 --- a/platform/i18n/src/locales/zh/DatePicker.json +++ b/platform/i18n/src/locales/zh/DatePicker.json @@ -1 +1,13 @@ -{} \ No newline at end of file +{ + "Clear dates": "清除日期", + "Close": "关闭", + "End Date": "结束日期", + "Last 7 days": "最近7天", + "Last 30 days": "最近30天", + "Start Date": "开始日期", + "Today": "今天", + "Previous Month": "上个月", + "Next Month": "下个月", + "Select Month": "选择月份", + "Select Year": "选择年份" +} \ No newline at end of file diff --git a/platform/i18n/src/locales/zh/HotkeysValidators.json b/platform/i18n/src/locales/zh/HotkeysValidators.json new file mode 100644 index 00000000000..956902aaabb --- /dev/null +++ b/platform/i18n/src/locales/zh/HotkeysValidators.json @@ -0,0 +1,6 @@ +{ + "Field can't be empty": "字段不能为空", + "Hotkey is already in use": "\"{{action}}\" 已使用 \"{{pressedKeys}}\" 快捷键。", + "It's not possible to define only modifier keys (ctrl, alt and shift) as a shortcut": "不能仅定义修饰键(ctrl、alt和shift)作为快捷键", + "Shortcut combination is not allowed": "{{pressedKeys}} 快捷键组合不被允许" +} diff --git a/platform/i18n/src/locales/zh/Messages.json b/platform/i18n/src/locales/zh/Messages.json new file mode 100644 index 00000000000..eb772303e0c --- /dev/null +++ b/platform/i18n/src/locales/zh/Messages.json @@ -0,0 +1,18 @@ +{ + "Display Set Messages": "显示集消息", + "1": "序列中未找到有效的实例。", + "2": "显示集缺少位置信息。", + "3": "显示集不是可重构的3D体积。", + "4": "多帧显示集没有像素测量信息。", + "5": "多帧显示集没有方向信息。", + "6": "多帧显示集没有位置信息。", + "7": "显示集缺少帧。", + "8": "显示集间距不规则。", + "9": "显示集在帧之间具有不一致的尺寸。", + "10": "显示集的帧具有不一致的组件数量。", + "11": "显示集的帧具有不一致的方向。", + "12": "显示集具有不一致的位置信息。", + "13": "不支持的显示集。", + "14": "SOP类别UID {{ sopClassUid }} 不受支持。", + "15": "显示集缺少SOP类别UID。请检查文件。" +} diff --git a/platform/i18n/src/locales/zh/Modals.json b/platform/i18n/src/locales/zh/Modals.json index c80bfae95be..b22e5d8e67d 100644 --- a/platform/i18n/src/locales/zh/Modals.json +++ b/platform/i18n/src/locales/zh/Modals.json @@ -5,13 +5,13 @@ "The file name cannot be empty.": "文件名称不能为空", "File Type": "图片类型", "File Name": "文件名", - "formTitle": "Please specify the dimensions, filename, and desired type for the output image.", + "formTitle": "请指定输出图像的尺寸、文件名和所需类型。", "Image height (px)": "高(px)", "Image Preview": "预览", "Image preview": "预览", "Image width (px)": "宽(px)", - "keepAspectRatio": "Keep aspect ratio", - "loadingPreview": "Loading Image Preview...", + "keepAspectRatio": "保持宽高比", + "loadingPreview": "正在加载图像预览...", "The minimum valid height is 100px.": "图片最小高度值为100px", "The minimum valid width is 100px.": "图片最小宽度值为100px", "Show Annotations": "显示标注", diff --git a/platform/i18n/src/locales/zh/Modes.json b/platform/i18n/src/locales/zh/Modes.json index 9e33c9468b1..c2fb3c3ce10 100644 --- a/platform/i18n/src/locales/zh/Modes.json +++ b/platform/i18n/src/locales/zh/Modes.json @@ -1,5 +1,5 @@ { "Basic Viewer": "基础查看器", "Total Metabolic Tumor Volume": "总代谢肿瘤体积", - "Download High Quality Image": "A" + "Download High Quality Image": "下载高质量图像" } diff --git a/platform/i18n/src/locales/zh/Onboarding.json b/platform/i18n/src/locales/zh/Onboarding.json new file mode 100644 index 00000000000..cbad527dc2c --- /dev/null +++ b/platform/i18n/src/locales/zh/Onboarding.json @@ -0,0 +1,27 @@ +{ + "Scrolling Through Images": "滚动浏览图像", + "You can scroll through the images using the mouse wheel or scrollbar.": "您可以使用鼠标滚轮或滚动条滚动浏览图像。", + "Zooming In and Out": "放大和缩小", + "You can zoom the images using the right click.": "您可以使用右键单击来缩放图像。", + "Panning the Image": "平移图像", + "You can pan the images using the middle click.": "您可以使用中键单击来平移图像。", + "Adjusting Window Level": "调整窗位", + "You can modify the window level using the left click.": "您可以使用左键单击来修改窗位。", + "Using the Measurement Tools": "使用测量工具", + "You can measure the length of a region using the Length tool.": "您可以使用长度工具测量区域的长度。", + "Drawing Length Annotations": "绘制长度标注", + "Use the length tool on the viewport to measure the length of a region.": "在视口上使用长度工具来测量区域的长度。", + "Tracking Measurements in the Panel": "在面板中跟踪测量", + "Click yes to track the measurements in the measurement panel.": "单击是可在测量面板中跟踪测量。", + "Opening the Measurements Panel": "打开测量面板", + "Click the measurements button to open the measurements panel.": "单击测量按钮以打开测量面板。", + "Scrolling Away from a Measurement": "从测量处滚动离开", + "Scroll the images using the mouse wheel away from the measurement.": "使用鼠标滚轮从测量处滚动图像。", + "Jumping to Measurements in the Panel": "跳转到面板中的测量", + "Click the measurement in the measurement panel to jump to it.": "单击测量面板中的测量以跳转到该测量。", + "Changing Layout": "更改布局", + "You can change the layout of the viewer using the layout button.": "您可以使用布局按钮更改查看器的布局。", + "Selecting the MPR Layout": "选择MPR布局", + "Select the MPR layout to view the images in MPR mode.": "选择MPR布局以MPR模式查看图像。", + "Skip all": "全部跳过" +} diff --git a/platform/i18n/src/locales/zh/PanelSUV.json b/platform/i18n/src/locales/zh/PanelSUV.json new file mode 100644 index 00000000000..69a8916aa0d --- /dev/null +++ b/platform/i18n/src/locales/zh/PanelSUV.json @@ -0,0 +1,10 @@ +{ + "Patient Information": "患者信息", + "Patient Sex": "患者性别", + "Weight": "体重", + "Total Dose": "总剂量", + "Half Life": "半衰期", + "Injection Time": "注射时间", + "Acquisition Time": "采集时间", + "Reload Data": "重新加载数据" +} diff --git a/platform/i18n/src/locales/zh/ROIThresholdConfiguration.json b/platform/i18n/src/locales/zh/ROIThresholdConfiguration.json new file mode 100644 index 00000000000..6ef028fe37c --- /dev/null +++ b/platform/i18n/src/locales/zh/ROIThresholdConfiguration.json @@ -0,0 +1,11 @@ +{ + "Max": "最大值", + "Range": "范围", + "Start": "开始", + "End": "结束", + "Percentage of Max SUV": "最大SUV的百分比", + "Lower & Upper Ranges": "下限和上限范围", + "Run": "运行", + "Threshold Tools": "阈值工具", + "ThresholdRange": "阈值范围" +} diff --git a/platform/i18n/src/locales/zh/SegmentationPanel.json b/platform/i18n/src/locales/zh/SegmentationPanel.json new file mode 100644 index 00000000000..44890226f9c --- /dev/null +++ b/platform/i18n/src/locales/zh/SegmentationPanel.json @@ -0,0 +1,80 @@ +{ + "Active": "激活", + "Add new segmentation": "添加新异常", + "Add segment": "添加异常", + "Add segmentation": "添加异常", + "Contour": "轮廓", + "Contour tools": "轮廓工具", + "Contour Segmentations": "轮廓分割", + "Delete": "删除", + "Display inactive segmentations": "显示非激活分割", + "Add Segment": "添加分段", + "Download DICOM RTSS": "下载DICOM RTSS", + "Export DICOM SEG": "导出DICOM SEG", + "Download DICOM SEG": "下载DICOM SEG", + "Download DICOM RTSTRUCT": "下载DICOM RTSTRUCT", + "Fill": "填充", + "Inactive segmentations": "非激活分割", + "Labelmap": "标签图", + "Labelmap tools": "异常标注工具", + "Labelmap Segmentations": "异常标注", + "Opacity": "不透明度", + "Border": "边框", + "Show": "显示", + "Fill & Outline": "填充和轮廓", + "Outline Only": "仅轮廓", + "Fill Only": "仅填充", + "Outline": "轮廓", + "Rename": "重命名", + "Segmentation": "分割", + "Segmentations": "分割", + "Segmentation not supported": "不支持分割", + "Size": "大小", + "Preview edits before creating": "创建前预览编辑", + "Use center as segment index": "使用中心作为分段索引", + "Hover on segment border to activate": "悬停在分段边框上以激活", + "Show segment name on hover": "悬停时显示分段名称", + "Create New Segmentation": "创建新分割", + "Manage Current Segmentation": "管理当前分割", + "Remove from Viewport": "从视口中移除", + "Download & Export": "下载和导出", + "Download": "下载", + "Export": "导出", + "CSV Report": "CSV报告", + "DICOM SEG": "DICOM SEG", + "DICOM RTSS": "DICOM RTSS", + "Fill contour holes": "填充轮廓孔洞", + "Fill Holes": "填充孔洞", + "Remove Small Contours": "移除小轮廓", + "Area Threshold": "面积阈值", + "Create New Segment from Holes": "从孔洞创建新分段", + "Create New Segment": "创建新分段", + "Smooth all edges": "平滑所有边缘", + "Smooth Edges": "平滑边缘", + "Remove extra points": "移除额外点", + "Remove Points": "移除点", + "Merge": "合并", + "Intersect": "相交", + "Subtract": "相减", + "Select a segment": "选择一个分段", + "Select a segmentation": "选择一个分割", + "Create a new segment": "创建一个新分段", + "New segment name": "新分段名称", + "No segmentations available": "没有可用的分割", + "Not available on the current viewport": "在当前视口中不可用", + "Add segment to enable this tool": "添加分段以启用此工具", + "Segment Bidirectional": "分割双向测量", + "Draw a segment before using bidirectional measurement": "在使用双向测量之前绘制分段", + "No description": "无描述", + "Compute Largest Bidirectional": "计算最大双向距离", + "Min Value": "最小值", + "Max Value": "最大值", + "Mean Value": "平均值", + "Standard Deviation": "标准差", + "Voxel Count": "体素数量", + "Median": "中位数", + "Skewness": "偏度", + "Kurtosis": "峰度", + "Volume": "体积", + "Center": "中心点" +} diff --git a/platform/i18n/src/locales/zh/StudyItem.json b/platform/i18n/src/locales/zh/StudyItem.json new file mode 100644 index 00000000000..f028fa4d4fe --- /dev/null +++ b/platform/i18n/src/locales/zh/StudyItem.json @@ -0,0 +1,3 @@ +{ + "Tracked series": "{{trackedSeries}} 个跟踪序列" +} diff --git a/platform/i18n/src/locales/zh/StudyList.json b/platform/i18n/src/locales/zh/StudyList.json index bbdf8bea732..19d09d83946 100644 --- a/platform/i18n/src/locales/zh/StudyList.json +++ b/platform/i18n/src/locales/zh/StudyList.json @@ -8,11 +8,11 @@ "Patient Name": "患者姓名", "MRN": "病例号", "Study date": "检查日期", - "Description": "描述", + "Description": "检查描述", "Study list": "检查列表", "Clear filters": "清空条件", - "Number of studies": "", - "Instances": "图像数", + "Number of studies": "检查数量", + "Instances": "实例数量", "Accession": "检查号", "Results per page": "每页条数", "Previous": "上一页", @@ -23,5 +23,14 @@ "No studies available": "没有数据", "Loading...": "加载中...", "Select...": "选择...", - "InstitutionName": "检查机构" + "InstitutionName": "检查机构", + "Modalities": "检查模态", + "Patient": "患者姓名", + "No Description": "无描述", + "No Series": "无序列", + "Launch Workflow": "启动工作流", + "Action Menu": "操作菜单", + "Thumbnail view": "缩略图视图", + "List view": "列表视图", + "Modality / Series": "模态/序列" } diff --git a/platform/i18n/src/locales/zh/ThumbnailTracked.json b/platform/i18n/src/locales/zh/ThumbnailTracked.json new file mode 100644 index 00000000000..cabe78386dd --- /dev/null +++ b/platform/i18n/src/locales/zh/ThumbnailTracked.json @@ -0,0 +1,5 @@ +{ + "Series is tracked": "序列已跟踪", + "Series is untracked": "序列未跟踪", + "Viewport": "视口" +} diff --git a/platform/i18n/src/locales/zh/TooltipClipboard.json b/platform/i18n/src/locales/zh/TooltipClipboard.json new file mode 100644 index 00000000000..0d94ab5ac80 --- /dev/null +++ b/platform/i18n/src/locales/zh/TooltipClipboard.json @@ -0,0 +1,4 @@ +{ + "Copied": "已复制", + "Failed to copy": "复制失败" +} diff --git a/platform/i18n/src/locales/zh/TrackedCornerstoneViewport.json b/platform/i18n/src/locales/zh/TrackedCornerstoneViewport.json new file mode 100644 index 00000000000..8830604d0b8 --- /dev/null +++ b/platform/i18n/src/locales/zh/TrackedCornerstoneViewport.json @@ -0,0 +1,6 @@ +{ + "Series is tracked and can be viewed in the measurement panel": + "序列已跟踪,可在测量面板中查看", + "Measurements for untracked series will not be shown in the measurements panel": + "未跟踪序列的测量将不会显示在测量面板中" +} diff --git a/platform/i18n/src/locales/zh/USAnnotationPanel.json b/platform/i18n/src/locales/zh/USAnnotationPanel.json new file mode 100644 index 00000000000..e87a23ba27d --- /dev/null +++ b/platform/i18n/src/locales/zh/USAnnotationPanel.json @@ -0,0 +1,17 @@ +{ + "Workflow": "工作流程", + "Depth guide toggle": "深度指南切换", + "Show pleura percentage": "显示胸膜百分比", + "Sector Annotations": "扇区标注", + "Pleura line": "胸膜线", + "B-line": "B线", + "B-line annotation": "B线标注", + "Pleura annotation": "胸膜标注", + "Show Overlay": "显示叠加", + "Annotated Frames": "标注帧", + "Frame": "帧", + "Pleura lines": "胸膜线", + "B-lines": "B线", + "JSON": "JSON", + "Annotations": "标注" +} diff --git a/platform/i18n/src/locales/zh/UserPreferencesModal.json b/platform/i18n/src/locales/zh/UserPreferencesModal.json index 41ddeddec6f..612fd4548e5 100644 --- a/platform/i18n/src/locales/zh/UserPreferencesModal.json +++ b/platform/i18n/src/locales/zh/UserPreferencesModal.json @@ -1,6 +1,84 @@ { "Cancel": "取消", - "Reset to defaults": "返回默认", + "No hotkeys found": "未找到快捷键。可以在应用程序的app-config.js文件中配置快捷键。", + "Reset to defaults": "恢复默认设置", + "ResetDefaultMessage": "偏好设置已成功恢复为默认值。
您必须保存才能执行此操作。", "Save": "保存", - "User preferences": "用户偏好" + "SaveMessage": "偏好设置已保存", + "User preferences": "用户偏好", + "Language": "语言", + "Select language": "选择语言", + "Hotkeys": "快捷键", + "Zoom": "缩放", + "Zoom In": "放大", + "Zoom Out": "缩小", + "Zoom to Fit": "适应窗口", + "Rotate Right": "向右旋转", + "Rotate Left": "向左旋转", + "Flip Horizontally": "水平翻转", + "Flip Vertically": "垂直翻转", + "Cine": "动态播放", + "Invert": "灰度反转", + "Next Image Viewport": "下一个图像视口", + "Previous Image Viewport": "上一个图像视口", + "Previous Series": "上一个序列", + "Next Series": "下一个序列", + "Next Stage": "下一阶段", + "Previous Stage": "上一阶段", + "Next Image": "下一张图像", + "Previous Image": "上一张图像", + "First Image": "第一张图像", + "Last Image": "最后一张图像", + "Reset": "重置", + "Cancel Measurement": "取消测量", + "W/L Preset 1": "窗宽窗位预设1", + "W/L Preset 2": "窗宽窗位预设2", + "W/L Preset 3": "窗宽窗位预设3", + "W/L Preset 4": "窗宽窗位预设4", + "Delete Annotation": "删除标注", + "Accept Preview": "接受预览", + "Reject Preview": "拒绝预览", + "Undo": "撤销", + "Redo": "重做", + "Interpolate Scroll": "插值滚动", + "Increase Brush Size": "增大画笔大小", + "Decrease Brush Size": "减小画笔大小", + "Eraser": "橡皮擦", + "Brush": "画笔", + "Add New Segment": "添加新分段", + "Press keys": "按键...", + "LanguageName.en-US": "英语(美国)", + "LanguageName.fr": "法语", + "HotkeyKeys.ctrl": "Ctrl", + "HotkeyKeys.shift": "Shift", + "HotkeyKeys.alt": "Alt", + "HotkeyKeys.option": "Option", + "HotkeyKeys.meta": "Cmd", + "HotkeyKeys.enter": "Enter", + "HotkeyKeys.esc": "Esc", + "HotkeyKeys.space": "空格", + "HotkeyKeys.tab": "Tab", + "HotkeyKeys.backspace": "Backspace", + "HotkeyKeys.delete": "Delete", + "HotkeyKeys.insert": "Insert", + "HotkeyKeys.home": "Home", + "HotkeyKeys.end": "End", + "HotkeyKeys.pageup": "Page Up", + "HotkeyKeys.pagedown": "Page Down", + "HotkeyKeys.up": "向上箭头", + "HotkeyKeys.down": "向下箭头", + "HotkeyKeys.left": "向左箭头", + "HotkeyKeys.right": "向右箭头", + "HotkeyKeys.capslock": "Caps Lock", + "HotkeyKeys.plus": "加号", + "HotkeyKeys.minus": "减号", + "HotkeyKeys.comma": "逗号", + "HotkeyKeys.period": "句号", + "HotkeyKeys.slash": "斜杠", + "HotkeyKeys.backslash": "反斜杠", + "HotkeyKeys.semicolon": "分号", + "HotkeyKeys.quote": "引号", + "HotkeyKeys.backquote": "反引号", + "HotkeyKeys.bracketleft": "左括号", + "HotkeyKeys.bracketright": "右括号" } diff --git a/platform/i18n/src/locales/zh/ViewportDownloadForm.json b/platform/i18n/src/locales/zh/ViewportDownloadForm.json index 9e26dfeeb6e..b3c50ee398b 100644 --- a/platform/i18n/src/locales/zh/ViewportDownloadForm.json +++ b/platform/i18n/src/locales/zh/ViewportDownloadForm.json @@ -1 +1,14 @@ -{} \ No newline at end of file +{ + "emptyFilenameError": "文件名不能为空。", + "fileType": "文件类型", + "filename": "文件名", + "formTitle": "请指定输出图像的尺寸、文件名和所需类型。", + "imageHeight": "图像高度(像素)", + "imagePreview": "图像预览", + "imageWidth": "图像宽度(像素)", + "keepAspectRatio": "保持宽高比", + "loadingPreview": "正在加载图像预览...", + "minHeightError": "最小有效高度为100像素。", + "minWidthError": "最小有效宽度为100像素。", + "showAnnotations": "显示标注" +} \ No newline at end of file diff --git a/platform/i18n/src/locales/zh/index.js b/platform/i18n/src/locales/zh/index.js index 43a1f821784..69387bd01fc 100644 --- a/platform/i18n/src/locales/zh/index.js +++ b/platform/i18n/src/locales/zh/index.js @@ -24,6 +24,21 @@ import CaptureViewportModal from './CaptureViewportModal.json'; import Hps from './Hps.json'; import ToolbarLayoutSelector from './ToolbarLayoutSelector.json'; import Tools from './Tools.json'; +import AppearanceModal from './AppearanceModal.json'; +import Colormaps from './Colormaps.json'; +import DataSourceConfiguration from './DataSourceConfiguration.json'; +import DataTable from './DataTable.json'; +import Messages from './Messages.json'; +import Onboarding from './Onboarding.json'; +import PanelSUV from './PanelSUV.json'; +import ROIThresholdConfiguration from './ROIThresholdConfiguration.json'; +import SegmentationPanel from './SegmentationPanel.json'; +import StudyItem from './StudyItem.json'; +import ThumbnailTracked from './ThumbnailTracked.json'; +import TooltipClipboard from './TooltipClipboard.json'; +import TrackedCornerstoneViewport from './TrackedCornerstoneViewport.json'; +import HotkeysValidators from './HotkeysValidators.json'; +import USAnnotationPanel from './USAnnotationPanel.json'; export default { zh: { @@ -53,5 +68,20 @@ export default { Hps, ToolbarLayoutSelector, Tools, + AppearanceModal, + Colormaps, + DataSourceConfiguration, + DataTable, + Messages, + Onboarding, + PanelSUV, + ROIThresholdConfiguration, + SegmentationPanel, + StudyItem, + ThumbnailTracked, + TooltipClipboard, + TrackedCornerstoneViewport, + HotkeysValidators, + USAnnotationPanel, }, }; diff --git a/platform/ui-next/package.json b/platform/ui-next/package.json index 5ed11810cd0..5a16cae1212 100644 --- a/platform/ui-next/package.json +++ b/platform/ui-next/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/ui-next", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "Next version of OHIF Viewers UI, more customizable using shadcn/ui", "author": "OHIF", "license": "MIT", diff --git a/platform/ui-next/src/components/Resizable/Resizable.tsx b/platform/ui-next/src/components/Resizable/Resizable.tsx index 031a0c3e0e4..ebdd3914c54 100644 --- a/platform/ui-next/src/components/Resizable/Resizable.tsx +++ b/platform/ui-next/src/components/Resizable/Resizable.tsx @@ -27,7 +27,7 @@ const ResizableHandle = ({ }) => ( div]:rotate-90", + "[&[data-resize-handle-state='hover']]:bg-primary/40 [&[data-resize-handle-state='drag']]:bg-primary/40 focus-visible:ring-ring relative flex w-0 items-center justify-center rounded-full after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90", className )} {...props} diff --git a/platform/ui-next/src/components/SegmentationTable/AddSegmentationRow.tsx b/platform/ui-next/src/components/SegmentationTable/AddSegmentationRow.tsx index 9b685d3c923..048d0fbe9f9 100644 --- a/platform/ui-next/src/components/SegmentationTable/AddSegmentationRow.tsx +++ b/platform/ui-next/src/components/SegmentationTable/AddSegmentationRow.tsx @@ -1,8 +1,209 @@ -import React from 'react'; +import React, { useState } from 'react'; import { Icons } from '../Icons'; import { useTranslation } from 'react-i18next'; import { useSegmentationTableContext } from './contexts'; +// Temporary inline definition until proper export is configured +interface AnomalyInfo { + anatomyRegion: string; + anomalyType: string; + laterality: string; + vitalReaction: string; +} + +const AnomalyDialog: React.FC<{ + isOpen: boolean; + onClose: () => void; + onConfirm: (info: AnomalyInfo) => void; +}> = ({ isOpen, onClose, onConfirm }) => { + const [anatomyRegion, setAnatomyRegion] = useState(''); + const [anomalyType, setAnomalyType] = useState(''); + const [laterality, setLaterality] = useState(''); + const [vitalReaction, setVitalReaction] = useState(''); + + const ANATOMY_REGIONS = ['头部', '胸腹', '四肢']; + const ANOMALY_TYPES: Record = { + 头部: [ + '颅骨局限性凹陷性骨折', + '颅骨对称粉碎性/崩裂性骨折', + '鼻骨骨折', + '急性硬膜下血肿', + '硬膜外血肿', + '外伤性蛛网膜下腔出血', + '上颌骨骨折(Le Fort I/II/III)', + '眶壁爆裂性骨折', + '对冲性脑挫伤', + '舌骨骨折', + '直接打击脑挫伤', + '甲状软骨骨折', + '慢性硬膜下血肿', + '颅内积气(气脑症)', + '脑干挫伤/出血(原发性)', + '弥漫性轴索损伤(DAI)', + '枪弹创(接触射击)', + '颈部软组织肿胀/积气', + '枪弹创(远距离射击)', + '砍创(头部)', + '霰弹枪头部伤', + '爆炸破片伤(头部)', + '基底节对称性低密度', + '动脉瘤性蛛网膜下腔出血', + '儿童虐待性头部损伤', + '雷击头部损伤', + ], + 胸腹: [ + '肋骨骨折(连枷胸)', + '血气胸(大量)', + '脾破裂', + '肝破裂', + '张力性气胸', + '心包填塞', + '肺挫伤', + '肾破裂', + '心脏破裂(钝性)', + '主动脉峡部破裂', + '膈肌破裂', + '创伤性窒息', + '胃肠道破裂', + '脂肪栓塞综合征', + '心脏挫伤', + '气管破裂', + '急性肾衰竭(挤压综合征)', + '弥漫性腹膜炎', + '主动脉夹层(Stanford B型)', + '弥漫性血管内凝血(DIC)', + '肺栓塞', + '食管静脉曲张破裂出血', + '多器官功能衰竭(MODS)', + '应激性溃疡出血', + '心源性休克', + '脓毒症/感染性休克', + ], + 四肢: [ + '股骨干粉碎性骨折', + '骨盆骨折(垂直剪切型)', + '胫腓骨双骨折', + '跟骨粉碎性骨折', + '踝关节骨折脱位', + '下肢离断', + '上肢离断', + '腘动脉断裂', + '锁骨下动脉断裂', + '挤压综合征', + '骨筋膜室综合征', + '注射痕迹(静脉吸毒)', + '桡动脉断裂(割腕)', + '动物咬伤', + '蛇咬伤(毒蛇)', + '电击伤', + '冻伤(四肢坏疽)', + '气性坏疽', + '慢性骨髓炎', + ], + }; + const LATERALITY = ['左侧', '右侧', '双侧', '无']; + const VITAL_REACTION = ['有', '无']; + + const availableTypes = anatomyRegion ? ANOMALY_TYPES[anatomyRegion] || [] : []; + + const handleConfirm = () => { + if (anatomyRegion && anomalyType && laterality && vitalReaction) { + onConfirm({ anatomyRegion, anomalyType, laterality, vitalReaction }); + setAnatomyRegion(''); + setAnomalyType(''); + setLaterality(''); + setVitalReaction(''); + } + }; + + const isFormValid = anatomyRegion && anomalyType && laterality && vitalReaction; + + if (!isOpen) return null; + + return ( +
+
+

添加异常信息

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+
+ ); +}; + export const AddSegmentationRow: React.FC<{ children?: React.ReactNode }> = ({ children = null, }) => { @@ -17,6 +218,8 @@ export const AddSegmentationRow: React.FC<{ children?: React.ReactNode }> = ({ segmentationRepresentationTypes, } = useSegmentationTableContext('AddSegmentationRow'); + const [isDialogOpen, setIsDialogOpen] = useState(false); + // Check if we have at least one segmentation of the representation type for the panel this component is contained in. const hasRepresentationType = (!segmentationRepresentationTypes && data.length > 0) || @@ -30,27 +233,43 @@ export const AddSegmentationRow: React.FC<{ children?: React.ReactNode }> = ({ return null; } + const handleAddClick = () => { + if (!disabled) { + setIsDialogOpen(true); + } + }; + + const handleDialogConfirm = (anomalyInfo: AnomalyInfo) => { + setIsDialogOpen(false); + onSegmentationAdd({ + segmentationId: '', + segmentationRepresentationType: segmentationRepresentationTypes?.[0], + anomalyInfo, + }); + }; + return ( -
- !disabled && - onSegmentationAdd({ - segmentationId: '', - segmentationRepresentationType: segmentationRepresentationTypes?.[0], - }) - } - > - {children} -
-
- {disabled ? : } + <> +
+ {children} +
+
+ {disabled ? : } +
+ + {t(disabled ? 'Segmentation not supported' : 'Add segmentation')} +
- - {t(disabled ? 'Segmentation not supported' : 'Add segmentation')} -
-
+ setIsDialogOpen(false)} + onConfirm={handleDialogConfirm} + /> + ); }; diff --git a/platform/ui-next/src/components/SegmentationTable/SegmentationExpanded.tsx b/platform/ui-next/src/components/SegmentationTable/SegmentationExpanded.tsx index 442cd534d16..f4bfa2c4235 100644 --- a/platform/ui-next/src/components/SegmentationTable/SegmentationExpanded.tsx +++ b/platform/ui-next/src/components/SegmentationTable/SegmentationExpanded.tsx @@ -36,14 +36,12 @@ const SegmentationExpandedDropdownMenu = ({ children }: { children: React.ReactN return ( - +
{children} @@ -69,12 +67,11 @@ const SegmentationExpandedInfo = () => {
- +

{segmentation.cachedStats?.info}

diff --git a/platform/ui-next/src/components/StudyList/columns/defaultColumns.tsx b/platform/ui-next/src/components/StudyList/columns/defaultColumns.tsx index 92822c15aff..7b2160fa6b4 100644 --- a/platform/ui-next/src/components/StudyList/columns/defaultColumns.tsx +++ b/platform/ui-next/src/components/StudyList/columns/defaultColumns.tsx @@ -178,7 +178,12 @@ export const defaultColumns: ColumnDef[] = [ id: COLUMN_IDS.DESCRIPTION, accessorFn: row => { const r = row as StudyRow; - return r.description ?? ''; + const description = r.description ?? ''; + // Check if description contains folder info format (folderName (X序列, Y层)) + if (description.includes('序列') && description.includes('层')) { + return description; // Already formatted by server + } + return description; }, header: ({ column }) => , cell: ({ row }) => { diff --git a/platform/ui-next/src/components/StudyList/components/Layout.tsx b/platform/ui-next/src/components/StudyList/components/Layout.tsx index 82080a641f9..068c6509815 100644 --- a/platform/ui-next/src/components/StudyList/components/Layout.tsx +++ b/platform/ui-next/src/components/StudyList/components/Layout.tsx @@ -145,9 +145,9 @@ function Table({ const content = children ? ( children ) : ( -
+
-
+
('thumbnails'); + const [selectedSeries, setSelectedSeries] = React.useState(null); + const [anomalyStats, setAnomalyStats] = React.useState({ total: 0, aiFound: 0 }); const effectiveSeriesViewMode: PreviewSeriesViewMode = isToggleVisible ? seriesViewMode : seriesView; @@ -59,6 +61,33 @@ function PreviewContent({ s => s.thumbnailStatus?.status === PreviewThumbnailStatusState.NotApplicable ); + // Handle series click to fetch anomaly stats + const handleSeriesClick = async (seriesItem: any) => { + setSelectedSeries(seriesItem); + try { + // Fetch anomaly stats from parent window via postMessage + if (window.parent !== window) { + window.parent.postMessage({ + type: 'GET_SERIES_ANOMALY_STATS', + seriesInstanceUid: seriesItem.seriesInstanceUid || seriesItem.SeriesInstanceUID + }, '*'); + } + } catch (error) { + console.error('Failed to fetch anomaly stats:', error); + } + }; + + // Listen for anomaly stats response from parent window + React.useEffect(() => { + const handleMessage = (event: MessageEvent) => { + if (event.data && event.data.type === 'SERIES_ANOMALY_STATS') { + setAnomalyStats(event.data.stats || { total: 0, aiFound: 0 }); + } + }; + window.addEventListener('message', handleMessage); + return () => window.removeEventListener('message', handleMessage); + }, []); + // Handle empty state when no study is provided if (!study) { return ( @@ -76,10 +105,15 @@ function PreviewContent({ -
- - {series?.length ? study?.description || 'No Description' : 'No Series'} - +
+ {selectedSeries + ? 异常总数:${anomalyStats.total} AI发现:${anomalyStats.aiFound} + : series?.length + ?
+
异常数量:0
+
AI发现:0
+
+ : 无序列} {isToggleVisible && ( {}} + isActive={selectedSeries?.seriesInstanceUid === seriesUID} + onClick={() => handleSeriesClick(seriesItem)} onDoubleClick={() => {}} isDraggable={false} viewPreset="thumbnails" diff --git a/platform/ui-next/src/components/StudyList/components/PreviewPatientSummary.tsx b/platform/ui-next/src/components/StudyList/components/PreviewPatientSummary.tsx index dfb0fc0fa64..69467004e10 100644 --- a/platform/ui-next/src/components/StudyList/components/PreviewPatientSummary.tsx +++ b/platform/ui-next/src/components/StudyList/components/PreviewPatientSummary.tsx @@ -158,7 +158,7 @@ function Workflows({ className }: { className?: string } = {}) { )} >
- Launch workflow + 启动工作流 diff --git a/platform/ui-next/src/components/StudyList/components/PreviewSeriesList.tsx b/platform/ui-next/src/components/StudyList/components/PreviewSeriesList.tsx index 35e693f07a1..35d724271e1 100644 --- a/platform/ui-next/src/components/StudyList/components/PreviewSeriesList.tsx +++ b/platform/ui-next/src/components/StudyList/components/PreviewSeriesList.tsx @@ -27,8 +27,8 @@ export function PreviewSeriesList({ series, onSeriesClick }: PreviewSeriesListPr - Modality - / Series + 模态 + / 序列 diff --git a/platform/ui-next/src/components/StudyList/components/WorkflowMenu.tsx b/platform/ui-next/src/components/StudyList/components/WorkflowMenu.tsx index a250e708093..2dfdb6a8f45 100644 --- a/platform/ui-next/src/components/StudyList/components/WorkflowMenu.tsx +++ b/platform/ui-next/src/components/StudyList/components/WorkflowMenu.tsx @@ -42,7 +42,7 @@ export function WorkflowMenu({ studyRow, align = 'end' }: Props) { - Action Menu + 操作菜单 e.stopPropagation()} >
- Launch Workflow: + 启动工作流:
{workflows.map(workflow => ( { if (!mode.isValidMode) { diff --git a/platform/ui-next/src/components/Tooltip/Tooltip.tsx b/platform/ui-next/src/components/Tooltip/Tooltip.tsx index cf50d246704..520be9591ee 100644 --- a/platform/ui-next/src/components/Tooltip/Tooltip.tsx +++ b/platform/ui-next/src/components/Tooltip/Tooltip.tsx @@ -20,7 +20,7 @@ const TooltipContent = React.forwardRef< ref={ref} sideOffset={sideOffset} className={cn( - 'bg-muted border-input text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded border px-2 py-1.5 text-sm', + 'bg-muted border-input text-primary animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded border px-2 py-1.5 text-sm', className )} {...props} diff --git a/platform/ui-next/src/contextProviders/ActiveThemeProvider.tsx b/platform/ui-next/src/contextProviders/ActiveThemeProvider.tsx index 0e13de06689..e093624012f 100644 --- a/platform/ui-next/src/contextProviders/ActiveThemeProvider.tsx +++ b/platform/ui-next/src/contextProviders/ActiveThemeProvider.tsx @@ -101,12 +101,11 @@ export function ActiveThemeProvider({ children }: { children: React.ReactNode }) const urlTheme = new URLSearchParams(window.location.search).get('theme'); if (isValidUrlTheme(urlTheme)) return urlTheme; - // Validate the stored value the same way the URL param is validated — a stale - // key (renamed preset, older build) must not become a theme-* body class. - const stored = localStorage.getItem(STORAGE_KEY_THEME); - if (!stored || !VALID_THEMES.has(stored)) return 'default'; - if (stored === 'custom' && !localStorage.getItem(STORAGE_KEY_CUSTOM_CSS)) return 'default'; - return stored; + // Force default theme to use custom white/blue styling + // Clear any stored theme to ensure our custom styling is applied + localStorage.removeItem(STORAGE_KEY_THEME); + localStorage.removeItem(STORAGE_KEY_CUSTOM_CSS); + return 'default'; }); const [customCss, setCustomCssState] = React.useState(() => { diff --git a/platform/ui-next/src/contextProviders/ViewportGridProvider.tsx b/platform/ui-next/src/contextProviders/ViewportGridProvider.tsx index 845760811fc..acdd12348ba 100644 --- a/platform/ui-next/src/contextProviders/ViewportGridProvider.tsx +++ b/platform/ui-next/src/contextProviders/ViewportGridProvider.tsx @@ -1,560 +1,1120 @@ import React, { + createContext, + useCallback, + useContext, + useEffect, + useReducer, + ReactNode, + } from 'react'; + import merge from 'lodash.merge'; + + import PropTypes from 'prop-types'; + // NOTE: `@ohif/core` is intentionally NOT declared in this package's + // package.json (neither as a dependency nor a peerDependency). It is treated as + // an implicit peer, satisfied by the consuming application via the monorepo + // workspace. Declaring it as `"@ohif/core": "workspace:*"` was tried and + // reverted: the release/publish process does not rewrite `workspace:*` ranges + // inside `peerDependencies`, so the published tarball shipped a literal + // `workspace:*` peer that non-pnpm package managers (npm/yarn) cannot resolve. + // A plain `"*"` range would be an acceptable workaround if we ever want it + // declared, but for now it stays undeclared. Note: the docs site (platform/docs) + // must therefore add `@ohif/core` as a devDependency itself, because pulling in + // the ui-next barrel reaches this module and nothing else anchors the import. + import { ViewportGridService, utils } from '@ohif/core'; + + const DEFAULT_STATE: AppTypes.ViewportGrid.State = { + activeViewportId: null, + layout: { + numRows: 0, + numCols: 0, + layoutType: 'grid', + }, + // this flag is used to determine if the hanging protocol layout is active + // so that we can inherit the viewport options from the previous state + // otherwise we will not allow that. Basically the issue is that we need + // to be able to come out of the hanging protocol layout and go back to the + // regular layout e.g., if we are in the MPR hanging protocol, and someone use + // 1x1 layout by custom layout selector, there is no way to drag and drop + // a non-reconstructible series to the viewport since it will always + // inherit the hanging protocol layout options (volume viewport), + // so we need to be able to switch back to the regular layout. + isHangingProtocolLayout: false, + // Viewports structure has been changed to Map (previously it was + // tied to the viewportIndex which caused multiple issues. Now we have + // moved completely to viewportId which is unique for each viewport. + viewports: new Map( + Object.entries({ + default: { + viewportId: 'default', + displaySetInstanceUIDs: [], + isReady: false, + viewportOptions: { + viewportId: 'default', + }, + displaySetSelectors: [], + displaySetOptions: [{}], + x: 0, // left + y: 0, // top + width: 100, + height: 100, + viewportLabel: null, + }, + }) + ), + }; + + const determineActiveViewportId = ( + state: AppTypes.ViewportGrid.State, + newViewports: Map + ) => { + const { activeViewportId } = state; + const currentActiveViewport = state.viewports.get(activeViewportId); + + if (!currentActiveViewport) { + // if there is no active viewport, we should just return the first viewport + const firstViewport = newViewports.values().next().value; + return firstViewport.viewportOptions.viewportId; + } + + // for the new viewports, we should rank them by the displaySetInstanceUIDs + // they are displaying and the orientation then we can find the active viewport + const currentActiveDisplaySetInstanceUIDs = currentActiveViewport.displaySetInstanceUIDs; + + // This doesn't take into account where stack viewport is converting to volumeViewport + // since in stack viewport we don't have a concept of "orientation" as a string + // maybe we should calculate the orientation based on the active imageId + // so that we can compare it with the new viewports (which might be volume viewports) + // and find the best match + const currentOrientation = currentActiveViewport.viewportOptions.orientation; + + const filteredNewViewports = Array.from(newViewports.values()).filter( + viewport => viewport.displaySetInstanceUIDs?.length > 0 + ); + + const sortedViewports = Array.from(filteredNewViewports.values()).sort((a, b) => { + // Compare orientations + const aOrientationMatch = a.viewportOptions.orientation === currentOrientation; + const bOrientationMatch = b.viewportOptions.orientation === currentOrientation; + if (aOrientationMatch !== bOrientationMatch) { + return bOrientationMatch - aOrientationMatch; + } + + // Compare displaySetInstanceUIDs + const aMatch = a.displaySetInstanceUIDs.some(uid => + currentActiveDisplaySetInstanceUIDs.includes(uid) + ); + const bMatch = b.displaySetInstanceUIDs.some(uid => + currentActiveDisplaySetInstanceUIDs.includes(uid) + ); + if (aMatch !== bMatch) { + return bMatch - aMatch; + } + + return 0; // Return 0 if no differences found + }); + + if (!sortedViewports?.length) { + return null; + } + + return sortedViewports[0].viewportId; + }; + + // Define the API interface + interface ViewportGridApi { + getState: () => AppTypes.ViewportGrid.State; + setActiveViewportId: (index: string) => void; + setDisplaySetsForViewport: (props: any) => void; + setDisplaySetsForViewports: (props: any[]) => void; + setLayout: (layout: AppTypes.ViewportGrid.Layout) => void; + reset: () => void; + set: (gridLayoutState: Partial) => void; + getNumViewportPanes: () => number; + setViewportIsReady: (viewportId: string, isReady: boolean) => void; + getGridViewportsReady: () => boolean; + getActiveViewportOptionByKey: (key: string) => any; + setViewportGridSizeChanged: (props: any) => void; + publishViewportsReady: () => void; + getDisplaySetsUIDsForViewport: (viewportId: string) => string[]; + isReferenceViewable: (viewportId: string, viewRef, options?) => boolean; + } + + // Update the context type + export const ViewportGridContext = createContext<[AppTypes.ViewportGrid.State, ViewportGridApi]>([ + DEFAULT_STATE, + {} as ViewportGridApi, + ]); + + // Update the provider props type + interface ViewportGridProviderProps { + children: ReactNode; + service: ViewportGridService; + } + + export function ViewportGridProvider({ children, service }: ViewportGridProviderProps) { + const viewportGridReducer = (state: AppTypes.ViewportGrid.State, action) => { + switch (action.type) { + case 'SET_ACTIVE_VIEWPORT_ID': { + return { ...state, ...{ activeViewportId: action.payload } }; + } + + /** + * Sets the display sets for multiple viewports. + * This is a replacement for the older set display set for viewport (single) + * because the old one had race conditions wherein the viewports could + * render partially in various ways causing exceptions. + */ + case 'SET_DISPLAYSETS_FOR_VIEWPORTS': { + const { payload } = action; + const viewports = new Map(state.viewports); + + payload.forEach(updatedViewport => { + const { viewportId, displaySetInstanceUIDs } = updatedViewport; + + if (!viewportId) { + throw new Error('ViewportId is required to set display sets for viewport'); + } + + const previousViewport = viewports.get(viewportId); + + // remove options that were meant for one time usage + if (previousViewport?.viewportOptions?.initialImageOptions) { + const { useOnce } = previousViewport.viewportOptions.initialImageOptions; + if (useOnce) { + previousViewport.viewportOptions.initialImageOptions = null; + } + } + + // Use the newly provide viewportOptions and display set options + // when provided, and otherwise fall back to the previous ones. + // That allows for easy updates of just the display set. + let viewportOptions = merge( + {}, + previousViewport?.viewportOptions, + updatedViewport?.viewportOptions + ); + + const displaySetOptions = updatedViewport?.displaySetOptions || []; + if (!displaySetOptions.length) { + // Copy all the display set options, assuming a full set of displaySet UID's is provided. + if (state.isHangingProtocolLayout) { + displaySetOptions.push(...(previousViewport.displaySetOptions || [])); + } + if (!displaySetOptions.length) { + displaySetOptions.push({}); + } + } + + // if it is not part of the hanging protocol layout, we should remove the toolGroupId + // and viewportType from the viewportOptions so that it doesn't + // inherit the hanging protocol layout options, only when + // the viewport options is not provided (e.g., when drag and drop) + // otherwise, programmatically set options should be preserved + if (!updatedViewport.viewportOptions && !state.isHangingProtocolLayout) { + viewportOptions = { + viewportId: viewportOptions.viewportId, + }; + } + + const newViewport = { + ...previousViewport, + displaySetInstanceUIDs, + viewportOptions, + displaySetOptions, + // viewportLabel: getViewportLabel(viewports, viewportId), + }; + + viewportOptions.presentationIds = service.getPresentationIds({ + viewport: newViewport, + viewports, + }); + + viewports.set(viewportId, { + ...viewports.get(viewportId), + ...newViewport, + }); + }); + + return { ...state, viewports }; + } + case 'SET_LAYOUT': { + const { + numCols, + numRows, + layoutOptions, + layoutType = 'grid', + activeViewportId, + findOrCreateViewport, + isHangingProtocolLayout, + } = action.payload; + + // If empty viewportOptions, we use numRow and numCols to calculate number of viewports + const hasOptions = layoutOptions?.length; + const viewports = new Map(); + // Options is a temporary state store which can be used by the + // findOrCreate to store state about already found viewports. Typically, + // it will be used to store the display set UID's which are already + // in view so that the find or create can decide which display sets + // haven't been viewed yet, and add them in the appropriate order. + const options = {}; + + let activeViewportIdToSet = activeViewportId; + for (let row = 0; row < numRows; row++) { + for (let col = 0; col < numCols; col++) { + const position = col + row * numCols; + const layoutOption = layoutOptions[position]; + + let xPos, yPos, w, h; + if (layoutOptions && layoutOptions[position]) { + ({ x: xPos, y: yPos, width: w, height: h } = layoutOptions[position]); + } else { + w = 1 / numCols; + h = 1 / numRows; + xPos = col * w; + yPos = row * h; + } + + const colIndex = Math.round(xPos * numCols); + const rowIndex = Math.round(yPos * numRows); + + const positionId = layoutOption?.positionId || `${colIndex}-${rowIndex}`; + + if (hasOptions && position >= layoutOptions.length) { + continue; + } + + const viewport = findOrCreateViewport(position, positionId, options); + + if (!viewport) { + continue; + } + + viewport.positionId = positionId; + + // If the viewport doesn't have a viewportId, we create one + if (!viewport.viewportOptions?.viewportId) { + const randomUID = utils.uuidv4().substring(0, 8); + viewport.viewportOptions = viewport.viewportOptions || {}; + viewport.viewportOptions.viewportId = `viewport-${randomUID}`; + } + + viewport.viewportId = viewport.viewportOptions.viewportId; + + // Create a new viewport object as it is getting updated here + // and it is part of the read only state + viewports.set(viewport.viewportId, viewport); + + Object.assign(viewport, { + width: w, + height: h, + x: xPos, + y: yPos, + }); + + viewport.isReady = false; + + if (!viewport.viewportOptions.presentationIds) { + const presentationIds = service.getPresentationIds({ + viewport, + viewports, + }); + viewport.viewportOptions.presentationIds = presentationIds; + } + } + } + + activeViewportIdToSet = + activeViewportIdToSet ?? determineActiveViewportId(state, viewports); + + const ret = { + ...state, + activeViewportId: activeViewportIdToSet, + layout: { + ...state.layout, + numCols, + numRows, + layoutType, + }, + viewports, + isHangingProtocolLayout, + }; + return ret; + } + case 'RESET': { + return DEFAULT_STATE; + } + + case 'SET': { + return { + ...state, + ...action.payload, + }; + } + + case 'VIEWPORT_IS_READY': { + const { viewportId, isReady } = action.payload; + const viewports = new Map(state.viewports); + const viewport = viewports.get(viewportId); + if (!viewport) { + return; + } + + viewports.set(viewportId, { + ...viewport, + isReady, + }); + + return { + ...state, + viewports, + }; + } + + default: + return action.payload; + } + }; + + const [viewportGridState, dispatch] = useReducer(viewportGridReducer, DEFAULT_STATE); + + const getState = useCallback(() => { + return viewportGridState; + }, [viewportGridState]); + + const getActiveViewportOptionByKey = (key: string) => { + const { viewports, activeViewportId } = viewportGridState; + return viewports.get(activeViewportId)?.viewportOptions?.[key]; + }; + + const setActiveViewportId = useCallback( + index => dispatch({ type: 'SET_ACTIVE_VIEWPORT_ID', payload: index }), + [dispatch] + ); + + const setDisplaySetsForViewports = useCallback( + viewports => + dispatch({ + type: 'SET_DISPLAYSETS_FOR_VIEWPORTS', + payload: viewports, + }), + [dispatch] + ); + + const setViewportIsReady = useCallback( + (viewportId, isReady) => { + dispatch({ + type: 'VIEWPORT_IS_READY', + payload: { + viewportId, + isReady, + }, + }); + }, + [dispatch, viewportGridState] + ); + + const getGridViewportsReady = useCallback(() => { + const { viewports } = viewportGridState; + // Filter viewports that have display sets (i.e., have content to display) + const viewportsWithContent = Array.from(viewports.values()).filter( + viewport => viewport.displaySetInstanceUIDs?.length > 0 + ); + // If there are no viewports with content, return false + if (viewportsWithContent.length === 0) { + return false; + } + // Check if all viewports with content are ready + const readyViewports = viewportsWithContent.filter(viewport => viewport.isReady); + return readyViewports.length === viewportsWithContent.length; + }, [viewportGridState]); + + const setLayout = useCallback( + ({ + layoutType, + numRows, + numCols, + layoutOptions = [], + activeViewportId, + findOrCreateViewport, + isHangingProtocolLayout, + }) => + dispatch({ + type: 'SET_LAYOUT', + payload: { + layoutType, + numRows, + numCols, + layoutOptions, + activeViewportId, + findOrCreateViewport, + isHangingProtocolLayout, + }, + }), + [dispatch] + ); + + const reset = useCallback( + () => + dispatch({ + type: 'RESET', + payload: {}, + }), + [dispatch] + ); + + const set = useCallback( + payload => + dispatch({ + type: 'SET', + payload, + }), + [dispatch] + ); + + const getViewportState = useCallback( + viewportId => { + const { viewports } = viewportGridState; + return viewports.get(viewportId); + }, + [viewportGridState] + ); + + const getNumViewportPanes = useCallback(() => { + const { layout, viewports } = viewportGridState; + const { numRows, numCols } = layout; + return Math.min(viewports.size, numCols * numRows); + }, [viewportGridState]); + + /** + * Sets the implementation of ViewportGridService that can be used by extensions. + * + * @returns void + */ + useEffect(() => { + if (service) { + service.setServiceImplementation({ + getState, + setActiveViewportId, + setDisplaySetsForViewports, + isReferenceViewable: () => false, + setLayout, + reset, + onModeExit: reset, + set, + getNumViewportPanes, + setViewportIsReady, + getViewportState, + getGridViewportsReady, + }); + } + }, [ + getState, + service, + setActiveViewportId, + setDisplaySetsForViewports, + setLayout, + reset, + set, + getNumViewportPanes, + setViewportIsReady, + getGridViewportsReady, + getViewportState, + ]); + + // run many of the calls through the service itself since we want to publish events + const api = { + getState, + setActiveViewportId: index => service.setActiveViewportId(index), + setDisplaySetsForViewport: props => service.setDisplaySetsForViewports([props]), + setDisplaySetsForViewports: props => service.setDisplaySetsForViewports(props), + isReferenceViewable: (viewportId, isReferenceViewable, options) => + service.isReferenceViewable(viewportId, isReferenceViewable, options), + setLayout: layout => service.setLayout(layout), + getViewportState: viewportId => service.getViewportState(viewportId), + reset: () => service.reset(), + set: gridLayoutState => service.setState(gridLayoutState), // run it through the service itself since we want to publish events + getNumViewportPanes, + setViewportIsReady, + getGridViewportsReady, + getActiveViewportOptionByKey, + setViewportGridSizeChanged: props => service.setViewportGridSizeChanged(props), + publishViewportsReady: () => service.publishViewportsReady(), + getLayoutOptionsFromState: state => service.getLayoutOptionsFromState(state), + getDisplaySetsUIDsForViewport: viewportId => service.getDisplaySetsUIDsForViewport(viewportId), + }; + + return ( + + {children} + + ); + } + + ViewportGridProvider.propTypes = { + children: PropTypes.any, + service: PropTypes.instanceOf(ViewportGridService).isRequired, + }; + + // Update the useViewportGrid hook + export const useViewportGrid = (): [AppTypes.ViewportGrid.State, ViewportGridApi] => + useContext(ViewportGridContext); + diff --git a/platform/ui-next/src/tailwind.css b/platform/ui-next/src/tailwind.css index 926defb8c44..b8dd0830f1e 100644 --- a/platform/ui-next/src/tailwind.css +++ b/platform/ui-next/src/tailwind.css @@ -8,30 +8,31 @@ @layer base { :root { - --highlight: 191 74% 63%; - --neutral: 213 22% 59%; - --neutral-light: 214 69% 81%; - --neutral-dark: 214 16% 21%; - --background: 0 0% 0%; - --foreground: 0 0% 98%; - --card: 234 64% 10%; - --card-foreground: 0 0% 98%; - --popover: 219 90% 15%; - --popover-foreground: 0 0% 98%; - --primary: 214 98% 60%; - --primary-foreground: 0 0% 98%; - --secondary: 214 65% 36%; - --secondary-foreground: 200 50% 84%; - --muted: 234 64% 10%; - --muted-foreground: 200 46% 65%; - --accent: 217 79% 24%; - --accent-foreground: 0 0% 98%; - --destructive: 0 62.8% 30.6%; - --destructive-foreground: 0 0% 98%; - --border: 0 0% 14.9%; - --input: 236 52% 30%; - --ring: 214 98% 60%; - --chart-1: 220 70% 50%; + /* Custom theme based on system colors - White background with blue accents */ + --highlight: 210 100% 50%; + --neutral: 210 100% 50%; + --neutral-light: 210 100% 95%; + --neutral-dark: 210 100% 85%; + --background: 0 0% 100%; /* White background */ + --foreground: 210 100% 10%; + --card: 0 0% 100%; /* White card background */ + --card-foreground: 210 100% 10%; + --popover: 0 0% 100%; /* White popover background */ + --popover-foreground: 210 100% 10%; + --primary: 210 100% 50%; /* System blue #1e90ff */ + --primary-foreground: 0 0% 100%; + --secondary: 210 100% 90%; /* Light blue secondary */ + --secondary-foreground: 210 100% 20%; + --muted: 210 100% 95%; /* Light muted background */ + --muted-foreground: 210 100% 40%; + --accent: 210 100% 90%; /* Light accent */ + --accent-foreground: 210 100% 20%; + --destructive: 0 84% 60%; + --destructive-foreground: 0 0% 100%; + --border: 210 100% 90%; /* Light blue border */ + --input: 210 100% 90%; + --ring: 210 100% 50%; + --chart-1: 210 100% 50%; --chart-2: 160 60% 45%; --chart-3: 30 80% 55%; --chart-4: 280 65% 60%; @@ -55,13 +56,14 @@ } .dark { - --background: 0 0% 3.9%; + /* Keep dark theme for image viewing areas */ + --background: 0 0% 0%; /* Black background for image areas */ --foreground: 0 0% 98%; - --card: 234 64% 10%; + --card: 0 0% 7%; --card-foreground: 0 0% 98%; --popover: 0 0% 3.9%; --popover-foreground: 0 0% 98%; - --primary: 214 98% 60%; + --primary: 210 100% 50%; --primary-foreground: 0 0% 98%; --secondary: 0 0% 14.9%; --secondary-foreground: 0 0% 98%; @@ -73,7 +75,7 @@ --destructive-foreground: 0 0% 98%; --border: 0 0% 14.9%; --input: 236 52% 30%; - --ring: 214 98% 60%; + --ring: 210 100% 50%; --chart-1: 220 70% 50%; --chart-2: 160 60% 45%; --chart-3: 30 80% 55%; diff --git a/platform/ui/package.json b/platform/ui/package.json index 01e8d4f5005..93eb0d76912 100644 --- a/platform/ui/package.json +++ b/platform/ui/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/ui", - "version": "3.13.0-beta.135", + "version": "3.13.3", "description": "A set of React components for Medical Imaging Viewers", "author": "OHIF Contributors", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2d7b35cedae..85adf8a64e5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,15 +30,15 @@ overrides: webpack: 5.105.0 tar: 7.5.20 serialize-javascript: 7.0.4 - svgo: 3.3.3 + svgo@>=3.0.0 <3.3.4: 3.3.4 flatted: 3.4.2 handlebars: 4.7.9 protobufjs: 7.6.1 tmp: 0.2.7 shell-quote: 1.10.0 - fast-uri: 3.1.2 + fast-uri@>=3.0.0 <=3.1.3: 3.1.4 '@babel/plugin-transform-modules-systemjs': 7.29.4 - sharp: 0.34.5 + sharp@<0.35.0: 0.35.3 tslib: 2.8.1 ws@>=7.0.0 <7.5.11: 7.5.11 ws@>=8.0.0 <8.21.0: 8.21.0 @@ -49,11 +49,16 @@ overrides: picomatch@>=4.0.0 <4.0.4: 4.0.4 websocket-driver@<0.7.5: 0.7.5 adm-zip@<0.6.0: 0.6.0 - brace-expansion@<1.1.16: 1.1.16 - brace-expansion@>=2.0.0 <2.1.2: 2.1.2 - brace-expansion@>=3.0.0 <5.0.7: 5.0.7 + brace-expansion@<1.1.17: 1.1.18 + brace-expansion@>=2.0.0 <2.1.3: 2.1.4 + brace-expansion@>=3.0.0 <3.0.3: 3.0.6 + brace-expansion@>=4.0.0 <5.0.8: 5.0.9 js-yaml@<3.15.0: 3.15.0 js-yaml@>=4.0.0 <4.3.0: 4.3.0 + postcss@<=8.5.11: 8.5.22 + +patchedDependencies: + '@cornerstonejs/adapters': 307cedf0b60b2ecc0ccfa6de3588e323fc8e8ed47d83aa44a6448c752e1d8a4e importers: @@ -122,7 +127,7 @@ importers: version: 29.7.0(@babel/core@7.29.7(supports-color@8.1.1)) babel-loader: specifier: 8.4.1 - version: 8.4.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 8.4.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) babel-plugin-istanbul: specifier: 7.0.1 version: 7.0.1 @@ -134,7 +139,7 @@ importers: version: 7.0.3 css-loader: specifier: 6.11.0 - version: 6.11.0(@rspack/core@1.7.11(@swc/helpers@0.5.21))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 6.11.0(@rspack/core@1.7.12(@swc/helpers@0.5.23))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) cypress: specifier: 14.5.2 version: 14.5.2 @@ -143,13 +148,13 @@ importers: version: 5.0.8(cypress@14.5.2) file-loader: specifier: 6.2.0 - version: 6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) identity-obj-proxy: specifier: 3.0.0 version: 3.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@25.9.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) + version: 29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0(supports-color@8.1.1) @@ -164,7 +169,7 @@ importers: version: 1.2.12(@playwright/test@1.56.1) postcss-loader: specifier: 6.2.1 - version: 6.2.1(postcss@8.5.14)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 6.2.1(postcss@8.5.22)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) prettier: specifier: 3.6.2 version: 3.6.2 @@ -179,13 +184,13 @@ importers: version: 0.5.21 style-loader: specifier: 1.3.0 - version: 1.3.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 1.3.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4) + version: 10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4) worker-loader: specifier: 3.0.8 - version: 3.0.8(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 3.0.8(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) optionalDependencies: '@playwright/test': specifier: 1.56.1 @@ -198,10 +203,10 @@ importers: version: 7.29.7 '@cornerstonejs/adapters': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)) + version: 5.6.8(patch_hash=307cedf0b60b2ecc0ccfa6de3588e323fc8e8ed47d83aa44a6448c752e1d8a4e)(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)) '@cornerstonejs/ai': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)) + version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)) '@cornerstonejs/codec-charls': specifier: 1.2.3 version: 1.2.3 @@ -216,22 +221,22 @@ importers: version: 2.4.7 '@cornerstonejs/core': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@cornerstonejs/dicom-image-loader': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/metadata@5.6.8)(dicom-parser@1.8.21) + version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/metadata@5.6.8)(dicom-parser@1.8.21) '@cornerstonejs/labelmap-interpolation': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0)) + version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0)) '@cornerstonejs/metadata': specifier: 5.6.8 version: 5.6.8 '@cornerstonejs/polymorphic-segmentation': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0)) + version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0)) '@cornerstonejs/tools': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) + version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) '@icr/polyseg-wasm': specifier: 0.4.0 version: 0.4.0 @@ -240,7 +245,7 @@ importers: version: 1.1.0 '@kitware/vtk.js': specifier: 36.4.1 - version: 36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + version: 36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@ohif/core': specifier: workspace:* version: link:../../platform/core @@ -294,7 +299,7 @@ importers: version: 1.3.1 worker-loader: specifier: 3.0.8 - version: 3.0.8(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 3.0.8(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) devDependencies: cross-env: specifier: 7.0.3 @@ -307,13 +312,13 @@ importers: version: 7.29.7 '@cornerstonejs/adapters': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)) + version: 5.6.8(patch_hash=307cedf0b60b2ecc0ccfa6de3588e323fc8e8ed47d83aa44a6448c752e1d8a4e)(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)) '@cornerstonejs/core': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@kitware/vtk.js': specifier: 36.4.1 - version: 36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + version: 36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@ohif/core': specifier: workspace:* version: link:../../platform/core @@ -396,13 +401,13 @@ importers: version: 7.29.7 '@cornerstonejs/adapters': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)) + version: 5.6.8(patch_hash=307cedf0b60b2ecc0ccfa6de3588e323fc8e8ed47d83aa44a6448c752e1d8a4e)(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)) '@cornerstonejs/core': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@kitware/vtk.js': specifier: 36.4.1 - version: 36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + version: 36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@ohif/core': specifier: workspace:* version: link:../../platform/core @@ -445,13 +450,13 @@ importers: version: 7.29.7 '@cornerstonejs/adapters': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)) + version: 5.6.8(patch_hash=307cedf0b60b2ecc0ccfa6de3588e323fc8e8ed47d83aa44a6448c752e1d8a4e)(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)) '@cornerstonejs/core': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@cornerstonejs/tools': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) + version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) '@ohif/core': specifier: workspace:* version: link:../../platform/core @@ -491,10 +496,10 @@ importers: version: 7.29.7 '@cornerstonejs/core': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@cornerstonejs/tools': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) + version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) '@ohif/core': specifier: workspace:* version: link:../../platform/core @@ -721,10 +726,10 @@ importers: version: 7.29.7 '@cornerstonejs/core': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@cornerstonejs/tools': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) + version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) '@ohif/core': specifier: workspace:* version: link:../../platform/core @@ -844,10 +849,10 @@ importers: version: 7.29.7 '@cornerstonejs/core': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@cornerstonejs/tools': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) + version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) '@ohif/core': specifier: workspace:* version: link:../../platform/core @@ -923,10 +928,10 @@ importers: version: 7.29.7(@babel/core@7.29.7) '@svgr/webpack': specifier: 8.1.0 - version: 8.1.0(supports-color@8.1.1)(typescript@5.5.4) + version: 8.1.0(typescript@5.5.4) babel-loader: specifier: 8.4.1 - version: 8.4.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 8.4.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) cross-env: specifier: 7.0.3 version: 7.0.3 @@ -1227,7 +1232,7 @@ importers: version: 8.1.0(typescript@5.5.4) babel-loader: specifier: 8.4.1 - version: 8.4.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 8.4.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) cross-env: specifier: 7.0.3 version: 7.0.3 @@ -1288,10 +1293,10 @@ importers: version: 7.29.7 '@cornerstonejs/core': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@cornerstonejs/tools': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) + version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) '@ohif/core': specifier: workspace:* version: link:../../platform/core @@ -1346,7 +1351,7 @@ importers: version: 8.1.0(typescript@5.5.4) babel-loader: specifier: 8.4.1 - version: 8.4.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 8.4.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) cross-env: specifier: 7.0.3 version: 7.0.3 @@ -1376,7 +1381,7 @@ importers: version: 2.4.7 '@cornerstonejs/dicom-image-loader': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/metadata@5.6.8)(dicom-parser@1.8.21) + version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/metadata@5.6.8)(dicom-parser@1.8.21) '@emotion/serialize': specifier: 1.3.3 version: 1.3.3 @@ -1418,7 +1423,7 @@ importers: version: 1.8.21 file-loader: specifier: 6.2.0 - version: 6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22)) hammerjs: specifier: 2.0.8 version: 2.0.8 @@ -1472,26 +1477,26 @@ importers: version: 15.2.2 url-loader: specifier: 4.1.1 - version: 4.1.1(file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 4.1.1(file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22)))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22)) zustand: specifier: 4.5.5 - version: 4.5.5(@types/react@18.3.23)(immer@9.0.21)(react@18.3.1) + version: 4.5.5(@types/react@18.3.23)(react@18.3.1) devDependencies: '@babel/plugin-transform-private-methods': specifier: 7.29.7 version: 7.29.7(@babel/core@7.29.7) '@rspack/cli': specifier: ^2.0.0 - version: 2.0.3(@rspack/core@2.0.3(@swc/helpers@0.5.21))(@rspack/dev-server@2.0.1(@rspack/core@2.0.3(@swc/helpers@0.5.21))(selfsigned@5.5.0)) + version: 2.1.8(@rspack/core@2.1.8(@swc/helpers@0.5.23))(@rspack/dev-server@2.2.0(@rspack/core@2.1.8(@swc/helpers@0.5.23))(selfsigned@5.5.0)) '@rspack/core': specifier: ^2.0.0 - version: 2.0.3(@swc/helpers@0.5.21) + version: 2.1.8(@swc/helpers@0.5.23) '@rspack/dev-server': specifier: ^2.0.0 - version: 2.0.1(@rspack/core@2.0.3(@swc/helpers@0.5.21))(selfsigned@5.5.0) + version: 2.2.0(@rspack/core@2.1.8(@swc/helpers@0.5.23))(selfsigned@5.5.0) '@rspack/plugin-react-refresh': specifier: ^2.0.0 - version: 2.0.0(@rspack/core@2.0.3(@swc/helpers@0.5.21))(react-refresh@0.18.0) + version: 2.0.2(@rspack/core@2.1.8(@swc/helpers@0.5.23))(react-refresh@0.18.0) '@types/node': specifier: 20.19.9 version: 20.19.9 @@ -1500,25 +1505,25 @@ importers: version: 7.0.3 cssnano: specifier: 5.1.15 - version: 5.1.15(postcss@8.5.14) + version: 5.1.15(postcss@8.5.22) identity-obj-proxy: specifier: 3.0.x version: 3.0.0 mini-css-extract-plugin: specifier: 2.9.2 - version: 2.9.2(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 2.9.2(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22)) postcss-import: specifier: 14.1.0 - version: 14.1.0(postcss@8.5.14) + version: 14.1.0(postcss@8.5.22) postcss-preset-env: specifier: 7.8.3 - version: 7.8.3(postcss@8.5.14) + version: 7.8.3(postcss@8.5.22) shx: specifier: 0.3.4 version: 0.3.4 tailwindcss: specifier: 3.2.4 - version: 3.2.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@20.19.9)(typescript@5.5.4)) + version: 3.2.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) platform/cli: dependencies: @@ -1584,10 +1589,10 @@ importers: version: 2.4.7 '@cornerstonejs/core': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + version: 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@cornerstonejs/dicom-image-loader': specifier: 5.6.8 - version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/metadata@5.6.8)(dicom-parser@1.8.21) + version: 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/metadata@5.6.8)(dicom-parser@1.8.21) '@cornerstonejs/metadata': specifier: 5.6.8 version: 5.6.8 @@ -1648,43 +1653,43 @@ importers: dependencies: '@docusaurus/core': specifier: 3.10.1 - version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/faster': specifier: 3.10.1 - version: 3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21) + version: 3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22) '@docusaurus/module-type-aliases': specifier: 3.10.1 - version: 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/plugin-client-redirects': specifier: 3.10.1 - version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/plugin-google-gtag': specifier: 3.10.1 - version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/plugin-ideal-image': specifier: 3.10.1 - version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/plugin-pwa': specifier: 3.10.1 - version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/babel__core@7.20.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/babel__core@7.20.5)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/preset-classic': specifier: 3.10.1 - version: 3.10.1(@algolia/client-search@5.49.1)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.5.4) + version: 3.10.1(@algolia/client-search@5.56.0)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/react@18.3.23)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.5.4) '@docusaurus/remark-plugin-npm2yarn': specifier: 3.10.1 version: 3.10.1 '@docusaurus/theme-classic': specifier: 3.10.1 - version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/theme-live-codeblock': specifier: 3.10.1 - version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/tsconfig': specifier: 3.10.1 version: 3.10.1 '@docusaurus/types': specifier: 3.10.1 - version: 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mdx-js/react': specifier: 3.0.1 version: 3.0.1(@types/react@18.3.23)(react@18.3.1) @@ -1747,7 +1752,7 @@ importers: version: 18.3.23 autoprefixer: specifier: 10.4.21 - version: 10.4.21(postcss@8.5.6) + version: 10.4.21(postcss@8.5.22) class-variance-authority: specifier: 0.7.1 version: 0.7.1 @@ -1765,10 +1770,10 @@ importers: version: 3.6.0 docusaurus-plugin-image-zoom: specifier: 1.0.1 - version: 1.0.1(@docusaurus/theme-classic@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)) + version: 1.0.1(@docusaurus/theme-classic@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)) file-loader: specifier: 6.2.0 - version: 6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) framer-motion: specifier: 6.2.4 version: 6.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1782,14 +1787,14 @@ importers: specifier: 0.3.0 version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) postcss: - specifier: 8.5.6 - version: 8.5.6 + specifier: 8.5.22 + version: 8.5.22 postcss-import: specifier: 14.1.0 - version: 14.1.0(postcss@8.5.6) + version: 14.1.0(postcss@8.5.22) postcss-preset-env: specifier: 7.8.3 - version: 7.8.3(postcss@8.5.6) + version: 7.8.3(postcss@8.5.22) prism-react-renderer: specifier: 2.1.0 version: 2.1.0(react@18.3.1) @@ -1816,19 +1821,19 @@ importers: version: 2.6.0 tailwindcss: specifier: 3.2.4 - version: 3.2.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) + version: 3.2.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) tailwindcss-animate: specifier: 1.0.7 - version: 1.0.7(tailwindcss@3.2.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4))) + version: 1.0.7(tailwindcss@3.2.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4))) tailwindcss-scoped-preflight: specifier: 3.5.9 - version: 3.5.9(postcss@8.5.6)(tailwindcss@3.2.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4))) + version: 3.5.9(postcss@8.5.22)(tailwindcss@3.2.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4))) typescript: specifier: 5.5.4 version: 5.5.4 url-loader: specifier: 4.1.1 - version: 4.1.1(file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 4.1.1(file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) devDependencies: '@ohif/core': specifier: workspace:* @@ -1929,7 +1934,7 @@ importers: version: 21.8.0(@babel/runtime@7.29.7)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react-with-direction@1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) react-dnd: specifier: 14.0.2 - version: 14.0.2(@types/node@25.9.1)(@types/react@18.3.23)(react@18.3.1) + version: 14.0.2(@types/node@20.19.9)(@types/react@18.3.23)(react@18.3.1) react-dnd-html5-backend: specifier: 14.0.0 version: 14.0.0 @@ -1966,16 +1971,16 @@ importers: version: 7.29.7(supports-color@8.1.1) autoprefixer: specifier: 10.4.21 - version: 10.4.21(postcss@8.5.6) + version: 10.4.21(postcss@8.5.22) babel-loader: specifier: 8.4.1 - version: 8.4.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 8.4.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) postcss: - specifier: 8.5.6 - version: 8.5.6 + specifier: 8.5.22 + version: 8.5.22 postcss-loader: specifier: 6.2.1 - version: 6.2.1(postcss@8.5.6)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + version: 6.2.1(postcss@8.5.22)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) prop-types: specifier: 15.8.1 version: 15.8.1 @@ -1984,7 +1989,7 @@ importers: version: 3.0.1 tailwindcss: specifier: 3.2.4 - version: 3.2.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) + version: 3.2.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) platform/ui-next: dependencies: @@ -2089,10 +2094,10 @@ importers: version: 2.6.0 tailwindcss: specifier: 3.2.4 - version: 3.2.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) + version: 3.2.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) tailwindcss-animate: specifier: 1.0.7 - version: 1.0.7(tailwindcss@3.2.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4))) + version: 1.0.7(tailwindcss@3.2.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4))) devDependencies: '@babel/plugin-transform-private-property-in-object': specifier: 7.29.7 @@ -2103,175 +2108,129 @@ importers: packages: - '@algolia/abtesting@1.15.1': - resolution: {integrity: sha512-2yuIC48rUuHGhU1U5qJ9kJHaxYpJ0jpDHJVI5ekOxSMYXlH4+HP+pA31G820lsAznfmu2nzDV7n5RO44zIY1zw==} + '@algolia/abtesting@1.22.0': + resolution: {integrity: sha512-BFR6zNowNKcY7Ou7TaJc9QWexES4YKPbmf/OTFofpdsdhz4x6q0lbxp3duO0EHnyrN7rE4ba/TSXuY+BDGu4+g==} engines: {node: '>= 14.0.0'} - '@algolia/autocomplete-core@1.17.9': - resolution: {integrity: sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==} + '@algolia/autocomplete-core@1.19.2': + resolution: {integrity: sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==} - '@algolia/autocomplete-core@1.19.8': - resolution: {integrity: sha512-3YEorYg44niXcm7gkft3nXYItHd44e8tmh4D33CTszPgP0QWkaLEaFywiNyJBo7UL/mqObA/G9RYuU7R8tN1IA==} + '@algolia/autocomplete-core@1.19.9': + resolution: {integrity: sha512-4U2JKLMWlDu0CotYyUkWakDxr8AIav3QtIUXXRpfavYN29aVWfzlwJp9T0rPKEf/dO2QCPAUc0Kq1Tj1GJxo2A==} - '@algolia/autocomplete-plugin-algolia-insights@1.17.9': - resolution: {integrity: sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==} + '@algolia/autocomplete-plugin-algolia-insights@1.19.2': + resolution: {integrity: sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==} peerDependencies: search-insights: '>= 1 < 3' - '@algolia/autocomplete-plugin-algolia-insights@1.19.8': - resolution: {integrity: sha512-ZvJWO8ZZJDpc1LNM2TTBdmQsZBLMR4rU5iNR2OYvEeFBiaf/0ESnRSSLQbryarJY4SVxtoz6A2ZtDMNM+iQEAA==} + '@algolia/autocomplete-plugin-algolia-insights@1.19.9': + resolution: {integrity: sha512-6mExC6X7762s2SV3eJy3QOkB8bdMmnUhQ2agvGVDuzwoGyr3PquGSY/0vPQXCfiAiCaXUz1rXn+lwghgSi0l0w==} peerDependencies: search-insights: '>= 1 < 3' - '@algolia/autocomplete-preset-algolia@1.17.9': - resolution: {integrity: sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - - '@algolia/autocomplete-shared@1.17.9': - resolution: {integrity: sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==} + '@algolia/autocomplete-shared@1.19.2': + resolution: {integrity: sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/autocomplete-shared@1.19.8': - resolution: {integrity: sha512-h5hf2t8ejF6vlOgvLaZzQbWs5SyH2z4PAWygNAvvD/2RI29hdQ54ldUGwqVuj9Srs+n8XUKTPUqb7fvhBhQrnQ==} + '@algolia/autocomplete-shared@1.19.9': + resolution: {integrity: sha512-YosP9Uoek6y/Ur1r1qeogk4biMe/hzkyNcgMCciw0//3XpCM7VlYLSHnyt/vOnEOGhCCc0+3v+unEiH6zz+Z1A==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/client-abtesting@5.49.1': - resolution: {integrity: sha512-h6M7HzPin+45/l09q0r2dYmocSSt2MMGOOk5c4O5K/bBBlEwf1BKfN6z+iX4b8WXcQQhf7rgQwC52kBZJt/ZZw==} + '@algolia/client-abtesting@5.56.0': + resolution: {integrity: sha512-7r4Z3NC7yU1oAQVWJNA2HX7tX481F3pJvCGyLIXiTdBcthz4Q/o21jwcMYDFkuI92UWTNBQQmHYgwHo1zS5dzg==} engines: {node: '>= 14.0.0'} - '@algolia/client-analytics@5.49.1': - resolution: {integrity: sha512-048T9/Z8OeLmTk8h76QUqaNFp7Rq2VgS2Zm6Y2tNMYGQ1uNuzePY/udB5l5krlXll7ZGflyCjFvRiOtlPZpE9g==} + '@algolia/client-analytics@5.56.0': + resolution: {integrity: sha512-avmjXQSq+jadFO8Xl2em05/uQdQnEmHsJyOAdVbZkmVgpMfxL12aJwVVfGNwYr9nulcpuJN1X0lTaQ5wxuNGcA==} engines: {node: '>= 14.0.0'} - '@algolia/client-common@5.49.1': - resolution: {integrity: sha512-vp5/a9ikqvf3mn9QvHN8PRekn8hW34aV9eX+O0J5mKPZXeA6Pd5OQEh2ZWf7gJY6yyfTlLp5LMFzQUAU+Fpqpg==} + '@algolia/client-common@5.56.0': + resolution: {integrity: sha512-v2TPStUhY//ripPjIVclZ8AWc7DEGooXULZGFlFu37zNatgHjw34oZZ+OSbbc/YHO+xZwPl62I1k8xH1m4S2eg==} engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.49.1': - resolution: {integrity: sha512-B6N7PgkvYrul3bntTz/l6uXnhQ2bvP+M7NqTcayh681tSqPaA5cJCUBp/vrP7vpPRpej4Eeyx2qz5p0tE/2N2g==} + '@algolia/client-insights@5.56.0': + resolution: {integrity: sha512-P0ehROpM4Sem3Sqo5x2cKPgj67D3G3jy0rh1Amwkcvsfr6tkvIcdCmerieanqTF7NxUMPNFLkpIFeMO8Rpa50w==} engines: {node: '>= 14.0.0'} - '@algolia/client-personalization@5.49.1': - resolution: {integrity: sha512-v+4DN+lkYfBd01Hbnb9ZrCHe7l+mvihyx218INRX/kaCXROIWUDIT1cs3urQxfE7kXBFnLsqYeOflQALv/gA5w==} + '@algolia/client-personalization@5.56.0': + resolution: {integrity: sha512-SXK3Vn3WVxyzbm31oePZBJkp1wpOyuWdd4B/Pv7n0aXDxmeSWhC1R1FC1517mMrFAIaPH4Rt0x6RUe7ZNjz8FA==} engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.49.1': - resolution: {integrity: sha512-Un11cab6ZCv0W+Jiak8UktGIqoa4+gSNgEZNfG8m8eTsXGqwIEr370H3Rqwj87zeNSlFpH2BslMXJ/cLNS1qtg==} + '@algolia/client-query-suggestions@5.56.0': + resolution: {integrity: sha512-5+ZdX8garFnmycnZgKhtXHePEaLj5zqDxI/0lkhhluzCcvTn0/PvvTirTg8hHYetQHvn7GDyeAiqTAieMvMW4A==} engines: {node: '>= 14.0.0'} - '@algolia/client-search@5.49.1': - resolution: {integrity: sha512-Nt9hri7nbOo0RipAsGjIssHkpLMHHN/P7QqENywAq5TLsoYDzUyJGny8FEiD/9KJUxtGH8blGpMedilI6kK3rA==} + '@algolia/client-search@5.56.0': + resolution: {integrity: sha512-+mKUdYvqOi0BcvpAEyCEw49vSBptufIcfibtHz2bdr1pI789M46Yt0uQEk/sxtK3teh71OQvVFHaTDzShUWewQ==} engines: {node: '>= 14.0.0'} '@algolia/events@4.0.1': resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} - '@algolia/ingestion@1.49.1': - resolution: {integrity: sha512-b5hUXwDqje0Y4CpU6VL481DXgPgxpTD5sYMnfQTHKgUispGnaCLCm2/T9WbJo1YNUbX3iHtYDArp804eD6CmRQ==} + '@algolia/ingestion@1.56.0': + resolution: {integrity: sha512-9g/zj+AZx5moFcdFIrYQoVrueXivjUcc3MQHtCYT8WhIuk1lUh1AyEhvJCS0XBZld09cLvd1AZ3BvDBpVpX2UA==} engines: {node: '>= 14.0.0'} - '@algolia/monitoring@1.49.1': - resolution: {integrity: sha512-bvrXwZ0WsL3rN6Q4m4QqxsXFCo6WAew7sAdrpMQMK4Efn4/W920r9ptOuckejOSSvyLr9pAWgC5rsHhR2FYuYw==} + '@algolia/monitoring@1.56.0': + resolution: {integrity: sha512-Qf3Sr6f9A9uxCZUf3MXS0d2b877uYzEB5yxqpVGXAhcJnBCQjrRRon0KvefpGkxy+BshrIJs96OUoMtGqXTFDA==} engines: {node: '>= 14.0.0'} - '@algolia/recommend@5.49.1': - resolution: {integrity: sha512-h2yz3AGeGkQwNgbLmoe3bxYs8fac4An1CprKTypYyTU/k3Q+9FbIvJ8aS1DoBKaTjSRZVoyQS7SZQio6GaHbZw==} + '@algolia/recommend@5.56.0': + resolution: {integrity: sha512-GXWG1rWc5wu8hY4N33Y3b6ernY6sAdAvmKWN/zHAiACOx40WnpG0TVX5YazCAr/9gOYGInSiM2A0y2jy2xbiDA==} engines: {node: '>= 14.0.0'} - '@algolia/requester-browser-xhr@5.49.1': - resolution: {integrity: sha512-2UPyRuUR/qpqSqH8mxFV5uBZWEpxhGPHLlx9Xf6OVxr79XO2ctzZQAhsmTZ6X22x+N8MBWpB9UEky7YU2HGFgA==} + '@algolia/requester-browser-xhr@5.56.0': + resolution: {integrity: sha512-7t24cBxaInS3mZb7ddEaZT/tp6q+/aR4YttsQVyP1/i+LmwPR34atO35KjaLFCcRVrlP7sYOAqkCfg6lIRB+ew==} engines: {node: '>= 14.0.0'} - '@algolia/requester-fetch@5.49.1': - resolution: {integrity: sha512-N+xlE4lN+wpuT+4vhNEwPVlrfN+DWAZmSX9SYhbz986Oq8AMsqdntOqUyiOXVxYsQtfLwmiej24vbvJGYv1Qtw==} + '@algolia/requester-fetch@5.56.0': + resolution: {integrity: sha512-R7ePHgVYmDFjZpvrsVAfbDz/d4RxKAYZ5/vgLfIsCVRZRryjWl/3INOxpOICzitehQ5FjNtNjcLQTrmHPTcHBQ==} engines: {node: '>= 14.0.0'} - '@algolia/requester-node-http@5.49.1': - resolution: {integrity: sha512-zA5bkUOB5PPtTr182DJmajCiizHp0rCJQ0Chf96zNFvkdESKYlDeYA3tQ7r2oyHbu/8DiohAQ5PZ85edctzbXA==} + '@algolia/requester-node-http@5.56.0': + resolution: {integrity: sha512-PIOUXlSnrqM0S+WOgDRb4RzotydJH7ZoT6tOyL7tAO7qJOfvX5wsEW8Pe+PMKMwvuI4/gIyK9cg2H7lJXqnc4Q==} engines: {node: '>= 14.0.0'} - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - - '@apideck/better-ajv-errors@0.3.6': - resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} + '@apideck/better-ajv-errors@0.3.7': + resolution: {integrity: sha512-TajUJwGWbDwkCx/CZi7tRE8PVB7simCvKJfHUsSdvps+aTM/PDPP4gkLmKnc+x3CE//y9i/nj74GqdL/hwk7Iw==} engines: {node: '>=10'} peerDependencies: ajv: '>=8' - '@babel/code-frame@7.29.0': - resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} - engines: {node: '>=6.9.0'} - '@babel/code-frame@7.29.7': resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.29.3': - resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==} - engines: {node: '>=6.9.0'} - '@babel/compat-data@7.29.7': resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} engines: {node: '>=6.9.0'} - '@babel/core@7.28.0': - resolution: {integrity: sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==} - engines: {node: '>=6.9.0'} - '@babel/core@7.29.7': resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.29.1': - resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.29.7': - resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-annotate-as-pure@7.27.3': - resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} + '@babel/generator@7.29.8': + resolution: {integrity: sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.29.7': resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.28.6': - resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} - engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.29.7': resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.29.3': - resolution: {integrity: sha512-RpLYy2sb51oNLjuu1iD3bwBqCBWUzjO0ocp+iaCP/lJtb2CPLcnC2Fftw+4sAzaMELGeWTgExSKADbdo0GFVzA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-create-class-features-plugin@7.29.7': resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.28.5': - resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.29.7': resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} engines: {node: '>=6.9.0'} @@ -2283,206 +2242,103 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} - engines: {node: '>=6.9.0'} - '@babel/helper-globals@7.29.7': resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.28.5': - resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} - engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.29.7': resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.28.6': - resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} - engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.29.7': resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.28.6': - resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-module-transforms@7.29.7': resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-optimise-call-expression@7.27.1': - resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} - engines: {node: '>=6.9.0'} - '@babel/helper-optimise-call-expression@7.29.7': resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.28.6': - resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} - engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.29.7': resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} engines: {node: '>=6.9.0'} - '@babel/helper-remap-async-to-generator@7.27.1': - resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-remap-async-to-generator@7.29.7': resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.28.6': - resolution: {integrity: sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.29.7': resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': - resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} - engines: {node: '>=6.9.0'} - '@babel/helper-skip-transparent-expression-wrappers@7.29.7': resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.29.7': resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.29.7': resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.29.7': resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.28.6': - resolution: {integrity: sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.29.7': resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.29.2': - resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} - engines: {node: '>=6.9.0'} - '@babel/helpers@7.29.7': resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} engines: {node: '>=6.9.0'} - '@babel/parser@7.29.3': - resolution: {integrity: sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.29.7': - resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} + '@babel/parser@7.29.8': + resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5': - resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7': resolution: {integrity: sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1': - resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7': resolution: {integrity: sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1': - resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7': resolution: {integrity: sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.3': - resolution: {integrity: sha512-SRS46DFR4HqzUzCVgi90/xMoL+zeBDBvWdKYXSEzh79kXswNFEglUpMKxR04//dPqwYXWUBJ3mpUd933ru9Kmg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7': resolution: {integrity: sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1': - resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7': resolution: {integrity: sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6': - resolution: {integrity: sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7': resolution: {integrity: sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==} engines: {node: '>=6.9.0'} @@ -2521,24 +2377,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.28.6': - resolution: {integrity: sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.29.7': resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.28.6': - resolution: {integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.29.7': resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} engines: {node: '>=6.9.0'} @@ -2555,12 +2399,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.28.6': - resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.29.7': resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} engines: {node: '>=6.9.0'} @@ -2609,12 +2447,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.28.6': - resolution: {integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.29.7': resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} engines: {node: '>=6.9.0'} @@ -2627,300 +2459,150 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-arrow-functions@7.27.1': - resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-arrow-functions@7.29.7': resolution: {integrity: sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.29.0': - resolution: {integrity: sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.29.7': resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-to-generator@7.28.6': - resolution: {integrity: sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-to-generator@7.29.7': resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoped-functions@7.27.1': - resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoped-functions@7.29.7': resolution: {integrity: sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.28.6': - resolution: {integrity: sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.29.7': resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-properties@7.28.6': - resolution: {integrity: sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-properties@7.29.7': resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-static-block@7.28.6': - resolution: {integrity: sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - '@babel/plugin-transform-class-static-block@7.29.7': resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 - '@babel/plugin-transform-classes@7.28.6': - resolution: {integrity: sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-classes@7.29.7': resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-computed-properties@7.28.6': - resolution: {integrity: sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-computed-properties@7.29.7': resolution: {integrity: sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-destructuring@7.28.5': - resolution: {integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-destructuring@7.29.7': resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dotall-regex@7.28.6': - resolution: {integrity: sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dotall-regex@7.29.7': resolution: {integrity: sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-duplicate-keys@7.27.1': - resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-duplicate-keys@7.29.7': resolution: {integrity: sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0': - resolution: {integrity: sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7': resolution: {integrity: sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-dynamic-import@7.27.1': - resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dynamic-import@7.29.7': resolution: {integrity: sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-explicit-resource-management@7.28.6': - resolution: {integrity: sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-explicit-resource-management@7.29.7': resolution: {integrity: sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.28.6': - resolution: {integrity: sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.29.7': resolution: {integrity: sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-export-namespace-from@7.27.1': - resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-export-namespace-from@7.29.7': resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-for-of@7.27.1': - resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-for-of@7.29.7': resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-function-name@7.27.1': - resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-function-name@7.29.7': resolution: {integrity: sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-json-strings@7.28.6': - resolution: {integrity: sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-json-strings@7.29.7': resolution: {integrity: sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-literals@7.27.1': - resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-literals@7.29.7': resolution: {integrity: sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-logical-assignment-operators@7.28.6': - resolution: {integrity: sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-logical-assignment-operators@7.29.7': resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-member-expression-literals@7.27.1': - resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-member-expression-literals@7.29.7': resolution: {integrity: sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-amd@7.27.1': - resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-amd@7.29.7': resolution: {integrity: sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.28.6': - resolution: {integrity: sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.29.7': resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} engines: {node: '>=6.9.0'} @@ -2933,170 +2615,86 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-umd@7.27.1': - resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-umd@7.29.7': resolution: {integrity: sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-named-capturing-groups-regex@7.29.0': - resolution: {integrity: sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/plugin-transform-named-capturing-groups-regex@7.29.7': resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-new-target@7.27.1': - resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-new-target@7.29.7': resolution: {integrity: sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-nullish-coalescing-operator@7.28.6': - resolution: {integrity: sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-nullish-coalescing-operator@7.29.7': resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-numeric-separator@7.28.6': - resolution: {integrity: sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-numeric-separator@7.29.7': resolution: {integrity: sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-rest-spread@7.28.6': - resolution: {integrity: sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-rest-spread@7.29.7': resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-super@7.27.1': - resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-super@7.29.7': resolution: {integrity: sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-catch-binding@7.28.6': - resolution: {integrity: sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-catch-binding@7.29.7': resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-chaining@7.28.6': - resolution: {integrity: sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-chaining@7.29.7': resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-parameters@7.27.7': - resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-parameters@7.29.7': resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-methods@7.28.6': - resolution: {integrity: sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-methods@7.29.7': resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-property-in-object@7.28.6': - resolution: {integrity: sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==} + '@babel/plugin-transform-private-property-in-object@7.29.7': + resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-property-in-object@7.29.7': - resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} + '@babel/plugin-transform-property-literals@7.29.7': + resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-property-literals@7.27.1': - resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-property-literals@7.29.7': - resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-constant-elements@7.27.1': - resolution: {integrity: sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-display-name@7.28.0': - resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==} + '@babel/plugin-transform-react-constant-elements@7.29.7': + resolution: {integrity: sha512-J0wGhKan+rIiE2OhfhRptySLrJ6SjQYM6b6N1FMlhyhCcw1Mig8vQjWchyB+bgHGDvaWo6Diu6CLRMra2uMtmg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3107,72 +2705,36 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-development@7.27.1': - resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-development@7.29.7': resolution: {integrity: sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx@7.28.6': - resolution: {integrity: sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx@7.29.7': resolution: {integrity: sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-pure-annotations@7.27.1': - resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-pure-annotations@7.29.7': resolution: {integrity: sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.29.0': - resolution: {integrity: sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.29.7': resolution: {integrity: sha512-rNNFV0DBAJp988xW2DOntfDoYn1eR8GGF5AT5vYc+rjyfaQkM242c9tZUHHPe7KYaiJizXPWhQTzzdbXySyhBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regexp-modifiers@7.28.6': - resolution: {integrity: sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/plugin-transform-regexp-modifiers@7.29.7': resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-reserved-words@7.27.1': - resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-reserved-words@7.29.7': resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==} engines: {node: '>=6.9.0'} @@ -3185,32 +2747,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-shorthand-properties@7.27.1': - resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-shorthand-properties@7.29.7': resolution: {integrity: sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-spread@7.28.6': - resolution: {integrity: sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-spread@7.29.7': - resolution: {integrity: sha512-/u5K1QWada7tbYNqTjMh96718g9NTwh9tfPJMsSmVsQwGT447FskV+KcfeXkXq2GWki4EM/MuTdmBec+hOuVTQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-sticky-regex@7.27.1': - resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==} + '@babel/plugin-transform-spread@7.29.8': + resolution: {integrity: sha512-4S9ksMGVWUshvgK0mKfvZky7leuG5/uoFVwMpAomJ8bMoDJiNHRVmc1EglwW/CmGVSqqWpEbXm9FmbRit22qoA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3221,96 +2765,48 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-template-literals@7.27.1': - resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-template-literals@7.29.7': resolution: {integrity: sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typeof-symbol@7.27.1': - resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typeof-symbol@7.29.7': resolution: {integrity: sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.28.0': - resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.29.7': resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-escapes@7.27.1': - resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-escapes@7.29.7': resolution: {integrity: sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-property-regex@7.28.6': - resolution: {integrity: sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-property-regex@7.29.7': resolution: {integrity: sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-regex@7.27.1': - resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-regex@7.29.7': resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-sets-regex@7.28.6': - resolution: {integrity: sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/plugin-transform-unicode-sets-regex@7.29.7': resolution: {integrity: sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.29.5': - resolution: {integrity: sha512-/69t2aEzGKHD76DyLbHysF/QH2LJOB8iFnYO37unDTKBTubzcMRv0f3H5EiN1Q6ajOd/eB7dAInF0qdFVS06kA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/preset-env@7.29.7': resolution: {integrity: sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==} engines: {node: '>=6.9.0'} @@ -3322,24 +2818,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@babel/preset-react@7.27.1': - resolution: {integrity: sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/preset-react@7.29.7': resolution: {integrity: sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-typescript@7.27.1': - resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/preset-typescript@7.29.7': resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} engines: {node: '>=6.9.0'} @@ -3354,36 +2838,20 @@ packages: resolution: {integrity: sha512-Lc94FOD5+0aXhdb0Tdg3RUtqT6yWbI/BbFWvlaSJ3gAb9Ks+99nHRDKADVqC37er4eCB0fHyWT+y+K3QOvJKbw==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.29.2': - resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} - engines: {node: '>=6.9.0'} - '@babel/runtime@7.29.7': resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} engines: {node: '>=6.9.0'} - '@babel/template@7.28.6': - resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} - engines: {node: '>=6.9.0'} - '@babel/template@7.29.7': resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.29.0': - resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.29.7': - resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.29.0': - resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} + '@babel/traverse@7.29.8': + resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} engines: {node: '>=6.9.0'} - '@babel/types@7.29.7': - resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} + '@babel/types@7.29.8': + resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': @@ -3523,325 +2991,325 @@ packages: resolution: {integrity: sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-cascade-layers@1.1.1': resolution: {integrity: sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 '@csstools/postcss-cascade-layers@5.0.2': resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-color-function-display-p3-linear@1.0.1': resolution: {integrity: sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-color-function@1.1.1': resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 '@csstools/postcss-color-function@4.0.12': resolution: {integrity: sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-color-mix-function@3.0.12': resolution: {integrity: sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2': resolution: {integrity: sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-content-alt-text@2.0.8': resolution: {integrity: sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-contrast-color-function@2.0.12': resolution: {integrity: sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-exponential-functions@2.0.9': resolution: {integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-font-format-keywords@1.0.1': resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 '@csstools/postcss-font-format-keywords@4.0.0': resolution: {integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-gamut-mapping@2.0.11': resolution: {integrity: sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-gradients-interpolation-method@5.0.12': resolution: {integrity: sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-hwb-function@1.0.2': resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 '@csstools/postcss-hwb-function@4.0.12': resolution: {integrity: sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-ic-unit@1.0.1': resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 '@csstools/postcss-ic-unit@4.0.4': resolution: {integrity: sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-initial@2.0.1': resolution: {integrity: sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-is-pseudo-class@2.0.7': resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 '@csstools/postcss-is-pseudo-class@5.0.3': resolution: {integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-light-dark-function@2.0.11': resolution: {integrity: sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-logical-float-and-clear@3.0.0': resolution: {integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-logical-overflow@2.0.0': resolution: {integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-logical-overscroll-behavior@2.0.0': resolution: {integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-logical-resize@3.0.0': resolution: {integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-logical-viewport-units@3.0.4': resolution: {integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-media-minmax@2.0.9': resolution: {integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5': resolution: {integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-nested-calc@1.0.0': resolution: {integrity: sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 '@csstools/postcss-nested-calc@4.0.0': resolution: {integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-normalize-display-values@1.0.1': resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 '@csstools/postcss-normalize-display-values@4.0.1': resolution: {integrity: sha512-TQUGBuRvxdc7TgNSTevYqrL8oItxiwPDixk20qCB5me/W8uF7BPbhRrAvFuhEoywQp/woRsUZ6SJ+sU5idZAIA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-oklab-function@1.1.1': resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 '@csstools/postcss-oklab-function@4.0.12': resolution: {integrity: sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-position-area-property@1.0.0': resolution: {integrity: sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-progressive-custom-properties@1.3.0': resolution: {integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.3 + postcss: 8.5.22 '@csstools/postcss-progressive-custom-properties@4.2.1': resolution: {integrity: sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-property-rule-prelude-list@1.0.0': resolution: {integrity: sha512-IxuQjUXq19fobgmSSvUDO7fVwijDJaZMvWQugxfEUxmjBeDCVaDuMpsZ31MsTm5xbnhA+ElDi0+rQ7sQQGisFA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-random-function@2.0.1': resolution: {integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-relative-color-syntax@3.0.12': resolution: {integrity: sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-scope-pseudo-class@4.0.1': resolution: {integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-sign-functions@1.1.4': resolution: {integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-stepped-value-functions@1.0.1': resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 '@csstools/postcss-stepped-value-functions@4.0.9': resolution: {integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-syntax-descriptor-syntax-production@1.0.1': resolution: {integrity: sha512-GneqQWefjM//f4hJ/Kbox0C6f2T7+pi4/fqTqOFGTL3EjnvOReTqO1qUQ30CaUjkwjYq9qZ41hzarrAxCc4gow==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-system-ui-font-family@1.0.0': resolution: {integrity: sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-text-decoration-shorthand@1.0.0': resolution: {integrity: sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 '@csstools/postcss-text-decoration-shorthand@4.0.3': resolution: {integrity: sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-trigonometric-functions@1.0.2': resolution: {integrity: sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==} engines: {node: ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 '@csstools/postcss-trigonometric-functions@4.0.9': resolution: {integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/postcss-unset-value@1.0.2': resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 '@csstools/postcss-unset-value@4.0.0': resolution: {integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@csstools/selector-resolve-nested@3.1.0': resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==} @@ -3865,7 +3333,7 @@ packages: resolution: {integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 '@cypress/request@3.0.10': resolution: {integrity: sha512-hauBrOdvu08vOsagkZ/Aju5XuiZx6ldsLfByg1htFeldhex+PeMrYauANzFsMJeAA0+dyPLbDoX2OYuvVoLDkQ==} @@ -3881,11 +3349,25 @@ packages: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} - '@docsearch/css@3.9.0': - resolution: {integrity: sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==} + '@docsearch/core@4.7.0': + resolution: {integrity: sha512-p/9xVKmPDj3FPvMfPf5naVO3Ej8SCbcUugGvx1+8GgkuBNbqxqN2Irx3WLBv8VY0jH7XpRwKWdlmjXLZsmTLsg==} + peerDependencies: + '@types/react': '>= 16.8.0 < 20.0.0' + react: '>= 16.8.0 < 20.0.0' + react-dom: '>= 16.8.0 < 20.0.0' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + + '@docsearch/css@4.7.0': + resolution: {integrity: sha512-Sk5xkdRFeE7PeWjG9l4AfTwdvMfr9wHiwNNCpHXT4v4SNyNMKdHGvEILc31BgaVFGDDNbv5u/a73tofRiwbEZw==} - '@docsearch/react@3.9.0': - resolution: {integrity: sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==} + '@docsearch/react@4.7.0': + resolution: {integrity: sha512-x6oedjJ8O8/pIDBsMo5Orca3/6cQCz616/CwthVe68l43mqnj2lrJ9kFQITBqy8hMsS3nWeBWFoVO5dJ1DCFKA==} peerDependencies: '@types/react': '>= 16.8.0 < 20.0.0' react: '>= 16.8.0 < 20.0.0' @@ -4072,7 +3554,7 @@ packages: engines: {node: '>=12'} peerDependencies: jimp: '*' - sharp: 0.34.5 + sharp: 0.35.3 peerDependenciesMeta: jimp: optional: true @@ -4133,14 +3615,14 @@ packages: resolution: {integrity: sha512-3ojeJry9xBYdJO6qoyyzqeJFSJBVx2mXhyDzSdjwL2+URFQMf+h25gG38iswGImicK0ELjTd1EL2xzk8hf3QPw==} engines: {node: '>=20.0'} - '@emnapi/core@1.10.0': - resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + '@emnapi/core@1.11.3': + resolution: {integrity: sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==} - '@emnapi/runtime@1.10.0': - resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + '@emnapi/runtime@1.11.3': + resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} - '@emnapi/wasi-threads@1.2.1': - resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + '@emnapi/wasi-threads@1.2.3': + resolution: {integrity: sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==} '@emotion/babel-plugin@11.13.5': resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} @@ -4189,20 +3671,20 @@ packages: '@emotion/weak-memoize@0.4.0': resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} - '@floating-ui/core@1.7.4': - resolution: {integrity: sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==} + '@floating-ui/core@1.8.0': + resolution: {integrity: sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==} - '@floating-ui/dom@1.7.5': - resolution: {integrity: sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==} + '@floating-ui/dom@1.8.0': + resolution: {integrity: sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==} - '@floating-ui/react-dom@2.1.7': - resolution: {integrity: sha512-0tLRojf/1Go2JgEVm+3Frg9A3IW8bJgKgdO0BN5RkF//ufuz2joZM63Npau2ff3J6lUVYgDSNzNkR+aH3IVfjg==} + '@floating-ui/react-dom@2.1.9': + resolution: {integrity: sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/utils@0.2.10': - resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@floating-ui/utils@0.2.12': + resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} @@ -4223,169 +3705,179 @@ packages: resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} engines: {node: '>=18'} - '@img/sharp-darwin-arm64@0.34.5': - resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-darwin-arm64@0.35.3': + resolution: {integrity: sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==} + engines: {node: '>=20.9.0'} cpu: [arm64] os: [darwin] - '@img/sharp-darwin-x64@0.34.5': - resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-darwin-x64@0.35.3': + resolution: {integrity: sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==} + engines: {node: '>=20.9.0'} cpu: [x64] os: [darwin] - '@img/sharp-libvips-darwin-arm64@1.2.4': - resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} + '@img/sharp-freebsd-wasm32@0.35.3': + resolution: {integrity: sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==} + engines: {node: '>=20.9.0'} + os: [freebsd] + + '@img/sharp-libvips-darwin-arm64@1.3.2': + resolution: {integrity: sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==} cpu: [arm64] os: [darwin] - '@img/sharp-libvips-darwin-x64@1.2.4': - resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} + '@img/sharp-libvips-darwin-x64@1.3.2': + resolution: {integrity: sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==} cpu: [x64] os: [darwin] - '@img/sharp-libvips-linux-arm64@1.2.4': - resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} + '@img/sharp-libvips-linux-arm64@1.3.2': + resolution: {integrity: sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==} cpu: [arm64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-arm@1.2.4': - resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} + '@img/sharp-libvips-linux-arm@1.3.2': + resolution: {integrity: sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==} cpu: [arm] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-ppc64@1.2.4': - resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} + '@img/sharp-libvips-linux-ppc64@1.3.2': + resolution: {integrity: sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-riscv64@1.2.4': - resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} + '@img/sharp-libvips-linux-riscv64@1.3.2': + resolution: {integrity: sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==} cpu: [riscv64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-s390x@1.2.4': - resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} + '@img/sharp-libvips-linux-s390x@1.3.2': + resolution: {integrity: sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==} cpu: [s390x] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-x64@1.2.4': - resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} + '@img/sharp-libvips-linux-x64@1.3.2': + resolution: {integrity: sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==} cpu: [x64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linuxmusl-arm64@1.2.4': - resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} + '@img/sharp-libvips-linuxmusl-arm64@1.3.2': + resolution: {integrity: sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==} cpu: [arm64] os: [linux] libc: [musl] - '@img/sharp-libvips-linuxmusl-x64@1.2.4': - resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} + '@img/sharp-libvips-linuxmusl-x64@1.3.2': + resolution: {integrity: sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==} cpu: [x64] os: [linux] libc: [musl] - '@img/sharp-linux-arm64@0.34.5': - resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linux-arm64@0.35.3': + resolution: {integrity: sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==} + engines: {node: '>=20.9.0'} cpu: [arm64] os: [linux] libc: [glibc] - '@img/sharp-linux-arm@0.34.5': - resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linux-arm@0.35.3': + resolution: {integrity: sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==} + engines: {node: '>=20.9.0'} cpu: [arm] os: [linux] libc: [glibc] - '@img/sharp-linux-ppc64@0.34.5': - resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linux-ppc64@0.35.3': + resolution: {integrity: sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==} + engines: {node: '>=20.9.0'} cpu: [ppc64] os: [linux] libc: [glibc] - '@img/sharp-linux-riscv64@0.34.5': - resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linux-riscv64@0.35.3': + resolution: {integrity: sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==} + engines: {node: '>=20.9.0'} cpu: [riscv64] os: [linux] libc: [glibc] - '@img/sharp-linux-s390x@0.34.5': - resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linux-s390x@0.35.3': + resolution: {integrity: sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==} + engines: {node: '>=20.9.0'} cpu: [s390x] os: [linux] libc: [glibc] - '@img/sharp-linux-x64@0.34.5': - resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linux-x64@0.35.3': + resolution: {integrity: sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==} + engines: {node: '>=20.9.0'} cpu: [x64] os: [linux] libc: [glibc] - '@img/sharp-linuxmusl-arm64@0.34.5': - resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linuxmusl-arm64@0.35.3': + resolution: {integrity: sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==} + engines: {node: '>=20.9.0'} cpu: [arm64] os: [linux] libc: [musl] - '@img/sharp-linuxmusl-x64@0.34.5': - resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-linuxmusl-x64@0.35.3': + resolution: {integrity: sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==} + engines: {node: '>=20.9.0'} cpu: [x64] os: [linux] libc: [musl] - '@img/sharp-wasm32@0.34.5': - resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-wasm32@0.35.3': + resolution: {integrity: sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==} + engines: {node: '>=20.9.0'} + + '@img/sharp-webcontainers-wasm32@0.35.3': + resolution: {integrity: sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==} + engines: {node: '>=20.9.0'} cpu: [wasm32] - '@img/sharp-win32-arm64@0.34.5': - resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-win32-arm64@0.35.3': + resolution: {integrity: sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==} + engines: {node: '>=20.9.0'} cpu: [arm64] os: [win32] - '@img/sharp-win32-ia32@0.34.5': - resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-win32-ia32@0.35.3': + resolution: {integrity: sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==} + engines: {node: ^20.9.0} cpu: [ia32] os: [win32] - '@img/sharp-win32-x64@0.34.5': - resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + '@img/sharp-win32-x64@0.35.3': + resolution: {integrity: sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==} + engines: {node: '>=20.9.0'} cpu: [x64] os: [win32] - '@ipld/car@5.4.2': - resolution: {integrity: sha512-gfyrJvePyXnh2Fbj8mPg4JYvEZ3izhk8C9WgAle7xIYbrJNSXmNQ6BxAls8Gof97vvGbCROdxbTWRmHJtTCbcg==} + '@ipld/car@5.4.7': + resolution: {integrity: sha512-fohzeOYlm0vM1kGn48zcyDunamXSJaeM5xt0Fmkp5YJkZzgZyjLbb0DcDK6TDgZWo54btkXNACaXUw2H86Elag==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} - '@ipld/dag-cbor@9.2.5': - resolution: {integrity: sha512-84wSr4jv30biui7endhobYhXBQzQE4c/wdoWlFrKcfiwH+ofaPg8fwsM8okX9cOzkkrsAsNdDyH3ou+kiLquwQ==} - engines: {node: '>=16.0.0', npm: '>=7.0.0'} + '@ipld/dag-cbor@10.0.2': + resolution: {integrity: sha512-1eCD4YMTlkx5i36oQUmeAojLS/wu+XCd1Gs31BA0afk0TaVkhnyMofIAT/pi0wV3HS3/G7QSN/1NibhiksMyZQ==} - '@ipld/dag-json@10.2.6': - resolution: {integrity: sha512-51yc5azhmkvc9mp2HV/vtJ8SlgFXADp55wAPuuAjQZ+yPurAYuTVddS3ke5vT4sjcd4DbE+DWjsMZGXjFB2cuA==} - engines: {node: '>=16.0.0', npm: '>=7.0.0'} + '@ipld/dag-cbor@9.2.7': + resolution: {integrity: sha512-ZmfXmElRWATr+hoUTSAOr6HUcjVhOcNHDqgczc76qte2DHHFEK0ZhNzUcdTDQhF/VSIvf2ioaRTRLWwLc83sNw==} - '@ipld/dag-pb@4.1.5': - resolution: {integrity: sha512-w4PZ2yPqvNmlAir7/2hsCRMqny1EY5jj26iZcSgxREJexmbAc2FI21jp26MqiNdfgAxvkCnf2N/TJI18GaDNwA==} + '@ipld/dag-json@10.2.9': + resolution: {integrity: sha512-opNPQQsTuCFZkaJCAqXrB/n9OqUD6W2Boz/Au5HjhLQyczmT8lxoOZObqQ5S5hhnV8p6sgKAimNhUB2W6y0Mzg==} + + '@ipld/dag-pb@4.1.7': + resolution: {integrity: sha512-/i/13trFihjWfDyXlylRwhuYjtzYjvOFw0vlRjYGnZuv7d7MOgA2lV/vRuL5RfeUajM03aZfFLdq4S7cTbbTRg==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} '@ipld/unixfs@3.0.0': @@ -4552,50 +4044,50 @@ packages: peerDependencies: tslib: 2.8.1 - '@jsonjoy.com/fs-core@4.57.8': - resolution: {integrity: sha512-YzVbwggV9452VCeHgo0bjsTaUt1O7JE0XpEsPar93nn/+RAwXk0mb1Y+f5EDJ3TRtRCFe+Ck5RuojdfB4jeHVw==} + '@jsonjoy.com/fs-core@4.67.0': + resolution: {integrity: sha512-+QOYAGujzm86pKcX4N0JQ1YcLEjypr/I+wmQRxwI8W7K0QXKSi8vQVC2oKQGjcfbHq02JvCQijypfvyhcTz7uw==} engines: {node: '>=10.0'} peerDependencies: tslib: 2.8.1 - '@jsonjoy.com/fs-fsa@4.57.8': - resolution: {integrity: sha512-vmClyvCQMxgqz7uamDiGtRfp4MjzOznk3pcQjCxlIwJcw7TWeyr+bF30hI0x8NxdtNOGMg1pHM74VDIXOeyjuw==} + '@jsonjoy.com/fs-fsa@4.67.0': + resolution: {integrity: sha512-2jCnH5ofKXb+6vcl8dQArO1Gb4FT7vLbMGVnNim0ekXkY78DPVXZvJ8DQp9WLbqP/G/gxiPVz/DOMoOCD4BqqQ==} engines: {node: '>=10.0'} peerDependencies: tslib: 2.8.1 - '@jsonjoy.com/fs-node-builtins@4.57.8': - resolution: {integrity: sha512-mxXSXw8zZwRVakcjLqR2I/psy4gURFSASZS10kKJ2kJw05GC2nXGroGrWVHxwgkxXgQLsFQnB74QaLzsxzdL/w==} + '@jsonjoy.com/fs-node-builtins@4.67.0': + resolution: {integrity: sha512-os7Cft1EudH0xZs5Kh5/qHI72jk8DMQ1561elyHkHd9c9xaa4wOfK1iMh4JB9y+kXtpXjEnT4cjHqqc7A3X3lA==} engines: {node: '>=10.0'} peerDependencies: tslib: 2.8.1 - '@jsonjoy.com/fs-node-to-fsa@4.57.8': - resolution: {integrity: sha512-AWZcT/4+H+iDl4XCukbXrarvwEgOrf/prFI5/7eg4ix9FxqVsZysIDJd1Kjd+AjlCeHKHJOaRqjLd5HiGSCJEw==} + '@jsonjoy.com/fs-node-to-fsa@4.67.0': + resolution: {integrity: sha512-5e6WTnLhw0Q5mPEACOsA7h2BA++N1FCSmhXRX5gone8Le4fsqcpgpukqW5hWneLfzIr5AOEliu0PyokdYx3Bwg==} engines: {node: '>=10.0'} peerDependencies: tslib: 2.8.1 - '@jsonjoy.com/fs-node-utils@4.57.8': - resolution: {integrity: sha512-E/bJ7sQAb4pu9nbeJhbULU3WnqWrswte4N9Js/oHt7aHB746S8/XBqKlcbrqIgnD3095XluovNEZuu5ONT230g==} + '@jsonjoy.com/fs-node-utils@4.67.0': + resolution: {integrity: sha512-ZcCPh4jvUqYxAgu4lLe+6eQbijxEkZIrCq0Jhh669o3v3zrCn8N4YAFod3zllZtSHhwb+YbER29LUW/SdNrP7Q==} engines: {node: '>=10.0'} peerDependencies: tslib: 2.8.1 - '@jsonjoy.com/fs-node@4.57.8': - resolution: {integrity: sha512-IPEOlDYSnTDYpjQlQg2F8h+eqxKQN3sdbroI0WrteRiQZ462HzVpBo9ZZX485njz4nAacoe3fd4iDiIhk+k5Hg==} + '@jsonjoy.com/fs-node@4.67.0': + resolution: {integrity: sha512-EZ/mSrxRYphDbyll1VuDW0mvj/USoe2M5sxT2nYqyYyvdxsIsijhJOiygBHAaj86Eqd/Kb9ukkwXjBisRTk1tg==} engines: {node: '>=10.0'} peerDependencies: tslib: 2.8.1 - '@jsonjoy.com/fs-print@4.57.8': - resolution: {integrity: sha512-DfzhOBpmvNu5P/KSe4NNQaOnvNliTdcf0qrh/4EReErF/XUQXYkd0vZl/OiJCm/qjEEo8DWRstliw2/JNS84dA==} + '@jsonjoy.com/fs-print@4.67.0': + resolution: {integrity: sha512-xBhay3ayVlFeScafZy+7jyH0+I6MLomaL+2nn/KWirgjwh58w8+u44j7oSvE8EQ2NLF63B1eVc65awmbs/39Iw==} engines: {node: '>=10.0'} peerDependencies: tslib: 2.8.1 - '@jsonjoy.com/fs-snapshot@4.57.8': - resolution: {integrity: sha512-L+eqKaWOHLDaiMv1dh/EWQ4hA+o6xAhWSumTo3Teg7OM18jU/KE13/e8Mfal+eAZ/pSl4wIhKHcDiwapJzC8Wg==} + '@jsonjoy.com/fs-snapshot@4.67.0': + resolution: {integrity: sha512-wn5c6Qx0iVX1dV74l5WOCIPH9lz3xU6A0QG45n0c53athmmr7Z+XTg0YOndME88g/5LjcqwiSSYD9aSr9+goYg==} engines: {node: '>=10.0'} peerDependencies: tslib: 2.8.1 @@ -4677,21 +4169,20 @@ packages: resolution: {integrity: sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==} engines: {node: '>= 10'} - '@multiformats/blake2@2.0.2': - resolution: {integrity: sha512-AOWu6Tyuk5UoT5m4faB6ntVnPB8EmuD6rn18s4cCgHNEGgsamT8GdvjP9DYjzFHQVaP/0L3CaKqWQqJlXx9ecw==} + '@multiformats/blake2@2.0.3': + resolution: {integrity: sha512-G9+QjSDG6mIreKJA4DAr+8zavr+mWbh47K57Yh2ayo/1e2nLM5NDV6Q0HjzkB7hrstENtr/yGjF5hLu6JM06qw==} - '@multiformats/murmur3@2.2.0': - resolution: {integrity: sha512-G5qVQxMWJ/Rja7hAx7cgyPcqnFmuOm0aHJ6TgJ+1odbdMu5BxpCCKH9y/Kw5spNbO9aYk8Jf41NbHkoHYDyZHQ==} - engines: {node: '>=16.0.0', npm: '>=7.0.0'} + '@multiformats/murmur3@2.2.8': + resolution: {integrity: sha512-CrsYnnoWbTYPkLl9D6zKaFPlRbnOekofvi93/1IrXc5eaT5QChRscEFV93kVqHwL2phi8u1hj9UnaeFOq2PYMQ==} - '@multiformats/sha3@3.0.2': - resolution: {integrity: sha512-fBxODTXa1sOWYB9q6GSFe2HYSVwMEdnPa7c7FgNhr/rMFQ2HGtwmRppTm317HSpGSTUkoTvyKQDNcteJEGU+bg==} + '@multiformats/sha3@3.0.3': + resolution: {integrity: sha512-FugQMj5ts/aUFx2cWuE9Y3O/YN/puVJWaRoFQSSKTc5jm89o0UUowvwxLkkURx9MQiR5GJsoG9d6ZITWi8FiBA==} '@napi-rs/wasm-runtime@1.0.7': resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} - '@napi-rs/wasm-runtime@1.1.4': - resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} + '@napi-rs/wasm-runtime@1.1.6': + resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==} peerDependencies: '@emnapi/core': ^1.7.1 '@emnapi/runtime': ^1.7.1 @@ -4792,8 +4283,8 @@ packages: resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} engines: {node: '>=12.22.0'} - '@pnpm/npm-conf@3.0.2': - resolution: {integrity: sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==} + '@pnpm/npm-conf@3.0.3': + resolution: {integrity: sha512-//0sR/cow/s4ICQaYoAobOl4aU8cjU6x/V24V7XkKotb9+O+3zySIYp146vpaobYHnxa4pZX8NkV54Z5AwbDKA==} engines: {node: '>=12'} '@polka/url@1.0.0-next.29': @@ -4826,8 +4317,8 @@ packages: '@protobufjs/pool@1.1.0': resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} - '@protobufjs/utf8@1.1.1': - resolution: {integrity: sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==} + '@protobufjs/utf8@1.1.2': + resolution: {integrity: sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==} '@radix-ui/number@1.1.1': resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==} @@ -4909,6 +4400,15 @@ packages: '@types/react': optional: true + '@radix-ui/react-compose-refs@1.1.5': + resolution: {integrity: sha512-+48PbAAbq3didjJxa+OaWY2ZwgAKsNiRGyeHKszblZMQ+kcpd9pAaT11cMkGEie0vsOi3QdeTE6d5Fe3Gn61kA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@radix-ui/react-context-menu@2.2.15': resolution: {integrity: sha512-UsQUMjcYTsBjTSXw0P3GO0werEQvUY2plgRQuKoCTtkNr45q1DiL51j4m7gxhABzZ0BadoXNsIbg7F3KwiUBbw==} peerDependencies: @@ -5028,6 +4528,15 @@ packages: '@types/react': optional: true + '@radix-ui/react-id@1.1.4': + resolution: {integrity: sha512-TMQp2llA+RYn7JcjnrMnz7wN4pcVttPZnRZo52PLQsoLVKzNlVwUeHmfePgTgRluXFvlD3GD5g5MOVVTJCO0qA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@radix-ui/react-label@2.1.7': resolution: {integrity: sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==} peerDependencies: @@ -5106,8 +4615,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-primitive@2.1.3': - resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==} + '@radix-ui/react-primitive@2.1.10': + resolution: {integrity: sha512-MucOnzh6hR5mid6VpkbglRAMYMjKLqRnGBbjXkzjK52fuQDd1qbkx78a5P40mkcnVXJdEVxm26E9OPAiUq7nBg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -5119,8 +4628,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-primitive@2.1.4': - resolution: {integrity: sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==} + '@radix-ui/react-primitive@2.1.3': + resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -5206,8 +4715,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-slot@1.2.4': - resolution: {integrity: sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==} + '@radix-ui/react-slot@1.3.3': + resolution: {integrity: sha512-qx7oqnYbxnK9kYI9m317qmFmEgo6ywqWvbTogdj7cL9p3/yx4M48p7Rnw5z3H890cL/ow/EeWJsuTykeZVXP5Q==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -5325,6 +4834,15 @@ packages: '@types/react': optional: true + '@radix-ui/react-use-layout-effect@1.1.4': + resolution: {integrity: sha512-K20DkRkUwDnxEYMBPcg3Y6voLkEy5p5QQmszZgLngKKiC7dzBR/aEuK3w1qlx2JWDUNH6FluahYdgR3BP+QbYw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@radix-ui/react-use-previous@1.1.1': resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==} peerDependencies: @@ -5381,9 +4899,9 @@ packages: resolution: {integrity: sha512-Ic6m2U/rMjTkhERIa/0ZtXJP17QUi2CbWE7cqx4J58M8aA3QTfW+2UlQ4psvTX9IO1RfNVhK3pcpdjej7L+t2w==} engines: {node: '>=14.0.0'} - '@rollup/plugin-babel@5.3.1': - resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} - engines: {node: '>= 10.0.0'} + '@rollup/plugin-babel@6.1.0': + resolution: {integrity: sha512-dFZNuFD2YRcoomP4oYf+DvQNSUA9ih+A3vUqopQx5EdtPGo3WBnQcI/S8pwpz91UsGfL0HsMSOlaMld8HrbubA==} + engines: {node: '>=14.0.0'} peerDependencies: '@babel/core': ^7.0.0 '@types/babel__core': ^7.1.9 @@ -5391,9 +4909,11 @@ packages: peerDependenciesMeta: '@types/babel__core': optional: true + rollup: + optional: true - '@rollup/plugin-node-resolve@15.3.1': - resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==} + '@rollup/plugin-node-resolve@16.0.3': + resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==} engines: {node: '>=14.0.0'} peerDependencies: rollup: 2.80.0 @@ -5401,13 +4921,8 @@ packages: rollup: optional: true - '@rollup/plugin-replace@2.4.2': - resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} - peerDependencies: - rollup: 2.80.0 - - '@rollup/plugin-terser@0.4.4': - resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} + '@rollup/plugin-replace@6.0.3': + resolution: {integrity: sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==} engines: {node: '>=14.0.0'} peerDependencies: rollup: 2.80.0 @@ -5415,14 +4930,17 @@ packages: rollup: optional: true - '@rollup/pluginutils@3.1.0': - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} + '@rollup/plugin-terser@1.0.0': + resolution: {integrity: sha512-FnCxhTBx6bMOYQrar6C8h3scPt8/JwIzw3+AJ2K++6guogH5fYaIFia+zZuhqv0eo1RN7W1Pz630SyvLbDjhtQ==} + engines: {node: '>=20.0.0'} peerDependencies: rollup: 2.80.0 + peerDependenciesMeta: + rollup: + optional: true - '@rollup/pluginutils@5.3.0': - resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + '@rollup/pluginutils@5.4.0': + resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==} engines: {node: '>=14.0.0'} peerDependencies: rollup: 2.80.0 @@ -5454,120 +4972,132 @@ packages: peerDependencies: '@rsbuild/core': ^1.0.0 || ^2.0.0-0 - '@rspack/binding-darwin-arm64@1.7.11': - resolution: {integrity: sha512-oduECiZVqbO5zlVw+q7Vy65sJFth99fWPTyucwvLJJtJkPL5n17Uiql2cYP6Ijn0pkqtf1SXgK8WjiKLG5bIig==} + '@rspack/binding-darwin-arm64@1.7.12': + resolution: {integrity: sha512-rbFprJaJiqrmfy8SHth8EsoRS0wg4bXcucwj9NiMzpGFq14Opw8c04iQ6H9BECYzgmN0PKZ9rh41LdVvhdZe4A==} cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-arm64@2.0.3': - resolution: {integrity: sha512-4UyCjLJwU/WxR6K1/gG4u3+jUsoaRHJ5rNu9fto/UbvrItwdlVNULChAApqZFw6mcSetMddSjSICeuj5pSB6sA==} + '@rspack/binding-darwin-arm64@2.1.8': + resolution: {integrity: sha512-kia+eWtyWPvR4ntg1bWYoVU8nLPbUg2fG3zgBEocsTcsh5ZENSiEPxEKymDgMyIMONUqj611E0775cdUBoNmqw==} cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-x64@1.7.11': - resolution: {integrity: sha512-a1+TtTE9ap6RalgFi7FGIgkJP6O4Vy6ctv+9WGJy53E4kuqHR0RygzaiVxCI/GMc/vBT9vY23hyrpWb3d1vtXA==} + '@rspack/binding-darwin-x64@1.7.12': + resolution: {integrity: sha512-jnOp+/UXOJa9xqUb8KXH03sysoO2e4Ij6tw6MqDdmdj8n/A8PQENRPUbW9AwXpPtVDJPus9r4fi7b3+6e4B8Hg==} cpu: [x64] os: [darwin] - '@rspack/binding-darwin-x64@2.0.3': - resolution: {integrity: sha512-K3evrbTgZNa8emEqk+AjDtbuoXZp5tPZz3pcEgETxuu3KanW8Zu+Fb+TUp1DEUcL0xOmHPPox8H2cZ3pF4Zmug==} + '@rspack/binding-darwin-x64@2.1.8': + resolution: {integrity: sha512-08pBkFhlD3Y3Qzh94w/Fc3skaIE3e96kl2P14m8+tnYTcglpOfpA2OwS3iHt9fOqy0HjoAVe6/MW3cBgs5iabA==} cpu: [x64] os: [darwin] - '@rspack/binding-linux-arm64-gnu@1.7.11': - resolution: {integrity: sha512-P0QrGRPbTWu6RKWfN0bDtbnEps3rXH0MWIMreZABoUrVmNQKtXR6e73J3ub6a+di5s2+K0M2LJ9Bh2/H4UsDUA==} + '@rspack/binding-linux-arm64-gnu@1.7.12': + resolution: {integrity: sha512-C8owWG+yvo7X0oVLIXetkoJhIFBP1LYNcAQqtgLmJnQLQDklGuP83dKC+zISGQWpjawHfZ1ER96vLgoTrxKZdw==} cpu: [arm64] os: [linux] libc: [glibc] - '@rspack/binding-linux-arm64-gnu@2.0.3': - resolution: {integrity: sha512-aPLDaaTtX1wqjLYAIHc2MGDQZtv1Hbjx47oaaefbWz5GbAnSA4P8jdYIeeGRyrqvQ0WqJXIWXgT0d/iXtes00A==} + '@rspack/binding-linux-arm64-gnu@2.1.8': + resolution: {integrity: sha512-KLniMc9GzhKpVqhPzaJo3KJwzdAllXVVqZIk/uL1QipXOxs57fgM4u7IexKPFVla0o/u1PQG/Ah2YLDmda24Ow==} cpu: [arm64] os: [linux] libc: [glibc] - '@rspack/binding-linux-arm64-musl@1.7.11': - resolution: {integrity: sha512-6ky7R43VMjWwmx3Yx7Jl7faLBBMAgMDt+/bN35RgwjiPgsIByz65EwytUVuW9rikB43BGHvA/eqlnjLrUzNBqw==} + '@rspack/binding-linux-arm64-musl@1.7.12': + resolution: {integrity: sha512-i51WWI64aRpsfSki6rN0aepPqXkVfS+vZM7+4bWDcmnhUmdMvhIPcYg0QRk3DtyJnu33jqNLM0WHY78k00NyfA==} cpu: [arm64] os: [linux] libc: [musl] - '@rspack/binding-linux-arm64-musl@2.0.3': - resolution: {integrity: sha512-0WulUQPop6vmSDfrTxghmVlm+6crU8/XqD2f0dOWbEniZVuDZJ5/Y/cBqTRyk3rjl0vrmUv3lc87/t7UgQJQSw==} + '@rspack/binding-linux-arm64-musl@2.1.8': + resolution: {integrity: sha512-yUKAxHNGnICtw5RnxFWu4dHtsz/tdt7rbeFcsINNVre9HcrRxf5XP+FbOGL/SMxd9oM9XCo10paU2WckTKwbEA==} cpu: [arm64] os: [linux] libc: [musl] - '@rspack/binding-linux-x64-gnu@1.7.11': - resolution: {integrity: sha512-cuOJMfCOvb2Wgsry5enXJ3iT1FGUjdPqtGUBVupQlEG4ntSYsQ2PtF4wIDVasR3wdxC5nQbipOrDiN/u6fYsdQ==} + '@rspack/binding-linux-riscv64-gnu@2.1.8': + resolution: {integrity: sha512-gg4S1jaitwYPHR9HZ3zNGH1EK2GXINm66p4kEpOP1gbc+akyOouVF/dMcu9NGPlRg58FbEhVRZYKu7Z/zcpKHg==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rspack/binding-linux-riscv64-musl@2.1.8': + resolution: {integrity: sha512-b/aU5j1h368SLNyz5u+flqpZVhzSZ1UIslaj9sZJuAvqkGWv3xsjc/28/PTo/RYXCxd0FNVAxTxWHKvRiAAS8w==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@rspack/binding-linux-x64-gnu@1.7.12': + resolution: {integrity: sha512-MSos0FuPEefqo9V92ULd5hggKG29EkSNg1zDcypy0OkpsKh5pfjVxTLYFXgTcVyFoUQQbdG8zFBzYbwmJ8V4ew==} cpu: [x64] os: [linux] libc: [glibc] - '@rspack/binding-linux-x64-gnu@2.0.3': - resolution: {integrity: sha512-fAhiMuV5omT53YMft+f3Y9euAFgspuyBAk9ZpeW2buL2TkuUMwP07adhhvQfKdQ5gpELfzmjQaRDGqaIT8UWiA==} + '@rspack/binding-linux-x64-gnu@2.1.8': + resolution: {integrity: sha512-EyegohSx0BJRqieCg9f/caCqFARRWkqI5hwJt6k530MoOTLeq8I3vsbeg24/2MktwIC1dmJi8bl0+WhPKQs4eQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rspack/binding-linux-x64-musl@1.7.11': - resolution: {integrity: sha512-CoK37hva4AmHGh3VCsQXmGr40L36m1/AdnN5LEjUX6kx5rEH7/1nEBN6Ii72pejqDVvk9anEROmPDiPw10tpFg==} + '@rspack/binding-linux-x64-musl@1.7.12': + resolution: {integrity: sha512-JcAMVKXOnjfpC3coWjCFPWD3Yl8RBw6a+IXQQ8mfRlHaHMIiOv8IfZqx15XRxMUn49CtP7Z0Na8iiAg2aKrcfw==} cpu: [x64] os: [linux] libc: [musl] - '@rspack/binding-linux-x64-musl@2.0.3': - resolution: {integrity: sha512-0kcuFoZ8vy2iNWoISFOZt+/Ujo7LRLrzE7h07AV5r+oN/mv+/v14Sd/8NUtDIScCkrYOszYq/QS31e6t0UrVfw==} + '@rspack/binding-linux-x64-musl@2.1.8': + resolution: {integrity: sha512-I6E+goN+UQ297q4r1qdbiAyNCI3t0+a5Y0xDIAPOZfRDRxDTnH/LF8/y65gjsJoKRKyn7zxRC0T/NURTkRNQ9A==} cpu: [x64] os: [linux] libc: [musl] - '@rspack/binding-wasm32-wasi@1.7.11': - resolution: {integrity: sha512-OtrmnPUVJMxjNa3eDMfHyPdtlLRmmp/aIm0fQHlAOATbZvlGm12q7rhPW5BXTu1yh+1rQ1/uqvz+SzKEZXuJaQ==} + '@rspack/binding-wasm32-wasi@1.7.12': + resolution: {integrity: sha512-n+ZqP6ZMc0nhOgvadg5VhEs9ojtbES80AcWeFnmGkbzIszvGSO63GKNiRkXtjJ9KFuRzytbbmsCqkUVH+Tywxg==} cpu: [wasm32] - '@rspack/binding-wasm32-wasi@2.0.3': - resolution: {integrity: sha512-x2fsw7GzNZEnw444ikj4/b8kVjM0Y0TllxmizHpYZ9gmaQrOk5OXo9RQdz+l4zzoGors0l2IZP5Cc4GJNCaSoQ==} + '@rspack/binding-wasm32-wasi@2.1.8': + resolution: {integrity: sha512-om7GAKWAU3lcSvbCon2m7mzw8v9OTrO2LW2MZ1lGe/uVJJmwGGkl9HVoXFyWFLrN6YVFyx8iP+AkN4owDWB9Cw==} cpu: [wasm32] - '@rspack/binding-win32-arm64-msvc@1.7.11': - resolution: {integrity: sha512-lObFW6e5lCWNgTBNwT//yiEDbsxm9QG4BYUojqeXxothuzJ/L6ibXz6+gLMvbOvLGV3nKgkXmx8GvT9WDKR0mA==} + '@rspack/binding-win32-arm64-msvc@1.7.12': + resolution: {integrity: sha512-8+h5fYDXYdmugbdfZ+D1y8IQ3rv2EhSfyGP7vBe+bjNyaMa4jWrpucmZbtxojUL1AzaeuHbvMdj9UO/gelk/+g==} cpu: [arm64] os: [win32] - '@rspack/binding-win32-arm64-msvc@2.0.3': - resolution: {integrity: sha512-jqlxuVPdrgMuwj/HEjSkC/jmhl4fAuKyob36zJXq2uAusn2FRJ4kClGe1fLFpfxRXFVQAWwlAOwLJg8T0suuaA==} + '@rspack/binding-win32-arm64-msvc@2.1.8': + resolution: {integrity: sha512-WDnsP/SUb9zbxyGX9XjPw5AXrX86u5oidn0MDdfJduOOqdCSpHwmRjlQ8NUJhbBq9WqVJMFlcab7NwZVWX/yyg==} cpu: [arm64] os: [win32] - '@rspack/binding-win32-ia32-msvc@1.7.11': - resolution: {integrity: sha512-0pYGnZd8PPqNR68zQ8skamqNAXEA1sUfXuAdYcknIIRq2wsbiwFzIc0Pov1cIfHYab37G7sSIPBiOUdOWF5Ivw==} + '@rspack/binding-win32-ia32-msvc@1.7.12': + resolution: {integrity: sha512-cDMGwTRSa2p9fNBVe1wTRkF2AEXZ9ARWW36QeC5CkLaI0Ezz8lvhF2+CSOPnhaQ1O1qtn0L0SF+lFnrY+I7xGQ==} cpu: [ia32] os: [win32] - '@rspack/binding-win32-ia32-msvc@2.0.3': - resolution: {integrity: sha512-QM4JEuyk5QaZ5gnvnAIaCwVQzCkrD2E4Sud77kx/MVGDsRkcOlMx3blMC5QNHPDamRmWGk+7314YOQvRhKuWyg==} + '@rspack/binding-win32-ia32-msvc@2.1.8': + resolution: {integrity: sha512-QiMQMPNDiY3dhhaIdaFPzcPDC06cEYkNY89ea+EmDvNVgZq6V+2mFS/WnzZVMeEbGAYJCjsv/ABhhLT1hlYMvg==} cpu: [ia32] os: [win32] - '@rspack/binding-win32-x64-msvc@1.7.11': - resolution: {integrity: sha512-EeQXayoQk/uBkI3pdoXfQBXNIUrADq56L3s/DFyM2pJeUDrWmhfIw2UFIGkYPTMSCo8F2JcdcGM32FGJrSnU0Q==} + '@rspack/binding-win32-x64-msvc@1.7.12': + resolution: {integrity: sha512-wIqFvlgFqrgUyj/6S/FJcvShnkZOmIeXTfqvheLY67MGq8qd8jb1YimQVKAIrmWB3yuJKUFACI3Ag1UBtEedEA==} cpu: [x64] os: [win32] - '@rspack/binding-win32-x64-msvc@2.0.3': - resolution: {integrity: sha512-vSQNnAy0wswG6AfNRuArTHQBiXOXl+A9ddQxBFup4PMHUzXxKtsBLQzw7BgFC0EgrPeHbt+30j7sXVZKYukj4A==} + '@rspack/binding-win32-x64-msvc@2.1.8': + resolution: {integrity: sha512-b7sA5eB64vo2mbsuc//MOYzVLeCKHPn0dfP/GmNEoHdWbhRgZ/orZLWurYMQj04ELTLW6YCJEy59g5KRzNYHfw==} cpu: [x64] os: [win32] - '@rspack/binding@1.7.11': - resolution: {integrity: sha512-2MGdy2s2HimsDT444Bp5XnALzNRxuBNc7y0JzyuqKbHBywd4x2NeXyhWXXoxufaCFu5PBc9Qq9jyfjW2Aeh06Q==} + '@rspack/binding@1.7.12': + resolution: {integrity: sha512-f4HHuLbvuld8Ba4iB/4ibse5XrKxFrgmM3S4P2AOKnPlekAFlBjmltCuaTL/W2ggYvILaVY+YcFXrEH1rrKeQA==} - '@rspack/binding@2.0.3': - resolution: {integrity: sha512-4exVNhGhW5RFHjK87XeTKbkA/qAgI5NHJlT1jNqiJv0gcUXLqTOEU3w7f8+f9zUo4JMFvPc0c9veOi4M19YYTg==} + '@rspack/binding@2.1.8': + resolution: {integrity: sha512-tmAyHzDbPiy8V7HvQqtuPsbs6dPgwV0YjzW5XrPRV9gzf+Hdm7pvsZJKE1QKO9WV5RuvGYav98xIX6O+abZxzQ==} - '@rspack/cli@2.0.3': - resolution: {integrity: sha512-h/Xbkupx82UaPr5Ye3hNORi5eXmpEGSPri7WkEOrKIcT+Y3h603kujCQziNIPX3G4UURWPiksIArp1GBTF+A9w==} + '@rspack/cli@2.1.8': + resolution: {integrity: sha512-ewcLmPtmjudUVsPsz7LtuJFJObyFf6ShIC4aAvXra1RAnmzsEigSW+xCNSjXP6gXBZVr2Hsg3vWJJlacdDFacg==} hasBin: true peerDependencies: '@rspack/core': ^2.0.0-0 @@ -5576,8 +5106,8 @@ packages: '@rspack/dev-server': optional: true - '@rspack/core@1.7.11': - resolution: {integrity: sha512-rsD9b+Khmot5DwCMiB3cqTQo53ioPG3M/A7BySu8+0+RS7GCxKm+Z+mtsjtG/vsu4Tn2tcqCdZtA3pgLoJB+ew==} + '@rspack/core@1.7.12': + resolution: {integrity: sha512-6CwFIHlhRmXfZoMj3v9MZ1SMTPBn+cHVXeMIeaGp5sufqinKsISbsqHu6ZMJu2wDSmZLdmQJX6zLxkhcAUlhkQ==} engines: {node: '>=18.12.0'} peerDependencies: '@swc/helpers': '>=0.5.1' @@ -5585,32 +5115,32 @@ packages: '@swc/helpers': optional: true - '@rspack/core@2.0.3': - resolution: {integrity: sha512-2ufO/8FHIA/lX6UOgSsKPhpDvHr0sh9lYq/n/LsIZsTwu3973BGbu2fg1Akvuu3rEnskPqXjsqH2EPBzEA42uA==} + '@rspack/core@2.1.8': + resolution: {integrity: sha512-na1kyA6Mj8/LWw9O3A8NsrG9rNKN3Iq2WiXrEuIwsU5r/Nl/evm3hO7bWKHxgsRyydI6W7okwx3MXgf8rzel6g==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@module-federation/runtime-tools': ^0.24.1 || ^2.0.0 - '@swc/helpers': '>=0.5.1' + '@swc/helpers': ^0.5.23 peerDependenciesMeta: '@module-federation/runtime-tools': optional: true '@swc/helpers': optional: true - '@rspack/dev-middleware@2.0.1': - resolution: {integrity: sha512-cXSubf5/C+dvkWV2/+rGTtiZ93wSLd3OlTQhwMvsmsmGDdPlkYqIvQ+BTkOk9UCXxKIaF0DDYYmCpBeRRYJfJw==} + '@rspack/dev-middleware@2.0.3': + resolution: {integrity: sha512-GxnGj9jy76G3eCPyZei81fwKLAMLZaPEEqFz1/QDYquhwi/qYZX5fekFJ1XVpuwxGEK9KSX3hxZylfwrs4cmLA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - '@rspack/core': ^2.0.0-0 + '@rspack/core': ^2.0.0 peerDependenciesMeta: '@rspack/core': optional: true - '@rspack/dev-server@2.0.1': - resolution: {integrity: sha512-N5sIdU9v6WhwPH6Ek8QCj4IMvGd8jA3ZW1NMAyHP1ezzKIr2/idcNV2zX5vbC6FJvOLRLww0rFjfKA+z4tshDA==} + '@rspack/dev-server@2.2.0': + resolution: {integrity: sha512-Bd0DNphOJ5/KAm3bFpUUZeP7O6jvVDNdXJEmlpsVZLfdSgjmrd6Ut/EHCBv95tmiwOQN0M41SdvlUU4f855HFA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - '@rspack/core': ^2.0.0-0 + '@rspack/core': ^2.0.0 selfsigned: ^5.0.0 peerDependenciesMeta: selfsigned: @@ -5619,6 +5149,9 @@ packages: '@rspack/lite-tapable@1.1.0': resolution: {integrity: sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==} + '@rspack/lite-tapable@1.1.5': + resolution: {integrity: sha512-uzB782zJbFTM3ta+e2Glikx36dca/6Y+DXyvFN+wb0Tx5ItIW+g03A0t3amP3LGzPHSkb0k81VHCm4jxLQwfag==} + '@rspack/plugin-react-refresh@1.6.2': resolution: {integrity: sha512-k+/VrfTNgo+KirjI6V+8CWRj6y+DH9jOUWv8JorYY4vKf/9xfnZ8xHzuB4iqCwTtoZl9YnxOaOuoyjJipc2tiQ==} peerDependencies: @@ -5628,10 +5161,10 @@ packages: webpack-hot-middleware: optional: true - '@rspack/plugin-react-refresh@2.0.0': - resolution: {integrity: sha512-Cf6CxBStNDJbiXMc/GmsvG1G8PRlUpa0MSfWsMTI+e8npzuTN/p8nwLs3shriBZOLciqgkSZpBtPTd10BLpj1g==} + '@rspack/plugin-react-refresh@2.0.2': + resolution: {integrity: sha512-dGNZiCxQxgAUI9sah7gd8u+O7OJZRCmqtEJNDOd8xW5RqcieC86F7p5qcShyw6onH5pKf57evpr2VjGbaFGkZg==} peerDependencies: - '@rspack/core': ^2.0.0-0 + '@rspack/core': ^2.0.0 react-refresh: '>=0.10.0 <1.0.0' peerDependenciesMeta: '@rspack/core': @@ -5658,8 +5191,8 @@ packages: '@sideway/pinpoint@2.0.0': resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - '@sinclair/typebox@0.27.10': - resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==} + '@sinclair/typebox@0.27.12': + resolution: {integrity: sha512-hhyNJ+nbR6ZR7pToHvllEFun9TL0sbL+tk/ON75lo+Xas054uez98qRbsuNt7MBCyZKK4+8Yli/OAGZhmfBZ/g==} '@sindresorhus/is@4.6.0': resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} @@ -5684,9 +5217,6 @@ packages: '@slorber/remark-comment@1.0.0': resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} - '@surma/rollup-plugin-off-main-thread@2.2.3': - resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} - '@svgr/babel-plugin-add-jsx-attribute@8.0.0': resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} @@ -5765,72 +5295,86 @@ packages: resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} engines: {node: '>=14'} - '@swc/core-darwin-arm64@1.15.13': - resolution: {integrity: sha512-ztXusRuC5NV2w+a6pDhX13CGioMLq8CjX5P4XgVJ21ocqz9t19288Do0y8LklplDtwcEhYGTNdMbkmUT7+lDTg==} + '@swc/core-darwin-arm64@1.15.47': + resolution: {integrity: sha512-GsoMtan3ojGGMGFbl31mmRu5ctZ56re8grGE8mO/OHJ8O+JRkzod02fe7X6ZQ8JvamA3imkEkx/h3u+vsOgPgA==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.15.13': - resolution: {integrity: sha512-cVifxQUKhaE7qcO/y9Mq6PEhoyvN9tSLzCnnFZ4EIabFHBuLtDDO6a+vLveOy98hAs5Qu1+bb5Nv0oa1Pihe3Q==} + '@swc/core-darwin-x64@1.15.47': + resolution: {integrity: sha512-leTi7Rx3KF4zcC637iqWgk9SoV8VXAD8ppQYXsep63px5A/UftOcxLN1pmr8Z1si/YvX90ompP/rHgpYkgwXWg==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.15.13': - resolution: {integrity: sha512-t+xxEzZ48enl/wGGy7SRYd7kImWQ/+wvVFD7g5JZo234g6/QnIgZ+YdfIyjHB+ZJI3F7a2IQHS7RNjxF29UkWw==} + '@swc/core-linux-arm-gnueabihf@1.15.47': + resolution: {integrity: sha512-hBqHuoWKKIsKmDBn9qVeWqj5GWZhtlcczVaqQmNRXsDfq+voR5CxKRfamA367QjJXtceYuliLFfEL8QsskRM2g==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.15.13': - resolution: {integrity: sha512-VndeGvKmTXFn6AGwjy0Kg8i7HccOCE7Jt/vmZwRxGtOfNZM1RLYRQ7MfDLo6T0h1Bq6eYzps3L5Ma4zBmjOnOg==} + '@swc/core-linux-arm64-gnu@1.15.47': + resolution: {integrity: sha512-TBxvRz+B4K205TWHHZxWVxkC2RFNP/Mz3PNcECBos5PsKwxjg3QSJzdoebr0VCf0Bfh8HOPldKxAP/8XkFe9gA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] libc: [glibc] - '@swc/core-linux-arm64-musl@1.15.13': - resolution: {integrity: sha512-SmZ9m+XqCB35NddHCctvHFLqPZDAs5j8IgD36GoutufDJmeq2VNfgk5rQoqNqKmAK3Y7iFdEmI76QoHIWiCLyw==} + '@swc/core-linux-arm64-musl@1.15.47': + resolution: {integrity: sha512-3Yu3Uq/VgytqsPjTMbkPU1ExADytbdWbruJYhA584E9jrpE2Ki+R6VVPoZCeAVk1Cb7QxcRTgblw6bSa6a/R+w==} engines: {node: '>=10'} cpu: [arm64] os: [linux] libc: [musl] - '@swc/core-linux-x64-gnu@1.15.13': - resolution: {integrity: sha512-5rij+vB9a29aNkHq72EXI2ihDZPszJb4zlApJY4aCC/q6utgqFA6CkrfTfIb+O8hxtG3zP5KERETz8mfFK6A0A==} + '@swc/core-linux-ppc64-gnu@1.15.47': + resolution: {integrity: sha512-wfdMi5IaOaNtmh2/6geRoxIdNfqylUZFdtzTKS655y1axWfIWyx7As74vv0wVdjeCIZ3WmCI9odDd4rUttXOSQ==} + engines: {node: '>=10'} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-s390x-gnu@1.15.47': + resolution: {integrity: sha512-3hHYBY0yx8Ez7GMRrkhXHQzMdR5IZA6Wq5Ee4svlgwvSECLpnAJ9+0AimEGUFDvuLwE7nV/2+PYe8+Nm4rvNcQ==} + engines: {node: '>=10'} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@swc/core-linux-x64-gnu@1.15.47': + resolution: {integrity: sha512-TjfhjgP/jGCfFHYC3JQPhJA1HwErbIJ9JfREDc1KNkvY6P0LodCgKVIlQ5deeTbkG7ih3bF5PHJLuLpaZjdRyQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] libc: [glibc] - '@swc/core-linux-x64-musl@1.15.13': - resolution: {integrity: sha512-OlSlaOK9JplQ5qn07WiBLibkOw7iml2++ojEXhhR3rbWrNEKCD7sd8+6wSavsInyFdw4PhLA+Hy6YyDBIE23Yw==} + '@swc/core-linux-x64-musl@1.15.47': + resolution: {integrity: sha512-CQpS8Ge/avfjZd0UEwG/sds83Uu32deQXcV1Jo3jD0mmvQQqtYAjpsDZXugmheeAwmt+YIuoVtVHro8LMYHqsQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] libc: [musl] - '@swc/core-win32-arm64-msvc@1.15.13': - resolution: {integrity: sha512-zwQii5YVdsfG8Ti9gIKgBKZg8qMkRZxl+OlYWUT5D93Jl4NuNBRausP20tfEkQdAPSRrMCSUZBM6FhW7izAZRg==} + '@swc/core-win32-arm64-msvc@1.15.47': + resolution: {integrity: sha512-0W8IKHsUTYiT7G2RqtOoVWk+89yzZikIiDUb/sCK6BmQDBhN91hQSfyUtW12jhEWLzYgcfmisfsZrmZE+84U1A==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.15.13': - resolution: {integrity: sha512-hYXvyVVntqRlYoAIDwNzkS3tL2ijP3rxyWQMNKaxcCxxkCDto/w3meOK/OB6rbQSkNw0qTUcBfU9k+T0ptYdfQ==} + '@swc/core-win32-ia32-msvc@1.15.47': + resolution: {integrity: sha512-ZIp49d2Z4/ka2jO9otOg4hDvTdPmp86kVOgS2M5FCPI7eKKZ1W0boxWn+8XeZrfERtFGW0AlMRm4JhlJa7l3NA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.15.13': - resolution: {integrity: sha512-XTzKs7c/vYCcjmcwawnQvlHHNS1naJEAzcBckMI5OJlnrcgW8UtcX9NHFYvNjGtXuKv0/9KvqL4fuahdvlNGKw==} + '@swc/core-win32-x64-msvc@1.15.47': + resolution: {integrity: sha512-2h8Iek95vnixkBRCo+H8p09+Q5ll2NgSMFrWTy0iKt7+/t+8/T5mBpiT6c0ZxSS7wcWjwZ9sGZkK70tTSYHdDw==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.15.13': - resolution: {integrity: sha512-0l1gl/72PErwUZuavcRpRAQN9uSst+Nk++niC5IX6lmMWpXoScYx3oq/narT64/sKv/eRiPTaAjBFGDEQiWJIw==} + '@swc/core@1.15.47': + resolution: {integrity: sha512-FbsO5JcfOjfH38W/rohBRBweJeERsAuIP4f377lmkmxTcq9exjtx4SkRuZY5CdfhR2CBVwDIJegBpJDffwNsOg==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '>=0.5.17' @@ -5841,79 +5385,93 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/helpers@0.5.21': - resolution: {integrity: sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==} + '@swc/helpers@0.5.23': + resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} - '@swc/html-darwin-arm64@1.15.13': - resolution: {integrity: sha512-w/fTkqqkx9haSbws8YhhW/Bp7ZkxCJ6lns5YYZMHdZI2KJL4WEHl6GhGzgzavOXaO8LBouiUwucc2bYPgsfI/w==} + '@swc/html-darwin-arm64@1.15.47': + resolution: {integrity: sha512-Qe3FXNLO/k2WN7xmBP8SzBrtLvlIbyqa8cceUOI0opE4gk+myk5qIk022MiGJOgiF1B21/wMXgA08gYjQ2lP2Q==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/html-darwin-x64@1.15.13': - resolution: {integrity: sha512-yYb8jq+R+FlM8DlFLt5zmm0G5zdF4UUrHjafETmNj3J05itOzcOO9kI7icZ6DUwCROYbfejG7AwkSooYOV5+kA==} + '@swc/html-darwin-x64@1.15.47': + resolution: {integrity: sha512-khCOiWmqlqi8yz+F/ePExhht/+3/cz1XzKV7raPKVynzd6sPxYtFQlNubj305s2soEXgkYYIH0zVVLwiMOVn6Q==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/html-linux-arm-gnueabihf@1.15.13': - resolution: {integrity: sha512-n+/JK+vi9FwJCe5Jrv7i0J0/keal3x+8ZXROJbLAdzYWoAaqjbEeUNWuqmSH3uU64eOhqUl6kRERLz/NB6LoZw==} + '@swc/html-linux-arm-gnueabihf@1.15.47': + resolution: {integrity: sha512-7VRqaOEQEFPHSbUcnobmI59WbFK9M35Sse8TFN3hHxOlK9fINJ9yN5FuE9XEeRQAk+PFdR6WrIcF1Xwx1Cpi8A==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/html-linux-arm64-gnu@1.15.13': - resolution: {integrity: sha512-ThKrqeXiRKTj4/mo+KoXy4GE390Lt76GjF0apNwXB27YTQxMFLIlcHIntn/WhumAVJCu3pA/n0TYw8ZSu7K3DA==} + '@swc/html-linux-arm64-gnu@1.15.47': + resolution: {integrity: sha512-Ri9MmQqVRiEWuRfpkSTqz0bguvejXQcqQAkoW1Hke6+DColfzETcgNWa/Kw/ii5A/SS9Nb7acKaYdIw1vMBPwA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] libc: [glibc] - '@swc/html-linux-arm64-musl@1.15.13': - resolution: {integrity: sha512-9nyG3dgAclXuAyOsHBpQq0Q15SwQXkGvifczfiKnyd3srjWrsl4ZhHiE3ZrBBshenoK76NwPxATazf/lU83JNg==} + '@swc/html-linux-arm64-musl@1.15.47': + resolution: {integrity: sha512-NyXRQiVBkeutgCwCxUUaFqZdDmpZONs7Zz3AZGoY35s9GwXF412Nt22fK/e7lO/sM6G/+S3rOom/0xTmUQSK6A==} engines: {node: '>=10'} cpu: [arm64] os: [linux] libc: [musl] - '@swc/html-linux-x64-gnu@1.15.13': - resolution: {integrity: sha512-yzpOYvLXXDqplHrr9wVImJ+QBLeubP7m92zZTQaW8rdhag01bX2Y/+829emT58K3SfLJTiJdKBYsL3q3mbVWrg==} + '@swc/html-linux-ppc64-gnu@1.15.47': + resolution: {integrity: sha512-rQ+XLJHFzu0e4M5p1+8kF2FKzI7WO9KPPji87OuicHZVrDCEqg7/jSGu3hys9CjIQIYVfR+tAFuZz3Q1/jOoNA==} + engines: {node: '>=10'} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@swc/html-linux-s390x-gnu@1.15.47': + resolution: {integrity: sha512-w6bitHrllrE3lqmf14cT3spmWhZHGts1O08O4adzxztSPto7O5GM3IerqZm/NtsqlxNsfbVHnhaNXxXWe/8Q+Q==} + engines: {node: '>=10'} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@swc/html-linux-x64-gnu@1.15.47': + resolution: {integrity: sha512-FTA7E29gcyadd71prg8sJUVacYrIhAXS8L7p48yCfgcNOKquofN1TDOrHVOyYMoxplL3FUwwbN+AZxWO7QfWPQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] libc: [glibc] - '@swc/html-linux-x64-musl@1.15.13': - resolution: {integrity: sha512-VakiAq/YTiSP3TcWKL6Vo5qu7iS8M647T22zGNNMc4D/gxg57R+89SITc1zCphR6p9rEh7vx6bk8/b8NXgYZeQ==} + '@swc/html-linux-x64-musl@1.15.47': + resolution: {integrity: sha512-g+K1GKUrj+S9o8Qsgii2g7ooMzZ750R4IAqH5CVElIA5FTMAx7KGnu9ga6aEnRwwLYxY3s1k/nN+ls0NEk240g==} engines: {node: '>=10'} cpu: [x64] os: [linux] libc: [musl] - '@swc/html-win32-arm64-msvc@1.15.13': - resolution: {integrity: sha512-AhO5wmpnK5doUDDkOLqoPMDnNUrY3xa5HShiqiZBiGH2opB++kys77Q1Q9iW9ZKZgAiFLLZmiqVfcQRjhgdy0g==} + '@swc/html-win32-arm64-msvc@1.15.47': + resolution: {integrity: sha512-5Iw3i00JdTySi+ccc2CM5bxY+8TZivQmcTqUC6mUdAY0/KYBgSe1/L294UJQ4OTLQqNDOYXY9jdb070zZUX7jg==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/html-win32-ia32-msvc@1.15.13': - resolution: {integrity: sha512-nyjUqwCSezmrWOBTCUf5EXl1oU+Fk/x+zSvvmrEGLAUo7fgpmSJtsNveODkZ8M755MI13ANdO8XkPg0UhYM+4g==} + '@swc/html-win32-ia32-msvc@1.15.47': + resolution: {integrity: sha512-YkKd0hbIOeuFC1Sg7uGKkU2JhL+c9vAJlT6P0nRbWCAL71n01IPbdtbW6PmvgVmI7pxRYucXpr4pg839nX5+9Q==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/html-win32-x64-msvc@1.15.13': - resolution: {integrity: sha512-ClKtII06nneMXik7dURXOlkPX8XyyBKE/3VfAAEC7B4E00m228gOy4CwTy9E2TDCeo6eqdePcSETSQzY8uOe8w==} + '@swc/html-win32-x64-msvc@1.15.47': + resolution: {integrity: sha512-w9Ug+VB9hlHT4hTWIJSB40AdF+qs5w07CYq/+ef1vQRjT5naN6/SKuXmr9/CKLn3T7A9z3lRMPKE4+lmtUkBOQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/html@1.15.13': - resolution: {integrity: sha512-3eICmZEt1QTYEF++ZiyGULhuB3QSyoDaFXRjq2Dso7gD8yENeZ00HHpGt340ievtve11BYSD3rVlPRN3/BGlIA==} + '@swc/html@1.15.47': + resolution: {integrity: sha512-Olu/8OORvYB+43v2/85nHe1EA8WSvWp8D3kctEAput/o4F+EWCK0nr4yGTqvWB7Z+ODz0k+vnxpvHQYzsKP2LA==} engines: {node: '>=14'} - '@swc/types@0.1.25': - resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} + '@swc/types@0.1.28': + resolution: {integrity: sha512-V6Mnml8v09QALx6K0elJ7o9K/MkVDtW3t6L+7Ou/JcWtb3xwId2AH4FeOceySd2JaO87IMw4+6vSZxLm34LPbw==} '@szmarczak/http-timer@5.0.1': resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} @@ -5948,6 +5506,10 @@ packages: resolution: {integrity: sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ==} engines: {node: '>= 10'} + '@trickfilm400/rollup-plugin-off-main-thread@3.0.0-pre1': + resolution: {integrity: sha512-/67zpWDBLV+oYAEL682s1ktXL0HgqX76f6gaVGkGnVZlBbm1zd0v4Bz8MFF2GGhoX9rvfq3KSQHubFHwa6w6/Q==} + engines: {node: '>=12'} + '@tsconfig/node10@1.0.12': resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} @@ -5960,11 +5522,8 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@tybys/wasm-util@0.10.1': - resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} - - '@tybys/wasm-util@0.10.2': - resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + '@tybys/wasm-util@0.10.3': + resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} @@ -6002,8 +5561,8 @@ packages: '@types/d3-interpolate@3.0.4': resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} '@types/emscripten@1.41.5': resolution: {integrity: sha512-cMQm7pxu6BxtHyqJ7mQZ2kXWV5SLmugybFdHCBbJ5eHzOo6VhBckEgAT3//rP5FwPHNPeEiq4SmQ5ucBwsOo4Q==} @@ -6017,17 +5576,14 @@ packages: '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - '@types/estree@0.0.39': - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} '@types/execa@0.9.0': resolution: {integrity: sha512-mgfd93RhzjYBUHHV532turHC2j4l/qxsF/PbfDmprHDEUHmNZGlDn1CEsulGK3AfsPdhkWzZQT/S/k0UGhLGsA==} - '@types/express-serve-static-core@4.19.8': - resolution: {integrity: sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==} + '@types/express-serve-static-core@4.19.9': + resolution: {integrity: sha512-QP2ESEe/ImWY0HDwNAnK9PvEffUyhLTnWkk7KXzHfyeWAnlrDe1fN77bXl6ia8KT3wPlmA7t9/VPRpnf4Ex9sg==} '@types/express@4.17.25': resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} @@ -6038,8 +5594,8 @@ packages: '@types/gtag.js@0.0.20': resolution: {integrity: sha512-wwAbk3SA2QeU67unN7zPxjEHmPmlXwZXZvQEpbEUQuMCRGgKyE1m6XDuTUA9b6pCGb/GqJmdfMOY5LuDjJSbbg==} - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/hast@3.0.5': + resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==} '@types/history@4.7.11': resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} @@ -6080,8 +5636,8 @@ packages: '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@types/mdx@2.0.13': - resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + '@types/mdx@2.0.14': + resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==} '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} @@ -6098,12 +5654,6 @@ packages: '@types/node@20.19.9': resolution: {integrity: sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==} - '@types/node@25.9.0': - resolution: {integrity: sha512-AOQwYUNolgy3VosiRqXrACUXTN8nJUtPl7FJXMqZVyxiiCLhQuG3jXKvCS1ALr+Y2OmZhzzLVlYPEqJaiqkaJQ==} - - '@types/node@25.9.1': - resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==} - '@types/offscreencanvas@2019.7.3': resolution: {integrity: sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==} @@ -6116,8 +5666,8 @@ packages: '@types/prop-types@15.7.15': resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} - '@types/qs@6.14.0': - resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} + '@types/qs@6.15.1': + resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} @@ -6210,9 +5760,8 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - deprecated: Potential CWE-502 - Update to 1.3.1 or higher + '@ungap/structured-clone@1.3.3': + resolution: {integrity: sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==} '@web3-storage/car-block-validator@1.2.2': resolution: {integrity: sha512-lR9l+ZszhTid5HfZE8ohnGf2RJp2kaBOnoejmsACs3iTNiy+3K09dnPm8MhgBE9RCIgPBKM0CCWXO9l+I6jrKA==} @@ -6291,8 +5840,8 @@ packages: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} - abort-error@1.0.1: - resolution: {integrity: sha512-fxqCblJiIPdSXIUrxI0PL+eJG49QdP9SQ70qtB65MVAoMr2rASlOyAbJFOylfB467F/f+5BCLJJq58RYi7mGfg==} + abort-error@1.0.2: + resolution: {integrity: sha512-lVgvB2NyPLqbXXhVmXcYFTC1x5K7CiVdPgdY7LGgFQWC8506oN01sPN3i9cl9ynuwF4iJ0TS9exnR7cZ9FuX4w==} accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} @@ -6345,8 +5894,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + acorn@8.18.0: + resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} engines: {node: '>=0.4.0'} hasBin: true @@ -6399,13 +5948,13 @@ packages: ajv@8.20.0: resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} - algoliasearch-helper@3.28.0: - resolution: {integrity: sha512-GBN0xsxGggaCPElZq24QzMdfphrjIiV2xA+hRXE4/UMpN3nsF2WrM8q+x80OGvGpJWtB7F+4Hq5eSfWwuejXrg==} + algoliasearch-helper@3.29.2: + resolution: {integrity: sha512-SaV+rZM3drExb0punEYYjT+sNcH74YFwN8ocjya7IDOyQvKWeQpEaSMVG3+IGTVos+feuatj7ljQ4BXlXdUp3w==} peerDependencies: algoliasearch: '>= 3.1 < 6' - algoliasearch@5.49.1: - resolution: {integrity: sha512-X3Pp2aRQhg4xUC6PQtkubn5NpRKuUPQ9FPDQlx36SmpFwwH2N0/tw4c+NXV3nw3PsgeUs+BuWGP0gjz3TvENLQ==} + algoliasearch@5.56.0: + resolution: {integrity: sha512-PrqppUmhT4ENdas2pH9caE7efUcxy6EcSFhWzosiVuQBzu2tQ5yLTI6jwomT/1cuBnivzGfxiJCqDNN9FRRh+Q==} engines: {node: '>= 14.0.0'} ansi-align@3.0.1: @@ -6591,14 +6140,14 @@ packages: engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: - postcss: ^8.1.0 + postcss: 8.5.22 - autoprefixer@10.4.27: - resolution: {integrity: sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==} + autoprefixer@10.5.4: + resolution: {integrity: sha512-MaU0U/za7N3r6brxD4YB/l4NSrFzLPlANv6wEuQVaIPlD3L4W9rFcQPbL/EilY9BHhHvhfcz3gInDLrEtWT4EA==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: - postcss: ^8.1.0 + postcss: 8.5.22 available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} @@ -6705,13 +6254,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.10.0: - resolution: {integrity: sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==} - engines: {node: '>=6.0.0'} - hasBin: true - - baseline-browser-mapping@2.10.31: - resolution: {integrity: sha512-MujYO3eP72uvmSE0i4wltsodRfIpZATP3jvzRNRGGxgzId7aVocVJJV3nf01qnzzKFGxQVC9bpWxl5cjxTr/7Q==} + baseline-browser-mapping@2.11.12: + resolution: {integrity: sha512-r7WnVImvVCeFpf2DOXfy41aPWzeNg3H/A2X4dKmy1QL0MSyyk/e7z8ihJ3N6Nn2PsdhkVlqnEfnUE4a05P2aTA==} engines: {node: '>=6.0.0'} hasBin: true @@ -6743,18 +6287,18 @@ packages: bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - bn.js@4.12.3: - resolution: {integrity: sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==} + bn.js@4.12.5: + resolution: {integrity: sha512-3aRg6/JxfffFD+OlOjOFR3Vo79l39ooBTFucxx+MT3dhCtzn3EmiUPQo+6/OZuI2jbXi3YKgmiTFBgChQMwIRQ==} - bn.js@5.2.3: - resolution: {integrity: sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==} + bn.js@5.2.5: + resolution: {integrity: sha512-Vq886eXykuP5E6HcKSSStP3bJgrE6In5WKxVUvJ8XGpWWYs2xZHWqUwzCtGgEtBcxyd57KBFDPFoUfNzdaHCNg==} body-parser@1.20.3: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - bonjour-service@1.3.0: - resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} + bonjour-service@1.4.4: + resolution: {integrity: sha512-jCZcVv7eoc4QesRscwEZtSROBen+6LpKAmBIsQYQrsAeVHLyMXWX/t6eIV5KiRZYNUBl8eVqImEEMQ8L5+c/Kw==} boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -6767,15 +6311,15 @@ packages: resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} engines: {node: '>=14.16'} - brace-expansion@1.1.16: - resolution: {integrity: sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==} + brace-expansion@1.1.18: + resolution: {integrity: sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==} - brace-expansion@2.1.2: - resolution: {integrity: sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA==} + brace-expansion@2.1.4: + resolution: {integrity: sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==} - brace-expansion@5.0.7: - resolution: {integrity: sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==} - engines: {node: 18 || 20 || >=22} + brace-expansion@5.0.9: + resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==} + engines: {node: 20 || >=22} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -6803,20 +6347,15 @@ packages: resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==} engines: {node: '>= 0.10'} - browserify-sign@4.2.5: - resolution: {integrity: sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==} + browserify-sign@4.2.6: + resolution: {integrity: sha512-sd+Q65fjlWCYWtZKXiKfrUc8d+4jtp/8f0W2NkwzLtoW4bI6UDnWusLWIurHnmurW0XShIRxpwiOX4EoPtXUAg==} engines: {node: '>= 0.10'} browserify-zlib@0.2.0: resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} - browserslist@4.28.1: - resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - browserslist@4.28.2: - resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} + browserslist@4.28.7: + resolution: {integrity: sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -6886,10 +6425,6 @@ packages: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} - call-bind@1.0.9: resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} engines: {node: '>= 0.4'} @@ -6924,17 +6459,18 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001774: - resolution: {integrity: sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==} - - caniuse-lite@1.0.30001793: - resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} + caniuse-lite@1.0.30001806: + resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - cborg@4.5.8: - resolution: {integrity: sha512-6/viltD51JklRhq4L7jC3zgy6gryuG5xfZ3kzpE+PravtyeQLeQmCYLREhQH7pWENg5pY4Yu/XCd6a7dKScVlw==} + cborg@5.1.11: + resolution: {integrity: sha512-oc6Pzg/gkTobxHZNgMmny+G99dOeBMbAmnGHcZWMKtolxZBIVwfi0Pj0khxEtNU8HMFdbT5sK0HmtgecDUPP0A==} + hasBin: true + + cborg@6.1.1: + resolution: {integrity: sha512-Ci8+V1OMFtqea8EXicsATqV+3kEqCGXCicM+5MEzpKTxqy58WMzhJUjtUqAjfWpKPZ0wpG8F+u5mC8Xy/0Zevg==} hasBin: true ccount@2.0.1: @@ -7237,11 +6773,12 @@ packages: peerDependencies: webpack: 5.105.0 - core-js-compat@3.49.0: - resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} + core-js-compat@3.50.0: + resolution: {integrity: sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q==} + engines: {node: '>=6.4.0'} - core-js-pure@3.49.0: - resolution: {integrity: sha512-XM4RFka59xATyJv/cS3O3Kml72hQXUeGRuuTmMYFxwzc9/7C8OYTaIR/Ji+Yt8DXzsFLNhat15cE/JP15HrCgw==} + core-js-pure@3.50.0: + resolution: {integrity: sha512-6GP3Pxz4IKyWjAfa747vIu/jilB5z29JWROLqH/b+pXVcpgh6tM06ZIBwSuglgVqzDYURhOK6oEzTrG0bCHitA==} core-js@3.45.1: resolution: {integrity: sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==} @@ -7300,6 +6837,7 @@ packages: crypto-js@4.2.0: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + deprecated: Active development of CryptoJS has been discontinued. This library is no longer maintained. crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} @@ -7314,38 +6852,38 @@ packages: engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 css-blank-pseudo@7.0.1: resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 css-declaration-sorter@6.4.1: resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} engines: {node: ^10 || ^12 || >=14} peerDependencies: - postcss: ^8.0.9 + postcss: 8.5.22 - css-declaration-sorter@7.3.1: - resolution: {integrity: sha512-gz6x+KkgNCjxq3Var03pRYLhyNfwhkKF1g/yoLgDNtFvVu0/fOLV9C8fFEZRjACp/XQLumjAYo7JVjzH3wLbxA==} + css-declaration-sorter@7.4.0: + resolution: {integrity: sha512-LTuzjPoyA2vMGKKcaOqKSp7Ub2eGrNfKiZH4LpezxpNrsICGCSFvsQOI29psISxNZtaXibkC2CXzrQ5enMeGGw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - postcss: ^8.0.9 + postcss: 8.5.22 css-has-pseudo@3.0.4: resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 css-has-pseudo@7.0.3: resolution: {integrity: sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 css-line-break@2.1.0: resolution: {integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==} @@ -7391,14 +6929,14 @@ packages: resolution: {integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 css-prefers-color-scheme@6.0.3: resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} @@ -7406,6 +6944,10 @@ packages: css-select@5.2.2: resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + css-tree@2.2.1: resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} @@ -7421,8 +6963,8 @@ packages: cssdb@7.11.2: resolution: {integrity: sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==} - cssdb@8.8.0: - resolution: {integrity: sha512-QbLeyz2Bgso1iRlh7IpWk6OKa3lLNGXsujVjDMPl9rOZpxKeiG69icLpbLCFxeURwmcdIfZqQyhlooKJYM4f8Q==} + cssdb@8.9.0: + resolution: {integrity: sha512-J8jOU/hLjaXcO1LldOLraJSQpfLXRKof0I7mtbRyOy2AAXgqst0x9rlgi2qXeD6d0ou3ZLqcPAMqYVbpCbrxEw==} cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} @@ -7433,43 +6975,47 @@ packages: resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 cssnano-preset-default@5.2.14: resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 cssnano-preset-default@6.1.2: resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 cssnano-utils@3.1.0: resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 cssnano-utils@4.0.2: resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 cssnano@5.1.15: resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 cssnano@6.1.2: resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 + + csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} csso@5.0.5: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} @@ -7609,8 +7155,8 @@ packages: date-fns@4.1.0: resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} - dayjs@1.11.20: - resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==} + dayjs@1.11.21: + resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} dcmjs@0.52.0: resolution: {integrity: sha512-0/mT9NACKnwnOnkUx7JAqmWxRcUr7HiCoptw1KhN2StNYE0Hy6+tmpI7CU+lJuBc4rFpcMCalvI8QO6JkJ+7Fg==} @@ -7913,8 +7459,8 @@ packages: duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - earcut@3.0.2: - resolution: {integrity: sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==} + earcut@3.2.3: + resolution: {integrity: sha512-vnS4AVwp1KHAF13i1vp1/2D5evWy3k5u/iW/B81QVsUZtV8cv2tU0b2VNFlqvh4kYwrFMDdjPCfAmfyJW9y14Q==} eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -7930,11 +7476,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.302: - resolution: {integrity: sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==} - - electron-to-chromium@1.5.358: - resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} + electron-to-chromium@1.5.401: + resolution: {integrity: sha512-H6ViHN68nGYlChEvlIU67fn8O2/tpbWQPwck98yaJmh+08LSvHiydzDQ6oXNccLU3kNRVIRS9A4mA7CG+i6fLQ==} elegant-spinner@1.0.1: resolution: {integrity: sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==} @@ -7970,8 +7513,8 @@ packages: end-of-stream@1.4.5: resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - enhanced-resolve@5.19.0: - resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==} + enhanced-resolve@5.24.5: + resolution: {integrity: sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A==} engines: {node: '>=10.13.0'} enquirer@2.4.1: @@ -7998,8 +7541,12 @@ packages: error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} - es-abstract@1.24.1: - resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==} + es-abstract-get@1.0.0: + resolution: {integrity: sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==} + engines: {node: '>= 0.4'} + + es-abstract@1.24.2: + resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} engines: {node: '>= 0.4'} es-define-property@1.0.1: @@ -8013,11 +7560,11 @@ packages: es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - es-module-lexer@2.0.0: - resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} + es-module-lexer@2.3.1: + resolution: {integrity: sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==} - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} engines: {node: '>= 0.4'} es-set-tostringtag@2.1.0: @@ -8028,8 +7575,8 @@ packages: resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} engines: {node: '>= 0.4'} - es-to-primitive@1.3.0: - resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + es-to-primitive@1.3.4: + resolution: {integrity: sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==} engines: {node: '>= 0.4'} es6-error@4.1.1: @@ -8118,9 +7665,6 @@ packages: estree-util-visit@2.0.0: resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} - estree-walker@1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -8135,6 +7679,10 @@ packages: resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} engines: {node: '>=6.0.0'} + eta@4.6.0: + resolution: {integrity: sha512-lW6is4T1NFOYnmqGZIfvixqj7A7sSvScF+DN8EK6K58xI5MZ5UvYe0GjopxOXQtZvUn4eDdVuZ8XSoYWTMEKwA==} + engines: {node: '>=20'} + etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} @@ -8194,8 +7742,8 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} extend-shallow@2.0.1: @@ -8228,8 +7776,8 @@ packages: fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - fast-uri@3.1.2: - resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} + fast-uri@3.1.4: + resolution: {integrity: sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==} fastq@1.20.1: resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} @@ -8425,8 +7973,8 @@ packages: fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - fs-extra@11.3.3: - resolution: {integrity: sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==} + fs-extra@11.4.0: + resolution: {integrity: sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==} engines: {node: '>=14.14'} fs-extra@9.1.0: @@ -8449,8 +7997,8 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.8: - resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + function.prototype.name@1.2.0: + resolution: {integrity: sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==} engines: {node: '>= 0.4'} functions-have-names@1.2.3: @@ -8464,8 +8012,8 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - geotiff@3.0.5: - resolution: {integrity: sha512-OWcL9S9+yDZ6iAlXMt32T1iwUApJM8UiD47xbm6ZP1h33d10fqkPs14EG/ttT5EnefpZSx3G15iDFC5FxUNUwA==} + geotiff@3.1.0-beta.0: + resolution: {integrity: sha512-wbVwOaQYuN+ywly5NoMXn37nHslwkQg5EFHqMeUTtjDACrSag0EEVlFsc+2DK3Pzmmp6XzJW2RTZOamPsBM6ng==} engines: {node: '>=10.19'} get-caller-file@2.0.5: @@ -8616,8 +8164,8 @@ packages: resolution: {integrity: sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==} engines: {node: '>=0.8.0'} - hamt-sharding@3.0.6: - resolution: {integrity: sha512-nZeamxfymIWLpVcAN0CRrb7uVq3hCOGj9IcL6NMA6VVCVWqj+h9Jo/SmaWuS92AEDf1thmHsM5D5c70hM3j2Tg==} + hamt-sharding@3.0.8: + resolution: {integrity: sha512-pEh4hYa4ZyDJ2jWBTz7MVqTTGC3va3iEIMDJfbCKskR9rzHRd8HVwUyH5nLiLxK6VCFWIJ4vnlAEn4Hwx49Rbg==} handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} @@ -8675,10 +8223,6 @@ packages: resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} engines: {node: '>=8'} - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - hasown@2.0.4: resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} engines: {node: '>= 0.4'} @@ -8746,8 +8290,8 @@ packages: engines: {node: ^14.13.1 || >=16.0.0} hasBin: true - html-parse-stringify@3.0.1: - resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==} + html-parse-stringify@3.1.0: + resolution: {integrity: sha512-E0oAXcELOtsXe+BmpJ2EZyedbldPpriV5vICzEuo6xjC/D1lDukOI7KrpfQGF2Qc4wWEy0nk3bFORS2K5ZAhFQ==} html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} @@ -8756,11 +8300,11 @@ packages: html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - html-webpack-plugin@5.6.3: - resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==} + html-webpack-plugin@5.6.8: + resolution: {integrity: sha512-MZmKQcTnhEh1SPSyMiEytIeDZDUoBZVorNHivQGXMASHf/BSGGOrKa2xQ5bGx3TCe1n109ecCt+cpww7wwWhKA==} engines: {node: '>=10.13.0'} peerDependencies: - '@rspack/core': 0.x || 1.x + '@rspack/core': 0.x || 1.x || 2.x webpack: 5.105.0 peerDependenciesMeta: '@rspack/core': @@ -8803,8 +8347,8 @@ packages: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} - http-proxy-middleware@2.0.9: - resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==} + http-proxy-middleware@2.0.10: + resolution: {integrity: sha512-RKzRWNPxUZqbuk3BC5mGVJbBnWgr+diEnjJexIOytFbBzDy88Fbh/YvBr3DsNrl1jYAfjWfpATEv0NO35FDuPQ==} engines: {node: '>=12.0.0'} peerDependencies: '@types/express': ^4.17.13 @@ -8868,7 +8412,7 @@ packages: resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: - postcss: ^8.1.0 + postcss: 8.5.22 idb@7.1.1: resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} @@ -8893,9 +8437,6 @@ packages: resolution: {integrity: sha512-CFJMJ8QK8lJvRlTCEgarL4ro6hfDQKif2HjSvYCdQZESaIPV4v9imrf7BQHK+sQeTeNeMpWciR9hyC/g8ybXEg==} engines: {node: '>=6'} - immer@9.0.21: - resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} - immutability-helper@3.1.1: resolution: {integrity: sha512-Q0QaXjPjwIju/28TsugCHNEASwoCcJSyJV3uO1sOIQGI0jKgm9f41Lvz0DZj3n46cNCyAZTsEYoY4C2bVRUzyQ==} @@ -8977,8 +8518,8 @@ packages: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - ipaddr.js@2.3.0: - resolution: {integrity: sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==} + ipaddr.js@2.5.0: + resolution: {integrity: sha512-aq+t5NAc+cS6rZQQVWC2x98CPqGtKKTMDd4Gaodv0wShnItdKg/51djkGJ1hqH+Oy0ivDftCbSLCQob8zso01w==} engines: {node: '>= 10'} ipfs-car@1.2.0: @@ -9040,10 +8581,6 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} - is-core-module@2.16.2: resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} engines: {node: '>= 0.4'} @@ -9069,6 +8606,10 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true + is-document.all@1.0.0: + resolution: {integrity: sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==} + engines: {node: '>= 0.4'} + is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -9318,36 +8859,36 @@ packages: resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} - it-filter@3.1.4: - resolution: {integrity: sha512-80kWEKgiFEa4fEYD3mwf2uygo1dTQ5Y5midKtL89iXyjinruA/sNXl6iFkTcdNedydjvIsFhWLiqRPQP4fAwWQ==} + it-filter@3.1.6: + resolution: {integrity: sha512-yXiGPAvJn/exXjVFSCMQc3+J/7RLpOMwKoY2DH1yMhF4lYkdRoAdOwU0vnDACAlRAexf7AZvESZIc9mzhEoi/A==} - it-last@3.0.9: - resolution: {integrity: sha512-AtfUEnGDBHBEwa1LjrpGHsJMzJAWDipD6zilvhakzJcm+BCvNX8zlX2BsHClHJLLTrsY4lY9JUjc+TQV4W7m1w==} + it-last@3.0.11: + resolution: {integrity: sha512-Fg571l81nPzhZsiYjkw4dkhRqAK4oqIamTPEfAOnXI/5pYXz+dIfMVYmh9ncZs58oFNMkdF3bYFuCBTw/xJK0w==} - it-map@3.1.4: - resolution: {integrity: sha512-QB9PYQdE9fUfpVFYfSxBIyvKynUCgblb143c+ktTK6ZuKSKkp7iH58uYFzagqcJ5HcqIfn1xbfaralHWam+3fg==} + it-map@3.1.6: + resolution: {integrity: sha512-wCix0FXImtIPIxhCnbz35RqWs00e/CReSZX9nZq1j46JcAzBBp57ob9/2l1WnDYEaUURIR8xCyg2NsWbOwBJFQ==} - it-merge@3.0.12: - resolution: {integrity: sha512-nnnFSUxKlkZVZD7c0jYw6rDxCcAQYcMsFj27thf7KkDhpj0EA0g9KHPxbFzHuDoc6US2EPS/MtplkNj8sbCx4Q==} + it-merge@3.0.14: + resolution: {integrity: sha512-D3t1Go2G2SQMkTujaA6EVojJPJKA9pFksxlSPDRBfrHKhWl6O40vEP7Itr5eCAjyCQH5p9+BFFVIy9bhLM4ZuQ==} - it-parallel@3.0.13: - resolution: {integrity: sha512-85PPJ/O8q97Vj9wmDTSBBXEkattwfQGruXitIzrh0RLPso6RHfiVqkuTqBNufYYtB1x6PSkh0cwvjmMIkFEPHA==} + it-parallel@3.0.16: + resolution: {integrity: sha512-qr3nTgj4fraSfr6Ix9JkHsy/Yb/4vmS3QIAu3fsX52r2SOTLbohXoixKp6AIhTJcorpKwjP0VFcpHr5V54jivA==} - it-peekable@3.0.8: - resolution: {integrity: sha512-7IDBQKSp/dtBxXV3Fj0v3qM1jftJ9y9XrWLRIuU1X6RdKqWiN60syNwP0fiDxZD97b8SYM58dD3uklIk1TTQAw==} + it-peekable@3.0.10: + resolution: {integrity: sha512-2E6+p1pelZOhzp69aaiiBuEybWzAl10uYbIdCR3Pxy8bFNnS/kgpbLtGbNbIZ6RVdU7yHHkmATYwjy52GfFEKA==} it-pipe@3.0.1: resolution: {integrity: sha512-sIoNrQl1qSRg2seYSBH/3QxWhJFn9PKYvOf/bHdtCBF0bnghey44VyASsWzn5dAx0DCDDABq1hZIuzKmtBZmKA==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} - it-pushable@3.2.3: - resolution: {integrity: sha512-gzYnXYK8Y5t5b/BnJUr7glfQLO4U5vyb05gPx/TyTw+4Bv1zM9gFk4YsOrnulWefMewlphCjKkakFvj1y99Tcg==} + it-pushable@3.2.4: + resolution: {integrity: sha512-WSD7Ss4oCRfDZJT4ldLWr0Bom/muY90xxoJ5PQnU3uSKf0kxCOeehqZtiJX1ARqn+ymXGh1bxpDW9bDNHp2ivQ==} - it-queueless-pushable@2.0.3: - resolution: {integrity: sha512-USa5EzTvmQswOcVE7+o6qsj2o2G+6KHCxSogPOs23sGYkDWFidhqVO7dAvv6ve/Z+Q+nvxpEa9rrRo6VEK7w4Q==} + it-queueless-pushable@2.0.5: + resolution: {integrity: sha512-BaKqGLL1AQMR1AEaxiM09vzJQVXHHhfhh9UV0qPqORw/8Rm8igDQqT1qHregfHIb1NIW9jxQ/aXBibHJyuivuQ==} - it-stream-types@2.0.2: - resolution: {integrity: sha512-Rz/DEZ6Byn/r9+/SBCuJhpPATDF9D+dz5pbgSUyBsCDtza6wtNATrz/jz1gDyNanC3XdLboriHnOC925bZRBww==} + it-stream-types@2.0.4: + resolution: {integrity: sha512-tsX+klvMQ53J4Jm2B52vCIs7WD609ck+VS9X2TKMEv7VPY9VwaYKmSWyHek5QS0wHBtP0bWj9KMqCtAHgVKiXw==} itk-wasm@1.0.0-b.165: resolution: {integrity: sha512-Rq0+AL2BuRqcFh9r3h69pB3nt84tw/gTxnI6GjIOYw5Bfah9qO+C8hRJpD8aWNBa5o3wNHRAMVlp0pt/L4K8gg==} @@ -9534,8 +9075,8 @@ packages: resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} hasBin: true - joi@17.13.3: - resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} + joi@17.13.4: + resolution: {integrity: sha512-1RuuER6kmt8K8I3nIWvPZKi5RQCb568ZPyY4Pwjlua+yo+63ZTmIwxLZH0heBmiKN4uxjvCiarDrjaeH84xicQ==} jpeg-lossless-decoder-js@2.1.2: resolution: {integrity: sha512-fYf/plymnuKwVw+s8gJ8O/BPw8y8OLaN11MBvEcT05kuy3m45o7BEC4J0JbxMNUYyO+MdK/I/jq0q1gkVYZm2Q==} @@ -9640,8 +9181,8 @@ packages: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} - launch-editor@2.13.1: - resolution: {integrity: sha512-lPSddlAAluRKJ7/cjRFoXUFzaX7q/YKI7yPHuEvSJVqoXvFnJov1/Ud87Aa4zULIbA9Nja4mSPK8l0z/7eV2wA==} + launch-editor@2.14.1: + resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} lazy-ass@1.6.0: resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} @@ -9657,78 +9198,78 @@ packages: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - lightningcss-android-arm64@1.31.1: - resolution: {integrity: sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==} + lightningcss-android-arm64@1.33.0: + resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [android] - lightningcss-darwin-arm64@1.31.1: - resolution: {integrity: sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==} + lightningcss-darwin-arm64@1.33.0: + resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - lightningcss-darwin-x64@1.31.1: - resolution: {integrity: sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==} + lightningcss-darwin-x64@1.33.0: + resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - lightningcss-freebsd-x64@1.31.1: - resolution: {integrity: sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==} + lightningcss-freebsd-x64@1.33.0: + resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - lightningcss-linux-arm-gnueabihf@1.31.1: - resolution: {integrity: sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==} + lightningcss-linux-arm-gnueabihf@1.33.0: + resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - lightningcss-linux-arm64-gnu@1.31.1: - resolution: {integrity: sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==} + lightningcss-linux-arm64-gnu@1.33.0: + resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [glibc] - lightningcss-linux-arm64-musl@1.31.1: - resolution: {integrity: sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==} + lightningcss-linux-arm64-musl@1.33.0: + resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [musl] - lightningcss-linux-x64-gnu@1.31.1: - resolution: {integrity: sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==} + lightningcss-linux-x64-gnu@1.33.0: + resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [glibc] - lightningcss-linux-x64-musl@1.31.1: - resolution: {integrity: sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==} + lightningcss-linux-x64-musl@1.33.0: + resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [musl] - lightningcss-win32-arm64-msvc@1.31.1: - resolution: {integrity: sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==} + lightningcss-win32-arm64-msvc@1.33.0: + resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] - lightningcss-win32-x64-msvc@1.31.1: - resolution: {integrity: sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==} + lightningcss-win32-x64-msvc@1.33.0: + resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - lightningcss@1.31.1: - resolution: {integrity: sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==} + lightningcss@1.33.0: + resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} engines: {node: '>= 12.0.0'} lilconfig@2.1.0: @@ -9769,8 +9310,8 @@ packages: resolution: {integrity: sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==} engines: {node: '>=6'} - loader-runner@4.3.1: - resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} + loader-runner@4.3.2: + resolution: {integrity: sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==} engines: {node: '>=6.11.5'} loader-utils@1.4.2: @@ -9831,9 +9372,6 @@ packages: lodash.once@4.1.1: resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} @@ -9886,8 +9424,8 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.2.6: - resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==} + lru-cache@11.5.2: + resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -9905,6 +9443,9 @@ packages: magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + make-dir@1.3.0: resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} engines: {node: '>=4'} @@ -10037,6 +9578,9 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + mdn-data@2.0.28: resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} @@ -10050,10 +9594,8 @@ packages: medium-zoom@1.1.0: resolution: {integrity: sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==} - memfs@4.57.8: - resolution: {integrity: sha512-bApYhn8BLpFAnAQmFfEl/NPN+8qx5Ar3V4Qt3ek23mVwBEElzV7c6XoPkb/PCG8ZFpowCEpHcPwMFTwHS7tSMA==} - peerDependencies: - tslib: 2.8.1 + memfs@4.67.0: + resolution: {integrity: sha512-yuwPWDAs2kfwpQFuFNQI2OkiJ4ZqkGvSFq2jbgC9pFPfgh1N1lPxJaBj5rHp9R1wfJlSzUQkFnSw6WYGPwBbRg==} memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} @@ -10396,6 +9938,9 @@ packages: multiformats@13.4.2: resolution: {integrity: sha512-eh6eHCrRi1+POZ3dA+Dq1C6jhP1GNtr9CRINMb67OKzqW9I5DUuZM/3jLPlzhgpGeiNUlEGEbkCYChXMCc/8DQ==} + multiformats@14.0.5: + resolution: {integrity: sha512-vbIm83F2yZ1pWJGS0yl0ysracIvv56LtbrIyiIQHoLdYDJOMoLfVFsXhh9DUH4SFdkdkFhucyWniihsNzVEjkQ==} + murmurhash3js-revisited@3.0.0: resolution: {integrity: sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==} engines: {node: '>=8.0.0'} @@ -10410,13 +9955,8 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - nanoid@3.3.12: - resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} + nanoid@3.3.17: + resolution: {integrity: sha512-xQLf0A3HOMlgHq0n247/LRuAOYmB7dXJ/DvAxGvsSBij45XtBSmQycu+F8ODbHwns/XyFZagyL1+J0Offw1E0g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -10470,11 +10010,9 @@ packages: resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} engines: {node: '>=8'} - node-releases@2.0.27: - resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} - - node-releases@2.0.44: - resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} + node-releases@2.0.52: + resolution: {integrity: sha512-MRlTqhAfoMx/4mhEbPo3Hi02g9LJZaJkka69V6h67Cb1gjrAG0jsTE4CZX1eptNx+VCAwJmfpnDIF4P0Nh1A7A==} + engines: {node: '>=18'} normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -10504,8 +10042,8 @@ packages: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - npm-to-yarn@3.0.1: - resolution: {integrity: sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A==} + npm-to-yarn@3.2.0: + resolution: {integrity: sha512-K1HmQeZT2HrjpsR6KgqbN2FAXL2NrJJmNUSD9ck7HGTVu1JKXox8n9SB+tjbU8m8JGLF4OscrroPepew/L7/Xw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} nprogress@0.2.0: @@ -10527,8 +10065,8 @@ packages: numcodecs@0.3.2: resolution: {integrity: sha512-6YSPnmZgg0P87jnNhi3s+FVLOcIn3y+1CTIgUulA3IdASzK9fJM87sUFkpyA+be9GibGRaST2wCgkD+6U+fWKw==} - nwsapi@2.2.23: - resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==} + nwsapi@2.2.24: + resolution: {integrity: sha512-7YRhZ3jS45LwmSCT4b2sVFHt/WuovaktDU07QrtOBY2PXskss5a9jfmR9jptyumwXST+rFjrmppMY1KT/yn35A==} nyc@17.1.0: resolution: {integrity: sha512-U42vQ4czpKa0QdI1hu950XuNhYqgoM+ZF1HT+VuUHL9hPfDPVvNQyltmMqdE9bUHMVa+8yNbc3QKTj8zQhlVxQ==} @@ -10581,8 +10119,8 @@ packages: oidc-client@1.11.5: resolution: {integrity: sha512-LcKrKC8Av0m/KD/4EFmo9Sg8fSQ+WFJWBrmtWd+tZkNn3WT/sQG3REmPANE9tzzhbjW6VkTNy4xhAXCfPApAOg==} - ol@10.9.0: - resolution: {integrity: sha512-svbbgVQUmEHaKpLQ8kRySojs59Brvgl2zYIrqG9eQNXGfsbi55rQasZIDpwpQzDL6OlzrUb0H4hQaiX9wDoGmA==} + ol@10.10.0: + resolution: {integrity: sha512-tLPKn6zl+6uWdPufYlqG/lQzuVUTVmfwahQqVr5+wZNyZecyAtIhMTyOtKpu7ooNDLY2sEjKZNXw9HL+sOjC1A==} on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} @@ -10639,8 +10177,8 @@ packages: ospath@1.2.2: resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} - own-keys@1.0.1: - resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + own-keys@1.0.2: + resolution: {integrity: sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==} engines: {node: '>= 0.4'} p-cancelable@3.0.0: @@ -10728,6 +10266,9 @@ packages: pako@2.1.0: resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + pako@2.2.0: + resolution: {integrity: sha512-zJq6RP/5q+TO2OpFV3FHzlPnFjmkb7Nc99a5SNjJE+uu/PkpChs+NIZSSzbBoD+6kjiISXjfYdwj1ZRQ81dz/w==} + param-case@3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} @@ -10821,12 +10362,12 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - pbf@4.0.1: - resolution: {integrity: sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==} + pbf@5.1.2: + resolution: {integrity: sha512-mnvGdvOrIvJOBGUEdGkrVXjN8E/VkIJCkf2eS1DH2yv82ORUlLttmDt0rWY38yYZmVwciZwBUvHM20qxBZf40w==} hasBin: true - pbkdf2@3.1.5: - resolution: {integrity: sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==} + pbkdf2@3.1.6: + resolution: {integrity: sha512-BT6eelPB1EyGHo8pC0o9Bl6k6SYVhKO1jEbd3lcTrtr7XHdjP8BW1YpfCV3G9Kwkxgattk+S5q2/RvuttCsS1g==} engines: {node: '>= 0.10'} pend@1.2.0: @@ -10846,6 +10387,10 @@ packages: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} + engines: {node: '>=12'} + pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -10910,298 +10455,298 @@ packages: resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-attribute-case-insensitive@7.0.1: resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-calc@8.2.4: resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} peerDependencies: - postcss: ^8.2.2 + postcss: 8.5.22 postcss-calc@9.0.1: resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.2 + postcss: 8.5.22 postcss-clamp@4.1.0: resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} engines: {node: '>=7.6.0'} peerDependencies: - postcss: ^8.4.6 + postcss: 8.5.22 postcss-color-functional-notation@4.2.4: resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-color-functional-notation@7.0.12: resolution: {integrity: sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-color-hex-alpha@10.0.0: resolution: {integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-color-hex-alpha@8.0.4: resolution: {integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-color-rebeccapurple@10.0.0: resolution: {integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-color-rebeccapurple@7.1.1: resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-colormin@5.3.1: resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-colormin@6.1.0: resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-convert-values@5.1.3: resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-convert-values@6.1.0: resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-custom-media@11.0.6: resolution: {integrity: sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-custom-media@8.0.2: resolution: {integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.3 + postcss: 8.5.22 postcss-custom-properties@12.1.11: resolution: {integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-custom-properties@14.0.6: resolution: {integrity: sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-custom-selectors@6.0.3: resolution: {integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.3 + postcss: 8.5.22 postcss-custom-selectors@8.0.5: resolution: {integrity: sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-dir-pseudo-class@6.0.5: resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-dir-pseudo-class@9.0.1: resolution: {integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-discard-comments@5.1.2: resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-discard-comments@6.0.2: resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-discard-duplicates@5.1.0: resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-discard-duplicates@6.0.3: resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-discard-empty@5.1.1: resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-discard-empty@6.0.3: resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-discard-overridden@5.1.0: resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-discard-overridden@6.0.2: resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-discard-unused@6.0.5: resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-double-position-gradients@3.1.2: resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-double-position-gradients@6.0.4: resolution: {integrity: sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-env-function@4.0.6: resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-focus-visible@10.0.1: resolution: {integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-focus-visible@6.0.4: resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-focus-within@5.0.4: resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-focus-within@9.0.1: resolution: {integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-font-variant@5.0.0: resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} peerDependencies: - postcss: ^8.1.0 + postcss: 8.5.22 postcss-gap-properties@3.0.5: resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-gap-properties@6.0.0: resolution: {integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-image-set-function@4.0.7: resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-image-set-function@7.0.0: resolution: {integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-import@14.1.0: resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} engines: {node: '>=10.0.0'} peerDependencies: - postcss: ^8.0.0 + postcss: 8.5.22 postcss-initial@4.0.1: resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} peerDependencies: - postcss: ^8.0.0 + postcss: 8.5.22 postcss-js@4.1.0: resolution: {integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: - postcss: ^8.4.21 + postcss: 8.5.22 postcss-lab-function@4.2.1: resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-lab-function@7.0.12: resolution: {integrity: sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-load-config@3.1.4: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: - postcss: '>=8.0.9' + postcss: 8.5.22 ts-node: '>=9.0.0' peerDependenciesMeta: postcss: @@ -11213,423 +10758,423 @@ packages: resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: - postcss: ^7.0.0 || ^8.0.1 + postcss: 8.5.22 webpack: 5.105.0 postcss-loader@7.3.4: resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} engines: {node: '>= 14.15.0'} peerDependencies: - postcss: ^7.0.0 || ^8.0.1 + postcss: 8.5.22 webpack: 5.105.0 postcss-logical@5.0.4: resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-logical@8.1.0: resolution: {integrity: sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-media-minmax@5.0.0: resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} engines: {node: '>=10.0.0'} peerDependencies: - postcss: ^8.1.0 + postcss: 8.5.22 postcss-merge-idents@6.0.3: resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-merge-longhand@5.1.7: resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-merge-longhand@6.0.5: resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-merge-rules@5.1.4: resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-merge-rules@6.1.1: resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-minify-font-values@5.1.0: resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-minify-font-values@6.1.0: resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-minify-gradients@5.1.1: resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-minify-gradients@6.0.3: resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-minify-params@5.1.4: resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-minify-params@6.1.0: resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-minify-selectors@5.2.1: resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-minify-selectors@6.0.4: resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-modules-extract-imports@3.1.0: resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: - postcss: ^8.1.0 + postcss: 8.5.22 postcss-modules-local-by-default@4.2.0: resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: - postcss: ^8.1.0 + postcss: 8.5.22 postcss-modules-scope@3.2.1: resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: - postcss: ^8.1.0 + postcss: 8.5.22 postcss-modules-values@4.0.0: resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: - postcss: ^8.1.0 + postcss: 8.5.22 postcss-nested@6.0.0: resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} engines: {node: '>=12.0'} peerDependencies: - postcss: ^8.2.14 + postcss: 8.5.22 postcss-nesting@10.2.0: resolution: {integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-nesting@13.0.2: resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-normalize-charset@5.1.0: resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-normalize-charset@6.0.2: resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-normalize-display-values@5.1.0: resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-normalize-display-values@6.0.2: resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-normalize-positions@5.1.1: resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-normalize-positions@6.0.2: resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-normalize-repeat-style@5.1.1: resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-normalize-repeat-style@6.0.2: resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-normalize-string@5.1.0: resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-normalize-string@6.0.2: resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-normalize-timing-functions@5.1.0: resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-normalize-timing-functions@6.0.2: resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-normalize-unicode@5.1.1: resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-normalize-unicode@6.1.0: resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-normalize-url@5.1.0: resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-normalize-url@6.0.2: resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-normalize-whitespace@5.1.1: resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-normalize-whitespace@6.0.2: resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-opacity-percentage@1.1.3: resolution: {integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-opacity-percentage@3.0.0: resolution: {integrity: sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-ordered-values@5.1.3: resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-ordered-values@6.0.2: resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-overflow-shorthand@3.0.4: resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-overflow-shorthand@6.0.0: resolution: {integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-page-break@3.0.4: resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} peerDependencies: - postcss: ^8 + postcss: 8.5.22 postcss-place@10.0.0: resolution: {integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-place@7.0.5: resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-preset-env@10.6.1: resolution: {integrity: sha512-yrk74d9EvY+W7+lO9Aj1QmjWY9q5NsKjK2V9drkOPZB/X6KZ0B3igKsHUYakb7oYVhnioWypQX3xGuePf89f3g==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-preset-env@7.8.3: resolution: {integrity: sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-pseudo-class-any-link@10.0.1: resolution: {integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 postcss-pseudo-class-any-link@7.1.6: resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-reduce-idents@6.0.3: resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-reduce-initial@5.1.2: resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-reduce-initial@6.1.0: resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-reduce-transforms@5.1.0: resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-reduce-transforms@6.0.2: resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-replace-overflow-wrap@4.0.0: resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} peerDependencies: - postcss: ^8.0.3 + postcss: 8.5.22 postcss-selector-not@6.0.1: resolution: {integrity: sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: - postcss: ^8.2 + postcss: 8.5.22 postcss-selector-not@8.0.1: resolution: {integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==} engines: {node: '>=18'} peerDependencies: - postcss: ^8.4 + postcss: 8.5.22 - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + postcss-selector-parser@6.1.4: + resolution: {integrity: sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==} engines: {node: '>=4'} - postcss-selector-parser@7.1.1: - resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + postcss-selector-parser@7.1.4: + resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} engines: {node: '>=4'} postcss-sort-media-queries@5.2.0: resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} engines: {node: '>=14.0.0'} peerDependencies: - postcss: ^8.4.23 + postcss: 8.5.22 postcss-svgo@5.1.0: resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-svgo@6.0.3: resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} engines: {node: ^14 || ^16 || >= 18} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-unique-selectors@5.1.1: resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 postcss-unique-selectors@6.0.4: resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} @@ -11638,14 +11183,10 @@ packages: resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 - postcss@8.5.14: - resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} - engines: {node: ^10 || ^12 || >=14} - - postcss@8.5.6: - resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + postcss@8.5.22: + resolution: {integrity: sha512-KBDEIpLrvpv16pp3K0Fw+UCoZfopFjjgeB+0tA/aaThfEE74kKDLrgg603YvOWJyg3+WYtyq3xYsQWsIyZlPqQ==} engines: {node: ^10 || ^12 || >=14} prettier-plugin-tailwindcss@0.6.9: @@ -11756,8 +11297,8 @@ packages: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} - progress-events@1.0.1: - resolution: {integrity: sha512-MOzLIwhpt64KIVN64h1MwdKWiyKFNc/S6BoYKPIVUHFg0/eIEyBulhWCgn678v/4c0ri3FdGuzXymNCv02MUIw==} + progress-events@1.1.0: + resolution: {integrity: sha512-82DVc5tI36neVB3IjdXR11ztwGuoBc98em9ijzubeZKxI47OlV2Znq6mlPqE5xPDzO2Uw98GHiQSjj2favBCRQ==} prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} @@ -11770,8 +11311,8 @@ packages: prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - property-information@7.1.0: - resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + property-information@7.2.0: + resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} @@ -11803,9 +11344,6 @@ packages: public-encrypt@4.0.3: resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} - pump@3.0.3: - resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} - pump@3.0.4: resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} @@ -11826,8 +11364,8 @@ packages: pvtsutils@1.3.6: resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} - pvutils@1.1.5: - resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} + pvutils@1.2.0: + resolution: {integrity: sha512-BbubeCEyTuQjVMakvJQ/Sxbc93F2pwmbsxONT/ZRrwU7Ua38d8unYTwXpTVLAKJ4BDuH9IGztCjQcd/N/39Dvg==} engines: {node: '>=16.0.0'} qs@6.14.1: @@ -11882,6 +11420,10 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} + range-parser@1.3.0: + resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} + engines: {node: '>= 0.6'} + raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} @@ -12252,8 +11794,8 @@ packages: regjsgen@0.8.0: resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - regjsparser@0.13.1: - resolution: {integrity: sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==} + regjsparser@0.13.2: + resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} hasBin: true regjsparser@0.7.0: @@ -12354,11 +11896,6 @@ packages: resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} engines: {node: '>=10'} - resolve@1.22.11: - resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} - engines: {node: '>= 0.4'} - hasBin: true - resolve@1.22.12: resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} engines: {node: '>= 0.4'} @@ -12428,8 +11965,8 @@ packages: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} - safe-array-concat@1.1.3: - resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + safe-array-concat@1.1.4: + resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} engines: {node: '>=0.4'} safe-buffer@5.1.2: @@ -12449,8 +11986,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sax@1.6.0: - resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} + sax@1.6.1: + resolution: {integrity: sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==} engines: {node: '>=11.0.0'} saxes@6.0.0: @@ -12504,8 +12041,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.8.0: - resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==} + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} hasBin: true @@ -12564,9 +12101,14 @@ packages: shallowequal@1.1.0: resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - sharp@0.34.5: - resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + sharp@0.35.3: + resolution: {integrity: sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==} + engines: {node: '>=20.9.0'} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} @@ -12606,8 +12148,8 @@ packages: resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} engines: {node: '>= 0.4'} - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} engines: {node: '>= 0.4'} signal-exit@3.0.7: @@ -12624,8 +12166,8 @@ packages: sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - sitemap@7.1.2: - resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==} + sitemap@7.1.3: + resolution: {integrity: sha512-tAjEd+wt/YwnEbfNB2ht51ybBJxbEWwe5ki/Z//Wh0rpBFTCUSj46GnxUKEWzhfuJTsee8x3lybHxFgUMig2hw==} engines: {node: '>=12.0.0', npm: '>=5.6.0'} hasBin: true @@ -12653,8 +12195,8 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} - smob@1.6.1: - resolution: {integrity: sha512-KAkBqZl3c2GvNgNhcoyJae1aKldDW0LO279wF9bk1PnluRTETKBq0WyzRXxEhoQLk56yHaOY4JCBEKDuJIET5g==} + smob@1.6.2: + resolution: {integrity: sha512-RQsvleCbF8cVHEv+xuDGaA4pOizFqJ0GgjtMSRo6oP8pnN7WsigHgVGey6aILRBKv4W2YOMHLqbKdnB6hpB9fw==} engines: {node: '>=20.0.0'} snake-case@3.0.4: @@ -12695,10 +12237,9 @@ packages: resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} engines: {node: '>= 12'} - source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - deprecated: The work that was done in this beta branch won't be included in future versions + source-map@0.8.0: + resolution: {integrity: sha512-d8EqvL+k/SOXCreS/SUzg2ciyHqBBLcN/yuRjFsbvVhHTE2pgei7oAhmPM7kWFbkX6OSMQfUq4KbkF3au9lhYQ==} + engines: {node: '>= 12'} sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} @@ -12744,6 +12285,10 @@ packages: engines: {node: '>=0.10.0'} hasBin: true + stable@0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -12804,12 +12349,12 @@ packages: resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} engines: {node: '>= 0.4'} - string.prototype.trim@1.2.10: - resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + string.prototype.trim@1.2.11: + resolution: {integrity: sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==} engines: {node: '>= 0.4'} - string.prototype.trimend@1.0.9: - resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + string.prototype.trimend@1.0.10: + resolution: {integrity: sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==} engines: {node: '>= 0.4'} string.prototype.trimstart@1.0.8: @@ -12899,13 +12444,13 @@ packages: resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: - postcss: ^8.2.15 + postcss: 8.5.22 stylehacks@6.1.1: resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.4.31 + postcss: 8.5.22 stylis@4.2.0: resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} @@ -12938,8 +12483,13 @@ packages: svg-parser@2.0.4: resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} - svgo@3.3.3: - resolution: {integrity: sha512-+wn7I4p7YgJhHs38k2TNjy1vCfPIfLIJWR5MnCStsN8WuuTcBnRKcMHQLMM2ijxGZmDoZwNv8ipl5aTTen62ng==} + svgo@2.8.3: + resolution: {integrity: sha512-5EZD0pafXX6PphdwOGCiVLDSaV1xyuQao2blHajHLsPxr07q4mmEjdtXEWgG07ae2mIz8Ex2CDXNCTiXhy3Khw==} + engines: {node: '>=10.13.0'} + hasBin: true + + svgo@3.3.4: + resolution: {integrity: sha512-GsNRis4e8jxn2Y9ENz/8lbJ93CstG8svtMnuRaHbiF2LTJ5tK0/q3t/URPq9Zc7zVWBJnNnJMIp6bevK7bSmNg==} engines: {node: '>=14.0.0'} hasBin: true @@ -12967,7 +12517,7 @@ packages: tailwindcss-scoped-preflight@3.5.9: resolution: {integrity: sha512-Q1lJssrJ2K96bCj8tocF/HCMy1NwMpFE30is3F4qFAAGfS9XYj6pz8JqfATSEnFhr7D6VAGLMn9apr/yqbSgTQ==} peerDependencies: - postcss: ^8 + postcss: 8.5.22 tailwindcss: ^3 tailwindcss@3.2.4: @@ -12975,7 +12525,7 @@ packages: engines: {node: '>=12.13.0'} hasBin: true peerDependencies: - postcss: ^8.0.9 + postcss: 8.5.22 tapable@2.2.2: resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} @@ -12997,24 +12547,51 @@ packages: resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} engines: {node: '>=10'} - terser-webpack-plugin@5.3.16: - resolution: {integrity: sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==} + terser-webpack-plugin@5.6.1: + resolution: {integrity: sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==} engines: {node: '>= 10.13.0'} peerDependencies: + '@minify-html/node': '*' '@swc/core': '*' - esbuild: '*' + '@swc/css': '*' + '@swc/html': '*' + clean-css: '*' + cssnano: '*' + csso: '*' + esbuild: '*' + html-minifier-terser: '*' + lightningcss: '*' + postcss: '*' uglify-js: '*' webpack: 5.105.0 peerDependenciesMeta: + '@minify-html/node': + optional: true '@swc/core': optional: true + '@swc/css': + optional: true + '@swc/html': + optional: true + clean-css: + optional: true + cssnano: + optional: true + csso: + optional: true esbuild: optional: true + html-minifier-terser: + optional: true + lightningcss: + optional: true + postcss: + optional: true uglify-js: optional: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} + terser@5.49.2: + resolution: {integrity: sha512-rGbJiKeQ4WDe3EXlDAIaQcwftVfv2Q8o1awFNfvXolJYKkb1AuZY1RTOmqx4LJXZENbWZA7eIsYGHuEzHsi1nQ==} engines: {node: '>=10'} hasBin: true @@ -13032,8 +12609,8 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - thingies@2.6.0: - resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} + thingies@2.6.1: + resolution: {integrity: sha512-cV/CMGTK3M4MlnJ/0At6ismOw/A0EEniDNScajjz/Br3c1sqE72YD01rGpPTKwd27wAxI5Pr+6+0w8yofzFRYw==} engines: {node: '>=10.18'} peerDependencies: tslib: 2.8.1 @@ -13063,8 +12640,8 @@ packages: tinycolor2@1.6.0: resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} - tinyglobby@0.2.15: - resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} tinypool@1.1.1: @@ -13109,9 +12686,6 @@ packages: resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} engines: {node: '>=16'} - tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - tr46@3.0.0: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} @@ -13205,8 +12779,8 @@ packages: resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} engines: {node: '>= 0.4'} - typed-array-length@1.0.7: - resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + typed-array-length@1.0.8: + resolution: {integrity: sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==} engines: {node: '>= 0.4'} typed-function@4.2.2: @@ -13221,14 +12795,17 @@ packages: engines: {node: '>=14.17'} hasBin: true - uint8-varint@2.0.4: - resolution: {integrity: sha512-FwpTa7ZGA/f/EssWAb5/YV6pHgVF1fViKdW8cWaEarjB8t7NyofSWBdOTyFPaGuUG4gx3v1O3PQ8etsiOs3lcw==} + uint8-varint@2.0.5: + resolution: {integrity: sha512-jeFLbL/x30wBRnWjKE1qVBXeumG46r7XmYkpis955lTQ+blccGKFrOsSMHlxePwYB1pI7L8YPHz1t4jLxEs3nA==} - uint8arraylist@2.4.8: - resolution: {integrity: sha512-vc1PlGOzglLF0eae1M8mLRTBivsvrGsdmJ5RbK3e+QRvRLOZfZhQROTwH/OfyF3+ZVUg9/8hE8bmKP2CvP9quQ==} + uint8arraylist@2.4.9: + resolution: {integrity: sha512-KxWjyEFzchzik3aoQlK66oaoxIReoMo5bQRm1fcjBUZvE8xv/tyR3CTKhjh6K/faV8VaF6hd5pjr45CzbwuwkA==} - uint8arrays@5.1.0: - resolution: {integrity: sha512-vA6nFepEmlSKkMBnLBaUMVvAC4G3CTmO58C12y4sq6WPDOR7mOFYOi7GlrQ4djeSbP6JG9Pv9tJDM97PedRSww==} + uint8arrays@5.1.1: + resolution: {integrity: sha512-9muQwa4wZG4dKi9gMAIBtnk2Pw87SRpvWTH6lOGm19V2Uqxr4uomUf2PGqPnWc+qs06sN8owUU4jfcoWOcfwVQ==} + + uint8arrays@6.1.1: + resolution: {integrity: sha512-iz7JN0XCSZYA111lhFG2Ui9EhFvTNekqSRHw3lvMHq+dzwWy1OQftxFQREEh4rffU0oSoXdQHsk2TiHKVm4fsA==} unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} @@ -13240,9 +12817,6 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@7.24.6: - resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} - unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} @@ -13506,8 +13080,8 @@ packages: wasm-feature-detect@1.8.0: resolution: {integrity: sha512-zksaLKM2fVlnB5jQQDqKXXwYHLQUVH9es+5TOOHwGOVJOCeRBCiPjwSg+3tN2AdTCzjgli4jijCH290kXb/zWQ==} - watchpack@2.5.1: - resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} + watchpack@2.5.2: + resolution: {integrity: sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg==} engines: {node: '>=10.13.0'} wbuf@1.7.3: @@ -13529,9 +13103,6 @@ packages: webgl-constants@1.1.1: resolution: {integrity: sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==} - webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -13550,8 +13121,8 @@ packages: webpack: optional: true - webpack-dev-server@5.2.5: - resolution: {integrity: sha512-4wZtCquSuv9CKX8oybo+mqxtxZqWz47uM1Ch94lxowBztOhWCbhqvRbfC/mODOwxgV2brY+JGZpHq58/SuVFYg==} + webpack-dev-server@5.2.6: + resolution: {integrity: sha512-HNLRmamRvVavZQ+avceZifmv8hmdUjg43t6MI4SqJDwFdW7RPQwH5vzGhDRZSX59SgfbeHhLnq3g+uooWo7pVw==} engines: {node: '>= 18.12.0'} hasBin: true peerDependencies: @@ -13571,8 +13142,8 @@ packages: resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} engines: {node: '>=18.0.0'} - webpack-sources@3.3.4: - resolution: {integrity: sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==} + webpack-sources@3.5.1: + resolution: {integrity: sha512-jyuiGJdtvY434z5bUZrjz67v76/ePNvFZTp9Mdz29IlH4+GPsgyGjiv0fKI+M7BdkU6ADjulUcKAd3tUK3WlEw==} engines: {node: '>=10.13.0'} webpack@5.105.0: @@ -13621,9 +13192,6 @@ packages: resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} engines: {node: '>=12'} - whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - which-boxed-primitive@1.1.1: resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} engines: {node: '>= 0.4'} @@ -13639,8 +13207,8 @@ packages: which-module@2.0.1: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - which-typed-array@1.1.20: - resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} + which-typed-array@1.1.22: + resolution: {integrity: sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==} engines: {node: '>= 0.4'} which@2.0.2: @@ -13655,54 +13223,54 @@ packages: wildcard@2.0.1: resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} - workbox-background-sync@7.4.0: - resolution: {integrity: sha512-8CB9OxKAgKZKyNMwfGZ1XESx89GryWTfI+V5yEj8sHjFH8MFelUwYXEyldEK6M6oKMmn807GoJFUEA1sC4XS9w==} + workbox-background-sync@7.4.1: + resolution: {integrity: sha512-HhT7KE8tOWDm02wRNshXUnUPofMlhenF2DBdUnDPOubhizzPeItkYTmAB6td1Z2cjYPa98vzEiPLEuzn5hN66g==} - workbox-broadcast-update@7.4.0: - resolution: {integrity: sha512-+eZQwoktlvo62cI0b+QBr40v5XjighxPq3Fzo9AWMiAosmpG5gxRHgTbGGhaJv/q/MFVxwFNGh/UwHZ/8K88lA==} + workbox-broadcast-update@7.4.1: + resolution: {integrity: sha512-uAlgslKLvbQY+suirIdnBCSYrcgBhjp81Nj4l1lj/Jmj0MJO2CJERnCJjT0GFVwmReV0N+zs78K6gqd5gr9/+A==} - workbox-build@7.4.0: - resolution: {integrity: sha512-Ntk1pWb0caOFIvwz/hfgrov/OJ45wPEhI5PbTywQcYjyZiVhT3UrwwUPl6TRYbTm4moaFYithYnl1lvZ8UjxcA==} + workbox-build@7.4.1: + resolution: {integrity: sha512-SDhxIvEAde9Gy/5w4Yo1Jh/M49Z0qE3q0oteyE8zGq0DScxFqVBcCtIXFuLtmtxRQZCMbf0prco4VyEu3KBQuw==} engines: {node: '>=20.0.0'} - workbox-cacheable-response@7.4.0: - resolution: {integrity: sha512-0Fb8795zg/x23ISFkAc7lbWes6vbw34DGFIMw31cwuHPgDEC/5EYm6m/ZkylLX0EnEbbOyOCLjKgFS/Z5g0HeQ==} + workbox-cacheable-response@7.4.1: + resolution: {integrity: sha512-8xaFoJdDc2OjrlbbL3gEeBO1WKcMwRqwLRupgqahYXu75yXajPLuwrbXMrIGZuWYXrQwk0xDjOxZ/ujCy/oJYw==} - workbox-core@7.4.0: - resolution: {integrity: sha512-6BMfd8tYEnN4baG4emG9U0hdXM4gGuDU3ectXuVHnj71vwxTFI7WOpQJC4siTOlVtGqCUtj0ZQNsrvi6kZZTAQ==} + workbox-core@7.4.1: + resolution: {integrity: sha512-DT+vu46eh/2vRsSHTY4Xmc32Z1rr9PRlQUXr1Dx30ZuXRWwOsvZgGgcwxcasubQLQmbTNYZjv44LkBAQ4tT5tQ==} - workbox-expiration@7.4.0: - resolution: {integrity: sha512-V50p4BxYhtA80eOvulu8xVfPBgZbkxJ1Jr8UUn0rvqjGhLDqKNtfrDfjJKnLz2U8fO2xGQJTx/SKXNTzHOjnHw==} + workbox-expiration@7.4.1: + resolution: {integrity: sha512-lRKUF7b+OGbeXkQk1s6MHXOa3d7Xxf7Of31W6c6hCfipfIyrtdWZ89stq21AHZMaoG7VNFoHply4Ox+rU31TWg==} - workbox-google-analytics@7.4.0: - resolution: {integrity: sha512-MVPXQslRF6YHkzGoFw1A4GIB8GrKym/A5+jYDUSL+AeJw4ytQGrozYdiZqUW1TPQHW8isBCBtyFJergUXyNoWQ==} + workbox-google-analytics@7.4.1: + resolution: {integrity: sha512-Mks1JwLEt++ZAkF6sS1OpSh9RtAMIsiDgRpK+codiHGIPXeaUOgi4cPc3GFadUl8V5QPeypEk8Oxgl3HlwVzHw==} - workbox-navigation-preload@7.4.0: - resolution: {integrity: sha512-etzftSgdQfjMcfPgbfaZCfM2QuR1P+4o8uCA2s4rf3chtKTq/Om7g/qvEOcZkG6v7JZOSOxVYQiOu6PbAZgU6w==} + workbox-navigation-preload@7.4.1: + resolution: {integrity: sha512-C4KVsjPcYKJOhr631AxR9XoG2rLF3QiTk5aMv36MXOjtWvm8axwNFAtKUPGsWUwLXXAMgYM1En7fsvndaXeXRQ==} - workbox-precaching@7.4.0: - resolution: {integrity: sha512-VQs37T6jDqf1rTxUJZXRl3yjZMf5JX/vDPhmx2CPgDDKXATzEoqyRqhYnRoxl6Kr0rqaQlp32i9rtG5zTzIlNg==} + workbox-precaching@7.4.1: + resolution: {integrity: sha512-cdr/9qByww7yzEp7zg/qI4ukUrrNjQLgN+ONQRpjy/VqGQXwkgHwr00KksGJK8v0VifwDXBb8a4cWNZH71jn3Q==} - workbox-range-requests@7.4.0: - resolution: {integrity: sha512-3Vq854ZNuP6Y0KZOQWLaLC9FfM7ZaE+iuQl4VhADXybwzr4z/sMmnLgTeUZLq5PaDlcJBxYXQ3U91V7dwAIfvw==} + workbox-range-requests@7.4.1: + resolution: {integrity: sha512-7i2oxAUE82gHdAJBCAQ04JzNOdRPqzuOzGfoUyJpFSmeqBNYGPrAH8GPoPjUQTfp+NycwrD2H68VtuF8qxv0vQ==} - workbox-recipes@7.4.0: - resolution: {integrity: sha512-kOkWvsAn4H8GvAkwfJTbwINdv4voFoiE9hbezgB1sb/0NLyTG4rE7l6LvS8lLk5QIRIto+DjXLuAuG3Vmt3cxQ==} + workbox-recipes@7.4.1: + resolution: {integrity: sha512-gnbVfmV4/TtmQaM4x9AtuXhcdstJsep3XMVeztOrQVPT+R6+6DeBjGTCQ7fFCXm+4GEHUA5VEBTyi5+4gWGeog==} - workbox-routing@7.4.0: - resolution: {integrity: sha512-C/ooj5uBWYAhAqwmU8HYQJdOjjDKBp9MzTQ+otpMmd+q0eF59K+NuXUek34wbL0RFrIXe/KKT+tUWcZcBqxbHQ==} + workbox-routing@7.4.1: + resolution: {integrity: sha512-yubJGErZOusuidAenaL5ypfhQOa7urxP/f8E0ws7FPb4039RiWXUWBAyUkmUoOL/BcQGen3h0J8872d51IYxtA==} - workbox-strategies@7.4.0: - resolution: {integrity: sha512-T4hVqIi5A4mHi92+5EppMX3cLaVywDp8nsyUgJhOZxcfSV/eQofcOA6/EMo5rnTNmNTpw0rUgjAI6LaVullPpg==} + workbox-strategies@7.4.1: + resolution: {integrity: sha512-GZxpaw9NbmOelj7667uZ2kpk5BFpOGbO4X0qjwh5ls8XQ8C+Lha5LQchTiUzsTFSS+NlUpftYAyOVXvQUrcqOQ==} - workbox-streams@7.4.0: - resolution: {integrity: sha512-QHPBQrey7hQbnTs5GrEVoWz7RhHJXnPT+12qqWM378orDMo5VMJLCkCM1cnCk+8Eq92lccx/VgRZ7WAzZWbSLg==} + workbox-streams@7.4.1: + resolution: {integrity: sha512-HWWtraKUbJknd9kgqGcpQ3G114HOPYvqs8HaJMDs2ebLNAimDkVDaWfAXE6Ybl+m8U6KsCE6pWyLYuigWmnAXw==} - workbox-sw@7.4.0: - resolution: {integrity: sha512-ltU+Kr3qWR6BtbdlMnCjobZKzeV1hN+S6UvDywBrwM19TTyqA03X66dzw1tEIdJvQ4lYKkBFox6IAEhoSEZ8Xw==} + workbox-sw@7.4.1: + resolution: {integrity: sha512-fez5f2DUlDJWTFYkCWQpY10N8gtztd849NswCbVFk0QlcSM4HT5A8x4g4ii650yem4I8tHY0R7JZahwp3ltIPw==} - workbox-window@7.4.0: - resolution: {integrity: sha512-/bIYdBLAVsNR3v7gYGaV4pQW3M3kEPx5E8vDxGvxo6khTrGtSSCS7QiFKv9ogzBgZiy0OXLP9zO28U/1nF1mfw==} + workbox-window@7.4.1: + resolution: {integrity: sha512-notZDH2u8VXaqyuD7xaqIfEFi6SRM4SUSd7ewe9PDsVqADuepxX2ZMY3uvuZGxzY5ZOsGC/vD3A/3smFtJt4/A==} worker-loader@3.0.8: resolution: {integrity: sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g==} @@ -13829,8 +13397,8 @@ packages: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} engines: {node: '>=8'} - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + yargs@17.7.3: + resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} engines: {node: '>=12'} yauzl@2.10.0: @@ -13874,221 +13442,161 @@ packages: snapshots: - '@algolia/abtesting@1.15.1': + '@algolia/abtesting@1.22.0': dependencies: - '@algolia/client-common': 5.49.1 - '@algolia/requester-browser-xhr': 5.49.1 - '@algolia/requester-fetch': 5.49.1 - '@algolia/requester-node-http': 5.49.1 + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 - '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3)': + '@algolia/autocomplete-core@1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1) + '@algolia/autocomplete-plugin-algolia-insights': 1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-core@1.19.8(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3)': + '@algolia/autocomplete-core@1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.19.8(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.19.8(@algolia/client-search@5.49.1)(algoliasearch@5.49.1) + '@algolia/autocomplete-plugin-algolia-insights': 1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3)': + '@algolia/autocomplete-plugin-algolia-insights@1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1) + '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0) search-insights: 2.17.3 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-plugin-algolia-insights@1.19.8(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3)': + '@algolia/autocomplete-plugin-algolia-insights@1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-shared': 1.19.8(@algolia/client-search@5.49.1)(algoliasearch@5.49.1) + '@algolia/autocomplete-shared': 1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0) search-insights: 2.17.3 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)': + '@algolia/autocomplete-shared@1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1) - '@algolia/client-search': 5.49.1 - algoliasearch: 5.49.1 + '@algolia/client-search': 5.56.0 + algoliasearch: 5.56.0 - '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)': + '@algolia/autocomplete-shared@1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)': dependencies: - '@algolia/client-search': 5.49.1 - algoliasearch: 5.49.1 + '@algolia/client-search': 5.56.0 + algoliasearch: 5.56.0 - '@algolia/autocomplete-shared@1.19.8(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)': + '@algolia/client-abtesting@5.56.0': dependencies: - '@algolia/client-search': 5.49.1 - algoliasearch: 5.49.1 + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 - '@algolia/client-abtesting@5.49.1': + '@algolia/client-analytics@5.56.0': dependencies: - '@algolia/client-common': 5.49.1 - '@algolia/requester-browser-xhr': 5.49.1 - '@algolia/requester-fetch': 5.49.1 - '@algolia/requester-node-http': 5.49.1 + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 - '@algolia/client-analytics@5.49.1': - dependencies: - '@algolia/client-common': 5.49.1 - '@algolia/requester-browser-xhr': 5.49.1 - '@algolia/requester-fetch': 5.49.1 - '@algolia/requester-node-http': 5.49.1 - - '@algolia/client-common@5.49.1': {} + '@algolia/client-common@5.56.0': {} - '@algolia/client-insights@5.49.1': + '@algolia/client-insights@5.56.0': dependencies: - '@algolia/client-common': 5.49.1 - '@algolia/requester-browser-xhr': 5.49.1 - '@algolia/requester-fetch': 5.49.1 - '@algolia/requester-node-http': 5.49.1 + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 - '@algolia/client-personalization@5.49.1': + '@algolia/client-personalization@5.56.0': dependencies: - '@algolia/client-common': 5.49.1 - '@algolia/requester-browser-xhr': 5.49.1 - '@algolia/requester-fetch': 5.49.1 - '@algolia/requester-node-http': 5.49.1 + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 - '@algolia/client-query-suggestions@5.49.1': + '@algolia/client-query-suggestions@5.56.0': dependencies: - '@algolia/client-common': 5.49.1 - '@algolia/requester-browser-xhr': 5.49.1 - '@algolia/requester-fetch': 5.49.1 - '@algolia/requester-node-http': 5.49.1 + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 - '@algolia/client-search@5.49.1': + '@algolia/client-search@5.56.0': dependencies: - '@algolia/client-common': 5.49.1 - '@algolia/requester-browser-xhr': 5.49.1 - '@algolia/requester-fetch': 5.49.1 - '@algolia/requester-node-http': 5.49.1 + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 '@algolia/events@4.0.1': {} - '@algolia/ingestion@1.49.1': + '@algolia/ingestion@1.56.0': dependencies: - '@algolia/client-common': 5.49.1 - '@algolia/requester-browser-xhr': 5.49.1 - '@algolia/requester-fetch': 5.49.1 - '@algolia/requester-node-http': 5.49.1 + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 - '@algolia/monitoring@1.49.1': + '@algolia/monitoring@1.56.0': dependencies: - '@algolia/client-common': 5.49.1 - '@algolia/requester-browser-xhr': 5.49.1 - '@algolia/requester-fetch': 5.49.1 - '@algolia/requester-node-http': 5.49.1 + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 - '@algolia/recommend@5.49.1': + '@algolia/recommend@5.56.0': dependencies: - '@algolia/client-common': 5.49.1 - '@algolia/requester-browser-xhr': 5.49.1 - '@algolia/requester-fetch': 5.49.1 - '@algolia/requester-node-http': 5.49.1 + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 - '@algolia/requester-browser-xhr@5.49.1': + '@algolia/requester-browser-xhr@5.56.0': dependencies: - '@algolia/client-common': 5.49.1 + '@algolia/client-common': 5.56.0 - '@algolia/requester-fetch@5.49.1': + '@algolia/requester-fetch@5.56.0': dependencies: - '@algolia/client-common': 5.49.1 + '@algolia/client-common': 5.56.0 - '@algolia/requester-node-http@5.49.1': + '@algolia/requester-node-http@5.56.0': dependencies: - '@algolia/client-common': 5.49.1 + '@algolia/client-common': 5.56.0 - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - '@apideck/better-ajv-errors@0.3.6(ajv@8.20.0)': + '@apideck/better-ajv-errors@0.3.7(ajv@8.20.0)': dependencies: ajv: 8.20.0 - json-schema: 0.4.0 jsonpointer: 5.0.1 leven: 3.1.0 - '@babel/code-frame@7.29.0': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - '@babel/code-frame@7.29.7': dependencies: '@babel/helper-validator-identifier': 7.29.7 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.29.3': {} - '@babel/compat-data@7.29.7': {} - '@babel/core@7.28.0': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.0) - '@babel/helpers': 7.29.2 - '@babel/parser': 7.29.3 - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/core@7.28.0(supports-color@8.1.1)': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helpers': 7.29.2 - '@babel/parser': 7.29.3 - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/core@7.29.7(supports-color@8.1.1)': dependencies: '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.7 + '@babel/generator': 7.29.8 '@babel/helper-compilation-targets': 7.29.7 '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) '@babel/helpers': 7.29.7 - '@babel/parser': 7.29.7 + '@babel/parser': 7.29.8 '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - '@babel/types': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 debug: 4.4.3(supports-color@8.1.1) @@ -14098,72 +13606,26 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.29.1': - dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - - '@babel/generator@7.29.7': + '@babel/generator@7.29.8': dependencies: - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - '@babel/helper-annotate-as-pure@7.27.3': - dependencies: - '@babel/types': 7.29.0 - '@babel/helper-annotate-as-pure@7.29.7': dependencies: - '@babel/types': 7.29.7 - - '@babel/helper-compilation-targets@7.28.6': - dependencies: - '@babel/compat-data': 7.29.3 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.2 - lru-cache: 5.1.1 - semver: 6.3.1 + '@babel/types': 7.29.8 '@babel/helper-compilation-targets@7.29.7': dependencies: '@babel/compat-data': 7.29.7 '@babel/helper-validator-option': 7.29.7 - browserslist: 4.28.2 + browserslist: 4.28.7 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.29.3(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-class-features-plugin@7.29.3(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.0) - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -14172,32 +13634,11 @@ snapshots: '@babel/helper-optimise-call-expression': 7.29.7 '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.4.0 - semver: 6.3.1 - - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.4.0 - semver: 6.3.1 - - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.29.7(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.4.0 - semver: 6.3.1 - '@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -14205,33 +13646,11 @@ snapshots: regexpu-core: 6.4.0 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - debug: 4.4.3(supports-color@8.1.1) - lodash.debounce: 4.0.8 - resolve: 1.22.12 - transitivePeerDependencies: - - supports-color - - '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - debug: 4.4.3(supports-color@8.1.1) - lodash.debounce: 4.0.8 - resolve: 1.22.12 - transitivePeerDependencies: - - supports-color - '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 debug: 4.4.3(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.12 @@ -14241,70 +13660,27 @@ snapshots: '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 debug: 4.4.3(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.12 transitivePeerDependencies: - supports-color - '@babel/helper-globals@7.28.0': {} - '@babel/helper-globals@7.29.7': {} - '@babel/helper-member-expression-to-functions@7.28.5': - dependencies: - '@babel/traverse': 7.29.7(supports-color@8.1.1) - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - '@babel/helper-member-expression-to-functions@7.29.7': dependencies: - '@babel/traverse': 7.29.7(supports-color@8.1.1) - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.28.6': - dependencies: - '@babel/traverse': 7.29.7(supports-color@8.1.1) - '@babel/types': 7.29.0 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.29.7': dependencies: - '@babel/traverse': 7.29.7(supports-color@8.1.1) - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.7(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color @@ -14313,64 +13689,22 @@ snapshots: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-module-imports': 7.29.7 '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/helper-optimise-call-expression@7.27.1': - dependencies: - '@babel/types': 7.29.0 - '@babel/helper-optimise-call-expression@7.29.7': dependencies: - '@babel/types': 7.29.7 - - '@babel/helper-plugin-utils@7.28.6': {} + '@babel/types': 7.29.8 '@babel/helper-plugin-utils@7.29.7': {} - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-wrap-function': 7.28.6 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-wrap-function': 7.28.6 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - '@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-annotate-as-pure': 7.29.7 '@babel/helper-wrap-function': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -14379,140 +13713,58 @@ snapshots: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-member-expression-to-functions': 7.29.7 '@babel/helper-optimise-call-expression': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': - dependencies: - '@babel/traverse': 7.29.7(supports-color@8.1.1) - '@babel/types': 7.29.0 + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.29.7': dependencies: - '@babel/traverse': 7.29.7(supports-color@8.1.1) - '@babel/types': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-string-parser@7.29.7': {} - '@babel/helper-validator-identifier@7.28.5': {} - '@babel/helper-validator-identifier@7.29.7': {} - '@babel/helper-validator-option@7.27.1': {} - '@babel/helper-validator-option@7.29.7': {} - '@babel/helper-wrap-function@7.28.6': - dependencies: - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - '@babel/helper-wrap-function@7.29.7': dependencies: '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - '@babel/types': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color - '@babel/helpers@7.29.2': - dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - '@babel/helpers@7.29.7': dependencies: '@babel/template': 7.29.7 - '@babel/types': 7.29.7 - - '@babel/parser@7.29.3': - dependencies: - '@babel/types': 7.29.0 - - '@babel/parser@7.29.7': - dependencies: - '@babel/types': 7.29.7 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color + '@babel/types': 7.29.8 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.0)': + '@babel/parser@7.29.8': dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color + '@babel/types': 7.29.8 '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.3(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.3(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -14521,24 +13773,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.28.0) - transitivePeerDependencies: - - supports-color - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -14548,97 +13782,48 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7(supports-color@8.1.1))': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.7(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -14647,27 +13832,12 @@ snapshots: '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.7(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': dependencies: @@ -14677,138 +13847,65 @@ snapshots: '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.7(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7(supports-color@8.1.1))': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.7(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-transform-arrow-functions@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-async-generator-functions@7.29.0(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-generator-functions@7.29.0(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.0) - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.0) + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -14821,52 +13918,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-block-scoped-functions@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -14875,22 +13936,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -14899,30 +13944,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-globals': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-globals': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.0) - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-classes@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -14931,134 +13952,46 @@ snapshots: '@babel/helper-globals': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) - '@babel/traverse': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/template': 7.28.6 - - '@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/template': 7.28.6 - '@babel/plugin-transform-computed-properties@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 '@babel/template': 7.29.7 - '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-dotall-regex@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-duplicate-keys@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-dynamic-import@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-explicit-resource-management@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.0(supports-color@8.1.1)) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-explicit-resource-management@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.0) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-explicit-resource-management@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -15067,52 +14000,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-exponentiation-operator@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-for-of@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -15121,109 +14018,35 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-function-name@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-compilation-targets': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-json-strings@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-literals@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-member-expression-literals@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-modules-amd@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -15232,22 +14055,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -15256,49 +14063,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.29.4(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.29.4(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.29.4(@babel/core@7.29.7(supports-color@8.1.1))': + '@babel/plugin-transform-modules-systemjs@7.29.4(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.7(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -15310,90 +14081,26 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.29.0(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-named-capturing-groups-regex@7.29.0(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-new-target@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-numeric-separator@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.0) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.29.7)': dependencies: @@ -15402,23 +14109,7 @@ snapshots: '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) - '@babel/traverse': 7.29.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.0) + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -15430,37 +14121,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -15469,37 +14134,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-parameters@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -15508,24 +14147,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -15535,60 +14156,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-property-literals@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-react-constant-elements@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-react-constant-elements@7.27.1(@babel/core@7.28.0)': + '@babel/plugin-transform-react-constant-elements@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-transform-react-display-name@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.28.0) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-react-jsx-development@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -15596,28 +14178,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-react-jsx@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.28.0) - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-react-jsx@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -15625,71 +14185,27 @@ snapshots: '@babel/helper-module-imports': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/types': 7.29.7 + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-react-pure-annotations@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-annotate-as-pure': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-regenerator@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -15719,38 +14235,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-shorthand-properties@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-spread@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-spread@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-spread@7.29.7(@babel/core@7.29.7)': + '@babel/plugin-transform-spread@7.29.8(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 @@ -15758,73 +14248,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-sticky-regex@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-template-literals@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-typeof-symbol@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.28.0) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -15836,229 +14274,29 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-escapes@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-property-regex@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-sets-regex@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) '@babel/helper-plugin-utils': 7.29.7 - '@babel/preset-env@7.29.5(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/compat-data': 7.29.3 - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.3(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-async-generator-functions': 7.29.0(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-dotall-regex': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.0(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-explicit-resource-management': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-exponentiation-operator': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-json-strings': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-modules-systemjs': 7.29.4(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-regenerator': 7.29.0(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-regexp-modifiers': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-unicode-property-regex': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.0(supports-color@8.1.1)) - babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.28.0(supports-color@8.1.1)) - babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.28.0(supports-color@8.1.1)) - babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.28.0(supports-color@8.1.1)) - core-js-compat: 3.49.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-env@7.29.5(@babel/core@7.28.0)': - dependencies: - '@babel/compat-data': 7.29.3 - '@babel/core': 7.28.0 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.0) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.3(@babel/core@7.28.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0) - '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.0) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-async-generator-functions': 7.29.0(@babel/core@7.28.0) - '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.0) - '@babel/plugin-transform-dotall-regex': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.0(@babel/core@7.28.0) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-explicit-resource-management': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-exponentiation-operator': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-json-strings': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-modules-systemjs': 7.29.4(@babel/core@7.28.0) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.28.0) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) - '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-regenerator': 7.29.0(@babel/core@7.28.0) - '@babel/plugin-transform-regexp-modifiers': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-unicode-property-regex': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.28.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.0) - babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.28.0) - babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.28.0) - babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.28.0) - core-js-compat: 3.49.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/preset-env@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: '@babel/compat-data': 7.29.7 @@ -16072,10 +14310,10 @@ snapshots: '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.7(@babel/core@7.29.7) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.29.7(@babel/core@7.29.7) '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7) '@babel/plugin-syntax-import-assertions': 7.29.7(@babel/core@7.29.7) '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7) '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7) @@ -16101,7 +14339,7 @@ snapshots: '@babel/plugin-transform-member-expression-literals': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-modules-amd': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-systemjs': 7.29.4(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-modules-systemjs': 7.29.4(@babel/core@7.29.7) '@babel/plugin-transform-modules-umd': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-new-target': 7.29.7(@babel/core@7.29.7) @@ -16119,7 +14357,7 @@ snapshots: '@babel/plugin-transform-regexp-modifiers': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-reserved-words': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-spread': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-spread': 7.29.8(@babel/core@7.29.7) '@babel/plugin-transform-sticky-regex': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-typeof-symbol': 7.29.7(@babel/core@7.29.7) @@ -16127,11 +14365,11 @@ snapshots: '@babel/plugin-transform-unicode-property-regex': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-unicode-sets-regex': 7.29.7(@babel/core@7.29.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7) babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.7(supports-color@8.1.1)) babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7(supports-color@8.1.1)) - core-js-compat: 3.49.0 + core-js-compat: 3.50.0 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -16149,10 +14387,10 @@ snapshots: '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.7(@babel/core@7.29.7) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.29.7(@babel/core@7.29.7) '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7) '@babel/plugin-syntax-import-assertions': 7.29.7(@babel/core@7.29.7) '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7) '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7) @@ -16178,7 +14416,7 @@ snapshots: '@babel/plugin-transform-member-expression-literals': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-modules-amd': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-systemjs': 7.29.4(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-modules-systemjs': 7.29.4(@babel/core@7.29.7) '@babel/plugin-transform-modules-umd': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-new-target': 7.29.7(@babel/core@7.29.7) @@ -16196,7 +14434,7 @@ snapshots: '@babel/plugin-transform-regexp-modifiers': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-reserved-words': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-spread': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-spread': 7.29.8(@babel/core@7.29.7) '@babel/plugin-transform-sticky-regex': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-typeof-symbol': 7.29.7(@babel/core@7.29.7) @@ -16204,60 +14442,22 @@ snapshots: '@babel/plugin-transform-unicode-property-regex': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-unicode-sets-regex': 7.29.7(@babel/core@7.29.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7) babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7) babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.7) babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7) - core-js-compat: 3.49.0 + core-js-compat: 3.50.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/types': 7.29.0 - esutils: 2.0.3 - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/types': 7.29.0 - esutils: 2.0.3 - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7(supports-color@8.1.1))': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/types': 7.29.0 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/types': 7.29.8 esutils: 2.0.3 - '@babel/preset-react@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - transitivePeerDependencies: - - supports-color - - '@babel/preset-react@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.0) - '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.0) - transitivePeerDependencies: - - supports-color - '@babel/preset-react@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -16270,28 +14470,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.27.1(@babel/core@7.28.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0(supports-color@8.1.1)) - transitivePeerDependencies: - - supports-color - - '@babel/preset-typescript@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.28.0) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0) - transitivePeerDependencies: - - supports-color - '@babel/preset-typescript@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -16310,54 +14488,29 @@ snapshots: '@babel/runtime-corejs3@7.29.2': dependencies: - core-js-pure: 3.49.0 - - '@babel/runtime@7.29.2': {} + core-js-pure: 3.50.0 '@babel/runtime@7.29.7': {} - '@babel/template@7.28.6': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 - '@babel/template@7.29.7': dependencies: '@babel/code-frame': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 - '@babel/traverse@7.29.0': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.7 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.3 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - debug: 4.4.3(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/traverse@7.29.7(supports-color@8.1.1)': + '@babel/traverse@7.29.8(supports-color@8.1.1)': dependencies: '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.7 + '@babel/generator': 7.29.8 '@babel/helper-globals': 7.29.7 - '@babel/parser': 7.29.7 + '@babel/parser': 7.29.8 '@babel/template': 7.29.7 - '@babel/types': 7.29.7 + '@babel/types': 7.29.8 debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/types@7.29.0': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - - '@babel/types@7.29.7': + '@babel/types@7.29.8': dependencies: '@babel/helper-string-parser': 7.29.7 '@babel/helper-validator-identifier': 7.29.7 @@ -16367,21 +14520,21 @@ snapshots: '@colors/colors@1.5.0': optional: true - '@cornerstonejs/adapters@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3))': + '@cornerstonejs/adapters@5.6.8(patch_hash=307cedf0b60b2ecc0ccfa6de3588e323fc8e8ed47d83aa44a6448c752e1d8a4e)(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3))': dependencies: '@babel/runtime-corejs2': 7.26.10 - '@cornerstonejs/core': 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) - '@cornerstonejs/tools': 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) + '@cornerstonejs/core': 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) + '@cornerstonejs/tools': 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) buffer: 6.0.3 dcmjs: 0.52.0 gl-matrix: 3.4.3 ndarray: 1.0.19 - '@cornerstonejs/ai@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3))': + '@cornerstonejs/ai@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3))': dependencies: '@babel/runtime-corejs2': 7.26.10 - '@cornerstonejs/core': 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) - '@cornerstonejs/tools': 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) + '@cornerstonejs/core': 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) + '@cornerstonejs/tools': 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) buffer: 6.0.3 dcmjs: 0.52.0 gl-matrix: 3.4.3 @@ -16402,11 +14555,11 @@ snapshots: '@cornerstonejs/codec-openjph@2.4.7': {} - '@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0)': + '@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0)': dependencies: '@cornerstonejs/metadata': 5.6.8 '@cornerstonejs/utils': 5.6.8 - '@kitware/vtk.js': 36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + '@kitware/vtk.js': 36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) comlink: 4.4.2 gl-matrix: 3.4.3 loglevel: 1.9.2 @@ -16414,13 +14567,13 @@ snapshots: - autoprefixer - wslink - '@cornerstonejs/dicom-image-loader@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/metadata@5.6.8)(dicom-parser@1.8.21)': + '@cornerstonejs/dicom-image-loader@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/metadata@5.6.8)(dicom-parser@1.8.21)': dependencies: '@cornerstonejs/codec-charls': 1.2.3 '@cornerstonejs/codec-libjpeg-turbo-8bit': 1.2.2 '@cornerstonejs/codec-openjpeg': 1.3.0 '@cornerstonejs/codec-openjph': 2.4.7 - '@cornerstonejs/core': 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + '@cornerstonejs/core': 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@cornerstonejs/metadata': 5.6.8 comlink: 4.4.2 dicom-parser: 1.8.21 @@ -16428,12 +14581,12 @@ snapshots: pako: 2.1.0 uuid: 9.0.1 - '@cornerstonejs/labelmap-interpolation@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))': + '@cornerstonejs/labelmap-interpolation@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))': dependencies: - '@cornerstonejs/core': 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) - '@cornerstonejs/tools': 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) + '@cornerstonejs/core': 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) + '@cornerstonejs/tools': 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) '@itk-wasm/morphological-contour-interpolation': 1.1.0 - '@kitware/vtk.js': 36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + '@kitware/vtk.js': 36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) itk-wasm: 1.0.0-b.165 transitivePeerDependencies: - debug @@ -16446,17 +14599,17 @@ snapshots: dcmjs: 0.52.0 gl-matrix: 3.4.3 - '@cornerstonejs/polymorphic-segmentation@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))': + '@cornerstonejs/polymorphic-segmentation@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))': dependencies: - '@cornerstonejs/core': 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) - '@cornerstonejs/tools': 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) + '@cornerstonejs/core': 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) + '@cornerstonejs/tools': 5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3) '@icr/polyseg-wasm': 0.4.0 - '@kitware/vtk.js': 36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + '@kitware/vtk.js': 36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) - '@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)': + '@cornerstonejs/tools@5.6.8(@cornerstonejs/core@5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0))(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)': dependencies: - '@cornerstonejs/core': 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) - '@kitware/vtk.js': 36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0) + '@cornerstonejs/core': 5.6.8(@cornerstonejs/metadata@5.6.8)(@cornerstonejs/utils@5.6.8)(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) + '@kitware/vtk.js': 36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0) '@types/d3-array': 3.2.1 '@types/d3-interpolate': 3.0.4 '@types/offscreencanvas': 2019.7.3 @@ -16505,436 +14658,362 @@ snapshots: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-alpha-function@1.0.1(postcss@8.5.6)': + '@csstools/postcss-alpha-function@1.0.1(postcss@8.5.22)': dependencies: '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-cascade-layers@1.1.1(postcss@8.5.14)': - dependencies: - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2) - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - '@csstools/postcss-cascade-layers@1.1.1(postcss@8.5.6)': + '@csstools/postcss-cascade-layers@1.1.1(postcss@8.5.22)': dependencies: - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2) - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.4) + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.6)': + '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.22)': dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.4) + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 - '@csstools/postcss-color-function-display-p3-linear@1.0.1(postcss@8.5.6)': + '@csstools/postcss-color-function-display-p3-linear@1.0.1(postcss@8.5.22)': dependencies: '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-color-function@1.1.1(postcss@8.5.14)': - dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-value-parser: 4.2.0 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - '@csstools/postcss-color-function@1.1.1(postcss@8.5.6)': + '@csstools/postcss-color-function@1.1.1(postcss@8.5.22)': dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-color-function@4.0.12(postcss@8.5.6)': + '@csstools/postcss-color-function@4.0.12(postcss@8.5.22)': dependencies: '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - '@csstools/postcss-color-mix-function@3.0.12(postcss@8.5.6)': + '@csstools/postcss-color-mix-function@3.0.12(postcss@8.5.22)': dependencies: '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2(postcss@8.5.6)': + '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2(postcss@8.5.22)': dependencies: '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - '@csstools/postcss-content-alt-text@2.0.8(postcss@8.5.6)': + '@csstools/postcss-content-alt-text@2.0.8(postcss@8.5.22)': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - '@csstools/postcss-contrast-color-function@2.0.12(postcss@8.5.6)': + '@csstools/postcss-contrast-color-function@2.0.12(postcss@8.5.22)': dependencies: '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - '@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.6)': + '@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.22)': dependencies: '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 + postcss: 8.5.22 - '@csstools/postcss-font-format-keywords@1.0.1(postcss@8.5.14)': + '@csstools/postcss-font-format-keywords@1.0.1(postcss@8.5.22)': dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-font-format-keywords@1.0.1(postcss@8.5.6)': + '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.6)': - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-gamut-mapping@2.0.11(postcss@8.5.6)': + '@csstools/postcss-gamut-mapping@2.0.11(postcss@8.5.22)': dependencies: '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 + postcss: 8.5.22 - '@csstools/postcss-gradients-interpolation-method@5.0.12(postcss@8.5.6)': + '@csstools/postcss-gradients-interpolation-method@5.0.12(postcss@8.5.22)': dependencies: '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-hwb-function@1.0.2(postcss@8.5.14)': - dependencies: - postcss: 8.5.14 - postcss-value-parser: 4.2.0 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - '@csstools/postcss-hwb-function@1.0.2(postcss@8.5.6)': + '@csstools/postcss-hwb-function@1.0.2(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-hwb-function@4.0.12(postcss@8.5.6)': + '@csstools/postcss-hwb-function@4.0.12(postcss@8.5.22)': dependencies: '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-ic-unit@1.0.1(postcss@8.5.14)': - dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-value-parser: 4.2.0 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - '@csstools/postcss-ic-unit@1.0.1(postcss@8.5.6)': + '@csstools/postcss-ic-unit@1.0.1(postcss@8.5.22)': dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-ic-unit@4.0.4(postcss@8.5.6)': + '@csstools/postcss-ic-unit@4.0.4(postcss@8.5.22)': dependencies: - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-initial@2.0.1(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.5.14)': + '@csstools/postcss-initial@2.0.1(postcss@8.5.22)': dependencies: - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2) - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 - '@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.5.6)': + '@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.5.22)': dependencies: - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2) - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.4) + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.6)': + '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.22)': dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.4) + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 - '@csstools/postcss-light-dark-function@2.0.11(postcss@8.5.6)': + '@csstools/postcss-light-dark-function@2.0.11(postcss@8.5.22)': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.6)': + '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + postcss: 8.5.22 - '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.6)': + '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + postcss: 8.5.22 - '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.6)': + '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + postcss: 8.5.22 - '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.6)': + '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.6)': + '@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.22)': dependencies: '@csstools/css-tokenizer': 3.0.4 - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - '@csstools/postcss-media-minmax@2.0.9(postcss@8.5.6)': + '@csstools/postcss-media-minmax@2.0.9(postcss@8.5.22)': dependencies: '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.6 + postcss: 8.5.22 - '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.6)': + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.22)': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.6 - - '@csstools/postcss-nested-calc@1.0.0(postcss@8.5.14)': - dependencies: - postcss: 8.5.14 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-nested-calc@1.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.6)': - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + postcss: 8.5.22 - '@csstools/postcss-normalize-display-values@1.0.1(postcss@8.5.14)': + '@csstools/postcss-nested-calc@1.0.0(postcss@8.5.22)': dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-normalize-display-values@1.0.1(postcss@8.5.6)': + '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-normalize-display-values@4.0.1(postcss@8.5.6)': + '@csstools/postcss-normalize-display-values@1.0.1(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-oklab-function@1.1.1(postcss@8.5.14)': + '@csstools/postcss-normalize-display-values@4.0.1(postcss@8.5.22)': dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.14) - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-oklab-function@1.1.1(postcss@8.5.6)': + '@csstools/postcss-oklab-function@1.1.1(postcss@8.5.22)': dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-oklab-function@4.0.12(postcss@8.5.6)': + '@csstools/postcss-oklab-function@4.0.12(postcss@8.5.22)': dependencies: '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - '@csstools/postcss-position-area-property@1.0.0(postcss@8.5.6)': + '@csstools/postcss-position-area-property@1.0.0(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + postcss: 8.5.22 - '@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.5.14)': + '@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.5.22)': dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.5.6)': + '@csstools/postcss-progressive-custom-properties@4.2.1(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-progressive-custom-properties@4.2.1(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-property-rule-prelude-list@1.0.0(postcss@8.5.6)': + '@csstools/postcss-property-rule-prelude-list@1.0.0(postcss@8.5.22)': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 + postcss: 8.5.22 - '@csstools/postcss-random-function@2.0.1(postcss@8.5.6)': + '@csstools/postcss-random-function@2.0.1(postcss@8.5.22)': dependencies: '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 + postcss: 8.5.22 - '@csstools/postcss-relative-color-syntax@3.0.12(postcss@8.5.6)': + '@csstools/postcss-relative-color-syntax@3.0.12(postcss@8.5.22)': dependencies: '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.6)': + '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.22)': dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 - '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.6)': + '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.22)': dependencies: '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.5.14)': - dependencies: - postcss: 8.5.14 - postcss-value-parser: 4.2.0 + postcss: 8.5.22 - '@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.5.6)': + '@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.6)': + '@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.22)': dependencies: '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 + postcss: 8.5.22 - '@csstools/postcss-syntax-descriptor-syntax-production@1.0.1(postcss@8.5.6)': + '@csstools/postcss-syntax-descriptor-syntax-production@1.0.1(postcss@8.5.22)': dependencies: '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 + postcss: 8.5.22 - '@csstools/postcss-system-ui-font-family@1.0.0(postcss@8.5.6)': + '@csstools/postcss-system-ui-font-family@1.0.0(postcss@8.5.22)': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-text-decoration-shorthand@1.0.0(postcss@8.5.14)': - dependencies: - postcss: 8.5.14 - postcss-value-parser: 4.2.0 + postcss: 8.5.22 - '@csstools/postcss-text-decoration-shorthand@1.0.0(postcss@8.5.6)': + '@csstools/postcss-text-decoration-shorthand@1.0.0(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-text-decoration-shorthand@4.0.3(postcss@8.5.6)': + '@csstools/postcss-text-decoration-shorthand@4.0.3(postcss@8.5.22)': dependencies: '@csstools/color-helpers': 5.1.0 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-trigonometric-functions@1.0.2(postcss@8.5.14)': - dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-trigonometric-functions@1.0.2(postcss@8.5.6)': + '@csstools/postcss-trigonometric-functions@1.0.2(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - '@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.6)': + '@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.22)': dependencies: '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 + postcss: 8.5.22 - '@csstools/postcss-unset-value@1.0.2(postcss@8.5.14)': + '@csstools/postcss-unset-value@1.0.2(postcss@8.5.22)': dependencies: - postcss: 8.5.14 + postcss: 8.5.22 - '@csstools/postcss-unset-value@1.0.2(postcss@8.5.6)': + '@csstools/postcss-unset-value@4.0.0(postcss@8.5.22)': dependencies: - postcss: 8.5.6 + postcss: 8.5.22 - '@csstools/postcss-unset-value@4.0.0(postcss@8.5.6)': + '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.4)': dependencies: - postcss: 8.5.6 + postcss-selector-parser: 7.1.4 - '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.1)': + '@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.1.4)': dependencies: - postcss-selector-parser: 7.1.1 + postcss-selector-parser: 6.1.4 - '@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.1.2)': + '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.4)': dependencies: - postcss-selector-parser: 6.1.2 + postcss-selector-parser: 7.1.4 - '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.1)': + '@csstools/utilities@2.0.0(postcss@8.5.22)': dependencies: - postcss-selector-parser: 7.1.1 - - '@csstools/utilities@2.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 + postcss: 8.5.22 '@cypress/request@3.0.10': dependencies: @@ -16968,14 +15047,19 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@docsearch/css@3.9.0': {} + '@docsearch/core@4.7.0(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + optionalDependencies: + '@types/react': 18.3.23 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@docsearch/css@4.7.0': {} - '@docsearch/react@3.9.0(@algolia/client-search@5.49.1)(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)': + '@docsearch/react@4.7.0(@algolia/client-search@5.56.0)(@types/react@18.3.23)(algoliasearch@5.56.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.49.1)(algoliasearch@5.49.1) - '@docsearch/css': 3.9.0 - algoliasearch: 5.49.1 + '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3) + '@docsearch/core': 4.7.0(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docsearch/css': 4.7.0 optionalDependencies: '@types/react': 18.3.23 react: 18.3.1 @@ -16983,65 +15067,77 @@ snapshots: search-insights: 2.17.3 transitivePeerDependencies: - '@algolia/client-search' + - algoliasearch - '@docusaurus/babel@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/babel@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/generator': 7.29.7 + '@babel/generator': 7.29.8 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7) '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) '@babel/preset-env': 7.29.7(@babel/core@7.29.7) '@babel/preset-react': 7.29.7(@babel/core@7.29.7) '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) '@babel/runtime': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) '@docusaurus/logger': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) babel-plugin-dynamic-import-node: 2.3.3 - fs-extra: 11.3.3 + fs-extra: 11.4.0 tslib: 2.8.1 transitivePeerDependencies: + - '@minify-html/node' - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso - esbuild + - html-minifier-terser + - lightningcss + - postcss - react - react-dom - supports-color - uglify-js - webpack-cli - '@docusaurus/bundler@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/bundler@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@docusaurus/babel': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/babel': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/cssnano-preset': 3.10.1 '@docusaurus/logger': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - babel-loader: 9.2.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + babel-loader: 9.2.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) clean-css: 5.3.3 - copy-webpack-plugin: 11.0.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) - css-loader: 6.11.0(@rspack/core@1.7.11(@swc/helpers@0.5.21))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) - cssnano: 6.1.2(postcss@8.5.6) - file-loader: 6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + copy-webpack-plugin: 11.0.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) + css-loader: 6.11.0(@rspack/core@1.7.12(@swc/helpers@0.5.23))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) + cssnano: 6.1.2(postcss@8.5.22) + file-loader: 6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) html-minifier-terser: 7.2.0 - mini-css-extract-plugin: 2.9.2(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) - null-loader: 4.0.1(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) - postcss: 8.5.6 - postcss-loader: 7.3.4(postcss@8.5.6)(typescript@5.5.4)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) - postcss-preset-env: 10.6.1(postcss@8.5.6) - terser-webpack-plugin: 5.3.16(@swc/core@1.15.13(@swc/helpers@0.5.21))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + mini-css-extract-plugin: 2.9.2(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) + null-loader: 4.0.1(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) + postcss: 8.5.22 + postcss-loader: 7.3.4(postcss@8.5.22)(typescript@5.5.4)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) + postcss-preset-env: 10.6.1(postcss@8.5.22) + terser-webpack-plugin: 5.6.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) tslib: 2.8.1 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) - webpackbar: 7.0.0(@rspack/core@1.7.11(@swc/helpers@0.5.21))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) + webpackbar: 7.0.0(@rspack/core@1.7.12(@swc/helpers@0.5.23))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) optionalDependencies: - '@docusaurus/faster': 3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21) + '@docusaurus/faster': 3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22) transitivePeerDependencies: + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - csso - esbuild - lightningcss @@ -17052,15 +15148,15 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/babel': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/bundler': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/babel': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/bundler': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.10.1 - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mdx-js/react': 3.0.1(@types/react@18.3.23)(react@18.3.1) boxen: 6.2.1 chalk: 4.1.2 @@ -17074,9 +15170,9 @@ snapshots: eta: 2.2.0 eval: 0.1.8 execa: 5.1.1 - fs-extra: 11.3.3 + fs-extra: 11.4.0 html-tags: 3.3.1 - html-webpack-plugin: 5.6.3(@rspack/core@1.7.11(@swc/helpers@0.5.21))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + html-webpack-plugin: 5.6.8(@rspack/core@1.7.12(@swc/helpers@0.5.23))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) leven: 3.1.0 lodash: 4.18.1 open: 8.4.2 @@ -17086,31 +15182,37 @@ snapshots: react-dom: 18.3.1(react@18.3.1) react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)' react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' - react-loadable-ssr-addon-v5-slorber: 1.0.3(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + react-loadable-ssr-addon-v5-slorber: 1.0.3(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) react-router: 5.3.4(react@18.3.1) react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) react-router-dom: 5.3.4(react@18.3.1) - semver: 7.8.0 + semver: 7.8.5 serve-handler: 6.1.7 tinypool: 1.1.1 tslib: 2.8.1 update-notifier: 6.0.2 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 5.2.5(tslib@2.8.1)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + webpack-dev-server: 5.2.6(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) webpack-merge: 6.0.1 optionalDependencies: - '@docusaurus/faster': 3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21) + '@docusaurus/faster': 3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22) transitivePeerDependencies: + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js @@ -17119,26 +15221,33 @@ snapshots: '@docusaurus/cssnano-preset@3.10.1': dependencies: - cssnano-preset-advanced: 6.1.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-sort-media-queries: 5.2.0(postcss@8.5.6) + cssnano-preset-advanced: 6.1.2(postcss@8.5.22) + postcss: 8.5.22 + postcss-sort-media-queries: 5.2.0(postcss@8.5.22) tslib: 2.8.1 - '@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21)': + '@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22)': dependencies: - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@rspack/core': 1.7.11(@swc/helpers@0.5.21) - '@swc/core': 1.15.13(@swc/helpers@0.5.21) - '@swc/html': 1.15.13 - browserslist: 4.28.2 - lightningcss: 1.31.1 - semver: 7.8.0 - swc-loader: 0.2.7(@swc/core@1.15.13(@swc/helpers@0.5.21))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@rspack/core': 1.7.12(@swc/helpers@0.5.23) + '@swc/core': 1.15.47(@swc/helpers@0.5.23) + '@swc/html': 1.15.47 + browserslist: 4.28.7 + lightningcss: 1.33.0 + semver: 7.8.5 + swc-loader: 0.2.7(@swc/core@1.15.47(@swc/helpers@0.5.23))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) tslib: 2.8.1 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.22) transitivePeerDependencies: + - '@minify-html/node' + - '@swc/css' - '@swc/helpers' + - clean-css + - cssnano + - csso - esbuild + - html-minifier-terser + - postcss - uglify-js - webpack-cli @@ -17147,27 +15256,28 @@ snapshots: chalk: 4.1.2 tslib: 2.8.1 - '@docusaurus/lqip-loader@3.10.1(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)))': + '@docusaurus/lqip-loader@3.10.1(@types/node@20.19.9)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22))': dependencies: '@docusaurus/logger': 3.10.1 - file-loader: 6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + file-loader: 6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) lodash: 4.18.1 - sharp: 0.34.5 + sharp: 0.35.3(@types/node@20.19.9) tslib: 2.8.1 transitivePeerDependencies: + - '@types/node' - webpack - '@docusaurus/mdx-loader@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/mdx-loader@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@docusaurus/logger': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mdx-js/mdx': 3.1.1 '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 estree-util-value-to-estree: 3.5.0 - file-loader: 6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) - fs-extra: 11.3.3 + file-loader: 6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) + fs-extra: 11.4.0 image-size: 2.0.2 mdast-util-mdx: 3.0.0 mdast-util-to-string: 4.0.0 @@ -17182,19 +15292,28 @@ snapshots: tslib: 2.8.1 unified: 11.0.5 unist-util-visit: 5.1.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) vfile: 6.0.3 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) transitivePeerDependencies: + - '@minify-html/node' - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso - esbuild + - html-minifier-terser + - lightningcss + - postcss - supports-color - uglify-js - webpack-cli - '@docusaurus/module-type-aliases@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/module-type-aliases@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/history': 4.7.11 '@types/react': 18.3.23 '@types/react-router-config': 5.0.11 @@ -17204,21 +15323,30 @@ snapshots: react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)' react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' transitivePeerDependencies: + - '@minify-html/node' - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso - esbuild + - html-minifier-terser + - lightningcss + - postcss - supports-color - uglify-js - webpack-cli - '@docusaurus/plugin-client-redirects@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-client-redirects@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) eta: 2.2.0 - fs-extra: 11.3.3 + fs-extra: 11.4.0 lodash: 4.18.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -17226,36 +15354,42 @@ snapshots: transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js - utf-8-validate - webpack-cli - '@docusaurus/plugin-content-blog@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-content-blog@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.10.1 - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) cheerio: 1.0.0-rc.12 combine-promises: 1.2.0 feed: 4.2.2 - fs-extra: 11.3.3 + fs-extra: 11.4.0 lodash: 4.18.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -17264,39 +15398,45 @@ snapshots: tslib: 2.8.1 unist-util-visit: 5.1.0 utility-types: 3.11.0 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js - utf-8-validate - webpack-cli - '@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.10.1 - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 - fs-extra: 11.3.3 + fs-extra: 11.4.0 js-yaml: 4.3.0 lodash: 4.18.1 react: 18.3.1 @@ -17304,74 +15444,92 @@ snapshots: schema-dts: 1.1.5 tslib: 2.8.1 utility-types: 3.11.0 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js - utf-8-validate - webpack-cli - '@docusaurus/plugin-content-pages@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-content-pages@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - fs-extra: 11.3.3 + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + fs-extra: 11.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.8.1 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js - utf-8-validate - webpack-cli - '@docusaurus/plugin-css-cascade-layers@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-css-cascade-layers@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tslib: 2.8.1 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - react - react-dom - supports-color @@ -17380,12 +15538,12 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-debug@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-debug@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - fs-extra: 11.3.3 + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + fs-extra: 11.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-json-view-lite: 2.5.0(react@18.3.1) @@ -17393,52 +15551,64 @@ snapshots: transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js - utf-8-validate - webpack-cli - '@docusaurus/plugin-google-analytics@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-google-analytics@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.8.1 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js - utf-8-validate - webpack-cli - '@docusaurus/plugin-google-gtag@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-google-gtag@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/gtag.js': 0.0.20 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -17446,215 +15616,258 @@ snapshots: transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js - utf-8-validate - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-google-tag-manager@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.8.1 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js - utf-8-validate - webpack-cli - '@docusaurus/plugin-ideal-image@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-ideal-image@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/lqip-loader': 3.10.1(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) - '@docusaurus/responsive-loader': 1.7.1(sharp@0.34.5) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/lqip-loader': 3.10.1(@types/node@20.19.9)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) + '@docusaurus/responsive-loader': 1.7.1(sharp@0.35.3(@types/node@20.19.9)) '@docusaurus/theme-translations': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - sharp: 0.34.5 + sharp: 0.35.3(@types/node@20.19.9) tslib: 2.8.1 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' + - '@types/node' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js - utf-8-validate - webpack-cli - '@docusaurus/plugin-pwa@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/babel__core@7.20.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-pwa@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/babel__core@7.20.5)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/preset-env': 7.29.7(@babel/core@7.29.7) - '@docusaurus/bundler': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/bundler': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.10.1 - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/theme-translations': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - babel-loader: 9.2.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + babel-loader: 9.2.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) clsx: 2.1.1 core-js: 3.45.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.8.1 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) webpack-merge: 5.10.0 - workbox-build: 7.4.0(@types/babel__core@7.20.5) - workbox-precaching: 7.4.0 - workbox-window: 7.4.0 + workbox-build: 7.4.1(@types/babel__core@7.20.5) + workbox-precaching: 7.4.1 + workbox-window: 7.4.1 transitivePeerDependencies: - '@docusaurus/faster' - '@docusaurus/plugin-content-docs' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - '@types/babel__core' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js - utf-8-validate - webpack-cli - '@docusaurus/plugin-sitemap@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-sitemap@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - fs-extra: 11.3.3 + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + fs-extra: 11.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - sitemap: 7.1.2 + sitemap: 7.1.3 tslib: 2.8.1 transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js - utf-8-validate - webpack-cli - '@docusaurus/plugin-svgr@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-svgr@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@svgr/core': 8.1.0(typescript@5.5.4) '@svgr/webpack': 8.1.0(typescript@5.5.4) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.8.1 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js - utf-8-validate - webpack-cli - '@docusaurus/preset-classic@3.10.1(@algolia/client-search@5.49.1)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.5.4)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-blog': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-pages': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-css-cascade-layers': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-debug': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-google-analytics': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-google-gtag': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-google-tag-manager': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-sitemap': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-svgr': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-classic': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/theme-search-algolia': 3.10.1(@algolia/client-search@5.49.1)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.5.4) - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/preset-classic@3.10.1(@algolia/client-search@5.56.0)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/react@18.3.23)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.5.4)': + dependencies: + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-blog': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-pages': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-css-cascade-layers': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-debug': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-google-analytics': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-google-gtag': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-google-tag-manager': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-sitemap': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-svgr': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-classic': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/theme-search-algolia': 3.10.1(@algolia/client-search@5.56.0)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/react@18.3.23)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.5.4) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - '@types/react' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - search-insights - supports-color - typescript @@ -17670,41 +15883,41 @@ snapshots: '@docusaurus/remark-plugin-npm2yarn@3.10.1': dependencies: mdast-util-mdx: 3.0.0 - npm-to-yarn: 3.0.1 + npm-to-yarn: 3.2.0 tslib: 2.8.1 unified: 11.0.5 unist-util-visit: 5.1.0 transitivePeerDependencies: - supports-color - '@docusaurus/responsive-loader@1.7.1(sharp@0.34.5)': + '@docusaurus/responsive-loader@1.7.1(sharp@0.35.3(@types/node@20.19.9))': dependencies: loader-utils: 2.0.4 optionalDependencies: - sharp: 0.34.5 + sharp: 0.35.3(@types/node@20.19.9) - '@docusaurus/theme-classic@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/theme-classic@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.10.1 - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-blog': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-pages': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-blog': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-pages': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/theme-translations': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mdx-js/react': 3.0.1(@types/react@18.3.23)(react@18.3.1) clsx: 2.1.1 copy-text-to-clipboard: 3.2.2 infima: 0.2.0-alpha.45 lodash: 4.18.1 nprogress: 0.2.0 - postcss: 8.5.6 + postcss: 8.5.22 prism-react-renderer: 2.4.1(react@18.3.1) prismjs: 1.30.0 react: 18.3.1 @@ -17715,15 +15928,20 @@ snapshots: utility-types: 3.11.0 transitivePeerDependencies: - '@docusaurus/faster' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - '@types/react' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss - supports-color - typescript @@ -17731,13 +15949,13 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/theme-common@3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/theme-common@3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/history': 4.7.11 '@types/react': 18.3.23 '@types/react-router-config': 5.0.11 @@ -17749,21 +15967,30 @@ snapshots: tslib: 2.8.1 utility-types: 3.11.0 transitivePeerDependencies: + - '@minify-html/node' - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso - esbuild + - html-minifier-terser + - lightningcss + - postcss - supports-color - uglify-js - webpack-cli - '@docusaurus/theme-live-codeblock@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/theme-live-codeblock@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/theme-translations': 3.10.1 - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@philpl/buble': 0.19.7 clsx: 2.1.1 - fs-extra: 11.3.3 + fs-extra: 11.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-live: 4.1.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -17772,37 +15999,43 @@ snapshots: - '@docusaurus/faster' - '@docusaurus/plugin-content-docs' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - supports-color - typescript - uglify-js - utf-8-validate - webpack-cli - '@docusaurus/theme-search-algolia@3.10.1(@algolia/client-search@5.49.1)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.5.4)': + '@docusaurus/theme-search-algolia@3.10.1(@algolia/client-search@5.56.0)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/react@18.3.23)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.5.4)': dependencies: - '@algolia/autocomplete-core': 1.19.8(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3) - '@docsearch/react': 3.9.0(@algolia/client-search@5.49.1)(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3) - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@algolia/autocomplete-core': 1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3) + '@docsearch/react': 4.7.0(@algolia/client-search@5.56.0)(@types/react@18.3.23)(algoliasearch@5.56.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3) + '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.10.1 - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/theme-translations': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - algoliasearch: 5.49.1 - algoliasearch-helper: 3.28.0(algoliasearch@5.49.1) + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + algoliasearch: 5.56.0 + algoliasearch-helper: 3.29.2(algoliasearch@5.56.0) clsx: 2.1.1 eta: 2.2.0 - fs-extra: 11.3.3 + fs-extra: 11.4.0 lodash: 4.18.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -17812,16 +16045,22 @@ snapshots: - '@algolia/client-search' - '@docusaurus/faster' - '@mdx-js/react' + - '@minify-html/node' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - '@swc/html' - '@types/react' - bufferutil + - clean-css + - cssnano - csso - debug - esbuild + - html-minifier-terser - lightningcss + - postcss - search-insights - supports-color - typescript @@ -17831,73 +16070,100 @@ snapshots: '@docusaurus/theme-translations@3.10.1': dependencies: - fs-extra: 11.3.3 + fs-extra: 11.4.0 tslib: 2.8.1 '@docusaurus/tsconfig@3.10.1': {} - '@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@mdx-js/mdx': 3.1.1 '@types/history': 4.7.11 '@types/mdast': 4.0.4 '@types/react': 18.3.23 commander: 8.3.0 - joi: 17.13.3 + joi: 17.13.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)' utility-types: 3.11.0 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) webpack-merge: 5.10.0 transitivePeerDependencies: + - '@minify-html/node' - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso - esbuild + - html-minifier-terser + - lightningcss + - postcss - supports-color - uglify-js - webpack-cli - '@docusaurus/utils-common@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/utils-common@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tslib: 2.8.1 transitivePeerDependencies: + - '@minify-html/node' - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso - esbuild + - html-minifier-terser + - lightningcss + - postcss - react - react-dom - supports-color - uglify-js - webpack-cli - '@docusaurus/utils-validation@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/utils-validation@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@docusaurus/logger': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - fs-extra: 11.3.3 - joi: 17.13.3 + '@docusaurus/utils': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + fs-extra: 11.4.0 + joi: 17.13.4 js-yaml: 4.3.0 lodash: 4.18.1 tslib: 2.8.1 transitivePeerDependencies: + - '@minify-html/node' - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso - esbuild + - html-minifier-terser + - lightningcss + - postcss - react - react-dom - supports-color - uglify-js - webpack-cli - '@docusaurus/utils@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/utils@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@docusaurus/logger': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) escape-string-regexp: 4.0.0 execa: 5.1.1 - file-loader: 6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) - fs-extra: 11.3.3 + file-loader: 6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) + fs-extra: 11.4.0 github-slugger: 1.5.0 globby: 11.1.0 gray-matter: 4.0.3 @@ -17909,37 +16175,46 @@ snapshots: prompts: 2.4.2 resolve-pathname: 3.0.0 tslib: 2.8.1 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) utility-types: 3.11.0 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) transitivePeerDependencies: + - '@minify-html/node' - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso - esbuild + - html-minifier-terser + - lightningcss + - postcss - react - react-dom - supports-color - uglify-js - webpack-cli - '@emnapi/core@1.10.0': + '@emnapi/core@1.11.3': dependencies: - '@emnapi/wasi-threads': 1.2.1 + '@emnapi/wasi-threads': 1.2.3 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.10.0': + '@emnapi/runtime@1.11.3': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.2.1': + '@emnapi/wasi-threads@1.2.3': dependencies: tslib: 2.8.1 optional: true '@emotion/babel-plugin@11.13.5': dependencies: - '@babel/helper-module-imports': 7.28.6 + '@babel/helper-module-imports': 7.29.7 '@babel/runtime': 7.29.7 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 @@ -17975,7 +16250,7 @@ snapshots: '@emotion/react@11.14.0(@types/react@18.3.23)(react@18.3.1)': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@emotion/babel-plugin': 11.13.5 '@emotion/cache': 11.14.0 '@emotion/serialize': 1.3.3 @@ -18009,22 +16284,22 @@ snapshots: '@emotion/weak-memoize@0.4.0': {} - '@floating-ui/core@1.7.4': + '@floating-ui/core@1.8.0': dependencies: - '@floating-ui/utils': 0.2.10 + '@floating-ui/utils': 0.2.12 - '@floating-ui/dom@1.7.5': + '@floating-ui/dom@1.8.0': dependencies: - '@floating-ui/core': 1.7.4 - '@floating-ui/utils': 0.2.10 + '@floating-ui/core': 1.8.0 + '@floating-ui/utils': 0.2.12 - '@floating-ui/react-dom@2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react-dom@2.1.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/dom': 1.7.5 + '@floating-ui/dom': 1.8.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@floating-ui/utils@0.2.10': {} + '@floating-ui/utils@0.2.12': {} '@hapi/hoek@9.3.0': {} @@ -18040,125 +16315,140 @@ snapshots: '@img/colour@1.1.0': {} - '@img/sharp-darwin-arm64@0.34.5': + '@img/sharp-darwin-arm64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.3.2 + optional: true + + '@img/sharp-darwin-x64@0.35.3': optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.2.4 + '@img/sharp-libvips-darwin-x64': 1.3.2 + optional: true + + '@img/sharp-freebsd-wasm32@0.35.3': + dependencies: + '@img/sharp-wasm32': 0.35.3 optional: true - '@img/sharp-darwin-x64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.2.4 + '@img/sharp-libvips-darwin-arm64@1.3.2': optional: true - '@img/sharp-libvips-darwin-arm64@1.2.4': + '@img/sharp-libvips-darwin-x64@1.3.2': optional: true - '@img/sharp-libvips-darwin-x64@1.2.4': + '@img/sharp-libvips-linux-arm64@1.3.2': optional: true - '@img/sharp-libvips-linux-arm64@1.2.4': + '@img/sharp-libvips-linux-arm@1.3.2': optional: true - '@img/sharp-libvips-linux-arm@1.2.4': + '@img/sharp-libvips-linux-ppc64@1.3.2': optional: true - '@img/sharp-libvips-linux-ppc64@1.2.4': + '@img/sharp-libvips-linux-riscv64@1.3.2': optional: true - '@img/sharp-libvips-linux-riscv64@1.2.4': + '@img/sharp-libvips-linux-s390x@1.3.2': optional: true - '@img/sharp-libvips-linux-s390x@1.2.4': + '@img/sharp-libvips-linux-x64@1.3.2': optional: true - '@img/sharp-libvips-linux-x64@1.2.4': + '@img/sharp-libvips-linuxmusl-arm64@1.3.2': optional: true - '@img/sharp-libvips-linuxmusl-arm64@1.2.4': + '@img/sharp-libvips-linuxmusl-x64@1.3.2': optional: true - '@img/sharp-libvips-linuxmusl-x64@1.2.4': + '@img/sharp-linux-arm64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.3.2 optional: true - '@img/sharp-linux-arm64@0.34.5': + '@img/sharp-linux-arm@0.35.3': optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.2.4 + '@img/sharp-libvips-linux-arm': 1.3.2 optional: true - '@img/sharp-linux-arm@0.34.5': + '@img/sharp-linux-ppc64@0.35.3': optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.2.4 + '@img/sharp-libvips-linux-ppc64': 1.3.2 optional: true - '@img/sharp-linux-ppc64@0.34.5': + '@img/sharp-linux-riscv64@0.35.3': optionalDependencies: - '@img/sharp-libvips-linux-ppc64': 1.2.4 + '@img/sharp-libvips-linux-riscv64': 1.3.2 optional: true - '@img/sharp-linux-riscv64@0.34.5': + '@img/sharp-linux-s390x@0.35.3': optionalDependencies: - '@img/sharp-libvips-linux-riscv64': 1.2.4 + '@img/sharp-libvips-linux-s390x': 1.3.2 optional: true - '@img/sharp-linux-s390x@0.34.5': + '@img/sharp-linux-x64@0.35.3': optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.2.4 + '@img/sharp-libvips-linux-x64': 1.3.2 optional: true - '@img/sharp-linux-x64@0.34.5': + '@img/sharp-linuxmusl-arm64@0.35.3': optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.2.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 optional: true - '@img/sharp-linuxmusl-arm64@0.34.5': + '@img/sharp-linuxmusl-x64@0.35.3': optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 + '@img/sharp-libvips-linuxmusl-x64': 1.3.2 optional: true - '@img/sharp-linuxmusl-x64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.2.4 + '@img/sharp-wasm32@0.35.3': + dependencies: + '@emnapi/runtime': 1.11.3 optional: true - '@img/sharp-wasm32@0.34.5': + '@img/sharp-webcontainers-wasm32@0.35.3': dependencies: - '@emnapi/runtime': 1.10.0 + '@img/sharp-wasm32': 0.35.3 optional: true - '@img/sharp-win32-arm64@0.34.5': + '@img/sharp-win32-arm64@0.35.3': optional: true - '@img/sharp-win32-ia32@0.34.5': + '@img/sharp-win32-ia32@0.35.3': optional: true - '@img/sharp-win32-x64@0.34.5': + '@img/sharp-win32-x64@0.35.3': optional: true - '@ipld/car@5.4.2': + '@ipld/car@5.4.7': dependencies: - '@ipld/dag-cbor': 9.2.5 - cborg: 4.5.8 - multiformats: 13.4.2 + '@ipld/dag-cbor': 10.0.2 + cborg: 6.1.1 + multiformats: 14.0.5 varint: 6.0.0 - '@ipld/dag-cbor@9.2.5': + '@ipld/dag-cbor@10.0.2': dependencies: - cborg: 4.5.8 - multiformats: 13.4.2 + cborg: 6.1.1 + multiformats: 14.0.5 - '@ipld/dag-json@10.2.6': + '@ipld/dag-cbor@9.2.7': dependencies: - cborg: 4.5.8 + cborg: 5.1.11 multiformats: 13.4.2 - '@ipld/dag-pb@4.1.5': + '@ipld/dag-json@10.2.9': dependencies: + cborg: 5.1.11 multiformats: 13.4.2 + '@ipld/dag-pb@4.1.7': + dependencies: + multiformats: 14.0.5 + '@ipld/unixfs@3.0.0': dependencies: - '@ipld/dag-pb': 4.1.5 - '@multiformats/murmur3': 2.2.0 + '@ipld/dag-pb': 4.1.7 + '@multiformats/murmur3': 2.2.8 '@perma/map': 1.0.3 actor: 2.3.1 multiformats: 13.4.2 @@ -18223,21 +16513,21 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4))': + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 25.9.1 + '@types/node': 20.19.9 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@25.9.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) + jest-config: 29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -18262,7 +16552,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 25.9.0 + '@types/node': 20.19.9 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -18280,7 +16570,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 25.9.0 + '@types/node': 20.19.9 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -18325,7 +16615,7 @@ snapshots: '@jest/schemas@29.6.3': dependencies: - '@sinclair/typebox': 0.27.10 + '@sinclair/typebox': 0.27.12 '@jest/source-map@29.6.3': dependencies: @@ -18378,7 +16668,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 25.9.1 + '@types/node': 20.19.9 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -18435,58 +16725,59 @@ snapshots: dependencies: tslib: 2.8.1 - '@jsonjoy.com/fs-core@4.57.8(tslib@2.8.1)': + '@jsonjoy.com/fs-core@4.67.0(tslib@2.8.1)': dependencies: - '@jsonjoy.com/fs-node-builtins': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.8(tslib@2.8.1) - thingies: 2.6.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.67.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) tslib: 2.8.1 - '@jsonjoy.com/fs-fsa@4.57.8(tslib@2.8.1)': + '@jsonjoy.com/fs-fsa@4.67.0(tslib@2.8.1)': dependencies: - '@jsonjoy.com/fs-core': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.8(tslib@2.8.1) - thingies: 2.6.0(tslib@2.8.1) + '@jsonjoy.com/fs-core': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.67.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) tslib: 2.8.1 - '@jsonjoy.com/fs-node-builtins@4.57.8(tslib@2.8.1)': + '@jsonjoy.com/fs-node-builtins@4.67.0(tslib@2.8.1)': dependencies: tslib: 2.8.1 - '@jsonjoy.com/fs-node-to-fsa@4.57.8(tslib@2.8.1)': + '@jsonjoy.com/fs-node-to-fsa@4.67.0(tslib@2.8.1)': dependencies: - '@jsonjoy.com/fs-fsa': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.8(tslib@2.8.1) + '@jsonjoy.com/fs-fsa': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.67.0(tslib@2.8.1) tslib: 2.8.1 - '@jsonjoy.com/fs-node-utils@4.57.8(tslib@2.8.1)': + '@jsonjoy.com/fs-node-utils@4.67.0(tslib@2.8.1)': dependencies: - '@jsonjoy.com/fs-node-builtins': 4.57.8(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.67.0(tslib@2.8.1) + glob-to-regex.js: 1.2.0(tslib@2.8.1) tslib: 2.8.1 - '@jsonjoy.com/fs-node@4.57.8(tslib@2.8.1)': + '@jsonjoy.com/fs-node@4.67.0(tslib@2.8.1)': dependencies: - '@jsonjoy.com/fs-core': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-print': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-snapshot': 4.57.8(tslib@2.8.1) + '@jsonjoy.com/fs-core': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-print': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-snapshot': 4.67.0(tslib@2.8.1) glob-to-regex.js: 1.2.0(tslib@2.8.1) - thingies: 2.6.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) tslib: 2.8.1 - '@jsonjoy.com/fs-print@4.57.8(tslib@2.8.1)': + '@jsonjoy.com/fs-print@4.67.0(tslib@2.8.1)': dependencies: - '@jsonjoy.com/fs-node-utils': 4.57.8(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.67.0(tslib@2.8.1) tree-dump: 1.1.0(tslib@2.8.1) tslib: 2.8.1 - '@jsonjoy.com/fs-snapshot@4.57.8(tslib@2.8.1)': + '@jsonjoy.com/fs-snapshot@4.67.0(tslib@2.8.1)': dependencies: '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.8(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.67.0(tslib@2.8.1) '@jsonjoy.com/json-pack': 17.67.0(tslib@2.8.1) '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) tslib: 2.8.1 @@ -18499,7 +16790,7 @@ snapshots: '@jsonjoy.com/json-pointer': 1.0.2(tslib@2.8.1) '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) hyperdyperid: 1.2.0 - thingies: 2.6.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) tree-dump: 1.1.0(tslib@2.8.1) tslib: 2.8.1 @@ -18511,7 +16802,7 @@ snapshots: '@jsonjoy.com/json-pointer': 17.67.0(tslib@2.8.1) '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) hyperdyperid: 1.2.0 - thingies: 2.6.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) tree-dump: 1.1.0(tslib@2.8.1) tslib: 2.8.1 @@ -18538,10 +16829,10 @@ snapshots: '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1) tslib: 2.8.1 - '@kitware/vtk.js@36.4.1(autoprefixer@10.4.27(postcss@8.5.14))(wslink@2.5.0)': + '@kitware/vtk.js@36.4.1(autoprefixer@10.5.4(postcss@8.5.22))(wslink@2.5.0)': dependencies: '@types/webxr': 0.5.5 - autoprefixer: 10.4.27(postcss@8.5.14) + autoprefixer: 10.5.4(postcss@8.5.22) commander: 8.3.0 d3-scale: 4.0.2 fast-deep-equal: 3.1.3 @@ -18559,11 +16850,11 @@ snapshots: '@mdx-js/mdx@3.1.1': dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdx': 2.0.13 - acorn: 8.16.0 + '@types/hast': 3.0.5 + '@types/mdx': 2.0.14 + acorn: 8.18.0 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 @@ -18572,7 +16863,7 @@ snapshots: hast-util-to-jsx-runtime: 2.3.6 markdown-extensions: 2.0.0 recma-build-jsx: 1.0.0 - recma-jsx: 1.0.1(acorn@8.16.0) + recma-jsx: 1.0.1(acorn@8.18.0) recma-stringify: 1.0.0 rehype-recma: 1.0.0 remark-mdx: 3.1.1 @@ -18589,7 +16880,7 @@ snapshots: '@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1)': dependencies: - '@types/mdx': 2.0.13 + '@types/mdx': 2.0.14 '@types/react': 18.3.23 react: 18.3.1 @@ -18620,32 +16911,32 @@ snapshots: '@msgpack/msgpack@2.8.0': {} - '@multiformats/blake2@2.0.2': + '@multiformats/blake2@2.0.3': dependencies: blakejs: 1.2.1 - multiformats: 13.4.2 + multiformats: 14.0.5 - '@multiformats/murmur3@2.2.0': + '@multiformats/murmur3@2.2.8': dependencies: - multiformats: 13.4.2 + multiformats: 14.0.5 - '@multiformats/sha3@3.0.2': + '@multiformats/sha3@3.0.3': dependencies: js-sha3: 0.9.3 multiformats: 13.4.2 '@napi-rs/wasm-runtime@1.0.7': dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.2 + '@emnapi/core': 1.11.3 + '@emnapi/runtime': 1.11.3 + '@tybys/wasm-util': 0.10.3 optional: true - '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)': dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.1 + '@emnapi/core': 1.11.3 + '@emnapi/runtime': 1.11.3 + '@tybys/wasm-util': 0.10.3 optional: true '@noble/hashes@1.4.0': {} @@ -18775,7 +17066,7 @@ snapshots: '@perma/map@1.0.3': dependencies: - '@multiformats/murmur3': 2.2.0 + '@multiformats/murmur3': 2.2.8 murmurhash3js-revisited: 3.0.0 '@petamoriken/float16@3.9.3': {} @@ -18805,7 +17096,7 @@ snapshots: dependencies: graceful-fs: 4.2.10 - '@pnpm/npm-conf@3.0.2': + '@pnpm/npm-conf@3.0.3': dependencies: '@pnpm/config.env-replace': 1.1.0 '@pnpm/network.ca-file': 1.0.2 @@ -18833,7 +17124,7 @@ snapshots: '@protobufjs/pool@1.1.0': {} - '@protobufjs/utf8@1.1.1': {} + '@protobufjs/utf8@1.1.2': {} '@radix-ui/number@1.1.1': {} @@ -18915,6 +17206,12 @@ snapshots: optionalDependencies: '@types/react': 18.3.23 + '@radix-ui/react-compose-refs@1.1.5(@types/react@18.3.23)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.23 + '@radix-ui/react-context-menu@2.2.15(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.2 @@ -19036,6 +17333,13 @@ snapshots: optionalDependencies: '@types/react': 18.3.23 + '@radix-ui/react-id@1.1.4(@types/react@18.3.23)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@18.3.23)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.23 + '@radix-ui/react-label@2.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -19096,7 +17400,7 @@ snapshots: '@radix-ui/react-popper@1.2.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/react-dom': 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/react-dom': 2.1.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-arrow': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1) '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1) @@ -19132,18 +17436,18 @@ snapshots: '@types/react': 18.3.23 '@types/react-dom': 18.3.7(@types/react@18.3.23) - '@radix-ui/react-primitive@2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-primitive@2.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.23)(react@18.3.1) + '@radix-ui/react-slot': 1.3.3(@types/react@18.3.23)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.23 '@types/react-dom': 18.3.7(@types/react@18.3.23) - '@radix-ui/react-primitive@2.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-slot': 1.2.4(@types/react@18.3.23)(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.3.23)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: @@ -19248,9 +17552,9 @@ snapshots: optionalDependencies: '@types/react': 18.3.23 - '@radix-ui/react-slot@1.2.4(@types/react@18.3.23)(react@18.3.1)': + '@radix-ui/react-slot@1.3.3(@types/react@18.3.23)(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@18.3.23)(react@18.3.1) react: 18.3.1 optionalDependencies: '@types/react': 18.3.23 @@ -19366,6 +17670,12 @@ snapshots: optionalDependencies: '@types/react': 18.3.23 + '@radix-ui/react-use-layout-effect@1.1.4(@types/react@18.3.23)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.23 + '@radix-ui/react-use-previous@1.1.1(@types/react@18.3.23)(react@18.3.1)': dependencies: react: 18.3.1 @@ -19405,20 +17715,20 @@ snapshots: '@remix-run/router@1.23.2': {} - '@rollup/plugin-babel@5.3.1(@babel/core@7.29.7)(@types/babel__core@7.20.5)(rollup@2.80.0)': + '@rollup/plugin-babel@6.1.0(@babel/core@7.29.7)(@types/babel__core@7.20.5)(rollup@2.80.0)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-module-imports': 7.29.7 - '@rollup/pluginutils': 3.1.0(rollup@2.80.0) - rollup: 2.80.0 + '@rollup/pluginutils': 5.4.0(rollup@2.80.0) optionalDependencies: '@types/babel__core': 7.20.5 + rollup: 2.80.0 transitivePeerDependencies: - supports-color - '@rollup/plugin-node-resolve@15.3.1(rollup@2.80.0)': + '@rollup/plugin-node-resolve@16.0.3(rollup@2.80.0)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@2.80.0) + '@rollup/pluginutils': 5.4.0(rollup@2.80.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 @@ -19426,30 +17736,24 @@ snapshots: optionalDependencies: rollup: 2.80.0 - '@rollup/plugin-replace@2.4.2(rollup@2.80.0)': + '@rollup/plugin-replace@6.0.3(rollup@2.80.0)': dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.80.0) - magic-string: 0.25.9 + '@rollup/pluginutils': 5.4.0(rollup@2.80.0) + magic-string: 0.30.21 + optionalDependencies: rollup: 2.80.0 - '@rollup/plugin-terser@0.4.4(rollup@2.80.0)': + '@rollup/plugin-terser@1.0.0(rollup@2.80.0)': dependencies: serialize-javascript: 7.0.4 - smob: 1.6.1 - terser: 5.47.1 + smob: 1.6.2 + terser: 5.49.2 optionalDependencies: rollup: 2.80.0 - '@rollup/pluginutils@3.1.0(rollup@2.80.0)': - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.2 - rollup: 2.80.0 - - '@rollup/pluginutils@5.3.0(rollup@2.80.0)': + '@rollup/pluginutils@5.4.0(rollup@2.80.0)': dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 estree-walker: 2.0.2 picomatch: 4.0.4 optionalDependencies: @@ -19460,9 +17764,9 @@ snapshots: '@rsbuild/core@1.7.3': dependencies: - '@rspack/core': 1.7.11(@swc/helpers@0.5.21) - '@rspack/lite-tapable': 1.1.0 - '@swc/helpers': 0.5.21 + '@rspack/core': 1.7.12(@swc/helpers@0.5.23) + '@rspack/lite-tapable': 1.1.5 + '@swc/helpers': 0.5.23 core-js: 3.45.1 jiti: 2.7.0 @@ -19502,141 +17806,151 @@ snapshots: transitivePeerDependencies: - webpack-hot-middleware - '@rspack/binding-darwin-arm64@1.7.11': + '@rspack/binding-darwin-arm64@1.7.12': + optional: true + + '@rspack/binding-darwin-arm64@2.1.8': + optional: true + + '@rspack/binding-darwin-x64@1.7.12': optional: true - '@rspack/binding-darwin-arm64@2.0.3': + '@rspack/binding-darwin-x64@2.1.8': optional: true - '@rspack/binding-darwin-x64@1.7.11': + '@rspack/binding-linux-arm64-gnu@1.7.12': optional: true - '@rspack/binding-darwin-x64@2.0.3': + '@rspack/binding-linux-arm64-gnu@2.1.8': optional: true - '@rspack/binding-linux-arm64-gnu@1.7.11': + '@rspack/binding-linux-arm64-musl@1.7.12': optional: true - '@rspack/binding-linux-arm64-gnu@2.0.3': + '@rspack/binding-linux-arm64-musl@2.1.8': optional: true - '@rspack/binding-linux-arm64-musl@1.7.11': + '@rspack/binding-linux-riscv64-gnu@2.1.8': optional: true - '@rspack/binding-linux-arm64-musl@2.0.3': + '@rspack/binding-linux-riscv64-musl@2.1.8': optional: true - '@rspack/binding-linux-x64-gnu@1.7.11': + '@rspack/binding-linux-x64-gnu@1.7.12': optional: true - '@rspack/binding-linux-x64-gnu@2.0.3': + '@rspack/binding-linux-x64-gnu@2.1.8': optional: true - '@rspack/binding-linux-x64-musl@1.7.11': + '@rspack/binding-linux-x64-musl@1.7.12': optional: true - '@rspack/binding-linux-x64-musl@2.0.3': + '@rspack/binding-linux-x64-musl@2.1.8': optional: true - '@rspack/binding-wasm32-wasi@1.7.11': + '@rspack/binding-wasm32-wasi@1.7.12': dependencies: '@napi-rs/wasm-runtime': 1.0.7 optional: true - '@rspack/binding-wasm32-wasi@2.0.3': + '@rspack/binding-wasm32-wasi@2.1.8': dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@emnapi/core': 1.11.3 + '@emnapi/runtime': 1.11.3 + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3) optional: true - '@rspack/binding-win32-arm64-msvc@1.7.11': + '@rspack/binding-win32-arm64-msvc@1.7.12': optional: true - '@rspack/binding-win32-arm64-msvc@2.0.3': + '@rspack/binding-win32-arm64-msvc@2.1.8': optional: true - '@rspack/binding-win32-ia32-msvc@1.7.11': + '@rspack/binding-win32-ia32-msvc@1.7.12': optional: true - '@rspack/binding-win32-ia32-msvc@2.0.3': + '@rspack/binding-win32-ia32-msvc@2.1.8': optional: true - '@rspack/binding-win32-x64-msvc@1.7.11': + '@rspack/binding-win32-x64-msvc@1.7.12': optional: true - '@rspack/binding-win32-x64-msvc@2.0.3': + '@rspack/binding-win32-x64-msvc@2.1.8': optional: true - '@rspack/binding@1.7.11': + '@rspack/binding@1.7.12': optionalDependencies: - '@rspack/binding-darwin-arm64': 1.7.11 - '@rspack/binding-darwin-x64': 1.7.11 - '@rspack/binding-linux-arm64-gnu': 1.7.11 - '@rspack/binding-linux-arm64-musl': 1.7.11 - '@rspack/binding-linux-x64-gnu': 1.7.11 - '@rspack/binding-linux-x64-musl': 1.7.11 - '@rspack/binding-wasm32-wasi': 1.7.11 - '@rspack/binding-win32-arm64-msvc': 1.7.11 - '@rspack/binding-win32-ia32-msvc': 1.7.11 - '@rspack/binding-win32-x64-msvc': 1.7.11 - - '@rspack/binding@2.0.3': + '@rspack/binding-darwin-arm64': 1.7.12 + '@rspack/binding-darwin-x64': 1.7.12 + '@rspack/binding-linux-arm64-gnu': 1.7.12 + '@rspack/binding-linux-arm64-musl': 1.7.12 + '@rspack/binding-linux-x64-gnu': 1.7.12 + '@rspack/binding-linux-x64-musl': 1.7.12 + '@rspack/binding-wasm32-wasi': 1.7.12 + '@rspack/binding-win32-arm64-msvc': 1.7.12 + '@rspack/binding-win32-ia32-msvc': 1.7.12 + '@rspack/binding-win32-x64-msvc': 1.7.12 + + '@rspack/binding@2.1.8': optionalDependencies: - '@rspack/binding-darwin-arm64': 2.0.3 - '@rspack/binding-darwin-x64': 2.0.3 - '@rspack/binding-linux-arm64-gnu': 2.0.3 - '@rspack/binding-linux-arm64-musl': 2.0.3 - '@rspack/binding-linux-x64-gnu': 2.0.3 - '@rspack/binding-linux-x64-musl': 2.0.3 - '@rspack/binding-wasm32-wasi': 2.0.3 - '@rspack/binding-win32-arm64-msvc': 2.0.3 - '@rspack/binding-win32-ia32-msvc': 2.0.3 - '@rspack/binding-win32-x64-msvc': 2.0.3 - - '@rspack/cli@2.0.3(@rspack/core@2.0.3(@swc/helpers@0.5.21))(@rspack/dev-server@2.0.1(@rspack/core@2.0.3(@swc/helpers@0.5.21))(selfsigned@5.5.0))': - dependencies: - '@rspack/core': 2.0.3(@swc/helpers@0.5.21) + '@rspack/binding-darwin-arm64': 2.1.8 + '@rspack/binding-darwin-x64': 2.1.8 + '@rspack/binding-linux-arm64-gnu': 2.1.8 + '@rspack/binding-linux-arm64-musl': 2.1.8 + '@rspack/binding-linux-riscv64-gnu': 2.1.8 + '@rspack/binding-linux-riscv64-musl': 2.1.8 + '@rspack/binding-linux-x64-gnu': 2.1.8 + '@rspack/binding-linux-x64-musl': 2.1.8 + '@rspack/binding-wasm32-wasi': 2.1.8 + '@rspack/binding-win32-arm64-msvc': 2.1.8 + '@rspack/binding-win32-ia32-msvc': 2.1.8 + '@rspack/binding-win32-x64-msvc': 2.1.8 + + '@rspack/cli@2.1.8(@rspack/core@2.1.8(@swc/helpers@0.5.23))(@rspack/dev-server@2.2.0(@rspack/core@2.1.8(@swc/helpers@0.5.23))(selfsigned@5.5.0))': + dependencies: + '@rspack/core': 2.1.8(@swc/helpers@0.5.23) optionalDependencies: - '@rspack/dev-server': 2.0.1(@rspack/core@2.0.3(@swc/helpers@0.5.21))(selfsigned@5.5.0) + '@rspack/dev-server': 2.2.0(@rspack/core@2.1.8(@swc/helpers@0.5.23))(selfsigned@5.5.0) - '@rspack/core@1.7.11(@swc/helpers@0.5.21)': + '@rspack/core@1.7.12(@swc/helpers@0.5.23)': dependencies: '@module-federation/runtime-tools': 0.22.0 - '@rspack/binding': 1.7.11 + '@rspack/binding': 1.7.12 '@rspack/lite-tapable': 1.1.0 optionalDependencies: - '@swc/helpers': 0.5.21 + '@swc/helpers': 0.5.23 - '@rspack/core@2.0.3(@swc/helpers@0.5.21)': + '@rspack/core@2.1.8(@swc/helpers@0.5.23)': dependencies: - '@rspack/binding': 2.0.3 + '@rspack/binding': 2.1.8 optionalDependencies: - '@swc/helpers': 0.5.21 + '@swc/helpers': 0.5.23 - '@rspack/dev-middleware@2.0.1(@rspack/core@2.0.3(@swc/helpers@0.5.21))': + '@rspack/dev-middleware@2.0.3(@rspack/core@2.1.8(@swc/helpers@0.5.23))': optionalDependencies: - '@rspack/core': 2.0.3(@swc/helpers@0.5.21) + '@rspack/core': 2.1.8(@swc/helpers@0.5.23) - '@rspack/dev-server@2.0.1(@rspack/core@2.0.3(@swc/helpers@0.5.21))(selfsigned@5.5.0)': + '@rspack/dev-server@2.2.0(@rspack/core@2.1.8(@swc/helpers@0.5.23))(selfsigned@5.5.0)': dependencies: - '@rspack/core': 2.0.3(@swc/helpers@0.5.21) - '@rspack/dev-middleware': 2.0.1(@rspack/core@2.0.3(@swc/helpers@0.5.21)) + '@rspack/core': 2.1.8(@swc/helpers@0.5.23) + '@rspack/dev-middleware': 2.0.3(@rspack/core@2.1.8(@swc/helpers@0.5.23)) optionalDependencies: selfsigned: 5.5.0 '@rspack/lite-tapable@1.1.0': {} + '@rspack/lite-tapable@1.1.5': {} + '@rspack/plugin-react-refresh@1.6.2(react-refresh@0.18.0)': dependencies: error-stack-parser: 2.1.4 react-refresh: 0.18.0 - '@rspack/plugin-react-refresh@2.0.0(@rspack/core@2.0.3(@swc/helpers@0.5.21))(react-refresh@0.18.0)': + '@rspack/plugin-react-refresh@2.0.2(@rspack/core@2.1.8(@swc/helpers@0.5.23))(react-refresh@0.18.0)': dependencies: react-refresh: 0.18.0 optionalDependencies: - '@rspack/core': 2.0.3(@swc/helpers@0.5.21) + '@rspack/core': 2.1.8(@swc/helpers@0.5.23) '@samverschueren/stream-to-observable@0.3.1(rxjs@6.6.7)': dependencies: @@ -19654,7 +17968,7 @@ snapshots: '@sideway/pinpoint@2.0.0': {} - '@sinclair/typebox@0.27.10': {} + '@sinclair/typebox@0.27.12': {} '@sindresorhus/is@4.6.0': {} @@ -19684,13 +17998,6 @@ snapshots: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 - '@surma/rollup-plugin-off-main-thread@2.2.3': - dependencies: - ejs: 3.1.10 - json5: 2.2.3 - magic-string: 0.25.9 - string.prototype.matchall: 4.0.12 - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) @@ -19748,7 +18055,7 @@ snapshots: '@svgr/hast-util-to-babel-ast@8.0.0': dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.29.8 entities: 4.5.0 '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.5.4))': @@ -19766,31 +18073,17 @@ snapshots: '@svgr/core': 8.1.0(typescript@5.5.4) cosmiconfig: 8.3.6(typescript@5.5.4) deepmerge: 4.3.1 - svgo: 3.3.3 - transitivePeerDependencies: - - typescript - - '@svgr/webpack@8.1.0(supports-color@8.1.1)(typescript@5.5.4)': - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/plugin-transform-react-constant-elements': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/preset-env': 7.29.5(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/preset-react': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0(supports-color@8.1.1)) - '@svgr/core': 8.1.0(typescript@5.5.4) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4))(typescript@5.5.4) + svgo: 3.3.4 transitivePeerDependencies: - - supports-color - typescript '@svgr/webpack@8.1.0(typescript@5.5.4)': dependencies: - '@babel/core': 7.28.0 - '@babel/plugin-transform-react-constant-elements': 7.27.1(@babel/core@7.28.0) - '@babel/preset-env': 7.29.5(@babel/core@7.28.0) - '@babel/preset-react': 7.27.1(@babel/core@7.28.0) - '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/plugin-transform-react-constant-elements': 7.29.7(@babel/core@7.29.7) + '@babel/preset-env': 7.29.7(@babel/core@7.29.7) + '@babel/preset-react': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) '@svgr/core': 8.1.0(typescript@5.5.4) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4)) '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4))(typescript@5.5.4) @@ -19798,105 +18091,121 @@ snapshots: - supports-color - typescript - '@swc/core-darwin-arm64@1.15.13': + '@swc/core-darwin-arm64@1.15.47': + optional: true + + '@swc/core-darwin-x64@1.15.47': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.15.47': optional: true - '@swc/core-darwin-x64@1.15.13': + '@swc/core-linux-arm64-gnu@1.15.47': optional: true - '@swc/core-linux-arm-gnueabihf@1.15.13': + '@swc/core-linux-arm64-musl@1.15.47': optional: true - '@swc/core-linux-arm64-gnu@1.15.13': + '@swc/core-linux-ppc64-gnu@1.15.47': optional: true - '@swc/core-linux-arm64-musl@1.15.13': + '@swc/core-linux-s390x-gnu@1.15.47': optional: true - '@swc/core-linux-x64-gnu@1.15.13': + '@swc/core-linux-x64-gnu@1.15.47': optional: true - '@swc/core-linux-x64-musl@1.15.13': + '@swc/core-linux-x64-musl@1.15.47': optional: true - '@swc/core-win32-arm64-msvc@1.15.13': + '@swc/core-win32-arm64-msvc@1.15.47': optional: true - '@swc/core-win32-ia32-msvc@1.15.13': + '@swc/core-win32-ia32-msvc@1.15.47': optional: true - '@swc/core-win32-x64-msvc@1.15.13': + '@swc/core-win32-x64-msvc@1.15.47': optional: true - '@swc/core@1.15.13(@swc/helpers@0.5.21)': + '@swc/core@1.15.47(@swc/helpers@0.5.23)': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.25 + '@swc/types': 0.1.28 optionalDependencies: - '@swc/core-darwin-arm64': 1.15.13 - '@swc/core-darwin-x64': 1.15.13 - '@swc/core-linux-arm-gnueabihf': 1.15.13 - '@swc/core-linux-arm64-gnu': 1.15.13 - '@swc/core-linux-arm64-musl': 1.15.13 - '@swc/core-linux-x64-gnu': 1.15.13 - '@swc/core-linux-x64-musl': 1.15.13 - '@swc/core-win32-arm64-msvc': 1.15.13 - '@swc/core-win32-ia32-msvc': 1.15.13 - '@swc/core-win32-x64-msvc': 1.15.13 - '@swc/helpers': 0.5.21 + '@swc/core-darwin-arm64': 1.15.47 + '@swc/core-darwin-x64': 1.15.47 + '@swc/core-linux-arm-gnueabihf': 1.15.47 + '@swc/core-linux-arm64-gnu': 1.15.47 + '@swc/core-linux-arm64-musl': 1.15.47 + '@swc/core-linux-ppc64-gnu': 1.15.47 + '@swc/core-linux-s390x-gnu': 1.15.47 + '@swc/core-linux-x64-gnu': 1.15.47 + '@swc/core-linux-x64-musl': 1.15.47 + '@swc/core-win32-arm64-msvc': 1.15.47 + '@swc/core-win32-ia32-msvc': 1.15.47 + '@swc/core-win32-x64-msvc': 1.15.47 + '@swc/helpers': 0.5.23 '@swc/counter@0.1.3': {} - '@swc/helpers@0.5.21': + '@swc/helpers@0.5.23': dependencies: tslib: 2.8.1 - '@swc/html-darwin-arm64@1.15.13': + '@swc/html-darwin-arm64@1.15.47': + optional: true + + '@swc/html-darwin-x64@1.15.47': + optional: true + + '@swc/html-linux-arm-gnueabihf@1.15.47': optional: true - '@swc/html-darwin-x64@1.15.13': + '@swc/html-linux-arm64-gnu@1.15.47': optional: true - '@swc/html-linux-arm-gnueabihf@1.15.13': + '@swc/html-linux-arm64-musl@1.15.47': optional: true - '@swc/html-linux-arm64-gnu@1.15.13': + '@swc/html-linux-ppc64-gnu@1.15.47': optional: true - '@swc/html-linux-arm64-musl@1.15.13': + '@swc/html-linux-s390x-gnu@1.15.47': optional: true - '@swc/html-linux-x64-gnu@1.15.13': + '@swc/html-linux-x64-gnu@1.15.47': optional: true - '@swc/html-linux-x64-musl@1.15.13': + '@swc/html-linux-x64-musl@1.15.47': optional: true - '@swc/html-win32-arm64-msvc@1.15.13': + '@swc/html-win32-arm64-msvc@1.15.47': optional: true - '@swc/html-win32-ia32-msvc@1.15.13': + '@swc/html-win32-ia32-msvc@1.15.47': optional: true - '@swc/html-win32-x64-msvc@1.15.13': + '@swc/html-win32-x64-msvc@1.15.47': optional: true - '@swc/html@1.15.13': + '@swc/html@1.15.47': dependencies: '@swc/counter': 0.1.3 optionalDependencies: - '@swc/html-darwin-arm64': 1.15.13 - '@swc/html-darwin-x64': 1.15.13 - '@swc/html-linux-arm-gnueabihf': 1.15.13 - '@swc/html-linux-arm64-gnu': 1.15.13 - '@swc/html-linux-arm64-musl': 1.15.13 - '@swc/html-linux-x64-gnu': 1.15.13 - '@swc/html-linux-x64-musl': 1.15.13 - '@swc/html-win32-arm64-msvc': 1.15.13 - '@swc/html-win32-ia32-msvc': 1.15.13 - '@swc/html-win32-x64-msvc': 1.15.13 - - '@swc/types@0.1.25': + '@swc/html-darwin-arm64': 1.15.47 + '@swc/html-darwin-x64': 1.15.47 + '@swc/html-linux-arm-gnueabihf': 1.15.47 + '@swc/html-linux-arm64-gnu': 1.15.47 + '@swc/html-linux-arm64-musl': 1.15.47 + '@swc/html-linux-ppc64-gnu': 1.15.47 + '@swc/html-linux-s390x-gnu': 1.15.47 + '@swc/html-linux-x64-gnu': 1.15.47 + '@swc/html-linux-x64-musl': 1.15.47 + '@swc/html-win32-arm64-msvc': 1.15.47 + '@swc/html-win32-ia32-msvc': 1.15.47 + '@swc/html-win32-x64-msvc': 1.15.47 + + '@swc/types@0.1.28': dependencies: '@swc/counter': 0.1.3 @@ -19914,8 +18223,8 @@ snapshots: '@testing-library/dom@8.20.1': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/runtime': 7.29.2 + '@babel/code-frame': 7.29.7 + '@babel/runtime': 7.29.7 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -19925,7 +18234,7 @@ snapshots: '@testing-library/react@13.4.0(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@testing-library/dom': 8.20.1 '@types/react-dom': 18.3.7(@types/react@18.3.23) react: 18.3.1 @@ -19937,6 +18246,13 @@ snapshots: '@tootallnate/once@2.0.1': {} + '@trickfilm400/rollup-plugin-off-main-thread@3.0.0-pre1': + dependencies: + ejs: 3.1.10 + json5: 2.2.3 + magic-string: 0.30.21 + string.prototype.matchall: 4.0.12 + '@tsconfig/node10@1.0.12': {} '@tsconfig/node12@1.0.11': {} @@ -19945,12 +18261,7 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@tybys/wasm-util@0.10.1': - dependencies: - tslib: 2.8.1 - optional: true - - '@tybys/wasm-util@0.10.2': + '@tybys/wasm-util@0.10.3': dependencies: tslib: 2.8.1 optional: true @@ -19959,24 +18270,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.29.8 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 '@types/babel__traverse@7.28.0': dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.29.8 '@types/body-parser@1.19.6': dependencies: @@ -19989,7 +18300,7 @@ snapshots: '@types/connect-history-api-fallback@1.5.4': dependencies: - '@types/express-serve-static-core': 4.19.8 + '@types/express-serve-static-core': 4.19.9 '@types/node': 20.19.9 '@types/connect@3.4.38': @@ -20004,7 +18315,7 @@ snapshots: dependencies: '@types/d3-color': 3.1.3 - '@types/debug@4.1.12': + '@types/debug@4.1.13': dependencies: '@types/ms': 2.1.0 @@ -20013,37 +18324,35 @@ snapshots: '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 9.6.1 - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 '@types/eslint@9.6.1': dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 '@types/json-schema': 7.0.15 '@types/estree-jsx@1.0.5': dependencies: - '@types/estree': 1.0.8 - - '@types/estree@0.0.39': {} + '@types/estree': 1.0.9 - '@types/estree@1.0.8': {} + '@types/estree@1.0.9': {} '@types/execa@0.9.0': dependencies: '@types/node': 20.19.9 - '@types/express-serve-static-core@4.19.8': + '@types/express-serve-static-core@4.19.9': dependencies: '@types/node': 20.19.9 - '@types/qs': 6.14.0 + '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 '@types/express@4.17.25': dependencies: '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 4.19.8 - '@types/qs': 6.14.0 + '@types/express-serve-static-core': 4.19.9 + '@types/qs': 6.15.1 '@types/serve-static': 1.15.10 '@types/graceful-fs@4.1.9': @@ -20052,7 +18361,7 @@ snapshots: '@types/gtag.js@0.0.20': {} - '@types/hast@3.0.4': + '@types/hast@3.0.5': dependencies: '@types/unist': 3.0.3 @@ -20085,7 +18394,7 @@ snapshots: '@types/jsdom@20.0.1': dependencies: - '@types/node': 25.9.0 + '@types/node': 20.19.9 '@types/tough-cookie': 4.0.5 parse5: 7.3.0 @@ -20099,7 +18408,7 @@ snapshots: dependencies: '@types/unist': 3.0.3 - '@types/mdx@2.0.13': {} + '@types/mdx@2.0.14': {} '@types/mime@1.3.5': {} @@ -20113,14 +18422,6 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@25.9.0': - dependencies: - undici-types: 7.24.6 - - '@types/node@25.9.1': - dependencies: - undici-types: 7.24.6 - '@types/offscreencanvas@2019.7.3': {} '@types/parse-json@4.0.2': {} @@ -20129,7 +18430,7 @@ snapshots: '@types/prop-types@15.7.15': {} - '@types/qs@6.14.0': {} + '@types/qs@6.15.1': {} '@types/range-parser@1.2.7': {} @@ -20231,15 +18532,15 @@ snapshots: '@types/node': 20.19.9 optional: true - '@ungap/structured-clone@1.3.0': {} + '@ungap/structured-clone@1.3.3': {} '@web3-storage/car-block-validator@1.2.2': dependencies: - '@multiformats/blake2': 2.0.2 - '@multiformats/murmur3': 2.2.0 - '@multiformats/sha3': 3.0.2 + '@multiformats/blake2': 2.0.3 + '@multiformats/murmur3': 2.2.8 + '@multiformats/sha3': 3.0.3 multiformats: 13.4.2 - uint8arrays: 5.1.0 + uint8arrays: 5.1.1 '@webassemblyjs/ast@1.14.1': dependencies: @@ -20342,7 +18643,7 @@ snapshots: dependencies: event-target-shim: 5.0.1 - abort-error@1.0.1: {} + abort-error@1.0.2: {} accepts@1.3.8: dependencies: @@ -20359,20 +18660,20 @@ snapshots: acorn-globals@7.0.1: dependencies: - acorn: 8.16.0 + acorn: 8.18.0 acorn-walk: 8.3.5 - acorn-import-phases@1.0.4(acorn@8.16.0): + acorn-import-phases@1.0.4(acorn@8.18.0): dependencies: - acorn: 8.16.0 + acorn: 8.18.0 acorn-jsx@5.3.2(acorn@6.4.2): dependencies: acorn: 6.4.2 - acorn-jsx@5.3.2(acorn@8.16.0): + acorn-jsx@5.3.2(acorn@8.18.0): dependencies: - acorn: 8.16.0 + acorn: 8.18.0 acorn-node@1.8.2: dependencies: @@ -20384,13 +18685,13 @@ snapshots: acorn-walk@8.3.5: dependencies: - acorn: 8.16.0 + acorn: 8.18.0 acorn@6.4.2: {} acorn@7.4.1: {} - acorn@8.16.0: {} + acorn@8.18.0: {} actor@2.3.1: {} @@ -20412,7 +18713,7 @@ snapshots: airbnb-prop-types@2.16.0(react@18.3.1): dependencies: array.prototype.find: 2.2.3 - function.prototype.name: 1.1.8 + function.prototype.name: 1.2.0 is-regex: 1.2.1 object-is: 1.1.6 object.assign: 4.1.7 @@ -20445,31 +18746,31 @@ snapshots: ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.2 + fast-uri: 3.1.4 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - algoliasearch-helper@3.28.0(algoliasearch@5.49.1): + algoliasearch-helper@3.29.2(algoliasearch@5.56.0): dependencies: '@algolia/events': 4.0.1 - algoliasearch: 5.49.1 - - algoliasearch@5.49.1: - dependencies: - '@algolia/abtesting': 1.15.1 - '@algolia/client-abtesting': 5.49.1 - '@algolia/client-analytics': 5.49.1 - '@algolia/client-common': 5.49.1 - '@algolia/client-insights': 5.49.1 - '@algolia/client-personalization': 5.49.1 - '@algolia/client-query-suggestions': 5.49.1 - '@algolia/client-search': 5.49.1 - '@algolia/ingestion': 1.49.1 - '@algolia/monitoring': 1.49.1 - '@algolia/recommend': 5.49.1 - '@algolia/requester-browser-xhr': 5.49.1 - '@algolia/requester-fetch': 5.49.1 - '@algolia/requester-node-http': 5.49.1 + algoliasearch: 5.56.0 + + algoliasearch@5.56.0: + dependencies: + '@algolia/abtesting': 1.22.0 + '@algolia/client-abtesting': 5.56.0 + '@algolia/client-analytics': 5.56.0 + '@algolia/client-common': 5.56.0 + '@algolia/client-insights': 5.56.0 + '@algolia/client-personalization': 5.56.0 + '@algolia/client-query-suggestions': 5.56.0 + '@algolia/client-search': 5.56.0 + '@algolia/ingestion': 1.56.0 + '@algolia/monitoring': 1.56.0 + '@algolia/recommend': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 ansi-align@3.0.1: dependencies: @@ -20561,15 +18862,15 @@ snapshots: dependencies: call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.1 - es-object-atoms: 1.1.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 es-shim-unscopables: 1.1.0 array.prototype.flat@1.3.3: dependencies: call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.1 + es-abstract: 1.24.2 es-shim-unscopables: 1.1.0 arraybuffer.prototype.slice@1.0.4: @@ -20577,14 +18878,14 @@ snapshots: array-buffer-byte-length: 1.0.2 call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.1 + es-abstract: 1.24.2 es-errors: 1.3.0 get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 asn1.js@4.10.1: dependencies: - bn.js: 4.12.3 + bn.js: 4.12.5 inherits: 2.0.4 minimalistic-assert: 1.0.1 @@ -20595,7 +18896,7 @@ snapshots: asn1js@3.0.10: dependencies: pvtsutils: 1.3.6 - pvutils: 1.1.5 + pvutils: 1.2.0 tslib: 2.8.1 assert-plus@1.0.0: {} @@ -20622,42 +18923,23 @@ snapshots: attr-accept@2.2.5: {} - autoprefixer@10.4.21(postcss@8.5.14): - dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001774 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.1.1 - postcss: 8.5.14 - postcss-value-parser: 4.2.0 - - autoprefixer@10.4.21(postcss@8.5.6): + autoprefixer@10.4.21(postcss@8.5.22): dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001774 + browserslist: 4.28.7 + caniuse-lite: 1.0.30001806 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - autoprefixer@10.4.27(postcss@8.5.14): - dependencies: - browserslist: 4.28.2 - caniuse-lite: 1.0.30001793 - fraction.js: 5.3.4 - picocolors: 1.1.1 - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - autoprefixer@10.4.27(postcss@8.5.6): + autoprefixer@10.5.4(postcss@8.5.22): dependencies: - browserslist: 4.28.2 - caniuse-lite: 1.0.30001793 + browserslist: 4.28.7 + caniuse-lite: 1.0.30001806 fraction.js: 5.3.4 picocolors: 1.1.1 - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: @@ -20691,21 +18973,21 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@8.4.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + babel-loader@8.4.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) - babel-loader@9.2.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + babel-loader@9.2.1(@babel/core@7.29.7)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) find-cache-dir: 4.0.0 schema-utils: 4.3.3 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) babel-plugin-dynamic-import-node@2.3.3: dependencies: @@ -20713,7 +18995,7 @@ snapshots: babel-plugin-istanbul@6.1.1: dependencies: - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.6 istanbul-lib-instrument: 5.2.1 @@ -20723,7 +19005,7 @@ snapshots: babel-plugin-istanbul@7.0.1: dependencies: - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.6 istanbul-lib-instrument: 6.0.3 @@ -20733,8 +19015,8 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.28.0 @@ -20744,27 +19026,9 @@ snapshots: cosmiconfig: 7.1.0 resolve: 1.22.12 - babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.28.0(supports-color@8.1.1)): - dependencies: - '@babel/compat-data': 7.29.3 - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.28.0(supports-color@8.1.1)) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.28.0): - dependencies: - '@babel/compat-data': 7.29.3 - '@babel/core': 7.28.0 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.28.0) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1): dependencies: - '@babel/compat-data': 7.29.3 + '@babel/compat-data': 7.29.7 '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) semver: 6.3.1 @@ -20773,7 +19037,7 @@ snapshots: babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.7): dependencies: - '@babel/compat-data': 7.29.3 + '@babel/compat-data': 7.29.7 '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) semver: 6.3.1 @@ -20784,7 +19048,7 @@ snapshots: dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) - core-js-compat: 3.49.0 + core-js-compat: 3.50.0 transitivePeerDependencies: - supports-color @@ -20792,23 +19056,7 @@ snapshots: dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) - core-js-compat: 3.49.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.28.0(supports-color@8.1.1)): - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.28.0(supports-color@8.1.1)) - core-js-compat: 3.49.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.28.0): - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.28.0) - core-js-compat: 3.49.0 + core-js-compat: 3.50.0 transitivePeerDependencies: - supports-color @@ -20816,7 +19064,7 @@ snapshots: dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) - core-js-compat: 3.49.0 + core-js-compat: 3.50.0 transitivePeerDependencies: - supports-color @@ -20824,21 +19072,7 @@ snapshots: dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) - core-js-compat: 3.49.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.28.0(supports-color@8.1.1)): - dependencies: - '@babel/core': 7.28.0(supports-color@8.1.1) - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.28.0(supports-color@8.1.1)) - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.28.0): - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.28.0) + core-js-compat: 3.50.0 transitivePeerDependencies: - supports-color @@ -20859,7 +19093,7 @@ snapshots: babel-plugin-transform-import-meta@2.3.3(@babel/core@7.29.7(supports-color@8.1.1)): dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/template': 7.28.6 + '@babel/template': 7.29.7 tslib: 2.8.1 babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.7(supports-color@8.1.1)): @@ -20869,7 +19103,7 @@ snapshots: '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.7(supports-color@8.1.1)) '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.7(supports-color@8.1.1)) '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.7(supports-color@8.1.1)) - '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7) '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.7(supports-color@8.1.1)) '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.7(supports-color@8.1.1)) '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.7(supports-color@8.1.1)) @@ -20897,9 +19131,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.10.0: {} - - baseline-browser-mapping@2.10.31: {} + baseline-browser-mapping@2.11.12: {} batch@0.6.1: {} @@ -20928,9 +19160,9 @@ snapshots: bluebird@3.7.2: {} - bn.js@4.12.3: {} + bn.js@4.12.5: {} - bn.js@5.2.3: {} + bn.js@5.2.5: {} body-parser@1.20.3: dependencies: @@ -20949,7 +19181,7 @@ snapshots: transitivePeerDependencies: - supports-color - bonjour-service@1.3.0: + bonjour-service@1.4.4: dependencies: fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 @@ -20978,16 +19210,16 @@ snapshots: widest-line: 4.0.1 wrap-ansi: 8.1.0 - brace-expansion@1.1.16: + brace-expansion@1.1.18: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.1.2: + brace-expansion@2.1.4: dependencies: balanced-match: 1.0.2 - brace-expansion@5.0.7: + brace-expansion@5.0.9: dependencies: balanced-match: 4.0.4 @@ -21027,13 +19259,13 @@ snapshots: browserify-rsa@4.1.1: dependencies: - bn.js: 5.2.3 + bn.js: 5.2.5 randombytes: 2.1.0 safe-buffer: 5.2.1 - browserify-sign@4.2.5: + browserify-sign@4.2.6: dependencies: - bn.js: 5.2.3 + bn.js: 5.2.5 browserify-rsa: 4.1.1 create-hash: 1.2.0 create-hmac: 1.1.7 @@ -21047,21 +19279,13 @@ snapshots: dependencies: pako: 1.0.11 - browserslist@4.28.1: - dependencies: - baseline-browser-mapping: 2.10.0 - caniuse-lite: 1.0.30001774 - electron-to-chromium: 1.5.302 - node-releases: 2.0.27 - update-browserslist-db: 1.2.3(browserslist@4.28.1) - - browserslist@4.28.2: + browserslist@4.28.7: dependencies: - baseline-browser-mapping: 2.10.31 - caniuse-lite: 1.0.30001793 - electron-to-chromium: 1.5.358 - node-releases: 2.0.44 - update-browserslist-db: 1.2.3(browserslist@4.28.2) + baseline-browser-mapping: 2.11.12 + caniuse-lite: 1.0.30001806 + electron-to-chromium: 1.5.401 + node-releases: 2.0.52 + update-browserslist-db: 1.2.3(browserslist@4.28.7) bser@2.1.1: dependencies: @@ -21130,13 +19354,6 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 - call-bind@1.0.8: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - get-intrinsic: 1.3.0 - set-function-length: 1.2.2 - call-bind@1.0.9: dependencies: call-bind-apply-helpers: 1.0.2 @@ -21166,18 +19383,18 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.28.2 - caniuse-lite: 1.0.30001793 + browserslist: 4.28.7 + caniuse-lite: 1.0.30001806 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001774: {} - - caniuse-lite@1.0.30001793: {} + caniuse-lite@1.0.30001806: {} caseless@0.12.0: {} - cborg@4.5.8: {} + cborg@5.1.11: {} + + cborg@6.1.1: {} ccount@2.0.1: {} @@ -21339,10 +19556,10 @@ snapshots: cmdk@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@18.3.23)(react@18.3.1) '@radix-ui/react-dialog': 1.1.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.4(@types/react@18.3.23)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: @@ -21459,7 +19676,7 @@ snapshots: copy-text-to-clipboard@3.2.2: {} - copy-webpack-plugin@11.0.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + copy-webpack-plugin@11.0.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: fast-glob: 3.3.3 glob-parent: 6.0.2 @@ -21467,13 +19684,13 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.3.3 serialize-javascript: 7.0.4 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) - core-js-compat@3.49.0: + core-js-compat@3.50.0: dependencies: - browserslist: 4.28.2 + browserslist: 4.28.7 - core-js-pure@3.49.0: {} + core-js-pure@3.50.0: {} core-js@3.45.1: {} @@ -21502,7 +19719,7 @@ snapshots: create-ecdh@4.0.4: dependencies: - bn.js: 4.12.3 + bn.js: 4.12.5 elliptic: 6.6.1 create-hash@1.2.0: @@ -21522,13 +19739,13 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.12 - create-jest@29.7.0(@types/node@25.9.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)): + create-jest@29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@25.9.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) + jest-config: 29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -21552,14 +19769,14 @@ snapshots: crypto-browserify@3.12.1: dependencies: browserify-cipher: 1.0.1 - browserify-sign: 4.2.5 + browserify-sign: 4.2.6 create-ecdh: 4.0.4 create-hash: 1.2.0 create-hmac: 1.1.7 diffie-hellman: 5.0.3 hash-base: 3.0.5 inherits: 2.0.4 - pbkdf2: 3.1.5 + pbkdf2: 3.1.6 public-encrypt: 4.0.3 randombytes: 2.1.0 randomfill: 1.0.4 @@ -21572,87 +19789,73 @@ snapshots: dependencies: type-fest: 1.4.0 - css-blank-pseudo@3.0.3(postcss@8.5.14): - dependencies: - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 - - css-blank-pseudo@3.0.3(postcss@8.5.6): + css-blank-pseudo@3.0.3(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - css-blank-pseudo@7.0.1(postcss@8.5.6): + css-blank-pseudo@7.0.1(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 - css-declaration-sorter@6.4.1(postcss@8.5.14): + css-declaration-sorter@6.4.1(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 - css-declaration-sorter@7.3.1(postcss@8.5.6): + css-declaration-sorter@7.4.0(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 - css-has-pseudo@3.0.4(postcss@8.5.14): + css-has-pseudo@3.0.4(postcss@8.5.22): dependencies: - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - css-has-pseudo@3.0.4(postcss@8.5.6): + css-has-pseudo@7.0.3(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - - css-has-pseudo@7.0.3(postcss@8.5.6): - dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.4) + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 postcss-value-parser: 4.2.0 css-line-break@2.1.0: dependencies: utrie: 1.0.2 - css-loader@6.11.0(@rspack/core@1.7.11(@swc/helpers@0.5.21))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + css-loader@6.11.0(@rspack/core@1.7.12(@swc/helpers@0.5.23))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.22) + postcss: 8.5.22 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.22) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.22) + postcss-modules-scope: 3.2.1(postcss@8.5.22) + postcss-modules-values: 4.0.0(postcss@8.5.22) postcss-value-parser: 4.2.0 - semver: 7.8.0 + semver: 7.8.5 optionalDependencies: - '@rspack/core': 1.7.11(@swc/helpers@0.5.21) - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + '@rspack/core': 1.7.12(@swc/helpers@0.5.23) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) - css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: '@jridgewell/trace-mapping': 0.3.31 - cssnano: 6.1.2(postcss@8.5.6) + cssnano: 6.1.2(postcss@8.5.22) jest-worker: 29.7.0 - postcss: 8.5.6 + postcss: 8.5.22 schema-utils: 4.3.3 serialize-javascript: 7.0.4 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) optionalDependencies: clean-css: 5.3.3 - css-prefers-color-scheme@10.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - css-prefers-color-scheme@6.0.3(postcss@8.5.14): + css-prefers-color-scheme@10.0.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 - css-prefers-color-scheme@6.0.3(postcss@8.5.6): + css-prefers-color-scheme@6.0.3(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 css-select@4.3.0: dependencies: @@ -21670,6 +19873,11 @@ snapshots: domutils: 3.2.2 nth-check: 2.1.1 + css-tree@1.1.3: + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + css-tree@2.2.1: dependencies: mdn-data: 2.0.28 @@ -21684,108 +19892,112 @@ snapshots: cssdb@7.11.2: {} - cssdb@8.8.0: {} + cssdb@8.9.0: {} cssesc@3.0.0: {} - cssnano-preset-advanced@6.1.2(postcss@8.5.6): - dependencies: - autoprefixer: 10.4.21(postcss@8.5.6) - browserslist: 4.28.2 - cssnano-preset-default: 6.1.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-discard-unused: 6.0.5(postcss@8.5.6) - postcss-merge-idents: 6.0.3(postcss@8.5.6) - postcss-reduce-idents: 6.0.3(postcss@8.5.6) - postcss-zindex: 6.0.2(postcss@8.5.6) - - cssnano-preset-default@5.2.14(postcss@8.5.14): - dependencies: - css-declaration-sorter: 6.4.1(postcss@8.5.14) - cssnano-utils: 3.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-calc: 8.2.4(postcss@8.5.14) - postcss-colormin: 5.3.1(postcss@8.5.14) - postcss-convert-values: 5.1.3(postcss@8.5.14) - postcss-discard-comments: 5.1.2(postcss@8.5.14) - postcss-discard-duplicates: 5.1.0(postcss@8.5.14) - postcss-discard-empty: 5.1.1(postcss@8.5.14) - postcss-discard-overridden: 5.1.0(postcss@8.5.14) - postcss-merge-longhand: 5.1.7(postcss@8.5.14) - postcss-merge-rules: 5.1.4(postcss@8.5.14) - postcss-minify-font-values: 5.1.0(postcss@8.5.14) - postcss-minify-gradients: 5.1.1(postcss@8.5.14) - postcss-minify-params: 5.1.4(postcss@8.5.14) - postcss-minify-selectors: 5.2.1(postcss@8.5.14) - postcss-normalize-charset: 5.1.0(postcss@8.5.14) - postcss-normalize-display-values: 5.1.0(postcss@8.5.14) - postcss-normalize-positions: 5.1.1(postcss@8.5.14) - postcss-normalize-repeat-style: 5.1.1(postcss@8.5.14) - postcss-normalize-string: 5.1.0(postcss@8.5.14) - postcss-normalize-timing-functions: 5.1.0(postcss@8.5.14) - postcss-normalize-unicode: 5.1.1(postcss@8.5.14) - postcss-normalize-url: 5.1.0(postcss@8.5.14) - postcss-normalize-whitespace: 5.1.1(postcss@8.5.14) - postcss-ordered-values: 5.1.3(postcss@8.5.14) - postcss-reduce-initial: 5.1.2(postcss@8.5.14) - postcss-reduce-transforms: 5.1.0(postcss@8.5.14) - postcss-svgo: 5.1.0(postcss@8.5.14) - postcss-unique-selectors: 5.1.1(postcss@8.5.14) - - cssnano-preset-default@6.1.2(postcss@8.5.6): - dependencies: - browserslist: 4.28.2 - css-declaration-sorter: 7.3.1(postcss@8.5.6) - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-calc: 9.0.1(postcss@8.5.6) - postcss-colormin: 6.1.0(postcss@8.5.6) - postcss-convert-values: 6.1.0(postcss@8.5.6) - postcss-discard-comments: 6.0.2(postcss@8.5.6) - postcss-discard-duplicates: 6.0.3(postcss@8.5.6) - postcss-discard-empty: 6.0.3(postcss@8.5.6) - postcss-discard-overridden: 6.0.2(postcss@8.5.6) - postcss-merge-longhand: 6.0.5(postcss@8.5.6) - postcss-merge-rules: 6.1.1(postcss@8.5.6) - postcss-minify-font-values: 6.1.0(postcss@8.5.6) - postcss-minify-gradients: 6.0.3(postcss@8.5.6) - postcss-minify-params: 6.1.0(postcss@8.5.6) - postcss-minify-selectors: 6.0.4(postcss@8.5.6) - postcss-normalize-charset: 6.0.2(postcss@8.5.6) - postcss-normalize-display-values: 6.0.2(postcss@8.5.6) - postcss-normalize-positions: 6.0.2(postcss@8.5.6) - postcss-normalize-repeat-style: 6.0.2(postcss@8.5.6) - postcss-normalize-string: 6.0.2(postcss@8.5.6) - postcss-normalize-timing-functions: 6.0.2(postcss@8.5.6) - postcss-normalize-unicode: 6.1.0(postcss@8.5.6) - postcss-normalize-url: 6.0.2(postcss@8.5.6) - postcss-normalize-whitespace: 6.0.2(postcss@8.5.6) - postcss-ordered-values: 6.0.2(postcss@8.5.6) - postcss-reduce-initial: 6.1.0(postcss@8.5.6) - postcss-reduce-transforms: 6.0.2(postcss@8.5.6) - postcss-svgo: 6.0.3(postcss@8.5.6) - postcss-unique-selectors: 6.0.4(postcss@8.5.6) - - cssnano-utils@3.1.0(postcss@8.5.14): - dependencies: - postcss: 8.5.14 - - cssnano-utils@4.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - cssnano@5.1.15(postcss@8.5.14): - dependencies: - cssnano-preset-default: 5.2.14(postcss@8.5.14) + cssnano-preset-advanced@6.1.2(postcss@8.5.22): + dependencies: + autoprefixer: 10.4.21(postcss@8.5.22) + browserslist: 4.28.7 + cssnano-preset-default: 6.1.2(postcss@8.5.22) + postcss: 8.5.22 + postcss-discard-unused: 6.0.5(postcss@8.5.22) + postcss-merge-idents: 6.0.3(postcss@8.5.22) + postcss-reduce-idents: 6.0.3(postcss@8.5.22) + postcss-zindex: 6.0.2(postcss@8.5.22) + + cssnano-preset-default@5.2.14(postcss@8.5.22): + dependencies: + css-declaration-sorter: 6.4.1(postcss@8.5.22) + cssnano-utils: 3.1.0(postcss@8.5.22) + postcss: 8.5.22 + postcss-calc: 8.2.4(postcss@8.5.22) + postcss-colormin: 5.3.1(postcss@8.5.22) + postcss-convert-values: 5.1.3(postcss@8.5.22) + postcss-discard-comments: 5.1.2(postcss@8.5.22) + postcss-discard-duplicates: 5.1.0(postcss@8.5.22) + postcss-discard-empty: 5.1.1(postcss@8.5.22) + postcss-discard-overridden: 5.1.0(postcss@8.5.22) + postcss-merge-longhand: 5.1.7(postcss@8.5.22) + postcss-merge-rules: 5.1.4(postcss@8.5.22) + postcss-minify-font-values: 5.1.0(postcss@8.5.22) + postcss-minify-gradients: 5.1.1(postcss@8.5.22) + postcss-minify-params: 5.1.4(postcss@8.5.22) + postcss-minify-selectors: 5.2.1(postcss@8.5.22) + postcss-normalize-charset: 5.1.0(postcss@8.5.22) + postcss-normalize-display-values: 5.1.0(postcss@8.5.22) + postcss-normalize-positions: 5.1.1(postcss@8.5.22) + postcss-normalize-repeat-style: 5.1.1(postcss@8.5.22) + postcss-normalize-string: 5.1.0(postcss@8.5.22) + postcss-normalize-timing-functions: 5.1.0(postcss@8.5.22) + postcss-normalize-unicode: 5.1.1(postcss@8.5.22) + postcss-normalize-url: 5.1.0(postcss@8.5.22) + postcss-normalize-whitespace: 5.1.1(postcss@8.5.22) + postcss-ordered-values: 5.1.3(postcss@8.5.22) + postcss-reduce-initial: 5.1.2(postcss@8.5.22) + postcss-reduce-transforms: 5.1.0(postcss@8.5.22) + postcss-svgo: 5.1.0(postcss@8.5.22) + postcss-unique-selectors: 5.1.1(postcss@8.5.22) + + cssnano-preset-default@6.1.2(postcss@8.5.22): + dependencies: + browserslist: 4.28.7 + css-declaration-sorter: 7.4.0(postcss@8.5.22) + cssnano-utils: 4.0.2(postcss@8.5.22) + postcss: 8.5.22 + postcss-calc: 9.0.1(postcss@8.5.22) + postcss-colormin: 6.1.0(postcss@8.5.22) + postcss-convert-values: 6.1.0(postcss@8.5.22) + postcss-discard-comments: 6.0.2(postcss@8.5.22) + postcss-discard-duplicates: 6.0.3(postcss@8.5.22) + postcss-discard-empty: 6.0.3(postcss@8.5.22) + postcss-discard-overridden: 6.0.2(postcss@8.5.22) + postcss-merge-longhand: 6.0.5(postcss@8.5.22) + postcss-merge-rules: 6.1.1(postcss@8.5.22) + postcss-minify-font-values: 6.1.0(postcss@8.5.22) + postcss-minify-gradients: 6.0.3(postcss@8.5.22) + postcss-minify-params: 6.1.0(postcss@8.5.22) + postcss-minify-selectors: 6.0.4(postcss@8.5.22) + postcss-normalize-charset: 6.0.2(postcss@8.5.22) + postcss-normalize-display-values: 6.0.2(postcss@8.5.22) + postcss-normalize-positions: 6.0.2(postcss@8.5.22) + postcss-normalize-repeat-style: 6.0.2(postcss@8.5.22) + postcss-normalize-string: 6.0.2(postcss@8.5.22) + postcss-normalize-timing-functions: 6.0.2(postcss@8.5.22) + postcss-normalize-unicode: 6.1.0(postcss@8.5.22) + postcss-normalize-url: 6.0.2(postcss@8.5.22) + postcss-normalize-whitespace: 6.0.2(postcss@8.5.22) + postcss-ordered-values: 6.0.2(postcss@8.5.22) + postcss-reduce-initial: 6.1.0(postcss@8.5.22) + postcss-reduce-transforms: 6.0.2(postcss@8.5.22) + postcss-svgo: 6.0.3(postcss@8.5.22) + postcss-unique-selectors: 6.0.4(postcss@8.5.22) + + cssnano-utils@3.1.0(postcss@8.5.22): + dependencies: + postcss: 8.5.22 + + cssnano-utils@4.0.2(postcss@8.5.22): + dependencies: + postcss: 8.5.22 + + cssnano@5.1.15(postcss@8.5.22): + dependencies: + cssnano-preset-default: 5.2.14(postcss@8.5.22) lilconfig: 2.1.0 - postcss: 8.5.14 + postcss: 8.5.22 yaml: 1.10.3 - cssnano@6.1.2(postcss@8.5.6): + cssnano@6.1.2(postcss@8.5.22): dependencies: - cssnano-preset-default: 6.1.2(postcss@8.5.6) + cssnano-preset-default: 6.1.2(postcss@8.5.22) lilconfig: 3.1.3 - postcss: 8.5.6 + postcss: 8.5.22 + + csso@4.2.0: + dependencies: + css-tree: 1.1.3 csso@5.0.5: dependencies: @@ -21823,7 +20035,7 @@ snapshots: cli-table3: 0.6.1 commander: 8.3.0 common-tags: 1.8.2 - dayjs: 1.11.20 + dayjs: 1.11.21 debug: 4.4.3(supports-color@8.1.1) enquirer: 2.4.1 eventemitter2: 6.4.7 @@ -21845,7 +20057,7 @@ snapshots: process: 0.11.10 proxy-from-env: 1.0.0 request-progress: 3.0.0 - semver: 7.8.0 + semver: 7.8.5 supports-color: 8.1.1 tmp: 0.2.7 tree-kill: 1.2.2 @@ -21961,7 +20173,7 @@ snapshots: date-fns@4.1.0: {} - dayjs@1.11.20: {} + dayjs@1.11.21: {} dcmjs@0.52.0: dependencies: @@ -22063,10 +20275,10 @@ snapshots: object-keys: 1.1.1 object.assign: 4.1.7 regexp.prototype.flags: 1.5.4 - side-channel: 1.1.0 + side-channel: 1.1.1 which-boxed-primitive: 1.1.1 which-collection: 1.0.2 - which-typed-array: 1.1.20 + which-typed-array: 1.1.22 deep-extend@0.6.0: {} @@ -22167,7 +20379,7 @@ snapshots: dicomweb-client: 0.10.4 image-type: 4.1.0 mathjs: 11.12.0 - ol: 10.9.0 + ol: 10.10.0 uuid: 9.0.1 dicom-parser@1.8.21: {} @@ -22184,7 +20396,7 @@ snapshots: diffie-hellman@5.0.3: dependencies: - bn.js: 4.12.3 + bn.js: 4.12.5 miller-rabin: 4.0.1 randombytes: 2.1.0 @@ -22210,9 +20422,9 @@ snapshots: dependencies: define-properties: 1.2.1 - docusaurus-plugin-image-zoom@1.0.1(@docusaurus/theme-classic@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)): + docusaurus-plugin-image-zoom@1.0.1(@docusaurus/theme-classic@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)): dependencies: - '@docusaurus/theme-classic': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.13(@swc/helpers@0.5.21))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.21))(@rspack/core@1.7.11(@swc/helpers@0.5.21))(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-classic': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/helpers@0.5.23)(postcss@8.5.22))(@rspack/core@1.7.12(@swc/helpers@0.5.23))(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) medium-zoom: 1.1.0 validate-peer-dependencies: 2.2.0 @@ -22286,7 +20498,7 @@ snapshots: duplexer@0.1.2: {} - earcut@3.0.2: {} + earcut@3.2.3: {} eastasianwidth@0.2.0: {} @@ -22301,15 +20513,13 @@ snapshots: dependencies: jake: 10.9.4 - electron-to-chromium@1.5.302: {} - - electron-to-chromium@1.5.358: {} + electron-to-chromium@1.5.401: {} elegant-spinner@1.0.1: {} elliptic@6.6.1: dependencies: - bn.js: 4.12.3 + bn.js: 4.12.5 brorand: 1.1.0 hash.js: 1.1.7 hmac-drbg: 1.0.1 @@ -22335,7 +20545,7 @@ snapshots: dependencies: once: 1.4.0 - enhanced-resolve@5.19.0: + enhanced-resolve@5.24.5: dependencies: graceful-fs: 4.2.11 tapable: 2.2.2 @@ -22353,7 +20563,7 @@ snapshots: enzyme-shallow-equal@1.0.7: dependencies: - hasown: 2.0.2 + hasown: 2.0.4 object-is: 1.1.6 error-ex@1.3.4: @@ -22364,7 +20574,14 @@ snapshots: dependencies: stackframe: 1.3.4 - es-abstract@1.24.1: + es-abstract-get@1.0.0: + dependencies: + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + is-callable: 1.2.7 + object-inspect: 1.13.4 + + es-abstract@1.24.2: dependencies: array-buffer-byte-length: 1.0.2 arraybuffer.prototype.slice: 1.0.4 @@ -22376,10 +20593,10 @@ snapshots: data-view-byte-offset: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 es-set-tostringtag: 2.1.0 - es-to-primitive: 1.3.0 - function.prototype.name: 1.1.8 + es-to-primitive: 1.3.4 + function.prototype.name: 1.2.0 get-intrinsic: 1.3.0 get-proto: 1.0.1 get-symbol-description: 1.1.0 @@ -22404,22 +20621,22 @@ snapshots: object-inspect: 1.13.4 object-keys: 1.1.1 object.assign: 4.1.7 - own-keys: 1.0.1 + own-keys: 1.0.2 regexp.prototype.flags: 1.5.4 - safe-array-concat: 1.1.3 + safe-array-concat: 1.1.4 safe-push-apply: 1.0.0 safe-regex-test: 1.1.0 set-proto: 1.0.0 stop-iteration-iterator: 1.1.0 - string.prototype.trim: 1.2.10 - string.prototype.trimend: 1.0.9 + string.prototype.trim: 1.2.11 + string.prototype.trimend: 1.0.10 string.prototype.trimstart: 1.0.8 typed-array-buffer: 1.0.3 typed-array-byte-length: 1.0.3 typed-array-byte-offset: 1.0.4 - typed-array-length: 1.0.7 + typed-array-length: 1.0.8 unbox-primitive: 1.1.0 - which-typed-array: 1.1.20 + which-typed-array: 1.1.22 es-define-property@1.0.1: {} @@ -22437,9 +20654,9 @@ snapshots: isarray: 2.0.5 stop-iteration-iterator: 1.1.0 - es-module-lexer@2.0.0: {} + es-module-lexer@2.3.1: {} - es-object-atoms@1.1.1: + es-object-atoms@1.1.2: dependencies: es-errors: 1.3.0 @@ -22454,8 +20671,11 @@ snapshots: dependencies: hasown: 2.0.4 - es-to-primitive@1.3.0: + es-to-primitive@1.3.4: dependencies: + es-abstract-get: 1.0.0 + es-define-property: 1.0.1 + es-errors: 1.3.0 is-callable: 1.2.7 is-date-object: 1.1.0 is-symbol: 1.1.1 @@ -22472,7 +20692,7 @@ snapshots: esast-util-from-js@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - acorn: 8.16.0 + acorn: 8.18.0 esast-util-from-estree: 2.0.0 vfile-message: 4.0.3 @@ -22517,7 +20737,7 @@ snapshots: estree-util-attach-comments@3.0.0: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 estree-util-build-jsx@3.0.1: dependencies: @@ -22530,7 +20750,7 @@ snapshots: estree-util-scope@1.0.0: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 devlop: 1.1.0 estree-util-to-js@2.0.0: @@ -22541,25 +20761,25 @@ snapshots: estree-util-value-to-estree@3.5.0: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 estree-util-visit@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 '@types/unist': 3.0.3 - estree-walker@1.0.1: {} - estree-walker@2.0.2: {} estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 esutils@2.0.3: {} eta@2.2.0: {} + eta@4.6.0: {} + etag@1.8.1: {} eval@0.1.8: @@ -22644,7 +20864,7 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -22716,7 +20936,7 @@ snapshots: fast-json-stable-stringify@2.1.0: {} - fast-uri@3.1.2: {} + fast-uri@3.1.4: {} fastq@1.20.1: dependencies: @@ -22738,9 +20958,9 @@ snapshots: dependencies: pend: 1.2.0 - fdir@6.5.0(picomatch@4.0.4): + fdir@6.5.0(picomatch@4.0.5): optionalDependencies: - picomatch: 4.0.4 + picomatch: 4.0.5 feed@4.2.2: dependencies: @@ -22768,11 +20988,17 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22)): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22) + + file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) file-selector@0.1.19: dependencies: @@ -22903,7 +21129,7 @@ snapshots: fs-constants@1.0.0: {} - fs-extra@11.3.3: + fs-extra@11.4.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.2.1 @@ -22926,14 +21152,17 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.8: + function.prototype.name@1.2.0: dependencies: call-bind: 1.0.9 call-bound: 1.0.4 - define-properties: 1.2.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 hasown: 2.0.4 is-callable: 1.2.7 + is-document.all: 1.0.0 functions-have-names@1.2.3: {} @@ -22941,11 +21170,11 @@ snapshots: gensync@1.0.0-beta.2: {} - geotiff@3.0.5: + geotiff@3.1.0-beta.0: dependencies: '@petamoriken/float16': 3.9.3 lerc: 3.0.0 - pako: 2.1.0 + pako: 2.2.0 parse-headers: 2.0.6 quick-lru: 6.1.2 web-worker: 1.5.0 @@ -22959,7 +21188,7 @@ snapshots: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 function-bind: 1.1.2 get-proto: 1.0.1 gopd: 1.2.0 @@ -22976,7 +21205,7 @@ snapshots: get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-stream@2.3.1: dependencies: @@ -22985,7 +21214,7 @@ snapshots: get-stream@4.1.0: dependencies: - pump: 3.0.3 + pump: 3.0.4 get-stream@5.2.0: dependencies: @@ -23128,10 +21357,10 @@ snapshots: hammerjs@2.0.8: {} - hamt-sharding@3.0.6: + hamt-sharding@3.0.8: dependencies: sparse-array: 1.3.2 - uint8arrays: 5.1.0 + uint8arrays: 6.1.1 handle-thing@2.0.1: {} @@ -23185,34 +21414,30 @@ snapshots: is-stream: 2.0.1 type-fest: 0.8.1 - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - hasown@2.0.4: dependencies: function-bind: 1.1.2 hast-util-from-parse5@8.0.3: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/unist': 3.0.3 devlop: 1.1.0 hastscript: 9.0.1 - property-information: 7.1.0 + property-information: 7.2.0 vfile: 6.0.3 vfile-location: 5.0.3 web-namespaces: 2.0.1 hast-util-parse-selector@4.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-raw@9.1.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/unist': 3.0.3 - '@ungap/structured-clone': 1.3.0 + '@ungap/structured-clone': 1.3.3 hast-util-from-parse5: 8.0.3 hast-util-to-parse5: 8.0.1 html-void-elements: 3.0.0 @@ -23226,9 +21451,9 @@ snapshots: hast-util-to-estree@3.1.3: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 comma-separated-tokens: 2.0.3 devlop: 1.1.0 estree-util-attach-comments: 3.0.0 @@ -23237,7 +21462,7 @@ snapshots: mdast-util-mdx-expression: 2.0.1 mdast-util-mdx-jsx: 3.2.0 mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.1.0 + property-information: 7.2.0 space-separated-tokens: 2.0.2 style-to-js: 1.1.21 unist-util-position: 5.0.0 @@ -23247,8 +21472,8 @@ snapshots: hast-util-to-jsx-runtime@2.3.6: dependencies: - '@types/estree': 1.0.8 - '@types/hast': 3.0.4 + '@types/estree': 1.0.9 + '@types/hast': 3.0.5 '@types/unist': 3.0.3 comma-separated-tokens: 2.0.3 devlop: 1.1.0 @@ -23257,7 +21482,7 @@ snapshots: mdast-util-mdx-expression: 2.0.1 mdast-util-mdx-jsx: 3.2.0 mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.1.0 + property-information: 7.2.0 space-separated-tokens: 2.0.2 style-to-js: 1.1.21 unist-util-position: 5.0.0 @@ -23267,24 +21492,24 @@ snapshots: hast-util-to-parse5@8.0.1: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 comma-separated-tokens: 2.0.3 devlop: 1.1.0 - property-information: 7.1.0 + property-information: 7.2.0 space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 hast-util-whitespace@3.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hastscript@9.0.1: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 - property-information: 7.1.0 + property-information: 7.2.0 space-separated-tokens: 2.0.2 he@1.2.0: {} @@ -23302,7 +21527,7 @@ snapshots: history@5.3.0: dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 hmac-drbg@1.0.1: dependencies: @@ -23335,7 +21560,7 @@ snapshots: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.47.1 + terser: 5.49.2 html-minifier-terser@7.2.0: dependencies: @@ -23345,9 +21570,9 @@ snapshots: entities: 4.5.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.47.1 + terser: 5.49.2 - html-parse-stringify@3.0.1: + html-parse-stringify@3.1.0: dependencies: void-elements: 3.1.0 @@ -23355,7 +21580,7 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.3(@rspack/core@1.7.11(@swc/helpers@0.5.21))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + html-webpack-plugin@5.6.8(@rspack/core@1.7.12(@swc/helpers@0.5.23))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -23363,8 +21588,8 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.2 optionalDependencies: - '@rspack/core': 1.7.11(@swc/helpers@0.5.21) - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + '@rspack/core': 1.7.12(@swc/helpers@0.5.23) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) html2canvas@1.4.1: dependencies: @@ -23423,7 +21648,7 @@ snapshots: transitivePeerDependencies: - supports-color - http-proxy-middleware@2.0.9(@types/express@4.17.25): + http-proxy-middleware@2.0.10(@types/express@4.17.25): dependencies: '@types/http-proxy': 1.17.17 http-proxy: 1.18.1 @@ -23475,11 +21700,11 @@ snapshots: i18next-locize-backend@2.2.2: dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 i18next@17.3.1: dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 iconv-lite@0.4.24: dependencies: @@ -23489,9 +21714,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 idb@7.1.1: {} @@ -23509,9 +21734,6 @@ snapshots: dependencies: file-type: 10.11.0 - immer@9.0.21: - optional: true - immutability-helper@3.1.1: {} import-fresh@3.3.1: @@ -23576,7 +21798,7 @@ snapshots: dependencies: es-errors: 1.3.0 hasown: 2.0.4 - side-channel: 1.1.0 + side-channel: 1.1.1 internmap@2.0.3: {} @@ -23590,14 +21812,14 @@ snapshots: ipaddr.js@1.9.1: {} - ipaddr.js@2.3.0: {} + ipaddr.js@2.5.0: {} ipfs-car@1.2.0: dependencies: - '@ipld/car': 5.4.2 - '@ipld/dag-cbor': 9.2.5 - '@ipld/dag-json': 10.2.6 - '@ipld/dag-pb': 4.1.5 + '@ipld/car': 5.4.7 + '@ipld/dag-cbor': 9.2.7 + '@ipld/dag-json': 10.2.9 + '@ipld/dag-pb': 4.1.7 '@ipld/unixfs': 3.0.0 '@web3-storage/car-block-validator': 1.2.2 files-from-path: 1.1.4 @@ -23608,27 +21830,27 @@ snapshots: ipfs-unixfs-exporter@13.7.3: dependencies: - '@ipld/dag-cbor': 9.2.5 - '@ipld/dag-json': 10.2.6 - '@ipld/dag-pb': 4.1.5 - '@multiformats/murmur3': 2.2.0 - hamt-sharding: 3.0.6 + '@ipld/dag-cbor': 9.2.7 + '@ipld/dag-json': 10.2.9 + '@ipld/dag-pb': 4.1.7 + '@multiformats/murmur3': 2.2.8 + hamt-sharding: 3.0.8 interface-blockstore: 5.3.2 ipfs-unixfs: 11.2.5 - it-filter: 3.1.4 - it-last: 3.0.9 - it-map: 3.1.4 - it-parallel: 3.0.13 + it-filter: 3.1.6 + it-last: 3.0.11 + it-map: 3.1.6 + it-parallel: 3.0.16 it-pipe: 3.0.1 - it-pushable: 3.2.3 + it-pushable: 3.2.4 multiformats: 13.4.2 p-queue: 8.1.1 - progress-events: 1.0.1 + progress-events: 1.1.0 ipfs-unixfs@11.2.5: dependencies: protons-runtime: 5.6.0 - uint8arraylist: 2.4.8 + uint8arraylist: 2.4.9 is-alphabetical@2.0.1: {} @@ -23681,10 +21903,6 @@ snapshots: dependencies: ci-info: 3.9.0 - is-core-module@2.16.1: - dependencies: - hasown: 2.0.4 - is-core-module@2.16.2: dependencies: hasown: 2.0.4 @@ -23706,6 +21924,10 @@ snapshots: is-docker@3.0.0: {} + is-document.all@1.0.0: + dependencies: + call-bound: 1.0.4 + is-extendable@0.1.1: {} is-extglob@2.1.1: {} @@ -23831,7 +22053,7 @@ snapshots: is-typed-array@1.1.15: dependencies: - which-typed-array: 1.1.20 + which-typed-array: 1.1.22 is-typedarray@1.0.0: {} @@ -23881,7 +22103,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/parser': 7.29.3 + '@babel/parser': 7.29.8 '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -23891,10 +22113,10 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/parser': 7.29.3 + '@babel/parser': 7.29.8 '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 - semver: 7.8.0 + semver: 7.8.5 transitivePeerDependencies: - supports-color @@ -23926,43 +22148,43 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - it-filter@3.1.4: + it-filter@3.1.6: dependencies: - it-peekable: 3.0.8 + it-peekable: 3.0.10 - it-last@3.0.9: {} + it-last@3.0.11: {} - it-map@3.1.4: + it-map@3.1.6: dependencies: - it-peekable: 3.0.8 + it-peekable: 3.0.10 - it-merge@3.0.12: + it-merge@3.0.14: dependencies: - it-queueless-pushable: 2.0.3 + it-queueless-pushable: 2.0.5 - it-parallel@3.0.13: + it-parallel@3.0.16: dependencies: p-defer: 4.0.1 - it-peekable@3.0.8: {} + it-peekable@3.0.10: {} it-pipe@3.0.1: dependencies: - it-merge: 3.0.12 - it-pushable: 3.2.3 - it-stream-types: 2.0.2 + it-merge: 3.0.14 + it-pushable: 3.2.4 + it-stream-types: 2.0.4 - it-pushable@3.2.3: + it-pushable@3.2.4: dependencies: p-defer: 4.0.1 - it-queueless-pushable@2.0.3: + it-queueless-pushable@2.0.5: dependencies: - abort-error: 1.0.1 + abort-error: 1.0.2 p-defer: 4.0.1 race-signal: 2.0.0 - it-stream-types@2.0.2: {} + it-stream-types@2.0.4: {} itk-wasm@1.0.0-b.165: dependencies: @@ -23972,7 +22194,7 @@ snapshots: axios: 1.18.1 comlink: 4.4.2 commander: 8.3.0 - fs-extra: 11.3.3 + fs-extra: 11.4.0 glob: 8.1.0 markdown-table: 3.0.4 mime-types: 2.1.35 @@ -23990,7 +22212,7 @@ snapshots: chalk: 5.4.1 comlink: 4.4.2 commander: 8.3.0 - fs-extra: 11.3.3 + fs-extra: 11.4.0 glob: 8.1.0 markdown-table: 3.0.4 mime-types: 2.1.35 @@ -24049,26 +22271,26 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@25.9.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)): + jest-cli@29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@25.9.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) + create-jest: 29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@25.9.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) + jest-config: 29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) jest-util: 29.7.0 jest-validate: 29.7.0 - yargs: 17.7.2 + yargs: 17.7.3 transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - jest-config@29.7.0(@types/node@25.9.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)): + jest-config@29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)): dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@jest/test-sequencer': 29.7.0 @@ -24093,8 +22315,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 25.9.1 - ts-node: 10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4) + '@types/node': 20.19.9 + ts-node: 10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -24124,7 +22346,7 @@ snapshots: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 25.9.0 + '@types/node': 20.19.9 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3(supports-color@8.1.1) @@ -24183,7 +22405,7 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.29.0 + '@babel/code-frame': 7.29.7 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 @@ -24196,7 +22418,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 25.9.0 + '@types/node': 20.19.9 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -24280,10 +22502,10 @@ snapshots: jest-snapshot@29.7.0: dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/generator': 7.29.7 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.7(supports-color@8.1.1)) - '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.7(supports-color@8.1.1)) - '@babel/types': 7.29.0 + '@babel/generator': 7.29.8 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/types': 7.29.8 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 @@ -24298,14 +22520,14 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.8.0 + semver: 7.8.5 transitivePeerDependencies: - supports-color jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 25.9.0 + '@types/node': 20.19.9 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -24353,12 +22575,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@25.9.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)): + jest@29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@25.9.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) + jest-cli: 29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -24369,7 +22591,7 @@ snapshots: jiti@2.7.0: {} - joi@17.13.3: + joi@17.13.4: dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 @@ -24399,7 +22621,7 @@ snapshots: jsdom@20.0.3(supports-color@8.1.1): dependencies: abab: 2.0.6 - acorn: 8.16.0 + acorn: 8.18.0 acorn-globals: 7.0.1 cssom: 0.5.0 cssstyle: 2.3.0 @@ -24412,7 +22634,7 @@ snapshots: http-proxy-agent: 5.0.0(supports-color@8.1.1) https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.23 + nwsapi: 2.2.24 parse5: 7.3.0 saxes: 6.0.0 symbol-tree: 3.2.4 @@ -24484,7 +22706,7 @@ snapshots: dependencies: package-json: 8.1.1 - launch-editor@2.13.1: + launch-editor@2.14.1: dependencies: picocolors: 1.1.1 shell-quote: 1.10.0 @@ -24497,54 +22719,54 @@ snapshots: leven@3.1.0: {} - lightningcss-android-arm64@1.31.1: + lightningcss-android-arm64@1.33.0: optional: true - lightningcss-darwin-arm64@1.31.1: + lightningcss-darwin-arm64@1.33.0: optional: true - lightningcss-darwin-x64@1.31.1: + lightningcss-darwin-x64@1.33.0: optional: true - lightningcss-freebsd-x64@1.31.1: + lightningcss-freebsd-x64@1.33.0: optional: true - lightningcss-linux-arm-gnueabihf@1.31.1: + lightningcss-linux-arm-gnueabihf@1.33.0: optional: true - lightningcss-linux-arm64-gnu@1.31.1: + lightningcss-linux-arm64-gnu@1.33.0: optional: true - lightningcss-linux-arm64-musl@1.31.1: + lightningcss-linux-arm64-musl@1.33.0: optional: true - lightningcss-linux-x64-gnu@1.31.1: + lightningcss-linux-x64-gnu@1.33.0: optional: true - lightningcss-linux-x64-musl@1.31.1: + lightningcss-linux-x64-musl@1.33.0: optional: true - lightningcss-win32-arm64-msvc@1.31.1: + lightningcss-win32-arm64-msvc@1.33.0: optional: true - lightningcss-win32-x64-msvc@1.31.1: + lightningcss-win32-x64-msvc@1.33.0: optional: true - lightningcss@1.31.1: + lightningcss@1.33.0: dependencies: detect-libc: 2.1.2 optionalDependencies: - lightningcss-android-arm64: 1.31.1 - lightningcss-darwin-arm64: 1.31.1 - lightningcss-darwin-x64: 1.31.1 - lightningcss-freebsd-x64: 1.31.1 - lightningcss-linux-arm-gnueabihf: 1.31.1 - lightningcss-linux-arm64-gnu: 1.31.1 - lightningcss-linux-arm64-musl: 1.31.1 - lightningcss-linux-x64-gnu: 1.31.1 - lightningcss-linux-x64-musl: 1.31.1 - lightningcss-win32-arm64-msvc: 1.31.1 - lightningcss-win32-x64-msvc: 1.31.1 + lightningcss-android-arm64: 1.33.0 + lightningcss-darwin-arm64: 1.33.0 + lightningcss-darwin-x64: 1.33.0 + lightningcss-freebsd-x64: 1.33.0 + lightningcss-linux-arm-gnueabihf: 1.33.0 + lightningcss-linux-arm64-gnu: 1.33.0 + lightningcss-linux-arm64-musl: 1.33.0 + lightningcss-linux-x64-gnu: 1.33.0 + lightningcss-linux-x64-musl: 1.33.0 + lightningcss-win32-arm64-msvc: 1.33.0 + lightningcss-win32-x64-msvc: 1.33.0 lilconfig@2.1.0: {} @@ -24601,7 +22823,7 @@ snapshots: - zen-observable - zenObservable - loader-runner@4.3.1: {} + loader-runner@4.3.2: {} loader-utils@1.4.2: dependencies: @@ -24625,7 +22847,7 @@ snapshots: locize-editor@2.2.2: dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 locize-lastused@1.1.1: {} @@ -24651,8 +22873,6 @@ snapshots: lodash.once@4.1.1: {} - lodash.sortby@4.7.0: {} - lodash.uniq@4.5.0: {} lodash.uniqby@4.7.0: {} @@ -24701,7 +22921,7 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.2.6: {} + lru-cache@11.5.2: {} lru-cache@5.1.1: dependencies: @@ -24717,6 +22937,10 @@ snapshots: dependencies: sourcemap-codec: 1.4.8 + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + make-dir@1.3.0: dependencies: pify: 3.0.0 @@ -24727,7 +22951,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.8.0 + semver: 7.8.5 make-error@1.3.6: {} @@ -24757,7 +22981,7 @@ snapshots: mathjs@12.4.3: dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 complex.js: 2.4.3 decimal.js: 10.6.0 escape-latex: 1.2.0 @@ -24950,7 +23174,7 @@ snapshots: mdast-util-mdx-expression@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 devlop: 1.1.0 mdast-util-from-markdown: 2.0.3 @@ -24961,7 +23185,7 @@ snapshots: mdast-util-mdx-jsx@3.2.0: dependencies: '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 '@types/unist': 3.0.3 ccount: 2.0.1 @@ -24988,7 +23212,7 @@ snapshots: mdast-util-mdxjs-esm@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 devlop: 1.1.0 mdast-util-from-markdown: 2.0.3 @@ -25008,9 +23232,9 @@ snapshots: mdast-util-to-hast@13.2.1: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.3.0 + '@ungap/structured-clone': 1.3.3 devlop: 1.1.0 micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 @@ -25049,6 +23273,8 @@ snapshots: dependencies: '@types/mdast': 4.0.4 + mdn-data@2.0.14: {} + mdn-data@2.0.28: {} mdn-data@2.0.30: {} @@ -25057,20 +23283,20 @@ snapshots: medium-zoom@1.1.0: {} - memfs@4.57.8(tslib@2.8.1): + memfs@4.67.0: dependencies: - '@jsonjoy.com/fs-core': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-fsa': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-node': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-node-to-fsa': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-print': 4.57.8(tslib@2.8.1) - '@jsonjoy.com/fs-snapshot': 4.57.8(tslib@2.8.1) + '@jsonjoy.com/fs-core': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-fsa': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-node': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-to-fsa': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-print': 4.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-snapshot': 4.67.0(tslib@2.8.1) '@jsonjoy.com/json-pack': 1.21.0(tslib@2.8.1) '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) glob-to-regex.js: 1.2.0(tslib@2.8.1) - thingies: 2.6.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) tree-dump: 1.1.0(tslib@2.8.1) tslib: 2.8.1 @@ -25259,7 +23485,7 @@ snapshots: micromark-extension-mdx-expression@3.0.1: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 devlop: 1.1.0 micromark-factory-mdx-expression: 2.0.3 micromark-factory-space: 2.0.1 @@ -25270,7 +23496,7 @@ snapshots: micromark-extension-mdx-jsx@3.0.2: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 micromark-factory-mdx-expression: 2.0.3 @@ -25287,7 +23513,7 @@ snapshots: micromark-extension-mdxjs-esm@3.0.0: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 micromark-util-character: 2.1.1 @@ -25299,8 +23525,8 @@ snapshots: micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) micromark-extension-mdx-expression: 3.0.1 micromark-extension-mdx-jsx: 3.0.2 micromark-extension-mdx-md: 2.0.0 @@ -25336,7 +23562,7 @@ snapshots: micromark-factory-mdx-expression@2.0.3: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 devlop: 1.1.0 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 @@ -25452,7 +23678,7 @@ snapshots: micromark-util-events-to-acorn@2.0.3: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 '@types/unist': 3.0.3 devlop: 1.1.0 estree-util-visit: 2.0.0 @@ -25516,7 +23742,7 @@ snapshots: micromark@3.2.0: dependencies: - '@types/debug': 4.1.12 + '@types/debug': 4.1.13 debug: 4.4.3(supports-color@8.1.1) decode-named-character-reference: 1.3.0 micromark-core-commonmark: 1.1.0 @@ -25538,7 +23764,7 @@ snapshots: micromark@4.0.2: dependencies: - '@types/debug': 4.1.12 + '@types/debug': 4.1.13 debug: 4.4.3(supports-color@8.1.1) decode-named-character-reference: 1.3.0 devlop: 1.1.0 @@ -25565,7 +23791,7 @@ snapshots: miller-rabin@4.0.1: dependencies: - bn.js: 4.12.3 + bn.js: 4.12.5 brorand: 1.1.0 mime-db@1.33.0: {} @@ -25598,11 +23824,17 @@ snapshots: mimic-response@4.0.0: {} - mini-css-extract-plugin@2.9.2(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + mini-css-extract-plugin@2.9.2(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22)): + dependencies: + schema-utils: 4.3.3 + tapable: 2.2.2 + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22) + + mini-css-extract-plugin@2.9.2(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: schema-utils: 4.3.3 tapable: 2.2.2 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) minimalistic-assert@1.0.1: {} @@ -25610,19 +23842,19 @@ snapshots: minimatch@10.2.5: dependencies: - brace-expansion: 5.0.7 + brace-expansion: 5.0.9 minimatch@3.1.5: dependencies: - brace-expansion: 1.1.16 + brace-expansion: 1.1.18 minimatch@5.1.9: dependencies: - brace-expansion: 2.1.2 + brace-expansion: 2.1.4 minimatch@9.0.9: dependencies: - brace-expansion: 2.1.2 + brace-expansion: 2.1.4 minimist@1.2.8: {} @@ -25655,6 +23887,8 @@ snapshots: multiformats@13.4.2: {} + multiformats@14.0.5: {} + murmurhash3js-revisited@3.0.0: {} mustache@4.2.0: {} @@ -25667,9 +23901,7 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nanoid@3.3.11: {} - - nanoid@3.3.12: {} + nanoid@3.3.17: {} natural-compare@1.4.0: {} @@ -25717,9 +23949,7 @@ snapshots: dependencies: process-on-spawn: 1.1.0 - node-releases@2.0.27: {} - - node-releases@2.0.44: {} + node-releases@2.0.52: {} normalize-path@3.0.0: {} @@ -25741,7 +23971,7 @@ snapshots: dependencies: path-key: 4.0.0 - npm-to-yarn@3.0.1: {} + npm-to-yarn@3.2.0: {} nprogress@0.2.0: {} @@ -25749,11 +23979,11 @@ snapshots: dependencies: boolbase: 1.0.0 - null-loader@4.0.1(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + null-loader@4.0.1(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) number-is-nan@1.0.1: {} @@ -25761,7 +23991,7 @@ snapshots: dependencies: fflate: 0.8.3 - nwsapi@2.2.23: {} + nwsapi@2.2.24: {} nyc@17.1.0(supports-color@8.1.1): dependencies: @@ -25812,10 +24042,10 @@ snapshots: object.assign@4.1.7: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 has-symbols: 1.1.0 object-keys: 1.1.1 @@ -25824,14 +24054,14 @@ snapshots: call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 object.values@1.2.1: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 obuf@1.1.2: {} @@ -25847,12 +24077,12 @@ snapshots: crypto-js: 4.2.0 serialize-javascript: 7.0.4 - ol@10.9.0: + ol@10.10.0: dependencies: '@types/rbush': 4.0.0 - earcut: 3.0.2 - geotiff: 3.0.5 - pbf: 4.0.1 + earcut: 3.2.3 + geotiff: 3.1.0-beta.0 + pbf: 5.1.2 rbush: 4.0.1 zarrita: 0.7.3 @@ -25922,8 +24152,9 @@ snapshots: ospath@1.2.2: {} - own-keys@1.0.1: + own-keys@1.0.2: dependencies: + call-bound: 1.0.4 get-intrinsic: 1.3.0 object-keys: 1.1.1 safe-push-apply: 1.0.0 @@ -26002,12 +24233,14 @@ snapshots: got: 12.6.1 registry-auth-token: 5.1.1 registry-url: 6.0.1 - semver: 7.8.0 + semver: 7.8.5 pako@1.0.11: {} pako@2.1.0: {} + pako@2.2.0: {} + param-case@3.0.4: dependencies: dot-case: 3.0.4 @@ -26022,7 +24255,7 @@ snapshots: asn1.js: 4.10.1 browserify-aes: 1.2.0 evp_bytestokey: 1.0.3 - pbkdf2: 3.1.5 + pbkdf2: 3.1.6 safe-buffer: 5.2.1 parse-entities@4.0.2: @@ -26039,7 +24272,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.29.0 + '@babel/code-frame': 7.29.7 error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -26093,18 +24326,18 @@ snapshots: path-scurry@2.0.2: dependencies: - lru-cache: 11.2.6 + lru-cache: 11.5.2 minipass: 7.1.3 path-to-regexp@0.1.13: {} path-type@4.0.0: {} - pbf@4.0.1: + pbf@5.1.2: dependencies: resolve-protobuf-schema: 2.1.0 - pbkdf2@3.1.5: + pbkdf2@3.1.6: dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 @@ -26123,6 +24356,8 @@ snapshots: picomatch@4.0.4: {} + picomatch@4.0.5: {} + pify@2.3.0: {} pify@3.0.0: {} @@ -26155,7 +24390,7 @@ snapshots: asn1js: 3.0.10 bytestreamjs: 2.0.1 pvtsutils: 1.3.6 - pvutils: 1.1.5 + pvutils: 1.2.0 tslib: 2.8.1 platform@1.3.6: {} @@ -26181,1031 +24416,796 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss-attribute-case-insensitive@5.0.2(postcss@8.5.14): + postcss-attribute-case-insensitive@5.0.2(postcss@8.5.22): dependencies: - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-attribute-case-insensitive@5.0.2(postcss@8.5.6): + postcss-attribute-case-insensitive@7.0.1(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 - postcss-attribute-case-insensitive@7.0.1(postcss@8.5.6): + postcss-calc@8.2.4(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - postcss-calc@8.2.4(postcss@8.5.14): - dependencies: - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 - postcss-value-parser: 4.2.0 - - postcss-calc@9.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - postcss-value-parser: 4.2.0 - - postcss-clamp@4.1.0(postcss@8.5.14): - dependencies: - postcss: 8.5.14 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 postcss-value-parser: 4.2.0 - postcss-clamp@4.1.0(postcss@8.5.6): + postcss-calc@9.0.1(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 postcss-value-parser: 4.2.0 - postcss-color-functional-notation@4.2.4(postcss@8.5.14): + postcss-clamp@4.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-color-functional-notation@4.2.4(postcss@8.5.6): + postcss-color-functional-notation@4.2.4(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-color-functional-notation@7.0.12(postcss@8.5.6): + postcss-color-functional-notation@7.0.12(postcss@8.5.22): dependencies: '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - postcss-color-hex-alpha@10.0.0(postcss@8.5.6): + postcss-color-hex-alpha@10.0.0(postcss@8.5.22): dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-color-hex-alpha@8.0.4(postcss@8.5.14): + postcss-color-hex-alpha@8.0.4(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-color-hex-alpha@8.0.4(postcss@8.5.6): + postcss-color-rebeccapurple@10.0.0(postcss@8.5.22): dependencies: - postcss: 8.5.6 + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-color-rebeccapurple@10.0.0(postcss@8.5.6): + postcss-color-rebeccapurple@7.1.1(postcss@8.5.22): dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-color-rebeccapurple@7.1.1(postcss@8.5.14): + postcss-colormin@5.3.1(postcss@8.5.22): dependencies: - postcss: 8.5.14 - postcss-value-parser: 4.2.0 - - postcss-color-rebeccapurple@7.1.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-colormin@5.3.1(postcss@8.5.14): - dependencies: - browserslist: 4.28.2 + browserslist: 4.28.7 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-colormin@6.1.0(postcss@8.5.6): + postcss-colormin@6.1.0(postcss@8.5.22): dependencies: - browserslist: 4.28.2 + browserslist: 4.28.7 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-convert-values@5.1.3(postcss@8.5.14): - dependencies: - browserslist: 4.28.2 - postcss: 8.5.14 - postcss-value-parser: 4.2.0 - - postcss-convert-values@6.1.0(postcss@8.5.6): - dependencies: - browserslist: 4.28.2 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-custom-media@11.0.6(postcss@8.5.6): - dependencies: - '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.6 - - postcss-custom-media@8.0.2(postcss@8.5.14): - dependencies: - postcss: 8.5.14 - postcss-value-parser: 4.2.0 - - postcss-custom-media@8.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-custom-properties@12.1.11(postcss@8.5.14): + postcss-convert-values@5.1.3(postcss@8.5.22): dependencies: - postcss: 8.5.14 + browserslist: 4.28.7 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-custom-properties@12.1.11(postcss@8.5.6): + postcss-convert-values@6.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.6 + browserslist: 4.28.7 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-custom-properties@14.0.6(postcss@8.5.6): + postcss-custom-media@11.0.6(postcss@8.5.22): dependencies: '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.22 - postcss-custom-selectors@6.0.3(postcss@8.5.14): + postcss-custom-media@8.0.2(postcss@8.5.22): dependencies: - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-value-parser: 4.2.0 - postcss-custom-selectors@6.0.3(postcss@8.5.6): + postcss-custom-properties@12.1.11(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-value-parser: 4.2.0 - postcss-custom-selectors@8.0.5(postcss@8.5.6): + postcss-custom-properties@14.0.6(postcss@8.5.22): dependencies: '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - postcss-dir-pseudo-class@6.0.5(postcss@8.5.14): - dependencies: - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 + postcss-value-parser: 4.2.0 - postcss-dir-pseudo-class@6.0.5(postcss@8.5.6): + postcss-custom-selectors@6.0.3(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-dir-pseudo-class@9.0.1(postcss@8.5.6): + postcss-custom-selectors@8.0.5(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 - postcss-discard-comments@5.1.2(postcss@8.5.14): + postcss-dir-pseudo-class@6.0.5(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-discard-comments@6.0.2(postcss@8.5.6): + postcss-dir-pseudo-class@9.0.1(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 - postcss-discard-duplicates@5.1.0(postcss@8.5.14): + postcss-discard-comments@5.1.2(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 - postcss-discard-duplicates@6.0.3(postcss@8.5.6): + postcss-discard-comments@6.0.2(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 - postcss-discard-empty@5.1.1(postcss@8.5.14): + postcss-discard-duplicates@5.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 - postcss-discard-empty@6.0.3(postcss@8.5.6): + postcss-discard-duplicates@6.0.3(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 - postcss-discard-overridden@5.1.0(postcss@8.5.14): + postcss-discard-empty@5.1.1(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 - postcss-discard-overridden@6.0.2(postcss@8.5.6): + postcss-discard-empty@6.0.3(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 - postcss-discard-unused@6.0.5(postcss@8.5.6): + postcss-discard-overridden@5.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 - postcss-double-position-gradients@3.1.2(postcss@8.5.14): + postcss-discard-overridden@6.0.2(postcss@8.5.22): dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-value-parser: 4.2.0 + postcss: 8.5.22 - postcss-double-position-gradients@3.1.2(postcss@8.5.6): + postcss-discard-unused@6.0.5(postcss@8.5.22): dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-double-position-gradients@6.0.4(postcss@8.5.6): + postcss-double-position-gradients@3.1.2(postcss@8.5.22): dependencies: - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-env-function@4.0.6(postcss@8.5.14): + postcss-double-position-gradients@6.0.4(postcss@8.5.22): dependencies: - postcss: 8.5.14 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-env-function@4.0.6(postcss@8.5.6): + postcss-env-function@4.0.6(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-focus-visible@10.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - postcss-focus-visible@6.0.4(postcss@8.5.14): - dependencies: - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 - - postcss-focus-visible@6.0.4(postcss@8.5.6): + postcss-focus-visible@10.0.1(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 - postcss-focus-within@5.0.4(postcss@8.5.14): + postcss-focus-visible@6.0.4(postcss@8.5.22): dependencies: - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-focus-within@5.0.4(postcss@8.5.6): + postcss-focus-within@5.0.4(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-focus-within@9.0.1(postcss@8.5.6): + postcss-focus-within@9.0.1(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 - postcss-font-variant@5.0.0(postcss@8.5.14): + postcss-font-variant@5.0.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 - postcss-font-variant@5.0.0(postcss@8.5.6): + postcss-gap-properties@3.0.5(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 - postcss-gap-properties@3.0.5(postcss@8.5.14): + postcss-gap-properties@6.0.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 - postcss-gap-properties@3.0.5(postcss@8.5.6): + postcss-image-set-function@4.0.7(postcss@8.5.22): dependencies: - postcss: 8.5.6 - - postcss-gap-properties@6.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - postcss-image-set-function@4.0.7(postcss@8.5.14): - dependencies: - postcss: 8.5.14 - postcss-value-parser: 4.2.0 - - postcss-image-set-function@4.0.7(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-image-set-function@7.0.0(postcss@8.5.6): - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-import@14.1.0(postcss@8.5.14): + postcss-image-set-function@7.0.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.12 - postcss-import@14.1.0(postcss@8.5.6): + postcss-import@14.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.12 - postcss-initial@4.0.1(postcss@8.5.14): - dependencies: - postcss: 8.5.14 - - postcss-initial@4.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - postcss-js@4.1.0(postcss@8.5.14): + postcss-initial@4.0.1(postcss@8.5.22): dependencies: - camelcase-css: 2.0.1 - postcss: 8.5.14 + postcss: 8.5.22 - postcss-js@4.1.0(postcss@8.5.6): + postcss-js@4.1.0(postcss@8.5.22): dependencies: camelcase-css: 2.0.1 - postcss: 8.5.6 - - postcss-lab-function@4.2.1(postcss@8.5.14): - dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-value-parser: 4.2.0 + postcss: 8.5.22 - postcss-lab-function@4.2.1(postcss@8.5.6): + postcss-lab-function@4.2.1(postcss@8.5.22): dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.6) - postcss: 8.5.6 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-lab-function@7.0.12(postcss@8.5.6): + postcss-lab-function@7.0.12(postcss@8.5.22): dependencies: '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - postcss-load-config@3.1.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@20.19.9)(typescript@5.5.4)): - dependencies: - lilconfig: 2.1.0 - yaml: 1.10.3 - optionalDependencies: - postcss: 8.5.14 - ts-node: 10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@20.19.9)(typescript@5.5.4) - - postcss-load-config@3.1.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)): - dependencies: - lilconfig: 2.1.0 - yaml: 1.10.3 - optionalDependencies: - postcss: 8.5.14 - ts-node: 10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4) + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/utilities': 2.0.0(postcss@8.5.22) + postcss: 8.5.22 - postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)): + postcss-load-config@3.1.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)): dependencies: lilconfig: 2.1.0 yaml: 1.10.3 optionalDependencies: - postcss: 8.5.6 - ts-node: 10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4) - - postcss-loader@6.2.1(postcss@8.5.14)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): - dependencies: - cosmiconfig: 7.1.0 - klona: 2.0.6 - postcss: 8.5.14 - semver: 7.8.0 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + postcss: 8.5.22 + ts-node: 10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4) - postcss-loader@6.2.1(postcss@8.5.6)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + postcss-loader@6.2.1(postcss@8.5.22)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 - postcss: 8.5.6 - semver: 7.8.0 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + postcss: 8.5.22 + semver: 7.8.5 + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) - postcss-loader@7.3.4(postcss@8.5.6)(typescript@5.5.4)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + postcss-loader@7.3.4(postcss@8.5.22)(typescript@5.5.4)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: cosmiconfig: 8.3.6(typescript@5.5.4) jiti: 1.21.7 - postcss: 8.5.6 - semver: 7.8.0 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + postcss: 8.5.22 + semver: 7.8.5 + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) transitivePeerDependencies: - typescript - postcss-logical@5.0.4(postcss@8.5.14): - dependencies: - postcss: 8.5.14 - - postcss-logical@5.0.4(postcss@8.5.6): + postcss-logical@5.0.4(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 - postcss-logical@8.1.0(postcss@8.5.6): + postcss-logical@8.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-media-minmax@5.0.0(postcss@8.5.14): + postcss-media-minmax@5.0.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 - postcss-media-minmax@5.0.0(postcss@8.5.6): + postcss-merge-idents@6.0.3(postcss@8.5.22): dependencies: - postcss: 8.5.6 - - postcss-merge-idents@6.0.3(postcss@8.5.6): - dependencies: - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 + cssnano-utils: 4.0.2(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-merge-longhand@5.1.7(postcss@8.5.14): + postcss-merge-longhand@5.1.7(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - stylehacks: 5.1.1(postcss@8.5.14) + stylehacks: 5.1.1(postcss@8.5.22) - postcss-merge-longhand@6.0.5(postcss@8.5.6): + postcss-merge-longhand@6.0.5(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - stylehacks: 6.1.1(postcss@8.5.6) + stylehacks: 6.1.1(postcss@8.5.22) - postcss-merge-rules@5.1.4(postcss@8.5.14): + postcss-merge-rules@5.1.4(postcss@8.5.22): dependencies: - browserslist: 4.28.2 + browserslist: 4.28.7 caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + cssnano-utils: 3.1.0(postcss@8.5.22) + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-merge-rules@6.1.1(postcss@8.5.6): + postcss-merge-rules@6.1.1(postcss@8.5.22): dependencies: - browserslist: 4.28.2 + browserslist: 4.28.7 caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + cssnano-utils: 4.0.2(postcss@8.5.22) + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-minify-font-values@5.1.0(postcss@8.5.14): + postcss-minify-font-values@5.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-minify-font-values@6.1.0(postcss@8.5.6): + postcss-minify-font-values@6.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-minify-gradients@5.1.1(postcss@8.5.14): + postcss-minify-gradients@5.1.1(postcss@8.5.22): dependencies: colord: 2.9.3 - cssnano-utils: 3.1.0(postcss@8.5.14) - postcss: 8.5.14 + cssnano-utils: 3.1.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-minify-gradients@6.0.3(postcss@8.5.6): + postcss-minify-gradients@6.0.3(postcss@8.5.22): dependencies: colord: 2.9.3 - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 + cssnano-utils: 4.0.2(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-minify-params@5.1.4(postcss@8.5.14): + postcss-minify-params@5.1.4(postcss@8.5.22): dependencies: - browserslist: 4.28.2 - cssnano-utils: 3.1.0(postcss@8.5.14) - postcss: 8.5.14 + browserslist: 4.28.7 + cssnano-utils: 3.1.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-minify-params@6.1.0(postcss@8.5.6): + postcss-minify-params@6.1.0(postcss@8.5.22): dependencies: - browserslist: 4.28.2 - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 + browserslist: 4.28.7 + cssnano-utils: 4.0.2(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-minify-selectors@5.2.1(postcss@8.5.14): + postcss-minify-selectors@5.2.1(postcss@8.5.22): dependencies: - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-minify-selectors@6.0.4(postcss@8.5.6): + postcss-minify-selectors@6.0.4(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.22): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-selector-parser: 7.1.1 + icss-utils: 5.1.0(postcss@8.5.22) + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): - dependencies: - postcss: 8.5.14 - postcss-selector-parser: 7.1.1 - - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.22): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 - postcss-nested@6.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + icss-utils: 5.1.0(postcss@8.5.22) + postcss: 8.5.22 - postcss-nested@6.0.0(postcss@8.5.6): + postcss-nested@6.0.0(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-nesting@10.2.0(postcss@8.5.14): + postcss-nesting@10.2.0(postcss@8.5.22): dependencies: - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2) - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.4) + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-nesting@10.2.0(postcss@8.5.6): + postcss-nesting@13.0.2(postcss@8.5.22): dependencies: - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2) - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.4) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.4) + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 - postcss-nesting@13.0.2(postcss@8.5.6): + postcss-normalize-charset@5.1.0(postcss@8.5.22): dependencies: - '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.1) - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + postcss: 8.5.22 - postcss-normalize-charset@5.1.0(postcss@8.5.14): + postcss-normalize-charset@6.0.2(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 - postcss-normalize-charset@6.0.2(postcss@8.5.6): + postcss-normalize-display-values@5.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.6 - - postcss-normalize-display-values@5.1.0(postcss@8.5.14): - dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-display-values@6.0.2(postcss@8.5.6): + postcss-normalize-display-values@6.0.2(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-positions@5.1.1(postcss@8.5.14): + postcss-normalize-positions@5.1.1(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-positions@6.0.2(postcss@8.5.6): + postcss-normalize-positions@6.0.2(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@5.1.1(postcss@8.5.14): + postcss-normalize-repeat-style@5.1.1(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@6.0.2(postcss@8.5.6): + postcss-normalize-repeat-style@6.0.2(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-string@5.1.0(postcss@8.5.14): + postcss-normalize-string@5.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-string@6.0.2(postcss@8.5.6): + postcss-normalize-string@6.0.2(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@5.1.0(postcss@8.5.14): + postcss-normalize-timing-functions@5.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@6.0.2(postcss@8.5.6): + postcss-normalize-timing-functions@6.0.2(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@5.1.1(postcss@8.5.14): + postcss-normalize-unicode@5.1.1(postcss@8.5.22): dependencies: - browserslist: 4.28.2 - postcss: 8.5.14 + browserslist: 4.28.7 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@6.1.0(postcss@8.5.6): + postcss-normalize-unicode@6.1.0(postcss@8.5.22): dependencies: - browserslist: 4.28.2 - postcss: 8.5.6 + browserslist: 4.28.7 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-url@5.1.0(postcss@8.5.14): + postcss-normalize-url@5.1.0(postcss@8.5.22): dependencies: normalize-url: 6.1.0 - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-url@6.0.2(postcss@8.5.6): + postcss-normalize-url@6.0.2(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@5.1.1(postcss@8.5.14): + postcss-normalize-whitespace@5.1.1(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@6.0.2(postcss@8.5.6): + postcss-normalize-whitespace@6.0.2(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-opacity-percentage@1.1.3(postcss@8.5.14): - dependencies: - postcss: 8.5.14 - - postcss-opacity-percentage@1.1.3(postcss@8.5.6): + postcss-opacity-percentage@1.1.3(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 - postcss-opacity-percentage@3.0.0(postcss@8.5.6): + postcss-opacity-percentage@3.0.0(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 - postcss-ordered-values@5.1.3(postcss@8.5.14): + postcss-ordered-values@5.1.3(postcss@8.5.22): dependencies: - cssnano-utils: 3.1.0(postcss@8.5.14) - postcss: 8.5.14 + cssnano-utils: 3.1.0(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-ordered-values@6.0.2(postcss@8.5.6): + postcss-ordered-values@6.0.2(postcss@8.5.22): dependencies: - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 + cssnano-utils: 4.0.2(postcss@8.5.22) + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-overflow-shorthand@3.0.4(postcss@8.5.14): + postcss-overflow-shorthand@3.0.4(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-overflow-shorthand@3.0.4(postcss@8.5.6): + postcss-overflow-shorthand@6.0.0(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-overflow-shorthand@6.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-page-break@3.0.4(postcss@8.5.14): - dependencies: - postcss: 8.5.14 - - postcss-page-break@3.0.4(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - postcss-place@10.0.0(postcss@8.5.6): + postcss-page-break@3.0.4(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + postcss: 8.5.22 - postcss-place@7.0.5(postcss@8.5.14): + postcss-place@10.0.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-place@7.0.5(postcss@8.5.6): + postcss-place@7.0.5(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-preset-env@10.6.1(postcss@8.5.6): - dependencies: - '@csstools/postcss-alpha-function': 1.0.1(postcss@8.5.6) - '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.6) - '@csstools/postcss-color-function': 4.0.12(postcss@8.5.6) - '@csstools/postcss-color-function-display-p3-linear': 1.0.1(postcss@8.5.6) - '@csstools/postcss-color-mix-function': 3.0.12(postcss@8.5.6) - '@csstools/postcss-color-mix-variadic-function-arguments': 1.0.2(postcss@8.5.6) - '@csstools/postcss-content-alt-text': 2.0.8(postcss@8.5.6) - '@csstools/postcss-contrast-color-function': 2.0.12(postcss@8.5.6) - '@csstools/postcss-exponential-functions': 2.0.9(postcss@8.5.6) - '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.6) - '@csstools/postcss-gamut-mapping': 2.0.11(postcss@8.5.6) - '@csstools/postcss-gradients-interpolation-method': 5.0.12(postcss@8.5.6) - '@csstools/postcss-hwb-function': 4.0.12(postcss@8.5.6) - '@csstools/postcss-ic-unit': 4.0.4(postcss@8.5.6) - '@csstools/postcss-initial': 2.0.1(postcss@8.5.6) - '@csstools/postcss-is-pseudo-class': 5.0.3(postcss@8.5.6) - '@csstools/postcss-light-dark-function': 2.0.11(postcss@8.5.6) - '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.6) - '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.6) - '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.6) - '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.6) - '@csstools/postcss-logical-viewport-units': 3.0.4(postcss@8.5.6) - '@csstools/postcss-media-minmax': 2.0.9(postcss@8.5.6) - '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.5(postcss@8.5.6) - '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.6) - '@csstools/postcss-normalize-display-values': 4.0.1(postcss@8.5.6) - '@csstools/postcss-oklab-function': 4.0.12(postcss@8.5.6) - '@csstools/postcss-position-area-property': 1.0.0(postcss@8.5.6) - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/postcss-property-rule-prelude-list': 1.0.0(postcss@8.5.6) - '@csstools/postcss-random-function': 2.0.1(postcss@8.5.6) - '@csstools/postcss-relative-color-syntax': 3.0.12(postcss@8.5.6) - '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.6) - '@csstools/postcss-sign-functions': 1.1.4(postcss@8.5.6) - '@csstools/postcss-stepped-value-functions': 4.0.9(postcss@8.5.6) - '@csstools/postcss-syntax-descriptor-syntax-production': 1.0.1(postcss@8.5.6) - '@csstools/postcss-system-ui-font-family': 1.0.0(postcss@8.5.6) - '@csstools/postcss-text-decoration-shorthand': 4.0.3(postcss@8.5.6) - '@csstools/postcss-trigonometric-functions': 4.0.9(postcss@8.5.6) - '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.6) - autoprefixer: 10.4.27(postcss@8.5.6) - browserslist: 4.28.2 - css-blank-pseudo: 7.0.1(postcss@8.5.6) - css-has-pseudo: 7.0.3(postcss@8.5.6) - css-prefers-color-scheme: 10.0.0(postcss@8.5.6) - cssdb: 8.8.0 - postcss: 8.5.6 - postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.6) - postcss-clamp: 4.1.0(postcss@8.5.6) - postcss-color-functional-notation: 7.0.12(postcss@8.5.6) - postcss-color-hex-alpha: 10.0.0(postcss@8.5.6) - postcss-color-rebeccapurple: 10.0.0(postcss@8.5.6) - postcss-custom-media: 11.0.6(postcss@8.5.6) - postcss-custom-properties: 14.0.6(postcss@8.5.6) - postcss-custom-selectors: 8.0.5(postcss@8.5.6) - postcss-dir-pseudo-class: 9.0.1(postcss@8.5.6) - postcss-double-position-gradients: 6.0.4(postcss@8.5.6) - postcss-focus-visible: 10.0.1(postcss@8.5.6) - postcss-focus-within: 9.0.1(postcss@8.5.6) - postcss-font-variant: 5.0.0(postcss@8.5.6) - postcss-gap-properties: 6.0.0(postcss@8.5.6) - postcss-image-set-function: 7.0.0(postcss@8.5.6) - postcss-lab-function: 7.0.12(postcss@8.5.6) - postcss-logical: 8.1.0(postcss@8.5.6) - postcss-nesting: 13.0.2(postcss@8.5.6) - postcss-opacity-percentage: 3.0.0(postcss@8.5.6) - postcss-overflow-shorthand: 6.0.0(postcss@8.5.6) - postcss-page-break: 3.0.4(postcss@8.5.6) - postcss-place: 10.0.0(postcss@8.5.6) - postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.6) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.6) - postcss-selector-not: 8.0.1(postcss@8.5.6) - - postcss-preset-env@7.8.3(postcss@8.5.14): - dependencies: - '@csstools/postcss-cascade-layers': 1.1.1(postcss@8.5.14) - '@csstools/postcss-color-function': 1.1.1(postcss@8.5.14) - '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.5.14) - '@csstools/postcss-hwb-function': 1.0.2(postcss@8.5.14) - '@csstools/postcss-ic-unit': 1.0.1(postcss@8.5.14) - '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.5.14) - '@csstools/postcss-nested-calc': 1.0.0(postcss@8.5.14) - '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.5.14) - '@csstools/postcss-oklab-function': 1.1.1(postcss@8.5.14) - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.14) - '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.5.14) - '@csstools/postcss-text-decoration-shorthand': 1.0.0(postcss@8.5.14) - '@csstools/postcss-trigonometric-functions': 1.0.2(postcss@8.5.14) - '@csstools/postcss-unset-value': 1.0.2(postcss@8.5.14) - autoprefixer: 10.4.21(postcss@8.5.14) - browserslist: 4.28.2 - css-blank-pseudo: 3.0.3(postcss@8.5.14) - css-has-pseudo: 3.0.4(postcss@8.5.14) - css-prefers-color-scheme: 6.0.3(postcss@8.5.14) + postcss-preset-env@10.6.1(postcss@8.5.22): + dependencies: + '@csstools/postcss-alpha-function': 1.0.1(postcss@8.5.22) + '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.22) + '@csstools/postcss-color-function': 4.0.12(postcss@8.5.22) + '@csstools/postcss-color-function-display-p3-linear': 1.0.1(postcss@8.5.22) + '@csstools/postcss-color-mix-function': 3.0.12(postcss@8.5.22) + '@csstools/postcss-color-mix-variadic-function-arguments': 1.0.2(postcss@8.5.22) + '@csstools/postcss-content-alt-text': 2.0.8(postcss@8.5.22) + '@csstools/postcss-contrast-color-function': 2.0.12(postcss@8.5.22) + '@csstools/postcss-exponential-functions': 2.0.9(postcss@8.5.22) + '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.22) + '@csstools/postcss-gamut-mapping': 2.0.11(postcss@8.5.22) + '@csstools/postcss-gradients-interpolation-method': 5.0.12(postcss@8.5.22) + '@csstools/postcss-hwb-function': 4.0.12(postcss@8.5.22) + '@csstools/postcss-ic-unit': 4.0.4(postcss@8.5.22) + '@csstools/postcss-initial': 2.0.1(postcss@8.5.22) + '@csstools/postcss-is-pseudo-class': 5.0.3(postcss@8.5.22) + '@csstools/postcss-light-dark-function': 2.0.11(postcss@8.5.22) + '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.22) + '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.22) + '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.22) + '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.22) + '@csstools/postcss-logical-viewport-units': 3.0.4(postcss@8.5.22) + '@csstools/postcss-media-minmax': 2.0.9(postcss@8.5.22) + '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.5(postcss@8.5.22) + '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.22) + '@csstools/postcss-normalize-display-values': 4.0.1(postcss@8.5.22) + '@csstools/postcss-oklab-function': 4.0.12(postcss@8.5.22) + '@csstools/postcss-position-area-property': 1.0.0(postcss@8.5.22) + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.22) + '@csstools/postcss-property-rule-prelude-list': 1.0.0(postcss@8.5.22) + '@csstools/postcss-random-function': 2.0.1(postcss@8.5.22) + '@csstools/postcss-relative-color-syntax': 3.0.12(postcss@8.5.22) + '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.22) + '@csstools/postcss-sign-functions': 1.1.4(postcss@8.5.22) + '@csstools/postcss-stepped-value-functions': 4.0.9(postcss@8.5.22) + '@csstools/postcss-syntax-descriptor-syntax-production': 1.0.1(postcss@8.5.22) + '@csstools/postcss-system-ui-font-family': 1.0.0(postcss@8.5.22) + '@csstools/postcss-text-decoration-shorthand': 4.0.3(postcss@8.5.22) + '@csstools/postcss-trigonometric-functions': 4.0.9(postcss@8.5.22) + '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.22) + autoprefixer: 10.5.4(postcss@8.5.22) + browserslist: 4.28.7 + css-blank-pseudo: 7.0.1(postcss@8.5.22) + css-has-pseudo: 7.0.3(postcss@8.5.22) + css-prefers-color-scheme: 10.0.0(postcss@8.5.22) + cssdb: 8.9.0 + postcss: 8.5.22 + postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.22) + postcss-clamp: 4.1.0(postcss@8.5.22) + postcss-color-functional-notation: 7.0.12(postcss@8.5.22) + postcss-color-hex-alpha: 10.0.0(postcss@8.5.22) + postcss-color-rebeccapurple: 10.0.0(postcss@8.5.22) + postcss-custom-media: 11.0.6(postcss@8.5.22) + postcss-custom-properties: 14.0.6(postcss@8.5.22) + postcss-custom-selectors: 8.0.5(postcss@8.5.22) + postcss-dir-pseudo-class: 9.0.1(postcss@8.5.22) + postcss-double-position-gradients: 6.0.4(postcss@8.5.22) + postcss-focus-visible: 10.0.1(postcss@8.5.22) + postcss-focus-within: 9.0.1(postcss@8.5.22) + postcss-font-variant: 5.0.0(postcss@8.5.22) + postcss-gap-properties: 6.0.0(postcss@8.5.22) + postcss-image-set-function: 7.0.0(postcss@8.5.22) + postcss-lab-function: 7.0.12(postcss@8.5.22) + postcss-logical: 8.1.0(postcss@8.5.22) + postcss-nesting: 13.0.2(postcss@8.5.22) + postcss-opacity-percentage: 3.0.0(postcss@8.5.22) + postcss-overflow-shorthand: 6.0.0(postcss@8.5.22) + postcss-page-break: 3.0.4(postcss@8.5.22) + postcss-place: 10.0.0(postcss@8.5.22) + postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.22) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.22) + postcss-selector-not: 8.0.1(postcss@8.5.22) + + postcss-preset-env@7.8.3(postcss@8.5.22): + dependencies: + '@csstools/postcss-cascade-layers': 1.1.1(postcss@8.5.22) + '@csstools/postcss-color-function': 1.1.1(postcss@8.5.22) + '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.5.22) + '@csstools/postcss-hwb-function': 1.0.2(postcss@8.5.22) + '@csstools/postcss-ic-unit': 1.0.1(postcss@8.5.22) + '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.5.22) + '@csstools/postcss-nested-calc': 1.0.0(postcss@8.5.22) + '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.5.22) + '@csstools/postcss-oklab-function': 1.1.1(postcss@8.5.22) + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.22) + '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.5.22) + '@csstools/postcss-text-decoration-shorthand': 1.0.0(postcss@8.5.22) + '@csstools/postcss-trigonometric-functions': 1.0.2(postcss@8.5.22) + '@csstools/postcss-unset-value': 1.0.2(postcss@8.5.22) + autoprefixer: 10.4.21(postcss@8.5.22) + browserslist: 4.28.7 + css-blank-pseudo: 3.0.3(postcss@8.5.22) + css-has-pseudo: 3.0.4(postcss@8.5.22) + css-prefers-color-scheme: 6.0.3(postcss@8.5.22) cssdb: 7.11.2 - postcss: 8.5.14 - postcss-attribute-case-insensitive: 5.0.2(postcss@8.5.14) - postcss-clamp: 4.1.0(postcss@8.5.14) - postcss-color-functional-notation: 4.2.4(postcss@8.5.14) - postcss-color-hex-alpha: 8.0.4(postcss@8.5.14) - postcss-color-rebeccapurple: 7.1.1(postcss@8.5.14) - postcss-custom-media: 8.0.2(postcss@8.5.14) - postcss-custom-properties: 12.1.11(postcss@8.5.14) - postcss-custom-selectors: 6.0.3(postcss@8.5.14) - postcss-dir-pseudo-class: 6.0.5(postcss@8.5.14) - postcss-double-position-gradients: 3.1.2(postcss@8.5.14) - postcss-env-function: 4.0.6(postcss@8.5.14) - postcss-focus-visible: 6.0.4(postcss@8.5.14) - postcss-focus-within: 5.0.4(postcss@8.5.14) - postcss-font-variant: 5.0.0(postcss@8.5.14) - postcss-gap-properties: 3.0.5(postcss@8.5.14) - postcss-image-set-function: 4.0.7(postcss@8.5.14) - postcss-initial: 4.0.1(postcss@8.5.14) - postcss-lab-function: 4.2.1(postcss@8.5.14) - postcss-logical: 5.0.4(postcss@8.5.14) - postcss-media-minmax: 5.0.0(postcss@8.5.14) - postcss-nesting: 10.2.0(postcss@8.5.14) - postcss-opacity-percentage: 1.1.3(postcss@8.5.14) - postcss-overflow-shorthand: 3.0.4(postcss@8.5.14) - postcss-page-break: 3.0.4(postcss@8.5.14) - postcss-place: 7.0.5(postcss@8.5.14) - postcss-pseudo-class-any-link: 7.1.6(postcss@8.5.14) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.14) - postcss-selector-not: 6.0.1(postcss@8.5.14) + postcss: 8.5.22 + postcss-attribute-case-insensitive: 5.0.2(postcss@8.5.22) + postcss-clamp: 4.1.0(postcss@8.5.22) + postcss-color-functional-notation: 4.2.4(postcss@8.5.22) + postcss-color-hex-alpha: 8.0.4(postcss@8.5.22) + postcss-color-rebeccapurple: 7.1.1(postcss@8.5.22) + postcss-custom-media: 8.0.2(postcss@8.5.22) + postcss-custom-properties: 12.1.11(postcss@8.5.22) + postcss-custom-selectors: 6.0.3(postcss@8.5.22) + postcss-dir-pseudo-class: 6.0.5(postcss@8.5.22) + postcss-double-position-gradients: 3.1.2(postcss@8.5.22) + postcss-env-function: 4.0.6(postcss@8.5.22) + postcss-focus-visible: 6.0.4(postcss@8.5.22) + postcss-focus-within: 5.0.4(postcss@8.5.22) + postcss-font-variant: 5.0.0(postcss@8.5.22) + postcss-gap-properties: 3.0.5(postcss@8.5.22) + postcss-image-set-function: 4.0.7(postcss@8.5.22) + postcss-initial: 4.0.1(postcss@8.5.22) + postcss-lab-function: 4.2.1(postcss@8.5.22) + postcss-logical: 5.0.4(postcss@8.5.22) + postcss-media-minmax: 5.0.0(postcss@8.5.22) + postcss-nesting: 10.2.0(postcss@8.5.22) + postcss-opacity-percentage: 1.1.3(postcss@8.5.22) + postcss-overflow-shorthand: 3.0.4(postcss@8.5.22) + postcss-page-break: 3.0.4(postcss@8.5.22) + postcss-place: 7.0.5(postcss@8.5.22) + postcss-pseudo-class-any-link: 7.1.6(postcss@8.5.22) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.22) + postcss-selector-not: 6.0.1(postcss@8.5.22) postcss-value-parser: 4.2.0 - postcss-preset-env@7.8.3(postcss@8.5.6): - dependencies: - '@csstools/postcss-cascade-layers': 1.1.1(postcss@8.5.6) - '@csstools/postcss-color-function': 1.1.1(postcss@8.5.6) - '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.5.6) - '@csstools/postcss-hwb-function': 1.0.2(postcss@8.5.6) - '@csstools/postcss-ic-unit': 1.0.1(postcss@8.5.6) - '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.5.6) - '@csstools/postcss-nested-calc': 1.0.0(postcss@8.5.6) - '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.5.6) - '@csstools/postcss-oklab-function': 1.1.1(postcss@8.5.6) - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.5.6) - '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.5.6) - '@csstools/postcss-text-decoration-shorthand': 1.0.0(postcss@8.5.6) - '@csstools/postcss-trigonometric-functions': 1.0.2(postcss@8.5.6) - '@csstools/postcss-unset-value': 1.0.2(postcss@8.5.6) - autoprefixer: 10.4.21(postcss@8.5.6) - browserslist: 4.28.2 - css-blank-pseudo: 3.0.3(postcss@8.5.6) - css-has-pseudo: 3.0.4(postcss@8.5.6) - css-prefers-color-scheme: 6.0.3(postcss@8.5.6) - cssdb: 7.11.2 - postcss: 8.5.6 - postcss-attribute-case-insensitive: 5.0.2(postcss@8.5.6) - postcss-clamp: 4.1.0(postcss@8.5.6) - postcss-color-functional-notation: 4.2.4(postcss@8.5.6) - postcss-color-hex-alpha: 8.0.4(postcss@8.5.6) - postcss-color-rebeccapurple: 7.1.1(postcss@8.5.6) - postcss-custom-media: 8.0.2(postcss@8.5.6) - postcss-custom-properties: 12.1.11(postcss@8.5.6) - postcss-custom-selectors: 6.0.3(postcss@8.5.6) - postcss-dir-pseudo-class: 6.0.5(postcss@8.5.6) - postcss-double-position-gradients: 3.1.2(postcss@8.5.6) - postcss-env-function: 4.0.6(postcss@8.5.6) - postcss-focus-visible: 6.0.4(postcss@8.5.6) - postcss-focus-within: 5.0.4(postcss@8.5.6) - postcss-font-variant: 5.0.0(postcss@8.5.6) - postcss-gap-properties: 3.0.5(postcss@8.5.6) - postcss-image-set-function: 4.0.7(postcss@8.5.6) - postcss-initial: 4.0.1(postcss@8.5.6) - postcss-lab-function: 4.2.1(postcss@8.5.6) - postcss-logical: 5.0.4(postcss@8.5.6) - postcss-media-minmax: 5.0.0(postcss@8.5.6) - postcss-nesting: 10.2.0(postcss@8.5.6) - postcss-opacity-percentage: 1.1.3(postcss@8.5.6) - postcss-overflow-shorthand: 3.0.4(postcss@8.5.6) - postcss-page-break: 3.0.4(postcss@8.5.6) - postcss-place: 7.0.5(postcss@8.5.6) - postcss-pseudo-class-any-link: 7.1.6(postcss@8.5.6) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.6) - postcss-selector-not: 6.0.1(postcss@8.5.6) - postcss-value-parser: 4.2.0 - - postcss-pseudo-class-any-link@10.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - postcss-pseudo-class-any-link@7.1.6(postcss@8.5.14): + postcss-pseudo-class-any-link@10.0.1(postcss@8.5.22): dependencies: - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 - postcss-pseudo-class-any-link@7.1.6(postcss@8.5.6): + postcss-pseudo-class-any-link@7.1.6(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-reduce-idents@6.0.3(postcss@8.5.6): + postcss-reduce-idents@6.0.3(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-reduce-initial@5.1.2(postcss@8.5.14): + postcss-reduce-initial@5.1.2(postcss@8.5.22): dependencies: - browserslist: 4.28.2 + browserslist: 4.28.7 caniuse-api: 3.0.0 - postcss: 8.5.14 + postcss: 8.5.22 - postcss-reduce-initial@6.1.0(postcss@8.5.6): + postcss-reduce-initial@6.1.0(postcss@8.5.22): dependencies: - browserslist: 4.28.2 + browserslist: 4.28.7 caniuse-api: 3.0.0 - postcss: 8.5.6 + postcss: 8.5.22 - postcss-reduce-transforms@5.1.0(postcss@8.5.14): + postcss-reduce-transforms@5.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-reduce-transforms@6.0.2(postcss@8.5.6): + postcss-reduce-transforms@6.0.2(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - postcss-replace-overflow-wrap@4.0.0(postcss@8.5.14): - dependencies: - postcss: 8.5.14 - - postcss-replace-overflow-wrap@4.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - postcss-selector-not@6.0.1(postcss@8.5.14): + postcss-replace-overflow-wrap@4.0.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 - postcss-selector-not@6.0.1(postcss@8.5.6): + postcss-selector-not@6.0.1(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-selector-not@8.0.1(postcss@8.5.6): + postcss-selector-not@8.0.1(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + postcss: 8.5.22 + postcss-selector-parser: 7.1.4 - postcss-selector-parser@6.1.2: + postcss-selector-parser@6.1.4: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-selector-parser@7.1.1: + postcss-selector-parser@7.1.4: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-sort-media-queries@5.2.0(postcss@8.5.6): + postcss-sort-media-queries@5.2.0(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 sort-css-media-queries: 2.2.0 - postcss-svgo@5.1.0(postcss@8.5.14): + postcss-svgo@5.1.0(postcss@8.5.22): dependencies: - postcss: 8.5.14 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - svgo: 3.3.3 + svgo: 2.8.3 - postcss-svgo@6.0.3(postcss@8.5.6): + postcss-svgo@6.0.3(postcss@8.5.22): dependencies: - postcss: 8.5.6 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - svgo: 3.3.3 + svgo: 3.3.4 - postcss-unique-selectors@5.1.1(postcss@8.5.14): + postcss-unique-selectors@5.1.1(postcss@8.5.22): dependencies: - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - postcss-unique-selectors@6.0.4(postcss@8.5.6): + postcss-unique-selectors@6.0.4(postcss@8.5.22): dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 postcss-value-parser@4.2.0: {} - postcss-zindex@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - postcss@8.5.14: + postcss-zindex@6.0.2(postcss@8.5.22): dependencies: - nanoid: 3.3.12 - picocolors: 1.1.1 - source-map-js: 1.2.1 + postcss: 8.5.22 - postcss@8.5.6: + postcss@8.5.22: dependencies: - nanoid: 3.3.11 + nanoid: 3.3.17 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -27265,7 +25265,7 @@ snapshots: process@0.11.10: {} - progress-events@1.0.1: {} + progress-events@1.1.0: {} prompts@2.4.2: dependencies: @@ -27279,7 +25279,7 @@ snapshots: hasown: 2.0.4 isarray: 2.0.5 object.assign: 4.1.7 - own-keys: 1.0.1 + own-keys: 1.0.2 prop-types@15.8.1: dependencies: @@ -27287,7 +25287,7 @@ snapshots: object-assign: 4.1.1 react-is: 16.13.1 - property-information@7.1.0: {} + property-information@7.2.0: {} proto-list@1.2.4: {} @@ -27302,7 +25302,7 @@ snapshots: '@protobufjs/inquire': 1.1.2 '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.1 + '@protobufjs/utf8': 1.1.2 '@types/node': 20.19.9 long: 5.3.2 @@ -27310,9 +25310,9 @@ snapshots: protons-runtime@5.6.0: dependencies: - uint8-varint: 2.0.4 - uint8arraylist: 2.4.8 - uint8arrays: 5.1.0 + uint8-varint: 2.0.5 + uint8arraylist: 2.4.9 + uint8arrays: 5.1.1 proxy-addr@2.0.7: dependencies: @@ -27329,18 +25329,13 @@ snapshots: public-encrypt@4.0.3: dependencies: - bn.js: 4.12.3 + bn.js: 4.12.5 browserify-rsa: 4.1.1 create-hash: 1.2.0 parse-asn1: 5.1.9 randombytes: 2.1.0 safe-buffer: 5.2.1 - pump@3.0.3: - dependencies: - end-of-stream: 1.4.5 - once: 1.4.0 - pump@3.0.4: dependencies: end-of-stream: 1.4.5 @@ -27360,11 +25355,11 @@ snapshots: dependencies: tslib: 2.8.1 - pvutils@1.1.5: {} + pvutils@1.2.0: {} qs@6.14.1: dependencies: - side-channel: 1.1.0 + side-channel: 1.1.1 query-string@6.14.1: dependencies: @@ -27406,6 +25401,8 @@ snapshots: range-parser@1.2.1: {} + range-parser@1.3.0: {} + raw-body@2.5.2: dependencies: bytes: 3.1.2 @@ -27473,7 +25470,7 @@ snapshots: dependencies: dnd-core: 14.0.0 - react-dnd@14.0.2(@types/node@25.9.1)(@types/react@18.3.23)(react@18.3.1): + react-dnd@14.0.2(@types/node@20.19.9)(@types/react@18.3.23)(react@18.3.1): dependencies: '@react-dnd/invariant': 2.0.0 '@react-dnd/shallowequal': 2.0.0 @@ -27482,7 +25479,7 @@ snapshots: hoist-non-react-statics: 3.3.2 react: 18.3.1 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 20.19.9 '@types/react': 18.3.23 react-dom@18.3.1(react@18.3.1): @@ -27507,15 +25504,15 @@ snapshots: react-error-boundary@3.1.4(react@18.3.1): dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 react: 18.3.1 react-fast-compare@3.2.2: {} react-i18next@12.3.1(i18next@17.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.29.2 - html-parse-stringify: 3.0.1 + '@babel/runtime': 7.29.7 + html-parse-stringify: 3.1.0 i18next: 17.3.1 react: 18.3.1 optionalDependencies: @@ -27541,11 +25538,11 @@ snapshots: sucrase: 3.35.1 use-editable: 2.3.3(react@18.3.1) - react-loadable-ssr-addon-v5-slorber@1.0.3(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + react-loadable-ssr-addon-v5-slorber@1.0.3(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: '@babel/runtime': 7.29.7 react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) react-modal@3.11.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: @@ -27652,10 +25649,10 @@ snapshots: react-select@5.7.4(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@emotion/cache': 11.14.0 '@emotion/react': 11.14.0(@types/react@18.3.23)(react@18.3.1) - '@floating-ui/dom': 1.7.5 + '@floating-ui/dom': 1.8.0 '@types/react-transition-group': 4.4.12(@types/react@18.3.23) memoize-one: 6.0.0 prop-types: 15.8.1 @@ -27690,7 +25687,7 @@ snapshots: react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -27699,7 +25696,7 @@ snapshots: react-window@1.8.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 memoize-one: 5.2.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -27781,14 +25778,14 @@ snapshots: recma-build-jsx@1.0.0: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.1(acorn@8.16.0): + recma-jsx@1.0.1(acorn@8.18.0): dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 @@ -27796,14 +25793,14 @@ snapshots: recma-parse@1.0.0: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 esast-util-from-js: 2.0.1 unified: 11.0.5 vfile: 6.0.3 recma-stringify@1.0.0: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 estree-util-to-js: 2.0.0 unified: 11.0.5 vfile: 6.0.3 @@ -27820,9 +25817,9 @@ snapshots: dependencies: call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.1 + es-abstract: 1.24.2 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-intrinsic: 1.3.0 get-proto: 1.0.1 which-builtin-type: 1.2.1 @@ -27862,13 +25859,13 @@ snapshots: regenerate: 1.4.2 regenerate-unicode-properties: 10.2.2 regjsgen: 0.8.0 - regjsparser: 0.13.1 + regjsparser: 0.13.2 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.2.1 registry-auth-token@5.1.1: dependencies: - '@pnpm/npm-conf': 3.0.2 + '@pnpm/npm-conf': 3.0.3 registry-url@6.0.1: dependencies: @@ -27878,7 +25875,7 @@ snapshots: regjsgen@0.8.0: {} - regjsparser@0.13.1: + regjsparser@0.13.2: dependencies: jsesc: 3.1.0 @@ -27888,14 +25885,14 @@ snapshots: rehype-raw@7.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-raw: 9.1.0 vfile: 6.0.3 rehype-recma@1.0.0: dependencies: - '@types/estree': 1.0.8 - '@types/hast': 3.0.4 + '@types/estree': 1.0.9 + '@types/hast': 3.0.5 hast-util-to-estree: 3.1.3 transitivePeerDependencies: - supports-color @@ -27970,7 +25967,7 @@ snapshots: remark-rehype@11.1.2: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 mdast-util-to-hast: 13.2.1 unified: 11.0.5 @@ -28026,12 +26023,6 @@ snapshots: resolve.exports@2.0.3: {} - resolve@1.22.11: - dependencies: - is-core-module: 2.16.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - resolve@1.22.12: dependencies: es-errors: 1.3.0 @@ -28076,7 +26067,7 @@ snapshots: dependencies: escalade: 3.2.0 picocolors: 1.1.1 - postcss: 8.5.6 + postcss: 8.5.22 strip-json-comments: 3.1.1 run-applescript@7.1.0: {} @@ -28099,7 +26090,7 @@ snapshots: dependencies: mri: 1.2.0 - safe-array-concat@1.1.3: + safe-array-concat@1.1.4: dependencies: call-bind: 1.0.9 call-bound: 1.0.4 @@ -28124,7 +26115,7 @@ snapshots: safer-buffer@2.1.2: {} - sax@1.6.0: {} + sax@1.6.1: {} saxes@6.0.0: dependencies: @@ -28177,11 +26168,11 @@ snapshots: semver-diff@4.0.0: dependencies: - semver: 7.8.0 + semver: 7.8.5 semver@6.3.1: {} - semver@7.8.0: {} + semver@7.8.5: {} send@0.19.2: dependencies: @@ -28256,7 +26247,7 @@ snapshots: dependencies: dunder-proto: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 setimmediate@1.0.5: {} @@ -28278,36 +26269,38 @@ snapshots: shallowequal@1.1.0: {} - sharp@0.34.5: + sharp@0.35.3(@types/node@20.19.9): dependencies: '@img/colour': 1.1.0 detect-libc: 2.1.2 - semver: 7.8.0 + semver: 7.8.5 optionalDependencies: - '@img/sharp-darwin-arm64': 0.34.5 - '@img/sharp-darwin-x64': 0.34.5 - '@img/sharp-libvips-darwin-arm64': 1.2.4 - '@img/sharp-libvips-darwin-x64': 1.2.4 - '@img/sharp-libvips-linux-arm': 1.2.4 - '@img/sharp-libvips-linux-arm64': 1.2.4 - '@img/sharp-libvips-linux-ppc64': 1.2.4 - '@img/sharp-libvips-linux-riscv64': 1.2.4 - '@img/sharp-libvips-linux-s390x': 1.2.4 - '@img/sharp-libvips-linux-x64': 1.2.4 - '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 - '@img/sharp-libvips-linuxmusl-x64': 1.2.4 - '@img/sharp-linux-arm': 0.34.5 - '@img/sharp-linux-arm64': 0.34.5 - '@img/sharp-linux-ppc64': 0.34.5 - '@img/sharp-linux-riscv64': 0.34.5 - '@img/sharp-linux-s390x': 0.34.5 - '@img/sharp-linux-x64': 0.34.5 - '@img/sharp-linuxmusl-arm64': 0.34.5 - '@img/sharp-linuxmusl-x64': 0.34.5 - '@img/sharp-wasm32': 0.34.5 - '@img/sharp-win32-arm64': 0.34.5 - '@img/sharp-win32-ia32': 0.34.5 - '@img/sharp-win32-x64': 0.34.5 + '@img/sharp-darwin-arm64': 0.35.3 + '@img/sharp-darwin-x64': 0.35.3 + '@img/sharp-freebsd-wasm32': 0.35.3 + '@img/sharp-libvips-darwin-arm64': 1.3.2 + '@img/sharp-libvips-darwin-x64': 1.3.2 + '@img/sharp-libvips-linux-arm': 1.3.2 + '@img/sharp-libvips-linux-arm64': 1.3.2 + '@img/sharp-libvips-linux-ppc64': 1.3.2 + '@img/sharp-libvips-linux-riscv64': 1.3.2 + '@img/sharp-libvips-linux-s390x': 1.3.2 + '@img/sharp-libvips-linux-x64': 1.3.2 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 + '@img/sharp-libvips-linuxmusl-x64': 1.3.2 + '@img/sharp-linux-arm': 0.35.3 + '@img/sharp-linux-arm64': 0.35.3 + '@img/sharp-linux-ppc64': 0.35.3 + '@img/sharp-linux-riscv64': 0.35.3 + '@img/sharp-linux-s390x': 0.35.3 + '@img/sharp-linux-x64': 0.35.3 + '@img/sharp-linuxmusl-arm64': 0.35.3 + '@img/sharp-linuxmusl-x64': 0.35.3 + '@img/sharp-webcontainers-wasm32': 0.35.3 + '@img/sharp-win32-arm64': 0.35.3 + '@img/sharp-win32-ia32': 0.35.3 + '@img/sharp-win32-x64': 0.35.3 + '@types/node': 20.19.9 shebang-command@2.0.0: dependencies: @@ -28325,7 +26318,7 @@ snapshots: shepherd.js@15.2.2: dependencies: - '@floating-ui/dom': 1.7.5 + '@floating-ui/dom': 1.8.0 deepmerge-ts: 7.1.5 shx@0.3.4: @@ -28353,7 +26346,7 @@ snapshots: object-inspect: 1.13.4 side-channel-map: 1.0.1 - side-channel@1.1.0: + side-channel@1.1.1: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 @@ -28373,12 +26366,12 @@ snapshots: sisteransi@1.0.5: {} - sitemap@7.1.2: + sitemap@7.1.3: dependencies: '@types/node': 17.0.45 '@types/sax': 1.2.7 arg: 5.0.2 - sax: 1.6.0 + sax: 1.6.1 skin-tone@2.0.0: dependencies: @@ -28402,7 +26395,7 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - smob@1.6.1: {} + smob@1.6.2: {} snake-case@3.0.4: dependencies: @@ -28440,9 +26433,7 @@ snapshots: source-map@0.7.6: {} - source-map@0.8.0-beta.0: - dependencies: - whatwg-url: 7.1.0 + source-map@0.8.0: {} sourcemap-codec@1.4.8: {} @@ -28502,6 +26493,8 @@ snapshots: safer-buffer: 2.1.2 tweetnacl: 0.14.5 + stable@0.1.8: {} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -28568,39 +26561,40 @@ snapshots: call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-abstract: 1.24.1 + es-abstract: 1.24.2 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-intrinsic: 1.3.0 gopd: 1.2.0 has-symbols: 1.1.0 internal-slot: 1.1.0 regexp.prototype.flags: 1.5.4 set-function-name: 2.0.2 - side-channel: 1.1.0 + side-channel: 1.1.1 - string.prototype.trim@1.2.10: + string.prototype.trim@1.2.11: dependencies: call-bind: 1.0.9 call-bound: 1.0.4 define-data-property: 1.1.4 define-properties: 1.2.1 - es-abstract: 1.24.1 - es-object-atoms: 1.1.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 has-property-descriptors: 1.0.2 + safe-regex-test: 1.1.0 - string.prototype.trimend@1.0.9: + string.prototype.trimend@1.0.10: dependencies: call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.9 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 string_decoder@1.1.1: dependencies: @@ -28657,11 +26651,11 @@ snapshots: strip-json-comments@3.1.1: {} - style-loader@1.3.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + style-loader@1.3.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: loader-utils: 2.0.4 schema-utils: 2.7.1 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) style-to-js@1.1.21: dependencies: @@ -28676,17 +26670,17 @@ snapshots: hey-listen: 1.0.8 tslib: 2.8.1 - stylehacks@5.1.1(postcss@8.5.14): + stylehacks@5.1.1(postcss@8.5.22): dependencies: - browserslist: 4.28.2 - postcss: 8.5.14 - postcss-selector-parser: 6.1.2 + browserslist: 4.28.7 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 - stylehacks@6.1.1(postcss@8.5.6): + stylehacks@6.1.1(postcss@8.5.22): dependencies: - browserslist: 4.28.2 - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + browserslist: 4.28.7 + postcss: 8.5.22 + postcss-selector-parser: 6.1.4 stylis@4.2.0: {} @@ -28697,7 +26691,7 @@ snapshots: lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.7 - tinyglobby: 0.2.15 + tinyglobby: 0.2.17 ts-interface-checker: 0.1.13 supports-color@2.0.0: {} @@ -28718,7 +26712,17 @@ snapshots: svg-parser@2.0.4: {} - svgo@3.3.3: + svgo@2.8.3: + dependencies: + commander: 8.3.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.1.1 + sax: 1.6.1 + stable: 0.1.8 + + svgo@3.3.4: dependencies: commander: 8.3.0 css-select: 5.2.2 @@ -28726,13 +26730,13 @@ snapshots: css-what: 6.2.2 csso: 5.0.5 picocolors: 1.1.1 - sax: 1.6.0 + sax: 1.6.1 - swc-loader@0.2.7(@swc/core@1.15.13(@swc/helpers@0.5.21))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + swc-loader@0.2.7(@swc/core@1.15.47(@swc/helpers@0.5.23))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: - '@swc/core': 1.15.13(@swc/helpers@0.5.21) + '@swc/core': 1.15.47(@swc/helpers@0.5.23) '@swc/counter': 0.1.3 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) symbol-observable@1.2.0: {} @@ -28740,76 +26744,16 @@ snapshots: tailwind-merge@2.6.0: {} - tailwindcss-animate@1.0.7(tailwindcss@3.2.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4))): - dependencies: - tailwindcss: 3.2.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) - - tailwindcss-animate@1.0.7(tailwindcss@3.2.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4))): - dependencies: - tailwindcss: 3.2.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) - - tailwindcss-scoped-preflight@3.5.9(postcss@8.5.6)(tailwindcss@3.2.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4))): - dependencies: - postcss: 8.5.6 - tailwindcss: 3.2.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) - - tailwindcss@3.2.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@20.19.9)(typescript@5.5.4)): + tailwindcss-animate@1.0.7(tailwindcss@3.2.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4))): dependencies: - arg: 5.0.2 - chokidar: 3.6.0 - color-name: 1.1.4 - detective: 5.2.1 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.3 - glob-parent: 6.0.2 - is-glob: 4.0.3 - lilconfig: 2.1.0 - micromatch: 4.0.8 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.1.1 - postcss: 8.5.14 - postcss-import: 14.1.0(postcss@8.5.14) - postcss-js: 4.1.0(postcss@8.5.14) - postcss-load-config: 3.1.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@20.19.9)(typescript@5.5.4)) - postcss-nested: 6.0.0(postcss@8.5.14) - postcss-selector-parser: 6.1.2 - postcss-value-parser: 4.2.0 - quick-lru: 5.1.1 - resolve: 1.22.11 - transitivePeerDependencies: - - ts-node + tailwindcss: 3.2.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) - tailwindcss@3.2.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)): + tailwindcss-scoped-preflight@3.5.9(postcss@8.5.22)(tailwindcss@3.2.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4))): dependencies: - arg: 5.0.2 - chokidar: 3.6.0 - color-name: 1.1.4 - detective: 5.2.1 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.3 - glob-parent: 6.0.2 - is-glob: 4.0.3 - lilconfig: 2.1.0 - micromatch: 4.0.8 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.1.1 - postcss: 8.5.14 - postcss-import: 14.1.0(postcss@8.5.14) - postcss-js: 4.1.0(postcss@8.5.14) - postcss-load-config: 3.1.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) - postcss-nested: 6.0.0(postcss@8.5.14) - postcss-selector-parser: 6.1.2 - postcss-value-parser: 4.2.0 - quick-lru: 5.1.1 - resolve: 1.22.11 - transitivePeerDependencies: - - ts-node + postcss: 8.5.22 + tailwindcss: 3.2.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) - tailwindcss@3.2.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)): + tailwindcss@3.2.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)): dependencies: arg: 5.0.2 chokidar: 3.6.0 @@ -28825,15 +26769,15 @@ snapshots: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.1.1 - postcss: 8.5.6 - postcss-import: 14.1.0(postcss@8.5.6) - postcss-js: 4.1.0(postcss@8.5.6) - postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4)) - postcss-nested: 6.0.0(postcss@8.5.6) - postcss-selector-parser: 6.1.2 + postcss: 8.5.22 + postcss-import: 14.1.0(postcss@8.5.22) + postcss-js: 4.1.0(postcss@8.5.22) + postcss-load-config: 3.1.4(postcss@8.5.22)(ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4)) + postcss-nested: 6.0.0(postcss@8.5.22) + postcss-selector-parser: 6.1.4 postcss-value-parser: 4.2.0 quick-lru: 5.1.1 - resolve: 1.22.11 + resolve: 1.22.12 transitivePeerDependencies: - ts-node @@ -28866,21 +26810,49 @@ snapshots: type-fest: 0.16.0 unique-string: 2.0.0 - terser-webpack-plugin@5.3.16(@swc/core@1.15.13(@swc/helpers@0.5.21))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + terser-webpack-plugin@5.6.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.22)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - serialize-javascript: 7.0.4 - terser: 5.47.1 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + terser: 5.49.2 + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) + optionalDependencies: + '@swc/core': 1.15.47(@swc/helpers@0.5.23) + '@swc/html': 1.15.47 + lightningcss: 1.33.0 + postcss: 8.5.22 + + terser-webpack-plugin@5.6.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.49.2 + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) + optionalDependencies: + '@swc/core': 1.15.47(@swc/helpers@0.5.23) + clean-css: 5.3.3 + cssnano: 6.1.2(postcss@8.5.22) + html-minifier-terser: 7.2.0 + postcss: 8.5.22 + + terser-webpack-plugin@5.6.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.49.2 + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22) optionalDependencies: - '@swc/core': 1.15.13(@swc/helpers@0.5.21) + '@swc/core': 1.15.47(@swc/helpers@0.5.23) + cssnano: 5.1.15(postcss@8.5.22) + postcss: 8.5.22 - terser@5.47.1: + terser@5.49.2: dependencies: '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 + acorn: 8.18.0 commander: 8.3.0 source-map-support: 0.5.21 @@ -28902,7 +26874,7 @@ snapshots: dependencies: any-promise: 1.3.0 - thingies@2.6.0(tslib@2.8.1): + thingies@2.6.1(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -28924,10 +26896,10 @@ snapshots: tinycolor2@1.6.0: {} - tinyglobby@0.2.15: + tinyglobby@0.2.17: dependencies: - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 tinypool@1.1.1: {} @@ -28966,10 +26938,6 @@ snapshots: dependencies: tldts: 6.1.86 - tr46@1.0.1: - dependencies: - punycode: 2.3.1 - tr46@3.0.0: dependencies: punycode: 2.3.1 @@ -28986,7 +26954,7 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@20.19.9)(typescript@5.5.4): + ts-node@10.9.2(@swc/core@1.15.47(@swc/helpers@0.5.23))(@types/node@20.19.9)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 @@ -28994,28 +26962,7 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 20.19.9 - acorn: 8.16.0 - acorn-walk: 8.3.5 - arg: 4.1.3 - create-require: 1.1.1 - diff: 5.2.2 - make-error: 1.3.6 - typescript: 5.5.4 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optionalDependencies: - '@swc/core': 1.15.13(@swc/helpers@0.5.21) - optional: true - - ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@5.5.4): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.12 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 25.9.1 - acorn: 8.16.0 + acorn: 8.18.0 acorn-walk: 8.3.5 arg: 4.1.3 create-require: 1.1.1 @@ -29025,7 +26972,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.15.13(@swc/helpers@0.5.21) + '@swc/core': 1.15.47(@swc/helpers@0.5.23) tslib@2.8.1: {} @@ -29082,7 +27029,7 @@ snapshots: is-typed-array: 1.1.15 reflect.getprototypeof: 1.0.10 - typed-array-length@1.0.7: + typed-array-length@1.0.8: dependencies: call-bind: 1.0.9 for-each: 0.3.5 @@ -29099,19 +27046,23 @@ snapshots: typescript@5.5.4: {} - uint8-varint@2.0.4: + uint8-varint@2.0.5: dependencies: - uint8arraylist: 2.4.8 - uint8arrays: 5.1.0 + uint8arraylist: 2.4.9 + uint8arrays: 5.1.1 - uint8arraylist@2.4.8: + uint8arraylist@2.4.9: dependencies: - uint8arrays: 5.1.0 + uint8arrays: 5.1.1 - uint8arrays@5.1.0: + uint8arrays@5.1.1: dependencies: multiformats: 13.4.2 + uint8arrays@6.1.1: + dependencies: + multiformats: 14.0.5 + unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 @@ -29126,8 +27077,6 @@ snapshots: undici-types@6.21.0: {} - undici-types@7.24.6: {} - unicode-canonical-property-names-ecmascript@2.0.1: {} unicode-emoji-modifier-base@1.0.0: {} @@ -29227,15 +27176,9 @@ snapshots: upath@1.2.0: {} - update-browserslist-db@1.2.3(browserslist@4.28.1): - dependencies: - browserslist: 4.28.1 - escalade: 3.2.0 - picocolors: 1.1.1 - - update-browserslist-db@1.2.3(browserslist@4.28.2): + update-browserslist-db@1.2.3(browserslist@4.28.7): dependencies: - browserslist: 4.28.2 + browserslist: 4.28.7 escalade: 3.2.0 picocolors: 1.1.1 @@ -29252,7 +27195,7 @@ snapshots: is-yarn-global: 0.4.1 latest-version: 7.0.0 pupa: 3.3.0 - semver: 7.8.0 + semver: 7.8.5 semver-diff: 4.0.0 xdg-basedir: 5.1.0 @@ -29260,14 +27203,23 @@ snapshots: dependencies: punycode: 2.3.1 - url-loader@4.1.1(file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22)))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22)): + dependencies: + loader-utils: 2.0.4 + mime-types: 2.1.35 + schema-utils: 3.3.0 + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22) + optionalDependencies: + file-loader: 6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22)) + + url-loader@4.1.1(file-loader@6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) optionalDependencies: - file-loader: 6.2.0(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + file-loader: 6.2.0(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) url-parse@1.5.10: dependencies: @@ -29324,7 +27276,7 @@ snapshots: is-arguments: 1.2.0 is-generator-function: 1.1.2 is-typed-array: 1.1.15 - which-typed-array: 1.1.20 + which-typed-array: 1.1.22 utila@0.4.0: {} @@ -29358,7 +27310,7 @@ snapshots: validate-peer-dependencies@2.2.0: dependencies: resolve-package-path: 4.0.3 - semver: 7.8.0 + semver: 7.8.5 validate.js@0.12.0: {} @@ -29419,9 +27371,8 @@ snapshots: wasm-feature-detect@1.8.0: {} - watchpack@2.5.1: + watchpack@2.5.2: dependencies: - glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 wbuf@1.7.3: @@ -29440,14 +27391,12 @@ snapshots: webgl-constants@1.1.1: {} - webidl-conversions@4.0.2: {} - webidl-conversions@7.0.0: {} webpack-bundle-analyzer@4.10.2: dependencies: '@discoveryjs/json-ext': 0.5.7 - acorn: 8.16.0 + acorn: 8.18.0 acorn-walk: 8.3.5 commander: 8.3.0 debounce: 1.2.1 @@ -29462,40 +27411,38 @@ snapshots: - bufferutil - utf-8-validate - webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + webpack-dev-middleware@7.4.5(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: colorette: 2.0.20 - memfs: 4.57.8(tslib@2.8.1) + memfs: 4.67.0 mime-types: 3.0.2 on-finished: 2.4.1 - range-parser: 1.2.1 + range-parser: 1.3.0 schema-utils: 4.3.3 optionalDependencies: - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) - transitivePeerDependencies: - - tslib + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) - webpack-dev-server@5.2.5(tslib@2.8.1)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + webpack-dev-server@5.2.6(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 '@types/express': 4.17.25 - '@types/express-serve-static-core': 4.19.8 + '@types/express-serve-static-core': 4.19.9 '@types/serve-index': 1.9.4 '@types/serve-static': 1.15.10 '@types/sockjs': 0.3.36 '@types/ws': 8.18.1 ansi-html-community: 0.0.8 - bonjour-service: 1.3.0 + bonjour-service: 1.4.4 chokidar: 3.6.0 colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.25) - ipaddr.js: 2.3.0 - launch-editor: 2.13.1 + http-proxy-middleware: 2.0.10(@types/express@4.17.25) + ipaddr.js: 2.5.0 + launch-editor: 2.14.1 open: 10.2.0 p-retry: 6.2.1 schema-utils: 4.3.3 @@ -29503,15 +27450,14 @@ snapshots: serve-index: 1.9.2 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) + webpack-dev-middleware: 7.4.5(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) ws: 8.21.0 optionalDependencies: - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) transitivePeerDependencies: - bufferutil - debug - supports-color - - tslib - utf-8-validate webpack-merge@5.10.0: @@ -29526,49 +27472,140 @@ snapshots: flat: 5.0.2 wildcard: 2.0.1 - webpack-sources@3.3.4: {} + webpack-sources@3.5.1: {} + + webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.22): + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.9 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.18.0 + acorn-import-phases: 1.0.4(acorn@8.18.0) + browserslist: 4.28.7 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.24.5 + es-module-lexer: 2.3.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.2 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.2.2 + terser-webpack-plugin: 5.6.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.22)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) + watchpack: 2.5.2 + webpack-sources: 3.5.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + + webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22): + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.9 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.18.0 + acorn-import-phases: 1.0.4(acorn@8.18.0) + browserslist: 4.28.7 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.24.5 + es-module-lexer: 2.3.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.2 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.2.2 + terser-webpack-plugin: 5.6.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)) + watchpack: 2.5.2 + webpack-sources: 3.5.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js - webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)): + webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22): dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 '@types/json-schema': 7.0.15 '@webassemblyjs/ast': 1.14.1 '@webassemblyjs/wasm-edit': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.16.0 - acorn-import-phases: 1.0.4(acorn@8.16.0) - browserslist: 4.28.2 + acorn: 8.18.0 + acorn-import-phases: 1.0.4(acorn@8.18.0) + browserslist: 4.28.7 chrome-trace-event: 1.0.4 - enhanced-resolve: 5.19.0 - es-module-lexer: 2.0.0 + enhanced-resolve: 5.24.5 + es-module-lexer: 2.3.1 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.1 + loader-runner: 4.3.2 mime-types: 2.1.35 neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.2.2 - terser-webpack-plugin: 5.3.16(@swc/core@1.15.13(@swc/helpers@0.5.21))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))) - watchpack: 2.5.1 - webpack-sources: 3.3.4 + terser-webpack-plugin: 5.6.1(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22)(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(cssnano@5.1.15(postcss@8.5.22))(postcss@8.5.22)) + watchpack: 2.5.2 + webpack-sources: 3.5.1 transitivePeerDependencies: + - '@minify-html/node' - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso - esbuild + - html-minifier-terser + - lightningcss + - postcss - uglify-js - webpackbar@7.0.0(@rspack/core@1.7.11(@swc/helpers@0.5.21))(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + webpackbar@7.0.0(@rspack/core@1.7.12(@swc/helpers@0.5.23))(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: ansis: 3.17.0 consola: 3.4.2 pretty-time: 1.1.0 std-env: 3.10.0 optionalDependencies: - '@rspack/core': 1.7.11(@swc/helpers@0.5.21) - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + '@rspack/core': 1.7.12(@swc/helpers@0.5.23) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) websocket-driver@0.7.5: dependencies: @@ -29591,12 +27628,6 @@ snapshots: tr46: 3.0.0 webidl-conversions: 7.0.0 - whatwg-url@7.1.0: - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - which-boxed-primitive@1.1.1: dependencies: is-bigint: 1.1.0 @@ -29608,7 +27639,7 @@ snapshots: which-builtin-type@1.2.1: dependencies: call-bound: 1.0.4 - function.prototype.name: 1.1.8 + function.prototype.name: 1.2.0 has-tostringtag: 1.0.2 is-async-function: 2.1.1 is-date-object: 1.1.0 @@ -29619,7 +27650,7 @@ snapshots: isarray: 2.0.5 which-boxed-primitive: 1.1.1 which-collection: 1.0.2 - which-typed-array: 1.1.20 + which-typed-array: 1.1.22 which-collection@1.0.2: dependencies: @@ -29630,10 +27661,10 @@ snapshots: which-module@2.0.1: {} - which-typed-array@1.1.20: + which-typed-array@1.1.22: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 for-each: 0.3.5 get-proto: 1.0.1 @@ -29650,124 +27681,124 @@ snapshots: wildcard@2.0.1: {} - workbox-background-sync@7.4.0: + workbox-background-sync@7.4.1: dependencies: idb: 7.1.1 - workbox-core: 7.4.0 + workbox-core: 7.4.1 - workbox-broadcast-update@7.4.0: + workbox-broadcast-update@7.4.1: dependencies: - workbox-core: 7.4.0 + workbox-core: 7.4.1 - workbox-build@7.4.0(@types/babel__core@7.20.5): + workbox-build@7.4.1(@types/babel__core@7.20.5): dependencies: - '@apideck/better-ajv-errors': 0.3.6(ajv@8.20.0) + '@apideck/better-ajv-errors': 0.3.7(ajv@8.20.0) '@babel/core': 7.29.7(supports-color@8.1.1) '@babel/preset-env': 7.29.7(@babel/core@7.29.7) '@babel/runtime': 7.29.7 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.29.7)(@types/babel__core@7.20.5)(rollup@2.80.0) - '@rollup/plugin-node-resolve': 15.3.1(rollup@2.80.0) - '@rollup/plugin-replace': 2.4.2(rollup@2.80.0) - '@rollup/plugin-terser': 0.4.4(rollup@2.80.0) - '@surma/rollup-plugin-off-main-thread': 2.2.3 + '@rollup/plugin-babel': 6.1.0(@babel/core@7.29.7)(@types/babel__core@7.20.5)(rollup@2.80.0) + '@rollup/plugin-node-resolve': 16.0.3(rollup@2.80.0) + '@rollup/plugin-replace': 6.0.3(rollup@2.80.0) + '@rollup/plugin-terser': 1.0.0(rollup@2.80.0) + '@trickfilm400/rollup-plugin-off-main-thread': 3.0.0-pre1 ajv: 8.20.0 common-tags: 1.8.2 + eta: 4.6.0 fast-json-stable-stringify: 2.1.0 fs-extra: 9.1.0 glob: 11.1.0 - lodash: 4.18.1 pretty-bytes: 5.6.0 rollup: 2.80.0 - source-map: 0.8.0-beta.0 + source-map: 0.8.0 stringify-object: 3.3.0 strip-comments: 2.0.1 tempy: 0.6.0 upath: 1.2.0 - workbox-background-sync: 7.4.0 - workbox-broadcast-update: 7.4.0 - workbox-cacheable-response: 7.4.0 - workbox-core: 7.4.0 - workbox-expiration: 7.4.0 - workbox-google-analytics: 7.4.0 - workbox-navigation-preload: 7.4.0 - workbox-precaching: 7.4.0 - workbox-range-requests: 7.4.0 - workbox-recipes: 7.4.0 - workbox-routing: 7.4.0 - workbox-strategies: 7.4.0 - workbox-streams: 7.4.0 - workbox-sw: 7.4.0 - workbox-window: 7.4.0 + workbox-background-sync: 7.4.1 + workbox-broadcast-update: 7.4.1 + workbox-cacheable-response: 7.4.1 + workbox-core: 7.4.1 + workbox-expiration: 7.4.1 + workbox-google-analytics: 7.4.1 + workbox-navigation-preload: 7.4.1 + workbox-precaching: 7.4.1 + workbox-range-requests: 7.4.1 + workbox-recipes: 7.4.1 + workbox-routing: 7.4.1 + workbox-strategies: 7.4.1 + workbox-streams: 7.4.1 + workbox-sw: 7.4.1 + workbox-window: 7.4.1 transitivePeerDependencies: - '@types/babel__core' - supports-color - workbox-cacheable-response@7.4.0: + workbox-cacheable-response@7.4.1: dependencies: - workbox-core: 7.4.0 + workbox-core: 7.4.1 - workbox-core@7.4.0: {} + workbox-core@7.4.1: {} - workbox-expiration@7.4.0: + workbox-expiration@7.4.1: dependencies: idb: 7.1.1 - workbox-core: 7.4.0 + workbox-core: 7.4.1 - workbox-google-analytics@7.4.0: + workbox-google-analytics@7.4.1: dependencies: - workbox-background-sync: 7.4.0 - workbox-core: 7.4.0 - workbox-routing: 7.4.0 - workbox-strategies: 7.4.0 + workbox-background-sync: 7.4.1 + workbox-core: 7.4.1 + workbox-routing: 7.4.1 + workbox-strategies: 7.4.1 - workbox-navigation-preload@7.4.0: + workbox-navigation-preload@7.4.1: dependencies: - workbox-core: 7.4.0 + workbox-core: 7.4.1 - workbox-precaching@7.4.0: + workbox-precaching@7.4.1: dependencies: - workbox-core: 7.4.0 - workbox-routing: 7.4.0 - workbox-strategies: 7.4.0 + workbox-core: 7.4.1 + workbox-routing: 7.4.1 + workbox-strategies: 7.4.1 - workbox-range-requests@7.4.0: + workbox-range-requests@7.4.1: dependencies: - workbox-core: 7.4.0 + workbox-core: 7.4.1 - workbox-recipes@7.4.0: + workbox-recipes@7.4.1: dependencies: - workbox-cacheable-response: 7.4.0 - workbox-core: 7.4.0 - workbox-expiration: 7.4.0 - workbox-precaching: 7.4.0 - workbox-routing: 7.4.0 - workbox-strategies: 7.4.0 + workbox-cacheable-response: 7.4.1 + workbox-core: 7.4.1 + workbox-expiration: 7.4.1 + workbox-precaching: 7.4.1 + workbox-routing: 7.4.1 + workbox-strategies: 7.4.1 - workbox-routing@7.4.0: + workbox-routing@7.4.1: dependencies: - workbox-core: 7.4.0 + workbox-core: 7.4.1 - workbox-strategies@7.4.0: + workbox-strategies@7.4.1: dependencies: - workbox-core: 7.4.0 + workbox-core: 7.4.1 - workbox-streams@7.4.0: + workbox-streams@7.4.1: dependencies: - workbox-core: 7.4.0 - workbox-routing: 7.4.0 + workbox-core: 7.4.1 + workbox-routing: 7.4.1 - workbox-sw@7.4.0: {} + workbox-sw@7.4.1: {} - workbox-window@7.4.0: + workbox-window@7.4.1: dependencies: '@types/trusted-types': 2.0.7 - workbox-core: 7.4.0 + workbox-core: 7.4.1 - worker-loader@3.0.8(webpack@5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21))): + worker-loader@3.0.8(webpack@5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(postcss@8.5.22)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.105.0(@swc/core@1.15.13(@swc/helpers@0.5.21)) + webpack: 5.105.0(@swc/core@1.15.47(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.22))(html-minifier-terser@7.2.0)(postcss@8.5.22) wrap-ansi@3.0.1: dependencies: @@ -29822,7 +27853,7 @@ snapshots: xml-js@1.6.11: dependencies: - sax: 1.6.0 + sax: 1.6.1 xml-name-validator@4.0.0: {} @@ -29874,7 +27905,7 @@ snapshots: y18n: 4.0.3 yargs-parser: 18.1.3 - yargs@17.7.2: + yargs@17.7.3: dependencies: cliui: 8.0.1 escalade: 3.2.0 @@ -29902,12 +27933,11 @@ snapshots: zstddec@0.2.0: {} - zustand@4.5.5(@types/react@18.3.23)(immer@9.0.21)(react@18.3.1): + zustand@4.5.5(@types/react@18.3.23)(react@18.3.1): dependencies: use-sync-external-store: 1.2.2(react@18.3.1) optionalDependencies: '@types/react': 18.3.23 - immer: 9.0.21 react: 18.3.1 zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index ff53115fa58..bdf0b1c9a9a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -64,19 +64,16 @@ overrides: webpack: 5.105.0 tar: 7.5.20 serialize-javascript: 7.0.4 - svgo: 3.3.3 + 'svgo@>=3.0.0 <3.3.4': 3.3.4 flatted: 3.4.2 handlebars: 4.7.9 protobufjs: 7.6.1 tmp: 0.2.7 shell-quote: 1.10.0 - # fast-uri <=3.1.1 reaches the tree only via platform/docs - # (@docusaurus/plugin-pwa > workbox-build > ajv). 3.1.2 patches both - # GHSA-q3j6-qgpj-74h6 (path traversal) and GHSA-v39h-62p7-jpjc (host confusion). - fast-uri: 3.1.2 + 'fast-uri@>=3.0.0 <=3.1.3': 3.1.4 '@babel/plugin-transform-modules-systemjs': 7.29.4 # pnpm-branch-only overrides (kept across merges from master). - sharp: 0.34.5 + 'sharp@<0.35.0': 0.35.3 # Force a single modern tslib for the whole workspace. Without this, rxjs@6 # pulls in tslib@1, which gets hoisted to root node_modules and shadows the # tslib@2 that modern packages (e.g. react-remove-scroll) need for @@ -97,8 +94,12 @@ overrides: # not import it in its runtime code. 0.6.0 patches GHSA-xcpc-8h2w-3j85 # (crafted ZIP triggers a 4GB memory allocation). 'adm-zip@<0.6.0': 0.6.0 - 'brace-expansion@<1.1.16': 1.1.16 - 'brace-expansion@>=2.0.0 <2.1.2': 2.1.2 - 'brace-expansion@>=3.0.0 <5.0.7': 5.0.7 + 'brace-expansion@<1.1.17': 1.1.18 + 'brace-expansion@>=2.0.0 <2.1.3': 2.1.4 + 'brace-expansion@>=3.0.0 <3.0.3': 3.0.6 + 'brace-expansion@>=4.0.0 <5.0.8': 5.0.9 'js-yaml@<3.15.0': 3.15.0 'js-yaml@>=4.0.0 <4.3.0': 4.3.0 + 'postcss@<=8.5.11': 8.5.22 +patchedDependencies: + '@cornerstonejs/adapters': patches/@cornerstonejs__adapters.patch diff --git a/rsbuild.config.ts b/rsbuild.config.ts index 34ea904a55b..bbf95d62eb4 100644 --- a/rsbuild.config.ts +++ b/rsbuild.config.ts @@ -29,7 +29,7 @@ const PROXY_PATH_REWRITE_FROM = process.env.PROXY_PATH_REWRITE_FROM; const PROXY_PATH_REWRITE_TO = process.env.PROXY_PATH_REWRITE_TO; // Add port constant -const OHIF_PORT = Number(process.env.OHIF_PORT || 3000); +const OHIF_PORT = 3000; // 强制使用3000端口 const OHIF_OPEN = process.env.OHIF_OPEN !== 'false'; // Ignore node_modules except @cornerstonejs (symlinked local development). @@ -191,14 +191,10 @@ export default defineConfig({ server: { port: OHIF_PORT, open: OHIF_OPEN, - // Configure proxy - proxy: { - '/dicomweb': { - target: 'http://localhost:5000', - }, - // Add conditional proxy based on env vars - ...(PROXY_TARGET && PROXY_DOMAIN - ? { + // Add conditional proxy based on env vars + ...(PROXY_TARGET && PROXY_DOMAIN + ? { + proxy: { [PROXY_TARGET]: { target: PROXY_DOMAIN, changeOrigin: true, @@ -206,13 +202,8 @@ export default defineConfig({ [`^${PROXY_PATH_REWRITE_FROM}`]: PROXY_PATH_REWRITE_TO, }, }, - } - : {}), - }, - // Configure history API fallback - historyApiFallback: { - disableDotRule: true, - index: `${PUBLIC_URL}index.html`, - }, + }, + } + : {}), }, }); diff --git a/version.txt b/version.txt index a29ce9d603a..2c20ac9bea3 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -3.13.0-beta.89 \ No newline at end of file +3.13.3