prettier and consistency

+909 -1146
package-lock.json
··· 31 31 "@testing-library/preact": "^3.2.4", 32 32 "@types/confusing-browser-globals": "^1.0.3", 33 33 "@types/express": "^5.0.3", 34 - "@types/jest": "^29.5.14", 34 + "@types/jest": "^30.0.0", 35 35 "@types/node": "^24.0.1", 36 36 "@types/simple-peer": "^9.11.8", 37 37 "@types/ws": "^8.18.1", ··· 45 45 "glob-to-regexp": "^0.4.1", 46 46 "globals": "^16.2.0", 47 47 "identity-obj-proxy": "^3.0.0", 48 - "jest": "^30.0.0", 48 + "jest": "^30.0.2", 49 49 "jest-environment-jsdom": "^30.0.0", 50 50 "jest-fixed-jsdom": "^0.0.9", 51 51 "jsdom": "^26.1.0", 52 52 "parse-gitignore": "^2.0.0", 53 53 "prettier": "^3.5.3", 54 54 "prettier-plugin-organize-imports": "^4.1.0", 55 - "tidy-jsdoc-fork": "github:lygaret/tidy-jsdoc", 56 55 "ts-jest": "^29.4.0", 57 56 "typescript": "^5.8.3", 58 57 "typescript-eslint": "^8.34.1", ··· 1766 1765 "node": ">=8" 1767 1766 } 1768 1767 }, 1768 + "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { 1769 + "version": "1.0.3", 1770 + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 1771 + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", 1772 + "dev": true, 1773 + "license": "BSD-3-Clause" 1774 + }, 1769 1775 "node_modules/@istanbuljs/schema": { 1770 1776 "version": "0.1.3", 1771 1777 "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", ··· 1777 1783 } 1778 1784 }, 1779 1785 "node_modules/@jest/console": { 1780 - "version": "30.0.0", 1781 - "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.0.0.tgz", 1782 - "integrity": "sha512-vfpJap6JZQ3I8sUN8dsFqNAKJYO4KIGxkcB+3Fw7Q/BJiWY5HwtMMiuT1oP0avsiDhjE/TCLaDgbGfHwDdBVeg==", 1786 + "version": "30.0.2", 1787 + "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.0.2.tgz", 1788 + "integrity": "sha512-krGElPU0FipAqpVZ/BRZOy0MZh/ARdJ0Nj+PiH1ykFY1+VpBlYNLjdjVA5CFKxnKR6PFqFutO4Z7cdK9BlGiDA==", 1783 1789 "dev": true, 1784 1790 "license": "MIT", 1785 1791 "dependencies": { 1786 - "@jest/types": "30.0.0", 1792 + "@jest/types": "30.0.1", 1787 1793 "@types/node": "*", 1788 1794 "chalk": "^4.1.2", 1789 - "jest-message-util": "30.0.0", 1790 - "jest-util": "30.0.0", 1795 + "jest-message-util": "30.0.2", 1796 + "jest-util": "30.0.2", 1791 1797 "slash": "^3.0.0" 1792 1798 }, 1793 1799 "engines": { ··· 1795 1801 } 1796 1802 }, 1797 1803 "node_modules/@jest/core": { 1798 - "version": "30.0.0", 1799 - "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.0.0.tgz", 1800 - "integrity": "sha512-1zU39zFtWSl5ZuDK3Rd6P8S28MmS4F11x6Z4CURrgJ99iaAJg68hmdJ2SAHEEO6ociaNk43UhUYtHxWKEWoNYw==", 1804 + "version": "30.0.2", 1805 + "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.0.2.tgz", 1806 + "integrity": "sha512-mUMFdDtYWu7la63NxlyNIhgnzynszxunXWrtryR7bV24jV9hmi7XCZTzZHaLJjcBU66MeUAPZ81HjwASVpYhYQ==", 1801 1807 "dev": true, 1802 1808 "license": "MIT", 1803 1809 "dependencies": { 1804 - "@jest/console": "30.0.0", 1805 - "@jest/pattern": "30.0.0", 1806 - "@jest/reporters": "30.0.0", 1807 - "@jest/test-result": "30.0.0", 1808 - "@jest/transform": "30.0.0", 1809 - "@jest/types": "30.0.0", 1810 + "@jest/console": "30.0.2", 1811 + "@jest/pattern": "30.0.1", 1812 + "@jest/reporters": "30.0.2", 1813 + "@jest/test-result": "30.0.2", 1814 + "@jest/transform": "30.0.2", 1815 + "@jest/types": "30.0.1", 1810 1816 "@types/node": "*", 1811 1817 "ansi-escapes": "^4.3.2", 1812 1818 "chalk": "^4.1.2", 1813 1819 "ci-info": "^4.2.0", 1814 1820 "exit-x": "^0.2.2", 1815 1821 "graceful-fs": "^4.2.11", 1816 - "jest-changed-files": "30.0.0", 1817 - "jest-config": "30.0.0", 1818 - "jest-haste-map": "30.0.0", 1819 - "jest-message-util": "30.0.0", 1820 - "jest-regex-util": "30.0.0", 1821 - "jest-resolve": "30.0.0", 1822 - "jest-resolve-dependencies": "30.0.0", 1823 - "jest-runner": "30.0.0", 1824 - "jest-runtime": "30.0.0", 1825 - "jest-snapshot": "30.0.0", 1826 - "jest-util": "30.0.0", 1827 - "jest-validate": "30.0.0", 1828 - "jest-watcher": "30.0.0", 1822 + "jest-changed-files": "30.0.2", 1823 + "jest-config": "30.0.2", 1824 + "jest-haste-map": "30.0.2", 1825 + "jest-message-util": "30.0.2", 1826 + "jest-regex-util": "30.0.1", 1827 + "jest-resolve": "30.0.2", 1828 + "jest-resolve-dependencies": "30.0.2", 1829 + "jest-runner": "30.0.2", 1830 + "jest-runtime": "30.0.2", 1831 + "jest-snapshot": "30.0.2", 1832 + "jest-util": "30.0.2", 1833 + "jest-validate": "30.0.2", 1834 + "jest-watcher": "30.0.2", 1829 1835 "micromatch": "^4.0.8", 1830 - "pretty-format": "30.0.0", 1836 + "pretty-format": "30.0.2", 1831 1837 "slash": "^3.0.0" 1832 1838 }, 1833 1839 "engines": { ··· 1842 1848 } 1843 1849 } 1844 1850 }, 1851 + "node_modules/@jest/core/node_modules/ansi-styles": { 1852 + "version": "5.2.0", 1853 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 1854 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 1855 + "dev": true, 1856 + "license": "MIT", 1857 + "engines": { 1858 + "node": ">=10" 1859 + }, 1860 + "funding": { 1861 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1862 + } 1863 + }, 1864 + "node_modules/@jest/core/node_modules/pretty-format": { 1865 + "version": "30.0.2", 1866 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", 1867 + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", 1868 + "dev": true, 1869 + "license": "MIT", 1870 + "dependencies": { 1871 + "@jest/schemas": "30.0.1", 1872 + "ansi-styles": "^5.2.0", 1873 + "react-is": "^18.3.1" 1874 + }, 1875 + "engines": { 1876 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 1877 + } 1878 + }, 1879 + "node_modules/@jest/core/node_modules/react-is": { 1880 + "version": "18.3.1", 1881 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 1882 + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 1883 + "dev": true, 1884 + "license": "MIT" 1885 + }, 1845 1886 "node_modules/@jest/diff-sequences": { 1846 - "version": "30.0.0", 1847 - "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.0.tgz", 1848 - "integrity": "sha512-xMbtoCeKJDto86GW6AiwVv7M4QAuI56R7dVBr1RNGYbOT44M2TIzOiske2RxopBqkumDY+A1H55pGvuribRY9A==", 1887 + "version": "30.0.1", 1888 + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz", 1889 + "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==", 1849 1890 "dev": true, 1850 1891 "license": "MIT", 1851 1892 "engines": { ··· 1853 1894 } 1854 1895 }, 1855 1896 "node_modules/@jest/environment": { 1856 - "version": "30.0.0", 1857 - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.0.tgz", 1858 - "integrity": "sha512-09sFbMMgS5JxYnvgmmtwIHhvoyzvR5fUPrVl8nOCrC5KdzmmErTcAxfWyAhJ2bv3rvHNQaKiS+COSG+O7oNbXw==", 1897 + "version": "30.0.2", 1898 + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.2.tgz", 1899 + "integrity": "sha512-hRLhZRJNxBiOhxIKSq2UkrlhMt3/zVFQOAi5lvS8T9I03+kxsbflwHJEF+eXEYXCrRGRhHwECT7CDk6DyngsRA==", 1859 1900 "dev": true, 1860 1901 "license": "MIT", 1861 1902 "dependencies": { 1862 - "@jest/fake-timers": "30.0.0", 1863 - "@jest/types": "30.0.0", 1903 + "@jest/fake-timers": "30.0.2", 1904 + "@jest/types": "30.0.1", 1864 1905 "@types/node": "*", 1865 - "jest-mock": "30.0.0" 1906 + "jest-mock": "30.0.2" 1866 1907 }, 1867 1908 "engines": { 1868 1909 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 1869 1910 } 1870 1911 }, 1871 1912 "node_modules/@jest/environment-jsdom-abstract": { 1872 - "version": "30.0.0", 1873 - "resolved": "https://registry.npmjs.org/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.0.0.tgz", 1874 - "integrity": "sha512-Fcn1eZbH1JK+bqwUVkUVprlQL3xWUrhvOe/4L0PfDkaJOiAz3HUI1m4s0bgmXBYyCyTVogBuUFZkRpAKMox5Dw==", 1913 + "version": "30.0.2", 1914 + "resolved": "https://registry.npmjs.org/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.0.2.tgz", 1915 + "integrity": "sha512-8aMoEzGdUuJeQl71BUACkys1ZEX437AF376VBqdYXsGFd4l3F1SdTjFHmNq8vF0Rp+CYhUyxa0kRAzXbBaVzfQ==", 1875 1916 "dev": true, 1876 1917 "license": "MIT", 1877 1918 "dependencies": { 1878 - "@jest/environment": "30.0.0", 1879 - "@jest/fake-timers": "30.0.0", 1880 - "@jest/types": "30.0.0", 1919 + "@jest/environment": "30.0.2", 1920 + "@jest/fake-timers": "30.0.2", 1921 + "@jest/types": "30.0.1", 1881 1922 "@types/jsdom": "^21.1.7", 1882 1923 "@types/node": "*", 1883 - "jest-mock": "30.0.0", 1884 - "jest-util": "30.0.0" 1924 + "jest-mock": "30.0.2", 1925 + "jest-util": "30.0.2" 1885 1926 }, 1886 1927 "engines": { 1887 1928 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" ··· 1897 1938 } 1898 1939 }, 1899 1940 "node_modules/@jest/expect": { 1900 - "version": "30.0.0", 1901 - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.0.0.tgz", 1902 - "integrity": "sha512-XZ3j6syhMeKiBknmmc8V3mNIb44kxLTbOQtaXA4IFdHy+vEN0cnXRzbRjdGBtrp4k1PWyMWNU3Fjz3iejrhpQg==", 1941 + "version": "30.0.2", 1942 + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.0.2.tgz", 1943 + "integrity": "sha512-blWRFPjv2cVfh42nLG6L3xIEbw+bnuiZYZDl/BZlsNG/i3wKV6FpPZ2EPHguk7t5QpLaouIu+7JmYO4uBR6AOg==", 1903 1944 "dev": true, 1904 1945 "license": "MIT", 1905 1946 "dependencies": { 1906 - "expect": "30.0.0", 1907 - "jest-snapshot": "30.0.0" 1947 + "expect": "30.0.2", 1948 + "jest-snapshot": "30.0.2" 1908 1949 }, 1909 1950 "engines": { 1910 1951 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 1911 1952 } 1912 1953 }, 1913 1954 "node_modules/@jest/expect-utils": { 1914 - "version": "30.0.0", 1915 - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.0.tgz", 1916 - "integrity": "sha512-UiWfsqNi/+d7xepfOv8KDcbbzcYtkWBe3a3kVDtg6M1kuN6CJ7b4HzIp5e1YHrSaQaVS8sdCoyCMCZClTLNKFQ==", 1955 + "version": "30.0.2", 1956 + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.2.tgz", 1957 + "integrity": "sha512-FHF2YdtFBUQOo0/qdgt+6UdBFcNPF/TkVzcc+4vvf8uaBzUlONytGBeeudufIHHW1khRfM1sBbRT1VCK7n/0dQ==", 1917 1958 "dev": true, 1918 1959 "license": "MIT", 1919 1960 "dependencies": { 1920 - "@jest/get-type": "30.0.0" 1961 + "@jest/get-type": "30.0.1" 1921 1962 }, 1922 1963 "engines": { 1923 1964 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 1924 1965 } 1925 1966 }, 1926 1967 "node_modules/@jest/fake-timers": { 1927 - "version": "30.0.0", 1928 - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.0.tgz", 1929 - "integrity": "sha512-yzBmJcrMHAMcAEbV2w1kbxmx8WFpEz8Cth3wjLMSkq+LO8VeGKRhpr5+BUp7PPK+x4njq/b6mVnDR8e/tPL5ng==", 1968 + "version": "30.0.2", 1969 + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.2.tgz", 1970 + "integrity": "sha512-jfx0Xg7l0gmphTY9UKm5RtH12BlLYj/2Plj6wXjVW5Era4FZKfXeIvwC67WX+4q8UCFxYS20IgnMcFBcEU0DtA==", 1930 1971 "dev": true, 1931 1972 "license": "MIT", 1932 1973 "dependencies": { 1933 - "@jest/types": "30.0.0", 1974 + "@jest/types": "30.0.1", 1934 1975 "@sinonjs/fake-timers": "^13.0.0", 1935 1976 "@types/node": "*", 1936 - "jest-message-util": "30.0.0", 1937 - "jest-mock": "30.0.0", 1938 - "jest-util": "30.0.0" 1977 + "jest-message-util": "30.0.2", 1978 + "jest-mock": "30.0.2", 1979 + "jest-util": "30.0.2" 1939 1980 }, 1940 1981 "engines": { 1941 1982 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 1942 1983 } 1943 1984 }, 1944 1985 "node_modules/@jest/get-type": { 1945 - "version": "30.0.0", 1946 - "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.0.0.tgz", 1947 - "integrity": "sha512-VZWMjrBzqfDKngQ7sUctKeLxanAbsBFoZnPxNIG6CmxK7Gv6K44yqd0nzveNIBfuhGZMmk1n5PGbvdSTOu0yTg==", 1986 + "version": "30.0.1", 1987 + "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.0.1.tgz", 1988 + "integrity": "sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw==", 1948 1989 "dev": true, 1949 1990 "license": "MIT", 1950 1991 "engines": { ··· 1952 1993 } 1953 1994 }, 1954 1995 "node_modules/@jest/globals": { 1955 - "version": "30.0.0", 1956 - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.0.0.tgz", 1957 - "integrity": "sha512-OEzYes5A1xwBJVMPqFRa8NCao8Vr42nsUZuf/SpaJWoLE+4kyl6nCQZ1zqfipmCrIXQVALC5qJwKy/7NQQLPhw==", 1996 + "version": "30.0.2", 1997 + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.0.2.tgz", 1998 + "integrity": "sha512-DwTtus9jjbG7b6jUdkcVdptf0wtD1v153A+PVwWB/zFwXhqu6hhtSd+uq88jofMhmYPtkmPmVGUBRNCZEKXn+w==", 1958 1999 "dev": true, 1959 2000 "license": "MIT", 1960 2001 "dependencies": { 1961 - "@jest/environment": "30.0.0", 1962 - "@jest/expect": "30.0.0", 1963 - "@jest/types": "30.0.0", 1964 - "jest-mock": "30.0.0" 2002 + "@jest/environment": "30.0.2", 2003 + "@jest/expect": "30.0.2", 2004 + "@jest/types": "30.0.1", 2005 + "jest-mock": "30.0.2" 1965 2006 }, 1966 2007 "engines": { 1967 2008 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 1968 2009 } 1969 2010 }, 1970 2011 "node_modules/@jest/pattern": { 1971 - "version": "30.0.0", 1972 - "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.0.tgz", 1973 - "integrity": "sha512-k+TpEThzLVXMkbdxf8KHjZ83Wl+G54ytVJoDIGWwS96Ql4xyASRjc6SU1hs5jHVql+hpyK9G8N7WuFhLpGHRpQ==", 2012 + "version": "30.0.1", 2013 + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz", 2014 + "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==", 1974 2015 "dev": true, 1975 2016 "license": "MIT", 1976 2017 "dependencies": { 1977 2018 "@types/node": "*", 1978 - "jest-regex-util": "30.0.0" 2019 + "jest-regex-util": "30.0.1" 1979 2020 }, 1980 2021 "engines": { 1981 2022 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 1982 2023 } 1983 2024 }, 1984 2025 "node_modules/@jest/reporters": { 1985 - "version": "30.0.0", 1986 - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.0.0.tgz", 1987 - "integrity": "sha512-5WHNlLO0Ok+/o6ML5IzgVm1qyERtLHBNhwn67PAq92H4hZ+n5uW/BYj1VVwmTdxIcNrZLxdV9qtpdZkXf16HxA==", 2026 + "version": "30.0.2", 2027 + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.0.2.tgz", 2028 + "integrity": "sha512-l4QzS/oKf57F8WtPZK+vvF4Io6ukplc6XgNFu4Hd/QxaLEO9f+8dSFzUua62Oe0HKlCUjKHpltKErAgDiMJKsA==", 1988 2029 "dev": true, 1989 2030 "license": "MIT", 1990 2031 "dependencies": { 1991 2032 "@bcoe/v8-coverage": "^0.2.3", 1992 - "@jest/console": "30.0.0", 1993 - "@jest/test-result": "30.0.0", 1994 - "@jest/transform": "30.0.0", 1995 - "@jest/types": "30.0.0", 2033 + "@jest/console": "30.0.2", 2034 + "@jest/test-result": "30.0.2", 2035 + "@jest/transform": "30.0.2", 2036 + "@jest/types": "30.0.1", 1996 2037 "@jridgewell/trace-mapping": "^0.3.25", 1997 2038 "@types/node": "*", 1998 2039 "chalk": "^4.1.2", ··· 2005 2046 "istanbul-lib-report": "^3.0.0", 2006 2047 "istanbul-lib-source-maps": "^5.0.0", 2007 2048 "istanbul-reports": "^3.1.3", 2008 - "jest-message-util": "30.0.0", 2009 - "jest-util": "30.0.0", 2010 - "jest-worker": "30.0.0", 2049 + "jest-message-util": "30.0.2", 2050 + "jest-util": "30.0.2", 2051 + "jest-worker": "30.0.2", 2011 2052 "slash": "^3.0.0", 2012 2053 "string-length": "^4.0.2", 2013 2054 "v8-to-istanbul": "^9.0.1" ··· 2025 2066 } 2026 2067 }, 2027 2068 "node_modules/@jest/schemas": { 2028 - "version": "30.0.0", 2029 - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.0.tgz", 2030 - "integrity": "sha512-NID2VRyaEkevCRz6badhfqYwri/RvMbiHY81rk3AkK/LaiB0LSxi1RdVZ7MpZdTjNugtZeGfpL0mLs9Kp3MrQw==", 2069 + "version": "30.0.1", 2070 + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.1.tgz", 2071 + "integrity": "sha512-+g/1TKjFuGrf1Hh0QPCv0gISwBxJ+MQSNXmG9zjHy7BmFhtoJ9fdNhWJp3qUKRi93AOZHXtdxZgJ1vAtz6z65w==", 2031 2072 "dev": true, 2032 2073 "license": "MIT", 2033 2074 "dependencies": { ··· 2038 2079 } 2039 2080 }, 2040 2081 "node_modules/@jest/snapshot-utils": { 2041 - "version": "30.0.0", 2042 - "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.0.0.tgz", 2043 - "integrity": "sha512-C/QSFUmvZEYptg2Vin84FggAphwHvj6la39vkw1CNOZQORWZ7O/H0BXmdeeeGnvlXDYY8TlFM5jgFnxLAxpFjA==", 2082 + "version": "30.0.1", 2083 + "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.0.1.tgz", 2084 + "integrity": "sha512-6Dpv7vdtoRiISEFwYF8/c7LIvqXD7xDXtLPNzC2xqAfBznKip0MQM+rkseKwUPUpv2PJ7KW/YsnwWXrIL2xF+A==", 2044 2085 "dev": true, 2045 2086 "license": "MIT", 2046 2087 "dependencies": { 2047 - "@jest/types": "30.0.0", 2088 + "@jest/types": "30.0.1", 2048 2089 "chalk": "^4.1.2", 2049 2090 "graceful-fs": "^4.2.11", 2050 2091 "natural-compare": "^1.4.0" ··· 2054 2095 } 2055 2096 }, 2056 2097 "node_modules/@jest/source-map": { 2057 - "version": "30.0.0", 2058 - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.0.tgz", 2059 - "integrity": "sha512-oYBJ4d/NF4ZY3/7iq1VaeoERHRvlwKtrGClgescaXMIa1mmb+vfJd0xMgbW9yrI80IUA7qGbxpBWxlITrHkWoA==", 2098 + "version": "30.0.1", 2099 + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz", 2100 + "integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==", 2060 2101 "dev": true, 2061 2102 "license": "MIT", 2062 2103 "dependencies": { ··· 2069 2110 } 2070 2111 }, 2071 2112 "node_modules/@jest/test-result": { 2072 - "version": "30.0.0", 2073 - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.0.0.tgz", 2074 - "integrity": "sha512-685zco9HdgBaaWiB9T4xjLtBuN0Q795wgaQPpmuAeZPHwHZSoKFAUnozUtU+ongfi4l5VCz8AclOE5LAQdyjxQ==", 2113 + "version": "30.0.2", 2114 + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.0.2.tgz", 2115 + "integrity": "sha512-KKMuBKkkZYP/GfHMhI+cH2/P3+taMZS3qnqqiPC1UXZTJskkCS+YU/ILCtw5anw1+YsTulDHFpDo70mmCedW8w==", 2075 2116 "dev": true, 2076 2117 "license": "MIT", 2077 2118 "dependencies": { 2078 - "@jest/console": "30.0.0", 2079 - "@jest/types": "30.0.0", 2119 + "@jest/console": "30.0.2", 2120 + "@jest/types": "30.0.1", 2080 2121 "@types/istanbul-lib-coverage": "^2.0.6", 2081 2122 "collect-v8-coverage": "^1.0.2" 2082 2123 }, ··· 2085 2126 } 2086 2127 }, 2087 2128 "node_modules/@jest/test-sequencer": { 2088 - "version": "30.0.0", 2089 - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.0.0.tgz", 2090 - "integrity": "sha512-Hmvv5Yg6UmghXIcVZIydkT0nAK7M/hlXx9WMHR5cLVwdmc14/qUQt3mC72T6GN0olPC6DhmKE6Cd/pHsgDbuqQ==", 2129 + "version": "30.0.2", 2130 + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.0.2.tgz", 2131 + "integrity": "sha512-fbyU5HPka0rkalZ3MXVvq0hwZY8dx3Y6SCqR64zRmh+xXlDeFl0IdL4l9e7vp4gxEXTYHbwLFA1D+WW5CucaSw==", 2091 2132 "dev": true, 2092 2133 "license": "MIT", 2093 2134 "dependencies": { 2094 - "@jest/test-result": "30.0.0", 2135 + "@jest/test-result": "30.0.2", 2095 2136 "graceful-fs": "^4.2.11", 2096 - "jest-haste-map": "30.0.0", 2137 + "jest-haste-map": "30.0.2", 2097 2138 "slash": "^3.0.0" 2098 2139 }, 2099 2140 "engines": { ··· 2101 2142 } 2102 2143 }, 2103 2144 "node_modules/@jest/transform": { 2104 - "version": "30.0.0", 2105 - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.0.0.tgz", 2106 - "integrity": "sha512-8xhpsCGYJsUjqpJOgLyMkeOSSlhqggFZEWAnZquBsvATtueoEs7CkMRxOUmJliF3E5x+mXmZ7gEEsHank029Og==", 2145 + "version": "30.0.2", 2146 + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.0.2.tgz", 2147 + "integrity": "sha512-kJIuhLMTxRF7sc0gPzPtCDib/V9KwW3I2U25b+lYCYMVqHHSrcZopS8J8H+znx9yixuFv+Iozl8raLt/4MoxrA==", 2107 2148 "dev": true, 2108 2149 "license": "MIT", 2109 2150 "dependencies": { 2110 2151 "@babel/core": "^7.27.4", 2111 - "@jest/types": "30.0.0", 2152 + "@jest/types": "30.0.1", 2112 2153 "@jridgewell/trace-mapping": "^0.3.25", 2113 2154 "babel-plugin-istanbul": "^7.0.0", 2114 2155 "chalk": "^4.1.2", 2115 2156 "convert-source-map": "^2.0.0", 2116 2157 "fast-json-stable-stringify": "^2.1.0", 2117 2158 "graceful-fs": "^4.2.11", 2118 - "jest-haste-map": "30.0.0", 2119 - "jest-regex-util": "30.0.0", 2120 - "jest-util": "30.0.0", 2159 + "jest-haste-map": "30.0.2", 2160 + "jest-regex-util": "30.0.1", 2161 + "jest-util": "30.0.2", 2121 2162 "micromatch": "^4.0.8", 2122 2163 "pirates": "^4.0.7", 2123 2164 "slash": "^3.0.0", ··· 2128 2169 } 2129 2170 }, 2130 2171 "node_modules/@jest/types": { 2131 - "version": "30.0.0", 2132 - "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.0.tgz", 2133 - "integrity": "sha512-1Nox8mAL52PKPfEnUQWBvKU/bp8FTT6AiDu76bFDEJj/qsRFSAVSldfCH3XYMqialti2zHXKvD5gN0AaHc0yKA==", 2172 + "version": "30.0.1", 2173 + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.1.tgz", 2174 + "integrity": "sha512-HGwoYRVF0QSKJu1ZQX0o5ZrUrrhj0aOOFA8hXrumD7SIzjouevhawbTjmXdwOmURdGluU9DM/XvGm3NyFoiQjw==", 2134 2175 "dev": true, 2135 2176 "license": "MIT", 2136 2177 "dependencies": { 2137 - "@jest/pattern": "30.0.0", 2138 - "@jest/schemas": "30.0.0", 2178 + "@jest/pattern": "30.0.1", 2179 + "@jest/schemas": "30.0.1", 2139 2180 "@types/istanbul-lib-coverage": "^2.0.6", 2140 2181 "@types/istanbul-reports": "^3.0.4", 2141 2182 "@types/node": "*", ··· 2476 2517 } 2477 2518 }, 2478 2519 "node_modules/@rollup/rollup-android-arm-eabi": { 2479 - "version": "4.43.0", 2480 - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.43.0.tgz", 2481 - "integrity": "sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==", 2520 + "version": "4.44.0", 2521 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.0.tgz", 2522 + "integrity": "sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA==", 2482 2523 "cpu": [ 2483 2524 "arm" 2484 2525 ], ··· 2490 2531 ] 2491 2532 }, 2492 2533 "node_modules/@rollup/rollup-android-arm64": { 2493 - "version": "4.43.0", 2494 - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.43.0.tgz", 2495 - "integrity": "sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==", 2534 + "version": "4.44.0", 2535 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.0.tgz", 2536 + "integrity": "sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw==", 2496 2537 "cpu": [ 2497 2538 "arm64" 2498 2539 ], ··· 2504 2545 ] 2505 2546 }, 2506 2547 "node_modules/@rollup/rollup-darwin-arm64": { 2507 - "version": "4.43.0", 2508 - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.43.0.tgz", 2509 - "integrity": "sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==", 2548 + "version": "4.44.0", 2549 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.0.tgz", 2550 + "integrity": "sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==", 2510 2551 "cpu": [ 2511 2552 "arm64" 2512 2553 ], ··· 2518 2559 ] 2519 2560 }, 2520 2561 "node_modules/@rollup/rollup-darwin-x64": { 2521 - "version": "4.43.0", 2522 - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.43.0.tgz", 2523 - "integrity": "sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==", 2562 + "version": "4.44.0", 2563 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.0.tgz", 2564 + "integrity": "sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==", 2524 2565 "cpu": [ 2525 2566 "x64" 2526 2567 ], ··· 2532 2573 ] 2533 2574 }, 2534 2575 "node_modules/@rollup/rollup-freebsd-arm64": { 2535 - "version": "4.43.0", 2536 - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.43.0.tgz", 2537 - "integrity": "sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==", 2576 + "version": "4.44.0", 2577 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.0.tgz", 2578 + "integrity": "sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ==", 2538 2579 "cpu": [ 2539 2580 "arm64" 2540 2581 ], ··· 2546 2587 ] 2547 2588 }, 2548 2589 "node_modules/@rollup/rollup-freebsd-x64": { 2549 - "version": "4.43.0", 2550 - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.43.0.tgz", 2551 - "integrity": "sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==", 2590 + "version": "4.44.0", 2591 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.0.tgz", 2592 + "integrity": "sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g==", 2552 2593 "cpu": [ 2553 2594 "x64" 2554 2595 ], ··· 2560 2601 ] 2561 2602 }, 2562 2603 "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 2563 - "version": "4.43.0", 2564 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.43.0.tgz", 2565 - "integrity": "sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==", 2604 + "version": "4.44.0", 2605 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.0.tgz", 2606 + "integrity": "sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==", 2566 2607 "cpu": [ 2567 2608 "arm" 2568 2609 ], ··· 2574 2615 ] 2575 2616 }, 2576 2617 "node_modules/@rollup/rollup-linux-arm-musleabihf": { 2577 - "version": "4.43.0", 2578 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.43.0.tgz", 2579 - "integrity": "sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==", 2618 + "version": "4.44.0", 2619 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.0.tgz", 2620 + "integrity": "sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==", 2580 2621 "cpu": [ 2581 2622 "arm" 2582 2623 ], ··· 2588 2629 ] 2589 2630 }, 2590 2631 "node_modules/@rollup/rollup-linux-arm64-gnu": { 2591 - "version": "4.43.0", 2592 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.43.0.tgz", 2593 - "integrity": "sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==", 2632 + "version": "4.44.0", 2633 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.0.tgz", 2634 + "integrity": "sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==", 2594 2635 "cpu": [ 2595 2636 "arm64" 2596 2637 ], ··· 2602 2643 ] 2603 2644 }, 2604 2645 "node_modules/@rollup/rollup-linux-arm64-musl": { 2605 - "version": "4.43.0", 2606 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.43.0.tgz", 2607 - "integrity": "sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==", 2646 + "version": "4.44.0", 2647 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.0.tgz", 2648 + "integrity": "sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==", 2608 2649 "cpu": [ 2609 2650 "arm64" 2610 2651 ], ··· 2616 2657 ] 2617 2658 }, 2618 2659 "node_modules/@rollup/rollup-linux-loongarch64-gnu": { 2619 - "version": "4.43.0", 2620 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.43.0.tgz", 2621 - "integrity": "sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==", 2660 + "version": "4.44.0", 2661 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.0.tgz", 2662 + "integrity": "sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==", 2622 2663 "cpu": [ 2623 2664 "loong64" 2624 2665 ], ··· 2630 2671 ] 2631 2672 }, 2632 2673 "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { 2633 - "version": "4.43.0", 2634 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.43.0.tgz", 2635 - "integrity": "sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==", 2674 + "version": "4.44.0", 2675 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.0.tgz", 2676 + "integrity": "sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==", 2636 2677 "cpu": [ 2637 2678 "ppc64" 2638 2679 ], ··· 2644 2685 ] 2645 2686 }, 2646 2687 "node_modules/@rollup/rollup-linux-riscv64-gnu": { 2647 - "version": "4.43.0", 2648 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.43.0.tgz", 2649 - "integrity": "sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==", 2688 + "version": "4.44.0", 2689 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.0.tgz", 2690 + "integrity": "sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==", 2650 2691 "cpu": [ 2651 2692 "riscv64" 2652 2693 ], ··· 2658 2699 ] 2659 2700 }, 2660 2701 "node_modules/@rollup/rollup-linux-riscv64-musl": { 2661 - "version": "4.43.0", 2662 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.43.0.tgz", 2663 - "integrity": "sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==", 2702 + "version": "4.44.0", 2703 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.0.tgz", 2704 + "integrity": "sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==", 2664 2705 "cpu": [ 2665 2706 "riscv64" 2666 2707 ], ··· 2672 2713 ] 2673 2714 }, 2674 2715 "node_modules/@rollup/rollup-linux-s390x-gnu": { 2675 - "version": "4.43.0", 2676 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.43.0.tgz", 2677 - "integrity": "sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==", 2716 + "version": "4.44.0", 2717 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.0.tgz", 2718 + "integrity": "sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==", 2678 2719 "cpu": [ 2679 2720 "s390x" 2680 2721 ], ··· 2686 2727 ] 2687 2728 }, 2688 2729 "node_modules/@rollup/rollup-linux-x64-gnu": { 2689 - "version": "4.43.0", 2690 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.43.0.tgz", 2691 - "integrity": "sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==", 2730 + "version": "4.44.0", 2731 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.0.tgz", 2732 + "integrity": "sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==", 2692 2733 "cpu": [ 2693 2734 "x64" 2694 2735 ], ··· 2700 2741 ] 2701 2742 }, 2702 2743 "node_modules/@rollup/rollup-linux-x64-musl": { 2703 - "version": "4.43.0", 2704 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.43.0.tgz", 2705 - "integrity": "sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==", 2744 + "version": "4.44.0", 2745 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.0.tgz", 2746 + "integrity": "sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==", 2706 2747 "cpu": [ 2707 2748 "x64" 2708 2749 ], ··· 2714 2755 ] 2715 2756 }, 2716 2757 "node_modules/@rollup/rollup-win32-arm64-msvc": { 2717 - "version": "4.43.0", 2718 - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.43.0.tgz", 2719 - "integrity": "sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==", 2758 + "version": "4.44.0", 2759 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.0.tgz", 2760 + "integrity": "sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==", 2720 2761 "cpu": [ 2721 2762 "arm64" 2722 2763 ], ··· 2728 2769 ] 2729 2770 }, 2730 2771 "node_modules/@rollup/rollup-win32-ia32-msvc": { 2731 - "version": "4.43.0", 2732 - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.43.0.tgz", 2733 - "integrity": "sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==", 2772 + "version": "4.44.0", 2773 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.0.tgz", 2774 + "integrity": "sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA==", 2734 2775 "cpu": [ 2735 2776 "ia32" 2736 2777 ], ··· 2742 2783 ] 2743 2784 }, 2744 2785 "node_modules/@rollup/rollup-win32-x64-msvc": { 2745 - "version": "4.43.0", 2746 - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.43.0.tgz", 2747 - "integrity": "sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==", 2786 + "version": "4.44.0", 2787 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.0.tgz", 2788 + "integrity": "sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==", 2748 2789 "cpu": [ 2749 2790 "x64" 2750 2791 ], ··· 2820 2861 "node": ">=12" 2821 2862 } 2822 2863 }, 2823 - "node_modules/@testing-library/dom/node_modules/ansi-regex": { 2824 - "version": "5.0.1", 2825 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2826 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2827 - "dev": true, 2828 - "license": "MIT", 2829 - "engines": { 2830 - "node": ">=8" 2831 - } 2832 - }, 2833 - "node_modules/@testing-library/dom/node_modules/ansi-styles": { 2834 - "version": "5.2.0", 2835 - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 2836 - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 2837 - "dev": true, 2838 - "license": "MIT", 2839 - "engines": { 2840 - "node": ">=10" 2841 - }, 2842 - "funding": { 2843 - "url": "https://github.com/chalk/ansi-styles?sponsor=1" 2844 - } 2845 - }, 2846 2864 "node_modules/@testing-library/dom/node_modules/aria-query": { 2847 2865 "version": "5.1.3", 2848 2866 "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", ··· 2857 2875 "version": "0.5.16", 2858 2876 "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", 2859 2877 "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", 2860 - "dev": true, 2861 - "license": "MIT" 2862 - }, 2863 - "node_modules/@testing-library/dom/node_modules/pretty-format": { 2864 - "version": "27.5.1", 2865 - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", 2866 - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", 2867 - "dev": true, 2868 - "license": "MIT", 2869 - "dependencies": { 2870 - "ansi-regex": "^5.0.1", 2871 - "ansi-styles": "^5.0.0", 2872 - "react-is": "^17.0.1" 2873 - }, 2874 - "engines": { 2875 - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" 2876 - } 2877 - }, 2878 - "node_modules/@testing-library/dom/node_modules/react-is": { 2879 - "version": "17.0.2", 2880 - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", 2881 - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", 2882 2878 "dev": true, 2883 2879 "license": "MIT" 2884 2880 }, ··· 3142 3138 } 3143 3139 }, 3144 3140 "node_modules/@types/jest": { 3145 - "version": "29.5.14", 3146 - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", 3147 - "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", 3148 - "dev": true, 3149 - "license": "MIT", 3150 - "dependencies": { 3151 - "expect": "^29.0.0", 3152 - "pretty-format": "^29.0.0" 3153 - } 3154 - }, 3155 - "node_modules/@types/jest/node_modules/@jest/expect-utils": { 3156 - "version": "29.7.0", 3157 - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", 3158 - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", 3159 - "dev": true, 3160 - "license": "MIT", 3161 - "dependencies": { 3162 - "jest-get-type": "^29.6.3" 3163 - }, 3164 - "engines": { 3165 - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3166 - } 3167 - }, 3168 - "node_modules/@types/jest/node_modules/@jest/schemas": { 3169 - "version": "29.6.3", 3170 - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", 3171 - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", 3172 - "dev": true, 3173 - "license": "MIT", 3174 - "dependencies": { 3175 - "@sinclair/typebox": "^0.27.8" 3176 - }, 3177 - "engines": { 3178 - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3179 - } 3180 - }, 3181 - "node_modules/@types/jest/node_modules/@jest/types": { 3182 - "version": "29.6.3", 3183 - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", 3184 - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", 3141 + "version": "30.0.0", 3142 + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz", 3143 + "integrity": "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==", 3185 3144 "dev": true, 3186 3145 "license": "MIT", 3187 3146 "dependencies": { 3188 - "@jest/schemas": "^29.6.3", 3189 - "@types/istanbul-lib-coverage": "^2.0.0", 3190 - "@types/istanbul-reports": "^3.0.0", 3191 - "@types/node": "*", 3192 - "@types/yargs": "^17.0.8", 3193 - "chalk": "^4.0.0" 3194 - }, 3195 - "engines": { 3196 - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3147 + "expect": "^30.0.0", 3148 + "pretty-format": "^30.0.0" 3197 3149 } 3198 3150 }, 3199 - "node_modules/@types/jest/node_modules/@sinclair/typebox": { 3200 - "version": "0.27.8", 3201 - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", 3202 - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", 3203 - "dev": true, 3204 - "license": "MIT" 3205 - }, 3206 3151 "node_modules/@types/jest/node_modules/ansi-styles": { 3207 3152 "version": "5.2.0", 3208 3153 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", ··· 3216 3161 "url": "https://github.com/chalk/ansi-styles?sponsor=1" 3217 3162 } 3218 3163 }, 3219 - "node_modules/@types/jest/node_modules/ci-info": { 3220 - "version": "3.9.0", 3221 - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", 3222 - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", 3223 - "dev": true, 3224 - "funding": [ 3225 - { 3226 - "type": "github", 3227 - "url": "https://github.com/sponsors/sibiraj-s" 3228 - } 3229 - ], 3230 - "license": "MIT", 3231 - "engines": { 3232 - "node": ">=8" 3233 - } 3234 - }, 3235 - "node_modules/@types/jest/node_modules/expect": { 3236 - "version": "29.7.0", 3237 - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", 3238 - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", 3164 + "node_modules/@types/jest/node_modules/pretty-format": { 3165 + "version": "30.0.2", 3166 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", 3167 + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", 3239 3168 "dev": true, 3240 3169 "license": "MIT", 3241 3170 "dependencies": { 3242 - "@jest/expect-utils": "^29.7.0", 3243 - "jest-get-type": "^29.6.3", 3244 - "jest-matcher-utils": "^29.7.0", 3245 - "jest-message-util": "^29.7.0", 3246 - "jest-util": "^29.7.0" 3171 + "@jest/schemas": "30.0.1", 3172 + "ansi-styles": "^5.2.0", 3173 + "react-is": "^18.3.1" 3247 3174 }, 3248 3175 "engines": { 3249 - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3176 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 3250 3177 } 3251 3178 }, 3252 - "node_modules/@types/jest/node_modules/jest-diff": { 3253 - "version": "29.7.0", 3254 - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", 3255 - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", 3179 + "node_modules/@types/jest/node_modules/react-is": { 3180 + "version": "18.3.1", 3181 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 3182 + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 3256 3183 "dev": true, 3257 - "license": "MIT", 3258 - "dependencies": { 3259 - "chalk": "^4.0.0", 3260 - "diff-sequences": "^29.6.3", 3261 - "jest-get-type": "^29.6.3", 3262 - "pretty-format": "^29.7.0" 3263 - }, 3264 - "engines": { 3265 - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3266 - } 3267 - }, 3268 - "node_modules/@types/jest/node_modules/jest-matcher-utils": { 3269 - "version": "29.7.0", 3270 - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", 3271 - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", 3272 - "dev": true, 3273 - "license": "MIT", 3274 - "dependencies": { 3275 - "chalk": "^4.0.0", 3276 - "jest-diff": "^29.7.0", 3277 - "jest-get-type": "^29.6.3", 3278 - "pretty-format": "^29.7.0" 3279 - }, 3280 - "engines": { 3281 - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3282 - } 3283 - }, 3284 - "node_modules/@types/jest/node_modules/jest-message-util": { 3285 - "version": "29.7.0", 3286 - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", 3287 - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", 3288 - "dev": true, 3289 - "license": "MIT", 3290 - "dependencies": { 3291 - "@babel/code-frame": "^7.12.13", 3292 - "@jest/types": "^29.6.3", 3293 - "@types/stack-utils": "^2.0.0", 3294 - "chalk": "^4.0.0", 3295 - "graceful-fs": "^4.2.9", 3296 - "micromatch": "^4.0.4", 3297 - "pretty-format": "^29.7.0", 3298 - "slash": "^3.0.0", 3299 - "stack-utils": "^2.0.3" 3300 - }, 3301 - "engines": { 3302 - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3303 - } 3304 - }, 3305 - "node_modules/@types/jest/node_modules/jest-util": { 3306 - "version": "29.7.0", 3307 - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", 3308 - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", 3309 - "dev": true, 3310 - "license": "MIT", 3311 - "dependencies": { 3312 - "@jest/types": "^29.6.3", 3313 - "@types/node": "*", 3314 - "chalk": "^4.0.0", 3315 - "ci-info": "^3.2.0", 3316 - "graceful-fs": "^4.2.9", 3317 - "picomatch": "^2.2.3" 3318 - }, 3319 - "engines": { 3320 - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3321 - } 3322 - }, 3323 - "node_modules/@types/jest/node_modules/pretty-format": { 3324 - "version": "29.7.0", 3325 - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", 3326 - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", 3327 - "dev": true, 3328 - "license": "MIT", 3329 - "dependencies": { 3330 - "@jest/schemas": "^29.6.3", 3331 - "ansi-styles": "^5.0.0", 3332 - "react-is": "^18.0.0" 3333 - }, 3334 - "engines": { 3335 - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3336 - } 3184 + "license": "MIT" 3337 3185 }, 3338 3186 "node_modules/@types/jsdom": { 3339 3187 "version": "21.1.7", ··· 3354 3202 "dev": true, 3355 3203 "license": "MIT" 3356 3204 }, 3357 - "node_modules/@types/linkify-it": { 3358 - "version": "5.0.0", 3359 - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", 3360 - "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", 3361 - "dev": true, 3362 - "license": "MIT" 3363 - }, 3364 - "node_modules/@types/markdown-it": { 3365 - "version": "14.1.2", 3366 - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", 3367 - "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", 3368 - "dev": true, 3369 - "license": "MIT", 3370 - "peer": true, 3371 - "dependencies": { 3372 - "@types/linkify-it": "^5", 3373 - "@types/mdurl": "^2" 3374 - } 3375 - }, 3376 3205 "node_modules/@types/mdast": { 3377 3206 "version": "4.0.4", 3378 3207 "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", ··· 3383 3212 "@types/unist": "*" 3384 3213 } 3385 3214 }, 3386 - "node_modules/@types/mdurl": { 3387 - "version": "2.0.0", 3388 - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", 3389 - "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", 3390 - "dev": true, 3391 - "license": "MIT" 3392 - }, 3393 3215 "node_modules/@types/mime": { 3394 3216 "version": "1.3.5", 3395 3217 "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", ··· 3405 3227 "license": "MIT" 3406 3228 }, 3407 3229 "node_modules/@types/node": { 3408 - "version": "24.0.1", 3409 - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.1.tgz", 3410 - "integrity": "sha512-MX4Zioh39chHlDJbKmEgydJDS3tspMP/lnQC67G3SWsTnb9NeYVWOjkxpOSy4oMfPs4StcWHwBrvUb4ybfnuaw==", 3230 + "version": "24.0.3", 3231 + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.3.tgz", 3232 + "integrity": "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==", 3411 3233 "dev": true, 3412 3234 "license": "MIT", 3413 3235 "dependencies": { ··· 4154 3976 } 4155 3977 }, 4156 3978 "node_modules/ansi-regex": { 4157 - "version": "6.1.0", 4158 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", 4159 - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", 3979 + "version": "5.0.1", 3980 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 3981 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 4160 3982 "dev": true, 4161 3983 "license": "MIT", 4162 3984 "engines": { 4163 - "node": ">=12" 4164 - }, 4165 - "funding": { 4166 - "url": "https://github.com/chalk/ansi-regex?sponsor=1" 3985 + "node": ">=8" 4167 3986 } 4168 3987 }, 4169 3988 "node_modules/ansi-styles": { ··· 4384 4203 "util": "^0.12.5" 4385 4204 } 4386 4205 }, 4387 - "node_modules/assert/node_modules/util": { 4388 - "version": "0.12.5", 4389 - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", 4390 - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", 4391 - "dev": true, 4392 - "license": "MIT", 4393 - "dependencies": { 4394 - "inherits": "^2.0.3", 4395 - "is-arguments": "^1.0.4", 4396 - "is-generator-function": "^1.0.7", 4397 - "is-typed-array": "^1.1.3", 4398 - "which-typed-array": "^1.1.2" 4399 - } 4400 - }, 4401 4206 "node_modules/async": { 4402 4207 "version": "3.2.6", 4403 4208 "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", ··· 4439 4244 "license": "Apache-2.0" 4440 4245 }, 4441 4246 "node_modules/babel-jest": { 4442 - "version": "30.0.0", 4443 - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.0.0.tgz", 4444 - "integrity": "sha512-JQ0DhdFjODbSawDf0026uZuwaqfKkQzk+9mwWkq2XkKFIaMhFVOxlVmbFCOnnC76jATdxrff3IiUAvOAJec6tw==", 4247 + "version": "30.0.2", 4248 + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.0.2.tgz", 4249 + "integrity": "sha512-A5kqR1/EUTidM2YC2YMEUDP2+19ppgOwK0IAd9Swc3q2KqFb5f9PtRUXVeZcngu0z5mDMyZ9zH2huJZSOMLiTQ==", 4445 4250 "dev": true, 4446 4251 "license": "MIT", 4447 4252 "dependencies": { 4448 - "@jest/transform": "30.0.0", 4253 + "@jest/transform": "30.0.2", 4449 4254 "@types/babel__core": "^7.20.5", 4450 4255 "babel-plugin-istanbul": "^7.0.0", 4451 - "babel-preset-jest": "30.0.0", 4256 + "babel-preset-jest": "30.0.1", 4452 4257 "chalk": "^4.1.2", 4453 4258 "graceful-fs": "^4.2.11", 4454 4259 "slash": "^3.0.0" ··· 4478 4283 } 4479 4284 }, 4480 4285 "node_modules/babel-plugin-jest-hoist": { 4481 - "version": "30.0.0", 4482 - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.0.0.tgz", 4483 - "integrity": "sha512-DSRm+US/FCB4xPDD6Rnslb6PAF9Bej1DZ+1u4aTiqJnk7ZX12eHsnDiIOqjGvITCq+u6wLqUhgS+faCNbVY8+g==", 4286 + "version": "30.0.1", 4287 + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.0.1.tgz", 4288 + "integrity": "sha512-zTPME3pI50NsFW8ZBaVIOeAxzEY7XHlmWeXXu9srI+9kNfzCUTy8MFan46xOGZY8NZThMqq+e3qZUKsvXbasnQ==", 4484 4289 "dev": true, 4485 4290 "license": "MIT", 4486 4291 "dependencies": { ··· 4530 4335 } 4531 4336 }, 4532 4337 "node_modules/babel-preset-jest": { 4533 - "version": "30.0.0", 4534 - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.0.0.tgz", 4535 - "integrity": "sha512-hgEuu/W7gk8QOWUA9+m3Zk+WpGvKc1Egp6rFQEfYxEoM9Fk/q8nuTXNL65OkhwGrTApauEGgakOoWVXj+UfhKw==", 4338 + "version": "30.0.1", 4339 + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.0.1.tgz", 4340 + "integrity": "sha512-+YHejD5iTWI46cZmcc/YtX4gaKBtdqCHCVfuVinizVpbmyjO3zYmeuyFdfA8duRqQZfgCAMlsfmkVbJ+e2MAJw==", 4536 4341 "dev": true, 4537 4342 "license": "MIT", 4538 4343 "dependencies": { 4539 - "babel-plugin-jest-hoist": "30.0.0", 4344 + "babel-plugin-jest-hoist": "30.0.1", 4540 4345 "babel-preset-current-node-syntax": "^1.1.0" 4541 4346 }, 4542 4347 "engines": { ··· 4945 4750 "readable-stream": "^3.4.0" 4946 4751 } 4947 4752 }, 4753 + "node_modules/bl/node_modules/buffer": { 4754 + "version": "5.7.1", 4755 + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 4756 + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 4757 + "dev": true, 4758 + "funding": [ 4759 + { 4760 + "type": "github", 4761 + "url": "https://github.com/sponsors/feross" 4762 + }, 4763 + { 4764 + "type": "patreon", 4765 + "url": "https://www.patreon.com/feross" 4766 + }, 4767 + { 4768 + "type": "consulting", 4769 + "url": "https://feross.org/support" 4770 + } 4771 + ], 4772 + "license": "MIT", 4773 + "dependencies": { 4774 + "base64-js": "^1.3.1", 4775 + "ieee754": "^1.1.13" 4776 + } 4777 + }, 4948 4778 "node_modules/block-iterator": { 4949 4779 "version": "1.1.1", 4950 4780 "resolved": "https://registry.npmjs.org/block-iterator/-/block-iterator-1.1.1.tgz", ··· 4952 4782 "dev": true, 4953 4783 "license": "MIT" 4954 4784 }, 4955 - "node_modules/bluebird": { 4956 - "version": "3.7.2", 4957 - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", 4958 - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", 4959 - "dev": true, 4960 - "license": "MIT" 4961 - }, 4962 4785 "node_modules/bn.js": { 4963 4786 "version": "5.2.2", 4964 4787 "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", ··· 5245 5068 } 5246 5069 }, 5247 5070 "node_modules/buffer": { 5248 - "version": "5.7.1", 5249 - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 5250 - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 5251 - "dev": true, 5071 + "version": "6.0.3", 5072 + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 5073 + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 5252 5074 "funding": [ 5253 5075 { 5254 5076 "type": "github", ··· 5266 5088 "license": "MIT", 5267 5089 "dependencies": { 5268 5090 "base64-js": "^1.3.1", 5269 - "ieee754": "^1.1.13" 5091 + "ieee754": "^1.2.1" 5270 5092 } 5271 5093 }, 5272 5094 "node_modules/buffer-from": { ··· 5407 5229 } 5408 5230 }, 5409 5231 "node_modules/caniuse-lite": { 5410 - "version": "1.0.30001723", 5411 - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz", 5412 - "integrity": "sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==", 5232 + "version": "1.0.30001724", 5233 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001724.tgz", 5234 + "integrity": "sha512-WqJo7p0TbHDOythNTqYujmaJTvtYRZrjpP8TCvH6Vb9CYJerJNKamKzIWOM4BkQatWj9H2lYulpdAQNBe7QhNA==", 5413 5235 "dev": true, 5414 5236 "funding": [ 5415 5237 { ··· 5427 5249 ], 5428 5250 "license": "CC-BY-4.0" 5429 5251 }, 5430 - "node_modules/catharsis": { 5431 - "version": "0.9.0", 5432 - "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", 5433 - "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", 5434 - "dev": true, 5435 - "license": "MIT", 5436 - "dependencies": { 5437 - "lodash": "^4.17.15" 5438 - }, 5439 - "engines": { 5440 - "node": ">= 10" 5441 - } 5442 - }, 5443 5252 "node_modules/ccount": { 5444 5253 "version": "2.0.1", 5445 5254 "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", ··· 5631 5440 }, 5632 5441 "engines": { 5633 5442 "node": ">=12" 5634 - } 5635 - }, 5636 - "node_modules/cliui/node_modules/ansi-regex": { 5637 - "version": "5.0.1", 5638 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 5639 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 5640 - "dev": true, 5641 - "license": "MIT", 5642 - "engines": { 5643 - "node": ">=8" 5644 5443 } 5645 5444 }, 5646 5445 "node_modules/cliui/node_modules/emoji-regex": { ··· 6489 6288 "url": "https://github.com/sponsors/wooorm" 6490 6289 } 6491 6290 }, 6492 - "node_modules/diff-sequences": { 6493 - "version": "29.6.3", 6494 - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", 6495 - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", 6496 - "dev": true, 6497 - "license": "MIT", 6498 - "engines": { 6499 - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6500 - } 6501 - }, 6502 6291 "node_modules/diffie-hellman": { 6503 6292 "version": "5.0.3", 6504 6293 "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", ··· 6553 6342 "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 6554 6343 } 6555 6344 }, 6345 + "node_modules/dom-serializer/node_modules/entities": { 6346 + "version": "4.5.0", 6347 + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 6348 + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 6349 + "dev": true, 6350 + "license": "BSD-2-Clause", 6351 + "engines": { 6352 + "node": ">=0.12" 6353 + }, 6354 + "funding": { 6355 + "url": "https://github.com/fb55/entities?sponsor=1" 6356 + } 6357 + }, 6556 6358 "node_modules/domain-browser": { 6557 6359 "version": "4.22.0", 6558 6360 "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.22.0.tgz", ··· 6664 6466 } 6665 6467 }, 6666 6468 "node_modules/electron-to-chromium": { 6667 - "version": "1.5.167", 6668 - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.167.tgz", 6669 - "integrity": "sha512-LxcRvnYO5ez2bMOFpbuuVuAI5QNeY1ncVytE/KXaL6ZNfzX1yPlAO0nSOyIHx2fVAuUprMqPs/TdVhUFZy7SIQ==", 6469 + "version": "1.5.171", 6470 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.171.tgz", 6471 + "integrity": "sha512-scWpzXEJEMrGJa4Y6m/tVotb0WuvNmasv3wWVzUAeCgKU0ToFOhUW6Z+xWnRQANMYGxN4ngJXIThgBJOqzVPCQ==", 6670 6472 "dev": true, 6671 6473 "license": "ISC" 6672 6474 }, ··· 6733 6535 } 6734 6536 }, 6735 6537 "node_modules/entities": { 6736 - "version": "4.5.0", 6737 - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 6738 - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 6538 + "version": "6.0.1", 6539 + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", 6540 + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", 6739 6541 "dev": true, 6740 6542 "license": "BSD-2-Clause", 6741 6543 "engines": { ··· 7445 7247 } 7446 7248 }, 7447 7249 "node_modules/expect": { 7448 - "version": "30.0.0", 7449 - "resolved": "https://registry.npmjs.org/expect/-/expect-30.0.0.tgz", 7450 - "integrity": "sha512-xCdPp6gwiR9q9lsPCHANarIkFTN/IMZso6Kkq03sOm9IIGtzK/UJqml0dkhHibGh8HKOj8BIDIpZ0BZuU7QK6w==", 7250 + "version": "30.0.2", 7251 + "resolved": "https://registry.npmjs.org/expect/-/expect-30.0.2.tgz", 7252 + "integrity": "sha512-YN9Mgv2mtTWXVmifQq3QT+ixCL/uLuLJw+fdp8MOjKqu8K3XQh3o5aulMM1tn+O2DdrWNxLZTeJsCY/VofUA0A==", 7451 7253 "dev": true, 7452 7254 "license": "MIT", 7453 7255 "dependencies": { 7454 - "@jest/expect-utils": "30.0.0", 7455 - "@jest/get-type": "30.0.0", 7456 - "jest-matcher-utils": "30.0.0", 7457 - "jest-message-util": "30.0.0", 7458 - "jest-mock": "30.0.0", 7459 - "jest-util": "30.0.0" 7256 + "@jest/expect-utils": "30.0.2", 7257 + "@jest/get-type": "30.0.1", 7258 + "jest-matcher-utils": "30.0.2", 7259 + "jest-message-util": "30.0.2", 7260 + "jest-mock": "30.0.2", 7261 + "jest-util": "30.0.2" 7460 7262 }, 7461 7263 "engines": { 7462 7264 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" ··· 8626 8428 "node": ">= 12" 8627 8429 } 8628 8430 }, 8629 - "node_modules/ip-address/node_modules/sprintf-js": { 8630 - "version": "1.1.3", 8631 - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", 8632 - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", 8633 - "dev": true, 8634 - "license": "BSD-3-Clause" 8635 - }, 8636 8431 "node_modules/ip-set": { 8637 8432 "version": "2.2.0", 8638 8433 "resolved": "https://registry.npmjs.org/ip-set/-/ip-set-2.2.0.tgz", ··· 9345 9140 } 9346 9141 }, 9347 9142 "node_modules/jest": { 9348 - "version": "30.0.0", 9349 - "resolved": "https://registry.npmjs.org/jest/-/jest-30.0.0.tgz", 9350 - "integrity": "sha512-/3G2iFwsUY95vkflmlDn/IdLyLWqpQXcftptooaPH4qkyU52V7qVYf1BjmdSPlp1+0fs6BmNtrGaSFwOfV07ew==", 9143 + "version": "30.0.2", 9144 + "resolved": "https://registry.npmjs.org/jest/-/jest-30.0.2.tgz", 9145 + "integrity": "sha512-HlSEiHRcmTuGwNyeawLTEzpQUMFn+f741FfoNg7RXG2h0WLJKozVCpcQLT0GW17H6kNCqRwGf+Ii/I1YVNvEGQ==", 9351 9146 "dev": true, 9352 9147 "license": "MIT", 9353 9148 "dependencies": { 9354 - "@jest/core": "30.0.0", 9355 - "@jest/types": "30.0.0", 9149 + "@jest/core": "30.0.2", 9150 + "@jest/types": "30.0.1", 9356 9151 "import-local": "^3.2.0", 9357 - "jest-cli": "30.0.0" 9152 + "jest-cli": "30.0.2" 9358 9153 }, 9359 9154 "bin": { 9360 9155 "jest": "bin/jest.js" ··· 9372 9167 } 9373 9168 }, 9374 9169 "node_modules/jest-changed-files": { 9375 - "version": "30.0.0", 9376 - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.0.0.tgz", 9377 - "integrity": "sha512-rzGpvCdPdEV1Ma83c1GbZif0L2KAm3vXSXGRlpx7yCt0vhruwCNouKNRh3SiVcISHP1mb3iJzjb7tAEnNu1laQ==", 9170 + "version": "30.0.2", 9171 + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.0.2.tgz", 9172 + "integrity": "sha512-Ius/iRST9FKfJI+I+kpiDh8JuUlAISnRszF9ixZDIqJF17FckH5sOzKC8a0wd0+D+8em5ADRHA5V5MnfeDk2WA==", 9378 9173 "dev": true, 9379 9174 "license": "MIT", 9380 9175 "dependencies": { 9381 9176 "execa": "^5.1.1", 9382 - "jest-util": "30.0.0", 9177 + "jest-util": "30.0.2", 9383 9178 "p-limit": "^3.1.0" 9384 9179 }, 9385 9180 "engines": { ··· 9387 9182 } 9388 9183 }, 9389 9184 "node_modules/jest-circus": { 9390 - "version": "30.0.0", 9391 - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.0.0.tgz", 9392 - "integrity": "sha512-nTwah78qcKVyndBS650hAkaEmwWGaVsMMoWdJwMnH77XArRJow2Ir7hc+8p/mATtxVZuM9OTkA/3hQocRIK5Dw==", 9185 + "version": "30.0.2", 9186 + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.0.2.tgz", 9187 + "integrity": "sha512-NRozwx4DaFHcCUtwdEd/0jBLL1imyMrCbla3vF//wdsB2g6jIicMbjx9VhqE/BYU4dwsOQld+06ODX0oZ9xOLg==", 9393 9188 "dev": true, 9394 9189 "license": "MIT", 9395 9190 "dependencies": { 9396 - "@jest/environment": "30.0.0", 9397 - "@jest/expect": "30.0.0", 9398 - "@jest/test-result": "30.0.0", 9399 - "@jest/types": "30.0.0", 9191 + "@jest/environment": "30.0.2", 9192 + "@jest/expect": "30.0.2", 9193 + "@jest/test-result": "30.0.2", 9194 + "@jest/types": "30.0.1", 9400 9195 "@types/node": "*", 9401 9196 "chalk": "^4.1.2", 9402 9197 "co": "^4.6.0", 9403 9198 "dedent": "^1.6.0", 9404 9199 "is-generator-fn": "^2.1.0", 9405 - "jest-each": "30.0.0", 9406 - "jest-matcher-utils": "30.0.0", 9407 - "jest-message-util": "30.0.0", 9408 - "jest-runtime": "30.0.0", 9409 - "jest-snapshot": "30.0.0", 9410 - "jest-util": "30.0.0", 9200 + "jest-each": "30.0.2", 9201 + "jest-matcher-utils": "30.0.2", 9202 + "jest-message-util": "30.0.2", 9203 + "jest-runtime": "30.0.2", 9204 + "jest-snapshot": "30.0.2", 9205 + "jest-util": "30.0.2", 9411 9206 "p-limit": "^3.1.0", 9412 - "pretty-format": "30.0.0", 9207 + "pretty-format": "30.0.2", 9413 9208 "pure-rand": "^7.0.0", 9414 9209 "slash": "^3.0.0", 9415 9210 "stack-utils": "^2.0.6" ··· 9418 9213 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9419 9214 } 9420 9215 }, 9216 + "node_modules/jest-circus/node_modules/ansi-styles": { 9217 + "version": "5.2.0", 9218 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 9219 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 9220 + "dev": true, 9221 + "license": "MIT", 9222 + "engines": { 9223 + "node": ">=10" 9224 + }, 9225 + "funding": { 9226 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 9227 + } 9228 + }, 9229 + "node_modules/jest-circus/node_modules/pretty-format": { 9230 + "version": "30.0.2", 9231 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", 9232 + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", 9233 + "dev": true, 9234 + "license": "MIT", 9235 + "dependencies": { 9236 + "@jest/schemas": "30.0.1", 9237 + "ansi-styles": "^5.2.0", 9238 + "react-is": "^18.3.1" 9239 + }, 9240 + "engines": { 9241 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9242 + } 9243 + }, 9244 + "node_modules/jest-circus/node_modules/react-is": { 9245 + "version": "18.3.1", 9246 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 9247 + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 9248 + "dev": true, 9249 + "license": "MIT" 9250 + }, 9421 9251 "node_modules/jest-cli": { 9422 - "version": "30.0.0", 9423 - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.0.0.tgz", 9424 - "integrity": "sha512-fWKAgrhlwVVCfeizsmIrPRTBYTzO82WSba3gJniZNR3PKXADgdC0mmCSK+M+t7N8RCXOVfY6kvCkvjUNtzmHYQ==", 9252 + "version": "30.0.2", 9253 + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.0.2.tgz", 9254 + "integrity": "sha512-yQ6Qz747oUbMYLNAqOlEby+hwXx7WEJtCl0iolBRpJhr2uvkBgiVMrvuKirBc8utwQBnkETFlDUkYifbRpmBrQ==", 9425 9255 "dev": true, 9426 9256 "license": "MIT", 9427 9257 "dependencies": { 9428 - "@jest/core": "30.0.0", 9429 - "@jest/test-result": "30.0.0", 9430 - "@jest/types": "30.0.0", 9258 + "@jest/core": "30.0.2", 9259 + "@jest/test-result": "30.0.2", 9260 + "@jest/types": "30.0.1", 9431 9261 "chalk": "^4.1.2", 9432 9262 "exit-x": "^0.2.2", 9433 9263 "import-local": "^3.2.0", 9434 - "jest-config": "30.0.0", 9435 - "jest-util": "30.0.0", 9436 - "jest-validate": "30.0.0", 9264 + "jest-config": "30.0.2", 9265 + "jest-util": "30.0.2", 9266 + "jest-validate": "30.0.2", 9437 9267 "yargs": "^17.7.2" 9438 9268 }, 9439 9269 "bin": { ··· 9452 9282 } 9453 9283 }, 9454 9284 "node_modules/jest-config": { 9455 - "version": "30.0.0", 9456 - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.0.0.tgz", 9457 - "integrity": "sha512-p13a/zun+sbOMrBnTEUdq/5N7bZMOGd1yMfqtAJniPNuzURMay4I+vxZLK1XSDbjvIhmeVdG8h8RznqYyjctyg==", 9285 + "version": "30.0.2", 9286 + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.0.2.tgz", 9287 + "integrity": "sha512-vo0fVq+uzDcXETFVnCUyr5HaUCM8ES6DEuS9AFpma34BVXMRRNlsqDyiW5RDHaEFoeFlJHoI4Xjh/WSYIAL58g==", 9458 9288 "dev": true, 9459 9289 "license": "MIT", 9460 9290 "dependencies": { 9461 9291 "@babel/core": "^7.27.4", 9462 - "@jest/get-type": "30.0.0", 9463 - "@jest/pattern": "30.0.0", 9464 - "@jest/test-sequencer": "30.0.0", 9465 - "@jest/types": "30.0.0", 9466 - "babel-jest": "30.0.0", 9292 + "@jest/get-type": "30.0.1", 9293 + "@jest/pattern": "30.0.1", 9294 + "@jest/test-sequencer": "30.0.2", 9295 + "@jest/types": "30.0.1", 9296 + "babel-jest": "30.0.2", 9467 9297 "chalk": "^4.1.2", 9468 9298 "ci-info": "^4.2.0", 9469 9299 "deepmerge": "^4.3.1", 9470 9300 "glob": "^10.3.10", 9471 9301 "graceful-fs": "^4.2.11", 9472 - "jest-circus": "30.0.0", 9473 - "jest-docblock": "30.0.0", 9474 - "jest-environment-node": "30.0.0", 9475 - "jest-regex-util": "30.0.0", 9476 - "jest-resolve": "30.0.0", 9477 - "jest-runner": "30.0.0", 9478 - "jest-util": "30.0.0", 9479 - "jest-validate": "30.0.0", 9302 + "jest-circus": "30.0.2", 9303 + "jest-docblock": "30.0.1", 9304 + "jest-environment-node": "30.0.2", 9305 + "jest-regex-util": "30.0.1", 9306 + "jest-resolve": "30.0.2", 9307 + "jest-runner": "30.0.2", 9308 + "jest-util": "30.0.2", 9309 + "jest-validate": "30.0.2", 9480 9310 "micromatch": "^4.0.8", 9481 9311 "parse-json": "^5.2.0", 9482 - "pretty-format": "30.0.0", 9312 + "pretty-format": "30.0.2", 9483 9313 "slash": "^3.0.0", 9484 9314 "strip-json-comments": "^3.1.1" 9485 9315 }, ··· 9503 9333 } 9504 9334 } 9505 9335 }, 9336 + "node_modules/jest-config/node_modules/ansi-styles": { 9337 + "version": "5.2.0", 9338 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 9339 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 9340 + "dev": true, 9341 + "license": "MIT", 9342 + "engines": { 9343 + "node": ">=10" 9344 + }, 9345 + "funding": { 9346 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 9347 + } 9348 + }, 9349 + "node_modules/jest-config/node_modules/pretty-format": { 9350 + "version": "30.0.2", 9351 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", 9352 + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", 9353 + "dev": true, 9354 + "license": "MIT", 9355 + "dependencies": { 9356 + "@jest/schemas": "30.0.1", 9357 + "ansi-styles": "^5.2.0", 9358 + "react-is": "^18.3.1" 9359 + }, 9360 + "engines": { 9361 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9362 + } 9363 + }, 9364 + "node_modules/jest-config/node_modules/react-is": { 9365 + "version": "18.3.1", 9366 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 9367 + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 9368 + "dev": true, 9369 + "license": "MIT" 9370 + }, 9506 9371 "node_modules/jest-diff": { 9507 - "version": "30.0.0", 9508 - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.0.tgz", 9509 - "integrity": "sha512-TgT1+KipV8JTLXXeFX0qSvIJR/UXiNNojjxb/awh3vYlBZyChU/NEmyKmq+wijKjWEztyrGJFL790nqMqNjTHA==", 9372 + "version": "30.0.2", 9373 + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.2.tgz", 9374 + "integrity": "sha512-2UjrNvDJDn/oHFpPrUTVmvYYDNeNtw2DlY3er8bI6vJJb9Fb35ycp/jFLd5RdV59tJ8ekVXX3o/nwPcscgXZJQ==", 9510 9375 "dev": true, 9511 9376 "license": "MIT", 9512 9377 "dependencies": { 9513 - "@jest/diff-sequences": "30.0.0", 9514 - "@jest/get-type": "30.0.0", 9378 + "@jest/diff-sequences": "30.0.1", 9379 + "@jest/get-type": "30.0.1", 9515 9380 "chalk": "^4.1.2", 9516 - "pretty-format": "30.0.0" 9381 + "pretty-format": "30.0.2" 9382 + }, 9383 + "engines": { 9384 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9385 + } 9386 + }, 9387 + "node_modules/jest-diff/node_modules/ansi-styles": { 9388 + "version": "5.2.0", 9389 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 9390 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 9391 + "dev": true, 9392 + "license": "MIT", 9393 + "engines": { 9394 + "node": ">=10" 9395 + }, 9396 + "funding": { 9397 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 9398 + } 9399 + }, 9400 + "node_modules/jest-diff/node_modules/pretty-format": { 9401 + "version": "30.0.2", 9402 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", 9403 + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", 9404 + "dev": true, 9405 + "license": "MIT", 9406 + "dependencies": { 9407 + "@jest/schemas": "30.0.1", 9408 + "ansi-styles": "^5.2.0", 9409 + "react-is": "^18.3.1" 9517 9410 }, 9518 9411 "engines": { 9519 9412 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9520 9413 } 9521 9414 }, 9415 + "node_modules/jest-diff/node_modules/react-is": { 9416 + "version": "18.3.1", 9417 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 9418 + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 9419 + "dev": true, 9420 + "license": "MIT" 9421 + }, 9522 9422 "node_modules/jest-docblock": { 9523 - "version": "30.0.0", 9524 - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.0.0.tgz", 9525 - "integrity": "sha512-By/iQ0nvTzghEecGzUMCp1axLtBh+8wB4Hpoi5o+x1stycjEmPcH1mHugL4D9Q+YKV++vKeX/3ZTW90QC8ICPg==", 9423 + "version": "30.0.1", 9424 + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.0.1.tgz", 9425 + "integrity": "sha512-/vF78qn3DYphAaIc3jy4gA7XSAz167n9Bm/wn/1XhTLW7tTBIzXtCJpb/vcmc73NIIeeohCbdL94JasyXUZsGA==", 9526 9426 "dev": true, 9527 9427 "license": "MIT", 9528 9428 "dependencies": { ··· 9533 9433 } 9534 9434 }, 9535 9435 "node_modules/jest-each": { 9536 - "version": "30.0.0", 9537 - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.0.0.tgz", 9538 - "integrity": "sha512-qkFEW3cfytEjG2KtrhwtldZfXYnWSanO8xUMXLe4A6yaiHMHJUalk0Yyv4MQH6aeaxgi4sGVrukvF0lPMM7U1w==", 9436 + "version": "30.0.2", 9437 + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.0.2.tgz", 9438 + "integrity": "sha512-ZFRsTpe5FUWFQ9cWTMguCaiA6kkW5whccPy9JjD1ezxh+mJeqmz8naL8Fl/oSbNJv3rgB0x87WBIkA5CObIUZQ==", 9539 9439 "dev": true, 9540 9440 "license": "MIT", 9541 9441 "dependencies": { 9542 - "@jest/get-type": "30.0.0", 9543 - "@jest/types": "30.0.0", 9442 + "@jest/get-type": "30.0.1", 9443 + "@jest/types": "30.0.1", 9544 9444 "chalk": "^4.1.2", 9545 - "jest-util": "30.0.0", 9546 - "pretty-format": "30.0.0" 9445 + "jest-util": "30.0.2", 9446 + "pretty-format": "30.0.2" 9447 + }, 9448 + "engines": { 9449 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9450 + } 9451 + }, 9452 + "node_modules/jest-each/node_modules/ansi-styles": { 9453 + "version": "5.2.0", 9454 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 9455 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 9456 + "dev": true, 9457 + "license": "MIT", 9458 + "engines": { 9459 + "node": ">=10" 9460 + }, 9461 + "funding": { 9462 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 9463 + } 9464 + }, 9465 + "node_modules/jest-each/node_modules/pretty-format": { 9466 + "version": "30.0.2", 9467 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", 9468 + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", 9469 + "dev": true, 9470 + "license": "MIT", 9471 + "dependencies": { 9472 + "@jest/schemas": "30.0.1", 9473 + "ansi-styles": "^5.2.0", 9474 + "react-is": "^18.3.1" 9547 9475 }, 9548 9476 "engines": { 9549 9477 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9550 9478 } 9551 9479 }, 9480 + "node_modules/jest-each/node_modules/react-is": { 9481 + "version": "18.3.1", 9482 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 9483 + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 9484 + "dev": true, 9485 + "license": "MIT" 9486 + }, 9552 9487 "node_modules/jest-environment-jsdom": { 9553 - "version": "30.0.0", 9554 - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-30.0.0.tgz", 9555 - "integrity": "sha512-IjDRABkSx+HpO7+WGVKPZL5XZajWRsMo2iQIudyiG4BhCi9Uah9HrFluqLUXdjPkIOoox+utUEUl8TDR2kc/Og==", 9488 + "version": "30.0.2", 9489 + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-30.0.2.tgz", 9490 + "integrity": "sha512-lwMpe7hZ81e2PpHj+4nowAzSkC0p8ftRfzC+qEjav9p5ElCs6LAce3y46iLwMS27oL9+/KQe55gUvUDwrlDeJQ==", 9556 9491 "dev": true, 9557 9492 "license": "MIT", 9558 9493 "dependencies": { 9559 - "@jest/environment": "30.0.0", 9560 - "@jest/environment-jsdom-abstract": "30.0.0", 9494 + "@jest/environment": "30.0.2", 9495 + "@jest/environment-jsdom-abstract": "30.0.2", 9561 9496 "@types/jsdom": "^21.1.7", 9562 9497 "@types/node": "*", 9563 9498 "jsdom": "^26.1.0" ··· 9575 9510 } 9576 9511 }, 9577 9512 "node_modules/jest-environment-node": { 9578 - "version": "30.0.0", 9579 - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.0.0.tgz", 9580 - "integrity": "sha512-sF6lxyA25dIURyDk4voYmGU9Uwz2rQKMfjxKnDd19yk+qxKGrimFqS5YsPHWTlAVBo+YhWzXsqZoaMzrTFvqfg==", 9513 + "version": "30.0.2", 9514 + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.0.2.tgz", 9515 + "integrity": "sha512-XsGtZ0H+a70RsxAQkKuIh0D3ZlASXdZdhpOSBq9WRPq6lhe0IoQHGW0w9ZUaPiZQ/CpkIdprvlfV1QcXcvIQLQ==", 9581 9516 "dev": true, 9582 9517 "license": "MIT", 9583 9518 "dependencies": { 9584 - "@jest/environment": "30.0.0", 9585 - "@jest/fake-timers": "30.0.0", 9586 - "@jest/types": "30.0.0", 9519 + "@jest/environment": "30.0.2", 9520 + "@jest/fake-timers": "30.0.2", 9521 + "@jest/types": "30.0.1", 9587 9522 "@types/node": "*", 9588 - "jest-mock": "30.0.0", 9589 - "jest-util": "30.0.0", 9590 - "jest-validate": "30.0.0" 9523 + "jest-mock": "30.0.2", 9524 + "jest-util": "30.0.2", 9525 + "jest-validate": "30.0.2" 9591 9526 }, 9592 9527 "engines": { 9593 9528 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" ··· 9606 9541 "jest-environment-jsdom": ">=28.0.0" 9607 9542 } 9608 9543 }, 9609 - "node_modules/jest-get-type": { 9610 - "version": "29.6.3", 9611 - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", 9612 - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", 9613 - "dev": true, 9614 - "license": "MIT", 9615 - "engines": { 9616 - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 9617 - } 9618 - }, 9619 9544 "node_modules/jest-haste-map": { 9620 - "version": "30.0.0", 9621 - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.0.0.tgz", 9622 - "integrity": "sha512-p4bXAhXTawTsADgQgTpbymdLaTyPW1xWNu1oIGG7/N3LIAbZVkH2JMJqS8/IUcnGR8Kc7WFE+vWbJvsqGCWZXw==", 9545 + "version": "30.0.2", 9546 + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.0.2.tgz", 9547 + "integrity": "sha512-telJBKpNLeCb4MaX+I5k496556Y2FiKR/QLZc0+MGBYl4k3OO0472drlV2LUe7c1Glng5HuAu+5GLYp//GpdOQ==", 9623 9548 "dev": true, 9624 9549 "license": "MIT", 9625 9550 "dependencies": { 9626 - "@jest/types": "30.0.0", 9551 + "@jest/types": "30.0.1", 9627 9552 "@types/node": "*", 9628 9553 "anymatch": "^3.1.3", 9629 9554 "fb-watchman": "^2.0.2", 9630 9555 "graceful-fs": "^4.2.11", 9631 - "jest-regex-util": "30.0.0", 9632 - "jest-util": "30.0.0", 9633 - "jest-worker": "30.0.0", 9556 + "jest-regex-util": "30.0.1", 9557 + "jest-util": "30.0.2", 9558 + "jest-worker": "30.0.2", 9634 9559 "micromatch": "^4.0.8", 9635 9560 "walker": "^1.0.8" 9636 9561 }, ··· 9642 9567 } 9643 9568 }, 9644 9569 "node_modules/jest-leak-detector": { 9645 - "version": "30.0.0", 9646 - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.0.0.tgz", 9647 - "integrity": "sha512-E/ly1azdVVbZrS0T6FIpyYHvsdek4FNaThJTtggjV/8IpKxh3p9NLndeUZy2+sjAI3ncS+aM0uLLon/dBg8htA==", 9570 + "version": "30.0.2", 9571 + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.0.2.tgz", 9572 + "integrity": "sha512-U66sRrAYdALq+2qtKffBLDWsQ/XoNNs2Lcr83sc9lvE/hEpNafJlq2lXCPUBMNqamMECNxSIekLfe69qg4KMIQ==", 9648 9573 "dev": true, 9649 9574 "license": "MIT", 9650 9575 "dependencies": { 9651 - "@jest/get-type": "30.0.0", 9652 - "pretty-format": "30.0.0" 9576 + "@jest/get-type": "30.0.1", 9577 + "pretty-format": "30.0.2" 9653 9578 }, 9654 9579 "engines": { 9655 9580 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9656 9581 } 9657 9582 }, 9583 + "node_modules/jest-leak-detector/node_modules/ansi-styles": { 9584 + "version": "5.2.0", 9585 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 9586 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 9587 + "dev": true, 9588 + "license": "MIT", 9589 + "engines": { 9590 + "node": ">=10" 9591 + }, 9592 + "funding": { 9593 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 9594 + } 9595 + }, 9596 + "node_modules/jest-leak-detector/node_modules/pretty-format": { 9597 + "version": "30.0.2", 9598 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", 9599 + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", 9600 + "dev": true, 9601 + "license": "MIT", 9602 + "dependencies": { 9603 + "@jest/schemas": "30.0.1", 9604 + "ansi-styles": "^5.2.0", 9605 + "react-is": "^18.3.1" 9606 + }, 9607 + "engines": { 9608 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9609 + } 9610 + }, 9611 + "node_modules/jest-leak-detector/node_modules/react-is": { 9612 + "version": "18.3.1", 9613 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 9614 + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 9615 + "dev": true, 9616 + "license": "MIT" 9617 + }, 9658 9618 "node_modules/jest-matcher-utils": { 9659 - "version": "30.0.0", 9660 - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.0.tgz", 9661 - "integrity": "sha512-m5mrunqopkrqwG1mMdJxe1J4uGmS9AHHKYUmoxeQOxBcLjEvirIrIDwuKmUYrecPHVB/PUBpXs2gPoeA2FSSLQ==", 9619 + "version": "30.0.2", 9620 + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.2.tgz", 9621 + "integrity": "sha512-1FKwgJYECR8IT93KMKmjKHSLyru0DqguThov/aWpFccC0wbiXGOxYEu7SScderBD7ruDOpl7lc5NG6w3oxKfaA==", 9662 9622 "dev": true, 9663 9623 "license": "MIT", 9664 9624 "dependencies": { 9665 - "@jest/get-type": "30.0.0", 9625 + "@jest/get-type": "30.0.1", 9666 9626 "chalk": "^4.1.2", 9667 - "jest-diff": "30.0.0", 9668 - "pretty-format": "30.0.0" 9627 + "jest-diff": "30.0.2", 9628 + "pretty-format": "30.0.2" 9669 9629 }, 9670 9630 "engines": { 9671 9631 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9672 9632 } 9673 9633 }, 9634 + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { 9635 + "version": "5.2.0", 9636 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 9637 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 9638 + "dev": true, 9639 + "license": "MIT", 9640 + "engines": { 9641 + "node": ">=10" 9642 + }, 9643 + "funding": { 9644 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 9645 + } 9646 + }, 9647 + "node_modules/jest-matcher-utils/node_modules/pretty-format": { 9648 + "version": "30.0.2", 9649 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", 9650 + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", 9651 + "dev": true, 9652 + "license": "MIT", 9653 + "dependencies": { 9654 + "@jest/schemas": "30.0.1", 9655 + "ansi-styles": "^5.2.0", 9656 + "react-is": "^18.3.1" 9657 + }, 9658 + "engines": { 9659 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9660 + } 9661 + }, 9662 + "node_modules/jest-matcher-utils/node_modules/react-is": { 9663 + "version": "18.3.1", 9664 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 9665 + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 9666 + "dev": true, 9667 + "license": "MIT" 9668 + }, 9674 9669 "node_modules/jest-message-util": { 9675 - "version": "30.0.0", 9676 - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.0.tgz", 9677 - "integrity": "sha512-pV3qcrb4utEsa/U7UI2VayNzSDQcmCllBZLSoIucrESRu0geKThFZOjjh0kACDJFJRAQwsK7GVsmS6SpEceD8w==", 9670 + "version": "30.0.2", 9671 + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.2.tgz", 9672 + "integrity": "sha512-vXywcxmr0SsKXF/bAD7t7nMamRvPuJkras00gqYeB1V0WllxZrbZ0paRr3XqpFU2sYYjD0qAaG2fRyn/CGZ0aw==", 9678 9673 "dev": true, 9679 9674 "license": "MIT", 9680 9675 "dependencies": { 9681 9676 "@babel/code-frame": "^7.27.1", 9682 - "@jest/types": "30.0.0", 9677 + "@jest/types": "30.0.1", 9683 9678 "@types/stack-utils": "^2.0.3", 9684 9679 "chalk": "^4.1.2", 9685 9680 "graceful-fs": "^4.2.11", 9686 9681 "micromatch": "^4.0.8", 9687 - "pretty-format": "30.0.0", 9682 + "pretty-format": "30.0.2", 9688 9683 "slash": "^3.0.0", 9689 9684 "stack-utils": "^2.0.6" 9690 9685 }, ··· 9692 9687 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9693 9688 } 9694 9689 }, 9690 + "node_modules/jest-message-util/node_modules/ansi-styles": { 9691 + "version": "5.2.0", 9692 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 9693 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 9694 + "dev": true, 9695 + "license": "MIT", 9696 + "engines": { 9697 + "node": ">=10" 9698 + }, 9699 + "funding": { 9700 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 9701 + } 9702 + }, 9703 + "node_modules/jest-message-util/node_modules/pretty-format": { 9704 + "version": "30.0.2", 9705 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", 9706 + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", 9707 + "dev": true, 9708 + "license": "MIT", 9709 + "dependencies": { 9710 + "@jest/schemas": "30.0.1", 9711 + "ansi-styles": "^5.2.0", 9712 + "react-is": "^18.3.1" 9713 + }, 9714 + "engines": { 9715 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9716 + } 9717 + }, 9718 + "node_modules/jest-message-util/node_modules/react-is": { 9719 + "version": "18.3.1", 9720 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 9721 + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 9722 + "dev": true, 9723 + "license": "MIT" 9724 + }, 9695 9725 "node_modules/jest-mock": { 9696 - "version": "30.0.0", 9697 - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.0.tgz", 9698 - "integrity": "sha512-W2sRA4ALXILrEetEOh2ooZG6fZ01iwVs0OWMKSSWRcUlaLr4ESHuiKXDNTg+ZVgOq8Ei5445i/Yxrv59VT+XkA==", 9726 + "version": "30.0.2", 9727 + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.2.tgz", 9728 + "integrity": "sha512-PnZOHmqup/9cT/y+pXIVbbi8ID6U1XHRmbvR7MvUy4SLqhCbwpkmXhLbsWbGewHrV5x/1bF7YDjs+x24/QSvFA==", 9699 9729 "dev": true, 9700 9730 "license": "MIT", 9701 9731 "dependencies": { 9702 - "@jest/types": "30.0.0", 9732 + "@jest/types": "30.0.1", 9703 9733 "@types/node": "*", 9704 - "jest-util": "30.0.0" 9734 + "jest-util": "30.0.2" 9705 9735 }, 9706 9736 "engines": { 9707 9737 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" ··· 9726 9756 } 9727 9757 }, 9728 9758 "node_modules/jest-regex-util": { 9729 - "version": "30.0.0", 9730 - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.0.tgz", 9731 - "integrity": "sha512-rT84010qRu/5OOU7a9TeidC2Tp3Qgt9Sty4pOZ/VSDuEmRupIjKZAb53gU3jr4ooMlhwScrgC9UixJxWzVu9oQ==", 9759 + "version": "30.0.1", 9760 + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", 9761 + "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", 9732 9762 "dev": true, 9733 9763 "license": "MIT", 9734 9764 "engines": { ··· 9736 9766 } 9737 9767 }, 9738 9768 "node_modules/jest-resolve": { 9739 - "version": "30.0.0", 9740 - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.0.0.tgz", 9741 - "integrity": "sha512-zwWl1P15CcAfuQCEuxszjiKdsValhnWcj/aXg/R3aMHs8HVoCWHC4B/+5+1BirMoOud8NnN85GSP2LEZCbj3OA==", 9769 + "version": "30.0.2", 9770 + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.0.2.tgz", 9771 + "integrity": "sha512-q/XT0XQvRemykZsvRopbG6FQUT6/ra+XV6rPijyjT6D0msOyCvR2A5PlWZLd+fH0U8XWKZfDiAgrUNDNX2BkCw==", 9742 9772 "dev": true, 9743 9773 "license": "MIT", 9744 9774 "dependencies": { 9745 9775 "chalk": "^4.1.2", 9746 9776 "graceful-fs": "^4.2.11", 9747 - "jest-haste-map": "30.0.0", 9777 + "jest-haste-map": "30.0.2", 9748 9778 "jest-pnp-resolver": "^1.2.3", 9749 - "jest-util": "30.0.0", 9750 - "jest-validate": "30.0.0", 9779 + "jest-util": "30.0.2", 9780 + "jest-validate": "30.0.2", 9751 9781 "slash": "^3.0.0", 9752 9782 "unrs-resolver": "^1.7.11" 9753 9783 }, ··· 9756 9786 } 9757 9787 }, 9758 9788 "node_modules/jest-resolve-dependencies": { 9759 - "version": "30.0.0", 9760 - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.0.0.tgz", 9761 - "integrity": "sha512-Yhh7odCAUNXhluK1bCpwIlHrN1wycYaTlZwq1GdfNBEESNNI/z1j1a7dUEWHbmB9LGgv0sanxw3JPmWU8NeebQ==", 9789 + "version": "30.0.2", 9790 + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.0.2.tgz", 9791 + "integrity": "sha512-Lp1iIXpsF5fGM4vyP8xHiIy2H5L5yO67/nXoYJzH4kz+fQmO+ZMKxzYLyWxYy4EeCLeNQ6a9OozL+uHZV2iuEA==", 9762 9792 "dev": true, 9763 9793 "license": "MIT", 9764 9794 "dependencies": { 9765 - "jest-regex-util": "30.0.0", 9766 - "jest-snapshot": "30.0.0" 9795 + "jest-regex-util": "30.0.1", 9796 + "jest-snapshot": "30.0.2" 9767 9797 }, 9768 9798 "engines": { 9769 9799 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9770 9800 } 9771 9801 }, 9772 9802 "node_modules/jest-runner": { 9773 - "version": "30.0.0", 9774 - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.0.0.tgz", 9775 - "integrity": "sha512-xbhmvWIc8X1IQ8G7xTv0AQJXKjBVyxoVJEJgy7A4RXsSaO+k/1ZSBbHwjnUhvYqMvwQPomWssDkUx6EoidEhlw==", 9803 + "version": "30.0.2", 9804 + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.0.2.tgz", 9805 + "integrity": "sha512-6H+CIFiDLVt1Ix6jLzASXz3IoIiDukpEIxL9FHtDQ2BD/k5eFtDF5e5N9uItzRE3V1kp7VoSRyrGBytXKra4xA==", 9776 9806 "dev": true, 9777 9807 "license": "MIT", 9778 9808 "dependencies": { 9779 - "@jest/console": "30.0.0", 9780 - "@jest/environment": "30.0.0", 9781 - "@jest/test-result": "30.0.0", 9782 - "@jest/transform": "30.0.0", 9783 - "@jest/types": "30.0.0", 9809 + "@jest/console": "30.0.2", 9810 + "@jest/environment": "30.0.2", 9811 + "@jest/test-result": "30.0.2", 9812 + "@jest/transform": "30.0.2", 9813 + "@jest/types": "30.0.1", 9784 9814 "@types/node": "*", 9785 9815 "chalk": "^4.1.2", 9786 9816 "emittery": "^0.13.1", 9787 9817 "exit-x": "^0.2.2", 9788 9818 "graceful-fs": "^4.2.11", 9789 - "jest-docblock": "30.0.0", 9790 - "jest-environment-node": "30.0.0", 9791 - "jest-haste-map": "30.0.0", 9792 - "jest-leak-detector": "30.0.0", 9793 - "jest-message-util": "30.0.0", 9794 - "jest-resolve": "30.0.0", 9795 - "jest-runtime": "30.0.0", 9796 - "jest-util": "30.0.0", 9797 - "jest-watcher": "30.0.0", 9798 - "jest-worker": "30.0.0", 9819 + "jest-docblock": "30.0.1", 9820 + "jest-environment-node": "30.0.2", 9821 + "jest-haste-map": "30.0.2", 9822 + "jest-leak-detector": "30.0.2", 9823 + "jest-message-util": "30.0.2", 9824 + "jest-resolve": "30.0.2", 9825 + "jest-runtime": "30.0.2", 9826 + "jest-util": "30.0.2", 9827 + "jest-watcher": "30.0.2", 9828 + "jest-worker": "30.0.2", 9799 9829 "p-limit": "^3.1.0", 9800 9830 "source-map-support": "0.5.13" 9801 9831 }, ··· 9804 9834 } 9805 9835 }, 9806 9836 "node_modules/jest-runtime": { 9807 - "version": "30.0.0", 9808 - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.0.0.tgz", 9809 - "integrity": "sha512-/O07qVgFrFAOGKGigojmdR3jUGz/y3+a/v9S/Yi2MHxsD+v6WcPppglZJw0gNJkRBArRDK8CFAwpM/VuEiiRjA==", 9837 + "version": "30.0.2", 9838 + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.0.2.tgz", 9839 + "integrity": "sha512-H1a51/soNOeAjoggu6PZKTH7DFt8JEGN4mesTSwyqD2jU9PXD04Bp6DKbt2YVtQvh2JcvH2vjbkEerCZ3lRn7A==", 9810 9840 "dev": true, 9811 9841 "license": "MIT", 9812 9842 "dependencies": { 9813 - "@jest/environment": "30.0.0", 9814 - "@jest/fake-timers": "30.0.0", 9815 - "@jest/globals": "30.0.0", 9816 - "@jest/source-map": "30.0.0", 9817 - "@jest/test-result": "30.0.0", 9818 - "@jest/transform": "30.0.0", 9819 - "@jest/types": "30.0.0", 9843 + "@jest/environment": "30.0.2", 9844 + "@jest/fake-timers": "30.0.2", 9845 + "@jest/globals": "30.0.2", 9846 + "@jest/source-map": "30.0.1", 9847 + "@jest/test-result": "30.0.2", 9848 + "@jest/transform": "30.0.2", 9849 + "@jest/types": "30.0.1", 9820 9850 "@types/node": "*", 9821 9851 "chalk": "^4.1.2", 9822 9852 "cjs-module-lexer": "^2.1.0", 9823 9853 "collect-v8-coverage": "^1.0.2", 9824 9854 "glob": "^10.3.10", 9825 9855 "graceful-fs": "^4.2.11", 9826 - "jest-haste-map": "30.0.0", 9827 - "jest-message-util": "30.0.0", 9828 - "jest-mock": "30.0.0", 9829 - "jest-regex-util": "30.0.0", 9830 - "jest-resolve": "30.0.0", 9831 - "jest-snapshot": "30.0.0", 9832 - "jest-util": "30.0.0", 9856 + "jest-haste-map": "30.0.2", 9857 + "jest-message-util": "30.0.2", 9858 + "jest-mock": "30.0.2", 9859 + "jest-regex-util": "30.0.1", 9860 + "jest-resolve": "30.0.2", 9861 + "jest-snapshot": "30.0.2", 9862 + "jest-util": "30.0.2", 9833 9863 "slash": "^3.0.0", 9834 9864 "strip-bom": "^4.0.0" 9835 9865 }, ··· 9838 9868 } 9839 9869 }, 9840 9870 "node_modules/jest-snapshot": { 9841 - "version": "30.0.0", 9842 - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.0.0.tgz", 9843 - "integrity": "sha512-6oCnzjpvfj/UIOMTqKZ6gedWAUgaycMdV8Y8h2dRJPvc2wSjckN03pzeoonw8y33uVngfx7WMo1ygdRGEKOT7w==", 9871 + "version": "30.0.2", 9872 + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.0.2.tgz", 9873 + "integrity": "sha512-KeoHikoKGln3OlN7NS7raJ244nIVr2K46fBTNdfuxqYv2/g4TVyWDSO4fmk08YBJQMjs3HNfG1rlLfL/KA+nUw==", 9844 9874 "dev": true, 9845 9875 "license": "MIT", 9846 9876 "dependencies": { ··· 9849 9879 "@babel/plugin-syntax-jsx": "^7.27.1", 9850 9880 "@babel/plugin-syntax-typescript": "^7.27.1", 9851 9881 "@babel/types": "^7.27.3", 9852 - "@jest/expect-utils": "30.0.0", 9853 - "@jest/get-type": "30.0.0", 9854 - "@jest/snapshot-utils": "30.0.0", 9855 - "@jest/transform": "30.0.0", 9856 - "@jest/types": "30.0.0", 9882 + "@jest/expect-utils": "30.0.2", 9883 + "@jest/get-type": "30.0.1", 9884 + "@jest/snapshot-utils": "30.0.1", 9885 + "@jest/transform": "30.0.2", 9886 + "@jest/types": "30.0.1", 9857 9887 "babel-preset-current-node-syntax": "^1.1.0", 9858 9888 "chalk": "^4.1.2", 9859 - "expect": "30.0.0", 9889 + "expect": "30.0.2", 9860 9890 "graceful-fs": "^4.2.11", 9861 - "jest-diff": "30.0.0", 9862 - "jest-matcher-utils": "30.0.0", 9863 - "jest-message-util": "30.0.0", 9864 - "jest-util": "30.0.0", 9865 - "pretty-format": "30.0.0", 9891 + "jest-diff": "30.0.2", 9892 + "jest-matcher-utils": "30.0.2", 9893 + "jest-message-util": "30.0.2", 9894 + "jest-util": "30.0.2", 9895 + "pretty-format": "30.0.2", 9866 9896 "semver": "^7.7.2", 9867 9897 "synckit": "^0.11.8" 9868 9898 }, ··· 9870 9900 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9871 9901 } 9872 9902 }, 9903 + "node_modules/jest-snapshot/node_modules/ansi-styles": { 9904 + "version": "5.2.0", 9905 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 9906 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 9907 + "dev": true, 9908 + "license": "MIT", 9909 + "engines": { 9910 + "node": ">=10" 9911 + }, 9912 + "funding": { 9913 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 9914 + } 9915 + }, 9916 + "node_modules/jest-snapshot/node_modules/pretty-format": { 9917 + "version": "30.0.2", 9918 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", 9919 + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", 9920 + "dev": true, 9921 + "license": "MIT", 9922 + "dependencies": { 9923 + "@jest/schemas": "30.0.1", 9924 + "ansi-styles": "^5.2.0", 9925 + "react-is": "^18.3.1" 9926 + }, 9927 + "engines": { 9928 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9929 + } 9930 + }, 9931 + "node_modules/jest-snapshot/node_modules/react-is": { 9932 + "version": "18.3.1", 9933 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 9934 + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 9935 + "dev": true, 9936 + "license": "MIT" 9937 + }, 9873 9938 "node_modules/jest-snapshot/node_modules/semver": { 9874 9939 "version": "7.7.2", 9875 9940 "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", ··· 9884 9949 } 9885 9950 }, 9886 9951 "node_modules/jest-util": { 9887 - "version": "30.0.0", 9888 - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.0.tgz", 9889 - "integrity": "sha512-fhNBBM9uSUbd4Lzsf8l/kcAdaHD/4SgoI48en3HXcBEMwKwoleKFMZ6cYEYs21SB779PRuRCyNLmymApAm8tZw==", 9952 + "version": "30.0.2", 9953 + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.2.tgz", 9954 + "integrity": "sha512-8IyqfKS4MqprBuUpZNlFB5l+WFehc8bfCe1HSZFHzft2mOuND8Cvi9r1musli+u6F3TqanCZ/Ik4H4pXUolZIg==", 9890 9955 "dev": true, 9891 9956 "license": "MIT", 9892 9957 "dependencies": { 9893 - "@jest/types": "30.0.0", 9958 + "@jest/types": "30.0.1", 9894 9959 "@types/node": "*", 9895 9960 "chalk": "^4.1.2", 9896 9961 "ci-info": "^4.2.0", ··· 9915 9980 } 9916 9981 }, 9917 9982 "node_modules/jest-validate": { 9918 - "version": "30.0.0", 9919 - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.0.0.tgz", 9920 - "integrity": "sha512-d6OkzsdlWItHAikUDs1hlLmpOIRhsZoXTCliV2XXalVQ3ZOeb9dy0CQ6AKulJu/XOZqpOEr/FiMH+FeOBVV+nw==", 9983 + "version": "30.0.2", 9984 + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.0.2.tgz", 9985 + "integrity": "sha512-noOvul+SFER4RIvNAwGn6nmV2fXqBq67j+hKGHKGFCmK4ks/Iy1FSrqQNBLGKlu4ZZIRL6Kg1U72N1nxuRCrGQ==", 9921 9986 "dev": true, 9922 9987 "license": "MIT", 9923 9988 "dependencies": { 9924 - "@jest/get-type": "30.0.0", 9925 - "@jest/types": "30.0.0", 9989 + "@jest/get-type": "30.0.1", 9990 + "@jest/types": "30.0.1", 9926 9991 "camelcase": "^6.3.0", 9927 9992 "chalk": "^4.1.2", 9928 9993 "leven": "^3.1.0", 9929 - "pretty-format": "30.0.0" 9994 + "pretty-format": "30.0.2" 9930 9995 }, 9931 9996 "engines": { 9932 9997 "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 9933 9998 } 9934 9999 }, 10000 + "node_modules/jest-validate/node_modules/ansi-styles": { 10001 + "version": "5.2.0", 10002 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 10003 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 10004 + "dev": true, 10005 + "license": "MIT", 10006 + "engines": { 10007 + "node": ">=10" 10008 + }, 10009 + "funding": { 10010 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 10011 + } 10012 + }, 9935 10013 "node_modules/jest-validate/node_modules/camelcase": { 9936 10014 "version": "6.3.0", 9937 10015 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", ··· 9945 10023 "url": "https://github.com/sponsors/sindresorhus" 9946 10024 } 9947 10025 }, 10026 + "node_modules/jest-validate/node_modules/pretty-format": { 10027 + "version": "30.0.2", 10028 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", 10029 + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", 10030 + "dev": true, 10031 + "license": "MIT", 10032 + "dependencies": { 10033 + "@jest/schemas": "30.0.1", 10034 + "ansi-styles": "^5.2.0", 10035 + "react-is": "^18.3.1" 10036 + }, 10037 + "engines": { 10038 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 10039 + } 10040 + }, 10041 + "node_modules/jest-validate/node_modules/react-is": { 10042 + "version": "18.3.1", 10043 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 10044 + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 10045 + "dev": true, 10046 + "license": "MIT" 10047 + }, 9948 10048 "node_modules/jest-watcher": { 9949 - "version": "30.0.0", 9950 - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.0.0.tgz", 9951 - "integrity": "sha512-fbAkojcyS53bOL/B7XYhahORq9cIaPwOgd/p9qW/hybbC8l6CzxfWJJxjlPBAIVN8dRipLR0zdhpGQdam+YBtw==", 10049 + "version": "30.0.2", 10050 + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.0.2.tgz", 10051 + "integrity": "sha512-vYO5+E7jJuF+XmONr6CrbXdlYrgvZqtkn6pdkgjt/dU64UAdc0v1cAVaAeWtAfUUMScxNmnUjKPUMdCpNVASwg==", 9952 10052 "dev": true, 9953 10053 "license": "MIT", 9954 10054 "dependencies": { 9955 - "@jest/test-result": "30.0.0", 9956 - "@jest/types": "30.0.0", 10055 + "@jest/test-result": "30.0.2", 10056 + "@jest/types": "30.0.1", 9957 10057 "@types/node": "*", 9958 10058 "ansi-escapes": "^4.3.2", 9959 10059 "chalk": "^4.1.2", 9960 10060 "emittery": "^0.13.1", 9961 - "jest-util": "30.0.0", 10061 + "jest-util": "30.0.2", 9962 10062 "string-length": "^4.0.2" 9963 10063 }, 9964 10064 "engines": { ··· 9966 10066 } 9967 10067 }, 9968 10068 "node_modules/jest-worker": { 9969 - "version": "30.0.0", 9970 - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.0.0.tgz", 9971 - "integrity": "sha512-VZvxfWIybIvwK8N/Bsfe43LfQgd/rD0c4h5nLUx78CAqPxIQcW2qDjsVAC53iUR8yxzFIeCFFvWOh8en8hGzdg==", 10069 + "version": "30.0.2", 10070 + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.0.2.tgz", 10071 + "integrity": "sha512-RN1eQmx7qSLFA+o9pfJKlqViwL5wt+OL3Vff/A+/cPsmuw7NPwfgl33AP+/agRmHzPOFgXviRycR9kYwlcRQXg==", 9972 10072 "dev": true, 9973 10073 "license": "MIT", 9974 10074 "dependencies": { 9975 10075 "@types/node": "*", 9976 10076 "@ungap/structured-clone": "^1.3.0", 9977 - "jest-util": "30.0.0", 10077 + "jest-util": "30.0.2", 9978 10078 "merge-stream": "^2.0.0", 9979 10079 "supports-color": "^8.1.1" 9980 10080 }, ··· 10039 10139 }, 10040 10140 "bin": { 10041 10141 "js-yaml": "bin/js-yaml.js" 10042 - } 10043 - }, 10044 - "node_modules/js2xmlparser": { 10045 - "version": "4.0.2", 10046 - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", 10047 - "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", 10048 - "dev": true, 10049 - "license": "Apache-2.0", 10050 - "dependencies": { 10051 - "xmlcreate": "^2.0.4" 10052 10142 } 10053 10143 }, 10054 10144 "node_modules/jsbn": { ··· 10240 10330 "json-buffer": "3.0.1" 10241 10331 } 10242 10332 }, 10243 - "node_modules/klaw": { 10244 - "version": "3.0.0", 10245 - "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", 10246 - "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", 10247 - "dev": true, 10248 - "license": "MIT", 10249 - "dependencies": { 10250 - "graceful-fs": "^4.1.9" 10251 - } 10252 - }, 10253 10333 "node_modules/kolorist": { 10254 10334 "version": "1.8.0", 10255 10335 "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", ··· 10301 10381 "dev": true, 10302 10382 "license": "MIT" 10303 10383 }, 10304 - "node_modules/linkify-it": { 10305 - "version": "5.0.0", 10306 - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", 10307 - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", 10308 - "dev": true, 10309 - "license": "MIT", 10310 - "peer": true, 10311 - "dependencies": { 10312 - "uc.micro": "^2.0.0" 10313 - } 10314 - }, 10315 10384 "node_modules/load-ip-set": { 10316 10385 "version": "3.0.1", 10317 10386 "resolved": "https://registry.npmjs.org/load-ip-set/-/load-ip-set-3.0.1.tgz", ··· 10551 10620 "tmpl": "1.0.5" 10552 10621 } 10553 10622 }, 10554 - "node_modules/markdown-it": { 10555 - "version": "14.1.0", 10556 - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", 10557 - "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", 10558 - "dev": true, 10559 - "license": "MIT", 10560 - "peer": true, 10561 - "dependencies": { 10562 - "argparse": "^2.0.1", 10563 - "entities": "^4.4.0", 10564 - "linkify-it": "^5.0.0", 10565 - "mdurl": "^2.0.0", 10566 - "punycode.js": "^2.3.1", 10567 - "uc.micro": "^2.1.0" 10568 - }, 10569 - "bin": { 10570 - "markdown-it": "bin/markdown-it.mjs" 10571 - } 10572 - }, 10573 - "node_modules/markdown-it-anchor": { 10574 - "version": "8.6.7", 10575 - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", 10576 - "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", 10577 - "dev": true, 10578 - "license": "Unlicense", 10579 - "peerDependencies": { 10580 - "@types/markdown-it": "*", 10581 - "markdown-it": "*" 10582 - } 10583 - }, 10584 10623 "node_modules/markdown-table": { 10585 10624 "version": "3.0.4", 10586 10625 "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", ··· 10590 10629 "funding": { 10591 10630 "type": "github", 10592 10631 "url": "https://github.com/sponsors/wooorm" 10593 - } 10594 - }, 10595 - "node_modules/marked": { 10596 - "version": "4.3.0", 10597 - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", 10598 - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", 10599 - "dev": true, 10600 - "license": "MIT", 10601 - "bin": { 10602 - "marked": "bin/marked.js" 10603 - }, 10604 - "engines": { 10605 - "node": ">= 12" 10606 10632 } 10607 10633 }, 10608 10634 "node_modules/math-intrinsics": { ··· 10877 10903 "integrity": "sha512-+ZKPQezM5vYJIkCxaC+4DTnRrVZR1CgsKLu5zsQERQx6Tea8Y+wMx5A24rq8A8NepCeatIQufVAekKNgiBMsGQ==", 10878 10904 "dev": true, 10879 10905 "license": "CC0-1.0" 10880 - }, 10881 - "node_modules/mdurl": { 10882 - "version": "2.0.0", 10883 - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", 10884 - "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", 10885 - "dev": true, 10886 - "license": "MIT", 10887 - "peer": true 10888 10906 }, 10889 10907 "node_modules/media-typer": { 10890 10908 "version": "1.1.0", ··· 11694 11712 "node": ">=16 || 14 >=14.17" 11695 11713 } 11696 11714 }, 11697 - "node_modules/mkdirp": { 11698 - "version": "1.0.4", 11699 - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 11700 - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 11701 - "dev": true, 11702 - "license": "MIT", 11703 - "bin": { 11704 - "mkdirp": "bin/cmd.js" 11705 - }, 11706 - "engines": { 11707 - "node": ">=10" 11708 - } 11709 - }, 11710 11715 "node_modules/mkdirp-classic": { 11711 11716 "version": "0.5.3", 11712 11717 "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", ··· 11973 11978 "node": ">=10" 11974 11979 } 11975 11980 }, 11981 + "node_modules/node-stdlib-browser/node_modules/buffer": { 11982 + "version": "5.7.1", 11983 + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 11984 + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 11985 + "dev": true, 11986 + "funding": [ 11987 + { 11988 + "type": "github", 11989 + "url": "https://github.com/sponsors/feross" 11990 + }, 11991 + { 11992 + "type": "patreon", 11993 + "url": "https://www.patreon.com/feross" 11994 + }, 11995 + { 11996 + "type": "consulting", 11997 + "url": "https://feross.org/support" 11998 + } 11999 + ], 12000 + "license": "MIT", 12001 + "dependencies": { 12002 + "base64-js": "^1.3.1", 12003 + "ieee754": "^1.1.13" 12004 + } 12005 + }, 11976 12006 "node_modules/node-stdlib-browser/node_modules/pkg-dir": { 11977 12007 "version": "5.0.0", 11978 12008 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", ··· 11993 12023 "dev": true, 11994 12024 "license": "MIT" 11995 12025 }, 11996 - "node_modules/node-stdlib-browser/node_modules/util": { 11997 - "version": "0.12.5", 11998 - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", 11999 - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", 12000 - "dev": true, 12001 - "license": "MIT", 12002 - "dependencies": { 12003 - "inherits": "^2.0.3", 12004 - "is-arguments": "^1.0.4", 12005 - "is-generator-function": "^1.0.7", 12006 - "is-typed-array": "^1.1.3", 12007 - "which-typed-array": "^1.1.2" 12008 - } 12009 - }, 12010 12026 "node_modules/normalize-path": { 12011 12027 "version": "3.0.0", 12012 12028 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", ··· 12418 12434 "url": "https://github.com/inikulin/parse5?sponsor=1" 12419 12435 } 12420 12436 }, 12421 - "node_modules/parse5/node_modules/entities": { 12422 - "version": "6.0.1", 12423 - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", 12424 - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", 12425 - "dev": true, 12426 - "license": "BSD-2-Clause", 12427 - "engines": { 12428 - "node": ">=0.12" 12429 - }, 12430 - "funding": { 12431 - "url": "https://github.com/fb55/entities?sponsor=1" 12432 - } 12433 - }, 12434 12437 "node_modules/parseurl": { 12435 12438 "version": "1.3.3", 12436 12439 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", ··· 12651 12654 } 12652 12655 }, 12653 12656 "node_modules/postcss": { 12654 - "version": "8.5.5", 12655 - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.5.tgz", 12656 - "integrity": "sha512-d/jtm+rdNT8tpXuHY5MMtcbJFBkhXE6593XVR9UoGCH8jSFGci7jGvMGH5RYd5PBJW+00NZQt6gf7CbagJCrhg==", 12657 + "version": "8.5.6", 12658 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", 12659 + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", 12657 12660 "dev": true, 12658 12661 "funding": [ 12659 12662 { ··· 12792 12795 } 12793 12796 }, 12794 12797 "node_modules/pretty-format": { 12795 - "version": "30.0.0", 12796 - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.0.tgz", 12797 - "integrity": "sha512-18NAOUr4ZOQiIR+BgI5NhQE7uREdx4ZyV0dyay5izh4yfQ+1T7BSvggxvRGoXocrRyevqW5OhScUjbi9GB8R8Q==", 12798 + "version": "27.5.1", 12799 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", 12800 + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", 12798 12801 "dev": true, 12799 12802 "license": "MIT", 12800 12803 "dependencies": { 12801 - "@jest/schemas": "30.0.0", 12802 - "ansi-styles": "^5.2.0", 12803 - "react-is": "^18.3.1" 12804 + "ansi-regex": "^5.0.1", 12805 + "ansi-styles": "^5.0.0", 12806 + "react-is": "^17.0.1" 12804 12807 }, 12805 12808 "engines": { 12806 - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 12809 + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" 12807 12810 } 12808 12811 }, 12809 12812 "node_modules/pretty-format/node_modules/ansi-styles": { ··· 12930 12933 "node": ">=6" 12931 12934 } 12932 12935 }, 12933 - "node_modules/punycode.js": { 12934 - "version": "2.3.1", 12935 - "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", 12936 - "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", 12937 - "dev": true, 12938 - "license": "MIT", 12939 - "peer": true, 12940 - "engines": { 12941 - "node": ">=6" 12942 - } 12943 - }, 12944 12936 "node_modules/pure-rand": { 12945 12937 "version": "7.0.1", 12946 12938 "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", ··· 13137 13129 } 13138 13130 }, 13139 13131 "node_modules/react-is": { 13140 - "version": "18.3.1", 13141 - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 13142 - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 13132 + "version": "17.0.2", 13133 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", 13134 + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", 13143 13135 "dev": true, 13144 13136 "license": "MIT" 13145 13137 }, ··· 13274 13266 "node": ">=0.10.0" 13275 13267 } 13276 13268 }, 13277 - "node_modules/requizzle": { 13278 - "version": "0.2.4", 13279 - "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", 13280 - "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", 13281 - "dev": true, 13282 - "license": "MIT", 13283 - "dependencies": { 13284 - "lodash": "^4.17.21" 13285 - } 13286 - }, 13287 13269 "node_modules/resolve": { 13288 13270 "version": "2.0.0-next.5", 13289 13271 "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", ··· 13387 13369 } 13388 13370 }, 13389 13371 "node_modules/rollup": { 13390 - "version": "4.43.0", 13391 - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.43.0.tgz", 13392 - "integrity": "sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==", 13372 + "version": "4.44.0", 13373 + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.0.tgz", 13374 + "integrity": "sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==", 13393 13375 "dev": true, 13394 13376 "license": "MIT", 13395 13377 "dependencies": { 13396 - "@types/estree": "1.0.7" 13378 + "@types/estree": "1.0.8" 13397 13379 }, 13398 13380 "bin": { 13399 13381 "rollup": "dist/bin/rollup" ··· 13403 13385 "npm": ">=8.0.0" 13404 13386 }, 13405 13387 "optionalDependencies": { 13406 - "@rollup/rollup-android-arm-eabi": "4.43.0", 13407 - "@rollup/rollup-android-arm64": "4.43.0", 13408 - "@rollup/rollup-darwin-arm64": "4.43.0", 13409 - "@rollup/rollup-darwin-x64": "4.43.0", 13410 - "@rollup/rollup-freebsd-arm64": "4.43.0", 13411 - "@rollup/rollup-freebsd-x64": "4.43.0", 13412 - "@rollup/rollup-linux-arm-gnueabihf": "4.43.0", 13413 - "@rollup/rollup-linux-arm-musleabihf": "4.43.0", 13414 - "@rollup/rollup-linux-arm64-gnu": "4.43.0", 13415 - "@rollup/rollup-linux-arm64-musl": "4.43.0", 13416 - "@rollup/rollup-linux-loongarch64-gnu": "4.43.0", 13417 - "@rollup/rollup-linux-powerpc64le-gnu": "4.43.0", 13418 - "@rollup/rollup-linux-riscv64-gnu": "4.43.0", 13419 - "@rollup/rollup-linux-riscv64-musl": "4.43.0", 13420 - "@rollup/rollup-linux-s390x-gnu": "4.43.0", 13421 - "@rollup/rollup-linux-x64-gnu": "4.43.0", 13422 - "@rollup/rollup-linux-x64-musl": "4.43.0", 13423 - "@rollup/rollup-win32-arm64-msvc": "4.43.0", 13424 - "@rollup/rollup-win32-ia32-msvc": "4.43.0", 13425 - "@rollup/rollup-win32-x64-msvc": "4.43.0", 13388 + "@rollup/rollup-android-arm-eabi": "4.44.0", 13389 + "@rollup/rollup-android-arm64": "4.44.0", 13390 + "@rollup/rollup-darwin-arm64": "4.44.0", 13391 + "@rollup/rollup-darwin-x64": "4.44.0", 13392 + "@rollup/rollup-freebsd-arm64": "4.44.0", 13393 + "@rollup/rollup-freebsd-x64": "4.44.0", 13394 + "@rollup/rollup-linux-arm-gnueabihf": "4.44.0", 13395 + "@rollup/rollup-linux-arm-musleabihf": "4.44.0", 13396 + "@rollup/rollup-linux-arm64-gnu": "4.44.0", 13397 + "@rollup/rollup-linux-arm64-musl": "4.44.0", 13398 + "@rollup/rollup-linux-loongarch64-gnu": "4.44.0", 13399 + "@rollup/rollup-linux-powerpc64le-gnu": "4.44.0", 13400 + "@rollup/rollup-linux-riscv64-gnu": "4.44.0", 13401 + "@rollup/rollup-linux-riscv64-musl": "4.44.0", 13402 + "@rollup/rollup-linux-s390x-gnu": "4.44.0", 13403 + "@rollup/rollup-linux-x64-gnu": "4.44.0", 13404 + "@rollup/rollup-linux-x64-musl": "4.44.0", 13405 + "@rollup/rollup-win32-arm64-msvc": "4.44.0", 13406 + "@rollup/rollup-win32-ia32-msvc": "4.44.0", 13407 + "@rollup/rollup-win32-x64-msvc": "4.44.0", 13426 13408 "fsevents": "~2.3.2" 13427 13409 } 13428 - }, 13429 - "node_modules/rollup/node_modules/@types/estree": { 13430 - "version": "1.0.7", 13431 - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", 13432 - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", 13433 - "dev": true, 13434 - "license": "MIT" 13435 13410 }, 13436 13411 "node_modules/router": { 13437 13412 "version": "2.2.0", ··· 13943 13918 "readable-stream": "^3.6.0" 13944 13919 } 13945 13920 }, 13946 - "node_modules/simple-peer/node_modules/buffer": { 13947 - "version": "6.0.3", 13948 - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 13949 - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 13950 - "funding": [ 13951 - { 13952 - "type": "github", 13953 - "url": "https://github.com/sponsors/feross" 13954 - }, 13955 - { 13956 - "type": "patreon", 13957 - "url": "https://www.patreon.com/feross" 13958 - }, 13959 - { 13960 - "type": "consulting", 13961 - "url": "https://feross.org/support" 13962 - } 13963 - ], 13964 - "license": "MIT", 13965 - "dependencies": { 13966 - "base64-js": "^1.3.1", 13967 - "ieee754": "^1.2.1" 13968 - } 13969 - }, 13970 13921 "node_modules/slash": { 13971 13922 "version": "3.0.0", 13972 13923 "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", ··· 14059 14010 } 14060 14011 }, 14061 14012 "node_modules/sprintf-js": { 14062 - "version": "1.0.3", 14063 - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 14064 - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", 14013 + "version": "1.1.3", 14014 + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", 14015 + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", 14065 14016 "dev": true, 14066 14017 "license": "BSD-3-Clause" 14067 14018 }, ··· 14182 14133 "node": ">=10" 14183 14134 } 14184 14135 }, 14185 - "node_modules/string-length/node_modules/ansi-regex": { 14186 - "version": "5.0.1", 14187 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 14188 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 14189 - "dev": true, 14190 - "license": "MIT", 14191 - "engines": { 14192 - "node": ">=8" 14193 - } 14194 - }, 14195 14136 "node_modules/string-length/node_modules/strip-ansi": { 14196 14137 "version": "6.0.1", 14197 14138 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", ··· 14235 14176 "is-fullwidth-code-point": "^3.0.0", 14236 14177 "strip-ansi": "^6.0.1" 14237 14178 }, 14238 - "engines": { 14239 - "node": ">=8" 14240 - } 14241 - }, 14242 - "node_modules/string-width-cjs/node_modules/ansi-regex": { 14243 - "version": "5.0.1", 14244 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 14245 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 14246 - "dev": true, 14247 - "license": "MIT", 14248 14179 "engines": { 14249 14180 "node": ">=8" 14250 14181 } ··· 14421 14352 "node": ">=8" 14422 14353 } 14423 14354 }, 14424 - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { 14425 - "version": "5.0.1", 14426 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 14427 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 14355 + "node_modules/strip-ansi/node_modules/ansi-regex": { 14356 + "version": "6.1.0", 14357 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", 14358 + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", 14428 14359 "dev": true, 14429 14360 "license": "MIT", 14430 14361 "engines": { 14431 - "node": ">=8" 14362 + "node": ">=12" 14363 + }, 14364 + "funding": { 14365 + "url": "https://github.com/chalk/ansi-regex?sponsor=1" 14432 14366 } 14433 14367 }, 14434 14368 "node_modules/strip-bom": { ··· 14526 14460 "url": "https://opencollective.com/synckit" 14527 14461 } 14528 14462 }, 14529 - "node_modules/taffydb": { 14530 - "version": "2.7.3", 14531 - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.3.tgz", 14532 - "integrity": "sha512-GQ3gtYFSOAxSMN/apGtDKKkbJf+8izz5YfbGqIsUc7AMiQOapARZ76dhilRY2h39cynYxBFdafQo5HUL5vgkrg==", 14533 - "dev": true, 14534 - "license": "BSD-2-Clause" 14535 - }, 14536 14463 "node_modules/tar-fs": { 14537 14464 "version": "2.1.3", 14538 14465 "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz", ··· 14655 14582 "dev": true, 14656 14583 "license": "MIT" 14657 14584 }, 14658 - "node_modules/tidy-jsdoc-fork": { 14659 - "version": "1.4.1", 14660 - "resolved": "git+ssh://git@github.com/lygaret/tidy-jsdoc.git#ca661e38b12b647026aff1282731dcadca1f9b16", 14661 - "dev": true, 14662 - "license": "Apache-2.0", 14663 - "dependencies": { 14664 - "jsdoc": "^3.6.3", 14665 - "taffydb": "^2.7.3", 14666 - "util": "^0.10.3" 14667 - } 14668 - }, 14669 - "node_modules/tidy-jsdoc-fork/node_modules/@types/markdown-it": { 14670 - "version": "12.2.3", 14671 - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", 14672 - "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", 14673 - "dev": true, 14674 - "license": "MIT", 14675 - "dependencies": { 14676 - "@types/linkify-it": "*", 14677 - "@types/mdurl": "*" 14678 - } 14679 - }, 14680 - "node_modules/tidy-jsdoc-fork/node_modules/entities": { 14681 - "version": "2.1.0", 14682 - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", 14683 - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", 14684 - "dev": true, 14685 - "license": "BSD-2-Clause", 14686 - "funding": { 14687 - "url": "https://github.com/fb55/entities?sponsor=1" 14688 - } 14689 - }, 14690 - "node_modules/tidy-jsdoc-fork/node_modules/escape-string-regexp": { 14691 - "version": "2.0.0", 14692 - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", 14693 - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", 14694 - "dev": true, 14695 - "license": "MIT", 14696 - "engines": { 14697 - "node": ">=8" 14698 - } 14699 - }, 14700 - "node_modules/tidy-jsdoc-fork/node_modules/jsdoc": { 14701 - "version": "3.6.11", 14702 - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz", 14703 - "integrity": "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==", 14704 - "dev": true, 14705 - "license": "Apache-2.0", 14706 - "dependencies": { 14707 - "@babel/parser": "^7.9.4", 14708 - "@types/markdown-it": "^12.2.3", 14709 - "bluebird": "^3.7.2", 14710 - "catharsis": "^0.9.0", 14711 - "escape-string-regexp": "^2.0.0", 14712 - "js2xmlparser": "^4.0.2", 14713 - "klaw": "^3.0.0", 14714 - "markdown-it": "^12.3.2", 14715 - "markdown-it-anchor": "^8.4.1", 14716 - "marked": "^4.0.10", 14717 - "mkdirp": "^1.0.4", 14718 - "requizzle": "^0.2.3", 14719 - "strip-json-comments": "^3.1.0", 14720 - "taffydb": "2.6.2", 14721 - "underscore": "~1.13.2" 14722 - }, 14723 - "bin": { 14724 - "jsdoc": "jsdoc.js" 14725 - }, 14726 - "engines": { 14727 - "node": ">=12.0.0" 14728 - } 14729 - }, 14730 - "node_modules/tidy-jsdoc-fork/node_modules/jsdoc/node_modules/taffydb": { 14731 - "version": "2.6.2", 14732 - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", 14733 - "integrity": "sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==", 14734 - "dev": true 14735 - }, 14736 - "node_modules/tidy-jsdoc-fork/node_modules/linkify-it": { 14737 - "version": "3.0.3", 14738 - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", 14739 - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", 14740 - "dev": true, 14741 - "license": "MIT", 14742 - "dependencies": { 14743 - "uc.micro": "^1.0.1" 14744 - } 14745 - }, 14746 - "node_modules/tidy-jsdoc-fork/node_modules/markdown-it": { 14747 - "version": "12.3.2", 14748 - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", 14749 - "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", 14750 - "dev": true, 14751 - "license": "MIT", 14752 - "dependencies": { 14753 - "argparse": "^2.0.1", 14754 - "entities": "~2.1.0", 14755 - "linkify-it": "^3.0.1", 14756 - "mdurl": "^1.0.1", 14757 - "uc.micro": "^1.0.5" 14758 - }, 14759 - "bin": { 14760 - "markdown-it": "bin/markdown-it.js" 14761 - } 14762 - }, 14763 - "node_modules/tidy-jsdoc-fork/node_modules/mdurl": { 14764 - "version": "1.0.1", 14765 - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", 14766 - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", 14767 - "dev": true, 14768 - "license": "MIT" 14769 - }, 14770 - "node_modules/tidy-jsdoc-fork/node_modules/uc.micro": { 14771 - "version": "1.0.6", 14772 - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", 14773 - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", 14774 - "dev": true, 14775 - "license": "MIT" 14776 - }, 14777 14585 "node_modules/timeout-refresh": { 14778 14586 "version": "1.0.3", 14779 14587 "resolved": "https://registry.npmjs.org/timeout-refresh/-/timeout-refresh-1.0.3.tgz", ··· 15296 15104 "typescript": ">= 4.0.0" 15297 15105 } 15298 15106 }, 15299 - "node_modules/uc.micro": { 15300 - "version": "2.1.0", 15301 - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", 15302 - "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", 15303 - "dev": true, 15304 - "license": "MIT", 15305 - "peer": true 15306 - }, 15307 15107 "node_modules/uint8-util": { 15308 15108 "version": "2.2.5", 15309 15109 "resolved": "https://registry.npmjs.org/uint8-util/-/uint8-util-2.2.5.tgz", ··· 15332 15132 "funding": { 15333 15133 "url": "https://github.com/sponsors/ljharb" 15334 15134 } 15335 - }, 15336 - "node_modules/underscore": { 15337 - "version": "1.13.7", 15338 - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", 15339 - "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", 15340 - "dev": true, 15341 - "license": "MIT" 15342 15135 }, 15343 15136 "node_modules/undici-types": { 15344 15137 "version": "7.8.0", ··· 15614 15407 } 15615 15408 }, 15616 15409 "node_modules/util": { 15617 - "version": "0.10.4", 15618 - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", 15619 - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", 15410 + "version": "0.12.5", 15411 + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", 15412 + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", 15620 15413 "dev": true, 15621 15414 "license": "MIT", 15622 15415 "dependencies": { 15623 - "inherits": "2.0.3" 15416 + "inherits": "^2.0.3", 15417 + "is-arguments": "^1.0.4", 15418 + "is-generator-function": "^1.0.7", 15419 + "is-typed-array": "^1.1.3", 15420 + "which-typed-array": "^1.1.2" 15624 15421 } 15625 15422 }, 15626 15423 "node_modules/util-deprecate": { ··· 15628 15425 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 15629 15426 "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 15630 15427 "license": "MIT" 15631 - }, 15632 - "node_modules/util/node_modules/inherits": { 15633 - "version": "2.0.3", 15634 - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 15635 - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", 15636 - "dev": true, 15637 - "license": "ISC" 15638 15428 }, 15639 15429 "node_modules/utp-native": { 15640 15430 "version": "2.5.3", ··· 16369 16159 "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 16370 16160 } 16371 16161 }, 16372 - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { 16373 - "version": "5.0.1", 16374 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 16375 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 16376 - "dev": true, 16377 - "license": "MIT", 16378 - "engines": { 16379 - "node": ">=8" 16380 - } 16381 - }, 16382 16162 "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { 16383 16163 "version": "8.0.0", 16384 16164 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ··· 16508 16288 "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", 16509 16289 "dev": true, 16510 16290 "license": "MIT" 16511 - }, 16512 - "node_modules/xmlcreate": { 16513 - "version": "2.0.4", 16514 - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", 16515 - "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", 16516 - "dev": true, 16517 - "license": "Apache-2.0" 16518 16291 }, 16519 16292 "node_modules/xtend": { 16520 16293 "version": "4.0.2", ··· 16572 16345 "node": ">=12" 16573 16346 } 16574 16347 }, 16575 - "node_modules/yargs/node_modules/ansi-regex": { 16576 - "version": "5.0.1", 16577 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 16578 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 16579 - "dev": true, 16580 - "license": "MIT", 16581 - "engines": { 16582 - "node": ">=8" 16583 - } 16584 - }, 16585 16348 "node_modules/yargs/node_modules/emoji-regex": { 16586 16349 "version": "8.0.0", 16587 16350 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ··· 16631 16394 } 16632 16395 }, 16633 16396 "node_modules/zod": { 16634 - "version": "3.25.64", 16635 - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.64.tgz", 16636 - "integrity": "sha512-hbP9FpSZf7pkS7hRVUrOjhwKJNyampPgtXKc3AN6DsWtoHsg2Sb4SQaS4Tcay380zSwd2VPo9G9180emBACp5g==", 16397 + "version": "3.25.67", 16398 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.67.tgz", 16399 + "integrity": "sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==", 16637 16400 "license": "MIT", 16638 16401 "funding": { 16639 16402 "url": "https://github.com/sponsors/colinhacks"
+2 -3
package.json
··· 43 43 "@testing-library/preact": "^3.2.4", 44 44 "@types/confusing-browser-globals": "^1.0.3", 45 45 "@types/express": "^5.0.3", 46 - "@types/jest": "^29.5.14", 46 + "@types/jest": "^30.0.0", 47 47 "@types/node": "^24.0.1", 48 48 "@types/simple-peer": "^9.11.8", 49 49 "@types/ws": "^8.18.1", ··· 57 57 "glob-to-regexp": "^0.4.1", 58 58 "globals": "^16.2.0", 59 59 "identity-obj-proxy": "^3.0.0", 60 - "jest": "^30.0.0", 60 + "jest": "^30.0.2", 61 61 "jest-environment-jsdom": "^30.0.0", 62 62 "jest-fixed-jsdom": "^0.0.9", 63 63 "jsdom": "^26.1.0", 64 64 "parse-gitignore": "^2.0.0", 65 65 "prettier": "^3.5.3", 66 66 "prettier-plugin-organize-imports": "^4.1.0", 67 - "tidy-jsdoc-fork": "github:lygaret/tidy-jsdoc", 68 67 "ts-jest": "^29.4.0", 69 68 "typescript": "^5.8.3", 70 69 "typescript-eslint": "^8.34.1",
+11 -11
src/client/components/messenger.tsx
··· 1 - import {RealmConnection} from '#client/realm/connection.js' 1 + import {RealmConnection} from '#client/realm/connection' 2 2 import {IdentID} from '#common/protocol' 3 3 import {useCallback, useEffect, useState} from 'preact/hooks' 4 4 5 - export type MessengerProps = { 6 - realmConnection: RealmConnection 5 + export interface MessengerProps { 6 + realm: RealmConnection 7 7 } 8 8 9 - export const Messenger: preact.FunctionComponent<{webrtcManager: RealmConnection}> = (props) => { 10 - const {webrtcManager} = props 9 + export const Messenger: preact.FunctionComponent<MessengerProps> = ({realm}) => { 11 10 const [messages, setMessages] = useState<[IdentID, string][]>([]) 12 11 13 12 const peerdata = useCallback( ··· 18 17 ) 19 18 20 19 const sendMessage = useCallback(() => { 21 - webrtcManager.broadcast("what's up friends?") 22 - }, [webrtcManager]) 20 + realm.broadcast("what's up friends?") 21 + }, [realm]) 23 22 24 23 useEffect(() => { 25 - if (!webrtcManager) return 24 + if (!realm) return 26 25 27 - webrtcManager.addEventListener('peerdata', peerdata as (event: Event) => void) 26 + const handler = peerdata as EventListener 27 + realm.addEventListener('peerdata', handler) 28 28 return () => { 29 - webrtcManager.removeEventListener('peerdata', peerdata as (event: Event) => void) 29 + realm.removeEventListener('peerdata', handler) 30 30 } 31 - }, [webrtcManager, peerdata]) 31 + }, [realm, peerdata]) 32 32 33 33 return ( 34 34 <div className="messages-list">
+6 -8
src/client/realm/connection.ts
··· 20 20 21 21 /** the state of a specific peer */ 22 22 export interface PeerState { 23 - /** true if the peer connection is active */ 23 + /** if the peer connection is active */ 24 24 connected: boolean 25 25 26 - /** true if the peer connection has been destroyed */ 26 + /** if the peer connection has been destroyed */ 27 27 destroyed: boolean 28 28 29 - /** the peer's address */ 29 + /** the peer's address (ip and port) */ 30 30 address: ReturnType<SimplePeer.Instance['address']> 31 31 } 32 32 33 + /** identity info for connecting to a realm */ 33 34 export interface RealmIdentity { 34 35 realmid: RealmID 35 36 identid: IdentID 36 37 keypair: CryptoKeyPair 37 38 } 38 39 39 - /** A connection manager */ 40 + /** manages websocket and webrtc connections for a realm */ 40 41 export class RealmConnection extends EventTarget { 41 42 #url: string 42 43 #identity: RealmIdentity ··· 264 265 sendSocket(this.#socket, resp) 265 266 } 266 267 267 - /** @returns the current peer state mapping */ 268 268 getPeerStates(): Record<IdentID, PeerState> { 269 269 const states: Record<IdentID, PeerState> = {} 270 270 for (const [peerId, peer] of this.#peers) { ··· 281 281 282 282 const peerPingSchema = z.object({type: z.literal('ping'), timestamp: z.number()}) 283 283 284 - /** 285 - * a peer belonging to the connection manager 286 - */ 284 + /** a single webrtc peer connection within a realm */ 287 285 export class RealmConnectionPeer extends SimplePeer { 288 286 #connection: RealmConnection 289 287
+1 -1
src/client/realm/context.tsx
··· 1 1 import {createContext} from 'preact' 2 2 import {useCallback, useEffect, useState} from 'preact/hooks' 3 3 4 - import {RealmConnection, RealmIdentity} from '#client/realm/connection.js' 4 + import {RealmConnection, RealmIdentity} from '#client/realm/connection' 5 5 6 6 interface RealmConnectionContext { 7 7 realm?: RealmConnection
+4 -5
src/client/webrtc-demo.tsx
··· 6 6 7 7 import {generateSigningJwkPair} from '#common/crypto/jwks' 8 8 import * as protocol from '#common/protocol' 9 - import {Callback} from '#common/types.js' 10 9 11 - function attachEventListener<CB extends Callback>( 10 + function attachEventListener<F extends EventListenerOrEventListenerObject>( 12 11 target: EventTarget, 13 12 name: string, 14 - listener: CB, 15 - ): CB { 13 + listener: F, 14 + ): F { 16 15 target.addEventListener(name, listener) 17 16 return listener 18 17 } ··· 110 109 <div className="demo-layout"> 111 110 <div className="demo-section"> 112 111 <PeerList webrtcManager={context.realm} /> 113 - <Messenger webrtcManager={context.realm} /> 112 + <Messenger realm={context.realm} /> 114 113 </div> 115 114 </div> 116 115 )}
+1 -1
src/common/async/blocking-atom.ts
··· 1 - import {Semaphore} from './semaphore.js' 1 + import {Semaphore} from './semaphore' 2 2 3 3 /** 4 4 * simple blocking atom, for waiting for a value.
+1 -1
src/common/async/blocking-queue.ts
··· 1 - import {Semaphore} from './semaphore.js' 1 + import {Semaphore} from './semaphore' 2 2 3 3 /** 4 4 * simple blocking queue, for turning streams into async pulls.
+6 -8
src/common/breaker.ts
··· 1 - import {Callback} from '#common/types' 2 - 3 1 /** 4 2 * A Breaker, which allows creating wrapped functions which will only be executed before 5 3 * the breaker is tripped. ··· 49 47 * @param fn - the function to be wrapped in the breaker 50 48 * @returns a wrapped function, controlled by the breaker 51 49 */ 52 - tripThen<CB extends Callback>(fn: CB): CB { 53 - return ((...args: Parameters<CB>): void => { 50 + tripThen<T extends unknown[]>(fn: (...args: T) => void): (...args: T) => void { 51 + return (...args: T): void => { 54 52 if (!this.#tripped) { 55 53 this.#tripped = true 56 54 ··· 58 56 this.#onTripped?.() 59 57 fn(...args) 60 58 } 61 - }) as CB 59 + } 62 60 } 63 61 64 62 /** ··· 68 66 * @param fn - the function to be wrapped in the breaker 69 67 * @returns a wrapped function, controlled by the breaker 70 68 */ 71 - untilTripped<CB extends Callback>(fn: CB): CB { 72 - return ((...args: Parameters<CB>): void => { 69 + untilTripped<T extends unknown[]>(fn: (...args: T) => void): (...args: T) => void { 70 + return (...args: T): void => { 73 71 if (!this.#tripped) { 74 72 // TODO: if these throw, what to do? 75 73 fn(...args) 76 74 } 77 - }) as CB 75 + } 78 76 } 79 77 }
+1 -1
src/common/crypto/errors.ts
··· 1 - import {BaseError, BaseErrorOpts} from '#common/errors.js' 1 + import {BaseError, BaseErrorOpts} from '#common/errors' 2 2 3 3 /** Common base class for errors in the crypto module */ 4 4 export class CryptoError extends BaseError {}
+1 -1
src/common/crypto/jwks.ts
··· 1 1 import * as jose from 'jose' 2 2 import {z} from 'zod/v4' 3 - import {CryptoError} from './errors.js' 3 + import {CryptoError} from './errors' 4 4 5 5 const subtleSignAlgo = {name: 'ECDSA', namedCurve: 'P-256'} 6 6 const joseSignAlgo = {name: 'ES256'}
+6 -6
src/common/errors.ts
··· 12 12 500: 'Internal Server Error', 13 13 } 14 14 15 - /** Base error options interface */ 15 + /** base error options interface */ 16 16 export interface BaseErrorOpts { 17 17 /** the cause of the error */ 18 18 cause?: Error 19 19 } 20 20 21 21 /** 22 - * Common base class for Skypod Errors 22 + * common base class for skypod errors 23 23 * only difference is that we explicitly type cause to be Error 24 24 */ 25 25 export class BaseError extends Error { ··· 32 32 } 33 33 } 34 34 35 - /** Common base class for Websocket Errors */ 35 + /** common base class for websocket errors */ 36 36 export class ProtocolError extends BaseError { 37 37 /** the HTTP status code representing this error */ 38 38 status: number ··· 46 46 } 47 47 } 48 48 49 - /** Check if an error is a protocol error with optional status check */ 49 + /** check if an error is a protocol error with optional status check */ 50 50 export function isProtocolError(e: Error, status?: number): e is ProtocolError { 51 51 return e instanceof ProtocolError && (status === undefined || e.status == status) 52 52 } 53 53 54 54 /** 55 - * Normalizes the given error into a protocol error 55 + * normalizes the given error into a protocol error 56 56 * passes through input that is already protocol errors. 57 57 */ 58 58 export function normalizeProtocolError(cause: unknown): ProtocolError { ··· 73 73 return new ProtocolError(`Error! ${cause}`, 500, options) 74 74 } 75 75 76 - /** Error wrapper for unknown errors (not an Error?) */ 76 + /** error wrapper for unknown errors (not an Error?) */ 77 77 export class NormalizedError extends Error {} 78 78 79 79 /**
+4 -4
src/common/protocol.ts
··· 1 + import {z} from 'zod/v4' 2 + 1 3 export * from './protocol/brands' 2 4 export * from './protocol/messages' 3 5 export * from './protocol/messages-preauth' 4 6 export * from './protocol/messages-realm' 5 7 6 - import {z} from 'zod/v4' 7 - 8 - /** A zod transformer for parsing json */ 9 - export const parseJson: z.ZodTransform<unknown, string> = z.transform((input, ctx) => { 8 + /** a zod transformer for parsing json */ 9 + export const parseJson = z.transform<string, unknown>((input, ctx) => { 10 10 try { 11 11 return JSON.parse(input) as unknown 12 12 } catch {
+8 -3
src/common/schema/brand.ts
··· 4 4 export type Branded<T, B> = T & {__brand: B} 5 5 6 6 /** 7 - * A brand creates identifiers that are typesafe by construction, 8 - * and shouldn't be able to be passed to the wrong resource type. 7 + * creates typesafe identifiers that can't be passed to the wrong resource type. 8 + * 9 + * @example 10 + * ``` 11 + * const UserBrand = new Brand(Symbol('user'), 'user') 12 + * type UserID = ReturnType<typeof UserBrand.generate> 13 + * ``` 9 14 */ 10 15 export class Brand<B extends symbol> { 11 16 #prefix: string ··· 34 39 return this.#schema.parse(input) as Branded<string, B> 35 40 } 36 41 37 - /** @returns a boolean if the string is valid */ 42 + /** type guard to check if a string is a valid branded id */ 38 43 validate(input: string): input is Branded<string, B> { 39 44 return input != null && typeof input === 'string' && this.#schema.safeParse(input).success 40 45 }
+6 -13
src/common/socket.ts
··· 7 7 import {normalizeError, ProtocolError} from '#common/errors' 8 8 import {z} from 'zod/v4' 9 9 10 - import {parseJson} from './protocol.js' 10 + import {parseJson} from './protocol' 11 11 12 - /** Send some data in JSON format down the wire. */ 12 + /** send some data in json format down the wire */ 13 13 export function sendSocket(ws: WebSocket, data: unknown): void { 14 14 ws.send(JSON.stringify(data)) 15 15 } 16 16 17 17 /** 18 - * Given a websocket, wait and take a single message off and return it. 18 + * given a websocket, wait and take a single message off and return it 19 19 * 20 20 * @example 21 21 * ``` ··· 70 70 } 71 71 } 72 72 73 - /** 74 - * exactly take socket, but will additionally apply a json decoding 75 - * 76 - * @param ws - the socket to read 77 - * @param schema - an a schema to execute 78 - * @param signal - an abort signal to cancel the block 79 - * @returns the message off the socket 80 - */ 73 + /** exactly take socket, but will additionally apply a json decoding */ 81 74 export async function takeSocketJson<T>( 82 75 ws: WebSocket, 83 76 schema: z.ZodType<T>, ··· 107 100 type StreamYield = [typeof yield$, unknown] | [typeof error$, Error] | [typeof end$] 108 101 109 102 /** 110 - * Given a websocket, stream messages off the socket as an async generator. 103 + * given a websocket, stream messages off the socket as an async generator 111 104 * 112 105 * @example 113 - * ```ts 106 + * ``` 114 107 * const ws = new WebSocket("wss://example.com/stream") 115 108 * const timeout = timeoutSignal(5000) 116 109 *
+4 -4
src/common/strict-map.ts
··· 1 - /** A map with methods to ensure key presence and safe update. */ 1 + /** a map with methods to ensure key presence and safe update */ 2 2 export class StrictMap<K, V> extends Map<K, V> { 3 3 /** 4 - * Get a value from the map, throwing if missing 4 + * get a value from the map, throwing if missing 5 5 * @throws Error if the key is not present in the map 6 6 */ 7 7 require(key: K): V { ··· 12 12 return value 13 13 } 14 14 15 - /** Get a value from the map, creating it if not present */ 15 + /** get a value from the map, creating it if not present */ 16 16 ensure(key: K, maker: () => V): V { 17 17 if (!this.has(key)) { 18 18 this.set(key, maker()) ··· 22 22 return this.get(key)! 23 23 } 24 24 25 - /** Update a value in the map, removing if undefined is returned */ 25 + /** update a value in the map, removing if undefined is returned */ 26 26 update(key: K, update: (prev?: V) => V | undefined): void { 27 27 const prev = this.get(key) 28 28 const next = update(prev)
-13
src/common/types.ts
··· 1 - import {NEVER} from 'zod/v4' 2 - 3 - /** A callback function, with arbitrary arguments; use `Parameters` to extract them. */ 4 - // eslint-disable-next-line @typescript-eslint/no-explicit-any 5 - export type Callback = (...args: any[]) => void 6 - 7 - /** 8 - * A callback function with no arguments. 9 - */ 10 - export type VoidCallback = () => void 11 - 12 - const output = NEVER 13 - export default output
+1 -3
src/server/index.ts
··· 9 9 import {makeSpaMiddleware, makeStaticMiddleware} from './routes-static' 10 10 11 11 /** 12 - * configures an http server which hosts the SPA and websocket endpoint 13 - * 12 + * configures an http server which hosts the spa and websocket endpoint 14 13 * @param root - the path to the root public/ directory 15 - * @returns a configured server 16 14 */ 17 15 export function buildServer(root: string): http.Server { 18 16 const app = express()
+1 -1
src/server/routes-socket/handler-realm.ts
··· 2 2 3 3 import {normalizeProtocolError, ProtocolError} from '#common/errors' 4 4 import * as protocol from '#common/protocol' 5 - import {sendSocket, streamSocket} from '#common/socket.js' 5 + import {sendSocket, streamSocket} from '#common/socket' 6 6 import * as realm from '#server/routes-socket/state' 7 7 8 8 /**
+1 -1
src/server/routes-socket/handler.ts
··· 7 7 import {realmHandler} from './handler-realm' 8 8 import {attachSocket, detachSocket} from './state' 9 9 10 - /** when the socket connects, we drive our protocol through handlers. */ 10 + /** when the socket connects, we drive our protocol through handlers */ 11 11 export async function socketHandler(ws: WebSocket) { 12 12 console.log('WebSocket connection established') 13 13
+1 -1
src/server/routes-socket/state.ts
··· 1 1 import WebSocket from 'isomorphic-ws' 2 2 3 - import {IdentID, RealmID} from '#common/protocol.js' 3 + import {IdentID, RealmID} from '#common/protocol' 4 4 import {StrictMap} from '#common/strict-map' 5 5 6 6 /** An authenticated identity; only handed out in response to successful authentication. */