diff --git a/docs/ANIMATION.md b/docs/ANIMATION.md new file mode 100644 index 000000000..72eed10dd --- /dev/null +++ b/docs/ANIMATION.md @@ -0,0 +1,97 @@ +# Animation + +The renderer allows you to bring your own animation library. This page will teach you how to attach an Animation library to the renderer. + +Don't know what library to use? The animation manager used in 3.2 and versions below is easily attached. In fact it will be used as example on this page. + +## Attach your Animation Library + +Renderer AnimationManager: + +```ts +import { RendererMain } from '@lightningjs/renderer'; +import { AnimationManager } from '@lightningjs/renderer/animation'; + +const renderer = new RendererMain(settings, 'app'); +const animationManager = new AnimationManager(renderer.stage); + +renderer.on('frameTick', (target: RendererMain, payload: FrameTickPayload) => { + // Update the animation manager with the delta time + animationManager.update(payload.delta); +}); +``` + +or for example Animejs: + +```ts +import { RendererMain } from '@lightningjs/renderer'; +import { engine } from 'animejs'; + +const renderer = new RendererMain(settings, 'app'); +//Turn this off so the engine does not trigger the update more than the frameTicks come through +engine.useDefaultMainLoop = false; + +renderer.on('frameTick', (target: RendererMain, payload: FrameTickPayload) => { + engine.update(); +}); +``` + +## Animating CoreNode and Shader + +You can animate the CoreNode and its shader by using these values: + +**CoreNode** + +```ts +animationManager + .animate( + node, + { + x: 20, + }, + { + duration: 200, + }, + ) + .start(); +``` + +**Shader Props** + +```ts +animationManager + .animate( + node.shader.props, + { + x: 20, + }, + { + duration: 200, + }, + ) + .start(); +``` + +## Animation aware texture processing + +On the `Stage` there is a unified animation reference counter that throttles texture uploads during animations to preserve the frame budget on embedded devices. + +For the AnimationManager from `@lightningjs/renderer/animation` this has already been built in. Below you'll find an example on how to implement this using `AnimeJS` + +```ts +import { animate, createTimeline } from 'animejs'; + +animate(node, { + x: 30, + duration: 300, + onBegin: () => renderer.registerAnimation(), + onComplete: () => renderer.unregisterAnimation(), +}); + +//or + +createTimeline({ + onBegin: () => renderer.registerAnimation(), + onComplete: () => renderer.unregisterAnimation(), +}); +``` diff --git a/docs/example-projects/custom-animation-manager/index.html b/docs/example-projects/custom-animation-manager/index.html new file mode 100644 index 000000000..9678f1400 --- /dev/null +++ b/docs/example-projects/custom-animation-manager/index.html @@ -0,0 +1,21 @@ + + + Renderer Browser Test + + + +
+ + + diff --git a/docs/example-projects/custom-animation-manager/package.json b/docs/example-projects/custom-animation-manager/package.json new file mode 100644 index 000000000..6b2812f41 --- /dev/null +++ b/docs/example-projects/custom-animation-manager/package.json @@ -0,0 +1,24 @@ +{ + "name": "renderer-custom-animation-manager", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "start": "vite --open --host", + "build": "tsc && vite build", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "Jeffrey Boeve", + "license": "ISC", + "dependencies": { + "@lightningjs/renderer": "link:../../..", + "animejs": "^4.5.0" + }, + "devDependencies": { + "@types/node": "^20.12.12", + "typescript": "^5.4.5", + "vite": "^5.2.11" + } +} diff --git a/docs/example-projects/custom-animation-manager/pnpm-lock.yaml b/docs/example-projects/custom-animation-manager/pnpm-lock.yaml new file mode 100644 index 000000000..1774ee367 --- /dev/null +++ b/docs/example-projects/custom-animation-manager/pnpm-lock.yaml @@ -0,0 +1,627 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@lightningjs/renderer': + specifier: link:../../.. + version: link:../../.. + animejs: + specifier: ^4.5.0 + version: 4.5.0 + devDependencies: + '@types/node': + specifier: ^20.12.12 + version: 20.19.43 + typescript: + specifier: ^5.4.5 + version: 5.9.3 + vite: + specifier: ^5.2.11 + version: 5.4.21(@types/node@20.19.43) + +packages: + + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@napi-rs/lzma-linux-x64-gnu@1.5.1': + resolution: {integrity: sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==} + engines: {node: ^22.20 || ^24.12 || >=25} + cpu: [x64] + os: [linux] + + '@rollup/rollup-android-arm-eabi@4.62.4': + resolution: {integrity: sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.62.4': + resolution: {integrity: sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.62.4': + resolution: {integrity: sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.62.4': + resolution: {integrity: sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.62.4': + resolution: {integrity: sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.62.4': + resolution: {integrity: sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.62.4': + resolution: {integrity: sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.62.4': + resolution: {integrity: sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.62.4': + resolution: {integrity: sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.62.4': + resolution: {integrity: sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.62.4': + resolution: {integrity: sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-loong64-musl@4.62.4': + resolution: {integrity: sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.62.4': + resolution: {integrity: sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-ppc64-musl@4.62.4': + resolution: {integrity: sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.62.4': + resolution: {integrity: sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.62.4': + resolution: {integrity: sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.62.4': + resolution: {integrity: sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.62.4': + resolution: {integrity: sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.62.4': + resolution: {integrity: sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openbsd-x64@4.62.4': + resolution: {integrity: sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.62.4': + resolution: {integrity: sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.62.4': + resolution: {integrity: sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.62.4': + resolution: {integrity: sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.62.4': + resolution: {integrity: sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.62.4': + resolution: {integrity: sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q==} + cpu: [x64] + os: [win32] + + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + + '@types/node@20.19.43': + resolution: {integrity: sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==} + + animejs@4.5.0: + resolution: {integrity: sha512-NQimYX+lz8WaXonGS9zVVoviCIAjONeJayxacUditaivYLqyXgGjFKjuyl0aUUhFKm5MriX9ty1TGovNzoJQWA==} + peerDependencies: + '@types/three': '>=0.150.0' + three: '>=0.150.0' + peerDependenciesMeta: + '@types/three': + optional: true + three: + optional: true + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + nanoid@3.3.17: + resolution: {integrity: sha512-xQLf0A3HOMlgHq0n247/LRuAOYmB7dXJ/DvAxGvsSBij45XtBSmQycu+F8ODbHwns/XyFZagyL1+J0Offw1E0g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + postcss@8.5.26: + resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==} + engines: {node: ^10 || ^12 || >=14} + + rollup@4.62.4: + resolution: {integrity: sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + vite@5.4.21: + resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + +snapshots: + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@napi-rs/lzma-linux-x64-gnu@1.5.1': + optional: true + + '@rollup/rollup-android-arm-eabi@4.62.4': + optional: true + + '@rollup/rollup-android-arm64@4.62.4': + optional: true + + '@rollup/rollup-darwin-arm64@4.62.4': + optional: true + + '@rollup/rollup-darwin-x64@4.62.4': + optional: true + + '@rollup/rollup-freebsd-arm64@4.62.4': + optional: true + + '@rollup/rollup-freebsd-x64@4.62.4': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.62.4': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.62.4': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.62.4': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.62.4': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.62.4': + optional: true + + '@rollup/rollup-linux-loong64-musl@4.62.4': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.62.4': + optional: true + + '@rollup/rollup-linux-ppc64-musl@4.62.4': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.62.4': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.62.4': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.62.4': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.62.4': + optional: true + + '@rollup/rollup-linux-x64-musl@4.62.4': + optional: true + + '@rollup/rollup-openbsd-x64@4.62.4': + optional: true + + '@rollup/rollup-openharmony-arm64@4.62.4': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.62.4': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.62.4': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.62.4': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.62.4': + optional: true + + '@types/estree@1.0.9': {} + + '@types/node@20.19.43': + dependencies: + undici-types: 6.21.0 + + animejs@4.5.0: {} + + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + fsevents@2.3.3: + optional: true + + nanoid@3.3.17: {} + + picocolors@1.1.1: {} + + postcss@8.5.26: + dependencies: + nanoid: 3.3.17 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + rollup@4.62.4: + dependencies: + '@types/estree': 1.0.9 + optionalDependencies: + '@napi-rs/lzma-linux-x64-gnu': 1.5.1 + '@rollup/rollup-android-arm-eabi': 4.62.4 + '@rollup/rollup-android-arm64': 4.62.4 + '@rollup/rollup-darwin-arm64': 4.62.4 + '@rollup/rollup-darwin-x64': 4.62.4 + '@rollup/rollup-freebsd-arm64': 4.62.4 + '@rollup/rollup-freebsd-x64': 4.62.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.62.4 + '@rollup/rollup-linux-arm-musleabihf': 4.62.4 + '@rollup/rollup-linux-arm64-gnu': 4.62.4 + '@rollup/rollup-linux-arm64-musl': 4.62.4 + '@rollup/rollup-linux-loong64-gnu': 4.62.4 + '@rollup/rollup-linux-loong64-musl': 4.62.4 + '@rollup/rollup-linux-ppc64-gnu': 4.62.4 + '@rollup/rollup-linux-ppc64-musl': 4.62.4 + '@rollup/rollup-linux-riscv64-gnu': 4.62.4 + '@rollup/rollup-linux-riscv64-musl': 4.62.4 + '@rollup/rollup-linux-s390x-gnu': 4.62.4 + '@rollup/rollup-linux-x64-gnu': 4.62.4 + '@rollup/rollup-linux-x64-musl': 4.62.4 + '@rollup/rollup-openbsd-x64': 4.62.4 + '@rollup/rollup-openharmony-arm64': 4.62.4 + '@rollup/rollup-win32-arm64-msvc': 4.62.4 + '@rollup/rollup-win32-ia32-msvc': 4.62.4 + '@rollup/rollup-win32-x64-gnu': 4.62.4 + '@rollup/rollup-win32-x64-msvc': 4.62.4 + fsevents: 2.3.3 + + source-map-js@1.2.1: {} + + typescript@5.9.3: {} + + undici-types@6.21.0: {} + + vite@5.4.21(@types/node@20.19.43): + dependencies: + esbuild: 0.21.5 + postcss: 8.5.26 + rollup: 4.62.4 + optionalDependencies: + '@types/node': 20.19.43 + fsevents: 2.3.3 diff --git a/docs/example-projects/custom-animation-manager/pnpm-workspace.yaml b/docs/example-projects/custom-animation-manager/pnpm-workspace.yaml new file mode 100644 index 000000000..e69de29bb diff --git a/docs/example-projects/custom-animation-manager/src/index.ts b/docs/example-projects/custom-animation-manager/src/index.ts new file mode 100644 index 000000000..1a80cf701 --- /dev/null +++ b/docs/example-projects/custom-animation-manager/src/index.ts @@ -0,0 +1,127 @@ +import { RendererMain, type INode } from '@lightningjs/renderer'; +import { WebGlRenderer } from '@lightningjs/renderer/webgl'; +import { WebPlatform } from '@lightningjs/renderer/platforms'; +import { engine, animate } from 'animejs'; + +const SHAPE_1 = + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEjSURBVHgBnZO9TgJBFIXvbEllQqsJNrTaSmVhqdHKViyplCewsTXhDcAnkBcwUkm52tqwJrYmVLTDOXAWJsPfhJN8e/fuzD2TmblrFsl7fw66YOSXyvWtZpuEwQPw5nfrKaxzZTFCDrjCBLyDIfjXvDo4Aw3lPefcfWjQRWiq4CUojEWjFqiANkw6jntG8qGVn7cUlzqVyRgcZ3jcaWCYUEx9gR/AbTczOVKflq5c8SQ0+LN0lXNrWfCxYnuIBoXeDy1d5dxvGrwqaVi6LhQHNOgpYaPUE4qvQBUU6IN+hkeBpK3Blow26RZc6n3ZiRQaqoPwoJT3zKviafNwj2Rc1fisC1fsYfIY/YWxRurchdwaE3bYDbi2ebexZX9BH6sO4vlTUbSnqsTgwTgAAAAASUVORK5CYII='; +const SHAPE_2 = + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABOSURBVHgB7ZKhDQAgDAQfwiA4loEhUKzFZoxSqKtAtFUILmnST/7cByJaADJs9OiQmJxEGAqhnmv8RDj54lOiHEBV9MtNbDDAYod9r3MDaHkHotN0PbEAAAAASUVORK5CYII='; +const SHAPE_3 = + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFcSURBVHgBrVQtTwNBEJ1tMKCa8AOoqj6LK6BJjl8AFleCwsE/AEGQdx5RgYXUYTnbmjsSJKQ1xW7f5N4m28u2d/14ybuZ2515O9PerEgNrLVtMAf7sgtA6MqWmMguwOocerINVMAuYijbAAIJhb7AGf22bAIkdrzK7sB3+ver8gwCYtgIPOJah3R+Br6AXfCW6wXp/G/66R4eCbiqjQ/aMdmtHOqj0Ap1Y+gFpExU/AWSDsB98BA8k7I7xZMxpt/Co8DLidfCORNCYop/7kWe2I2KqWNcFP89bT9m0iv4uaTCaylbn1IsdZst52BxCl7AfWDSpYRxSrFCO/PFFgQ9ZLRjCcOtawFZdTMk2KMd0eqPry0e8/2HNmr0ket48QN+Bt+8CVH88iMfNZptXlUOvlBSuSRmTaYmdBnkrgoe9mjXuSz0RAZOlp3OGc9dXJ1gDA44PXWxevEOqutzNZRW6qN+HjoAAAAASUVORK5CYII='; + +const SHAPES = [SHAPE_1, SHAPE_2, SHAPE_3]; +const COLORS = [0x3c91efff, 0x847effff, 0x00a75eff, 0xf1604bff, 0xc4defaff]; + +const Y_START = -40; +const Y_END = 1600; + +const POOL_SIZE = 160; +const BURST_COUNT = 30; + +type Particle = { + node: INode; + launchDelay: number; + launch(isBurst: boolean, side: 'left' | 'right' | null, startY: number): void; +}; + +(async () => { + const renderer = new RendererMain( + { + appWidth: 1920, + appHeight: 1080, + boundsMargin: [100, 100, 100, 100], + clearColor: 0x000000ff, + fpsUpdateInterval: 1000, + enableContextSpy: false, + renderEngine: WebGlRenderer, + platform: WebPlatform, + }, + 'app', + ); + //override default main loop to use animejs timeline for animation updates + engine.useDefaultMainLoop = false; + + renderer.on('frameTick', (fps) => { + //manually trigger engine update to ensure animejs timeline is updated + engine.update(); + }); + const root = renderer.root; + + function createParticle( + isBurst: boolean, + side: 'left' | 'right' | null, + startY: number, + launchDelay: number, + ) { + const particle: Particle = { + node: renderer.createNode({ + x: 0, + y: Y_START, + w: 40, + h: 40, + parent: root, + }), + launchDelay: Math.random() * 2000, + launch(isBurst: boolean, side: 'left' | 'right' | null, startY: number) { + const size = 11 + Math.random() * 25; + const ratio = size / 36; + const baseDurationMs = Math.round( + (isBurst ? 2.2 + Math.random() * 1.5 : 4.5 + Math.random()) * 1000, + ); + const durationMs = Math.round( + (baseDurationMs * (Y_END - startY)) / (Y_END - Y_START), + ); + const startX = isBurst + ? side === 'left' + ? -40 + : 1960 + : Math.random() * 1920; + const endX = + startX + + (isBurst + ? (3 + Math.random() * 35) * ratio * 28 * (side === 'left' ? 1 : -1) + : (Math.random() - 0.5) * 40); + const startRot = Math.random() * 360; + const endRot = + startRot + + (Math.random() < 0.5 ? -1 : 1) * (360 + Math.random() * 720); + + const node = this.node; + node.w = size; + node.h = size; + node.x = startX; + node.y = startY; + node.rotation = startRot * (Math.PI / 180); + node.color = COLORS[Math.floor(Math.random() * COLORS.length)]!; + node.src = SHAPES[Math.floor(Math.random() * SHAPES.length)]!; + + animate(node, { + y: { to: Y_END, ease: 'linear' }, + x: { to: endX, ease: 'cubic-bezier(0,0,0.4,1)' }, + rotation: { to: endRot * (Math.PI / 180), ease: 'easeOut' }, + duration: durationMs, + onComplete: () => { + this.launch(false, side, Y_START); + }, + }); + }, + }; + setTimeout(() => { + particle.launch(isBurst, side, startY); + }, launchDelay); + } + + for (let i = 0; i < BURST_COUNT; i++) { + createParticle(true, i % 2 === 0 ? 'left' : 'right', -40, i * 15); + } + + for (let i = 0; i < POOL_SIZE; i++) { + createParticle( + false, + null, + Math.floor(Math.random() * 1100), + (i - BURST_COUNT) * 3, + ); + } +})().catch(console.error); diff --git a/docs/example-projects/custom-animation-manager/tsconfig.cfg.json b/docs/example-projects/custom-animation-manager/tsconfig.cfg.json new file mode 100644 index 000000000..e8c9185d7 --- /dev/null +++ b/docs/example-projects/custom-animation-manager/tsconfig.cfg.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "outDir": "dist-cfg", + "types": ["@types/node"], + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "node", + "composite": true, + "resolveJsonModule": true, + "allowJs": true, + "esModuleInterop": true, + }, + "files": [ + "./vite.config.ts", + ] +} diff --git a/docs/example-projects/custom-animation-manager/tsconfig.json b/docs/example-projects/custom-animation-manager/tsconfig.json new file mode 100644 index 000000000..5d2d8b66f --- /dev/null +++ b/docs/example-projects/custom-animation-manager/tsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + "rootDir": ".", + "types": [], + "lib": ["ES2022", "DOM"], + "outDir": "dist-tsc", + "target": "ES2022", + "module": "Node16", + "moduleResolution": "Node16", + "sourceMap": true, + "declaration": true, + "experimentalDecorators": true, + + // Type Checking / Syntax Rules + "strict": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "verbatimModuleSyntax": true, + "composite": true, + }, + "include": [ + "./src/**/*.ts" + ], + "exclude": ["node_modules", "./**/*.test.ts"], + "references": [ + { + "path": "./tsconfig.cfg.json" + } + ], +} diff --git a/docs/example-projects/custom-animation-manager/vite.config.ts b/docs/example-projects/custom-animation-manager/vite.config.ts new file mode 100644 index 000000000..2e2acaccb --- /dev/null +++ b/docs/example-projects/custom-animation-manager/vite.config.ts @@ -0,0 +1,75 @@ +/* + * If not stated otherwise in this file or this component's LICENSE file the + * following copyright and licenses apply: + * + * Copyright 2024 Comcast Cable Communications Management, LLC. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { defineConfig } from 'vite'; +import * as path from 'path'; + +/** + * Targeting ES2019 gets us at least to WPE 2.28 + * + * Despite setting the target in different places in the Vite config below + * this does not seem to have an effect on the output when running Vite in + * development mode (`pnpm start`). In order to properly test on embedded devices + * that require the es2019 target, you must run `pnpm run build` and then serve the + * production build via `pnpm run preview`. + * + * See the following for any updates on this: + * https://github.com/vitejs/vite/issues/13756#issuecomment-1751085158 + */ +const prodTarget = 'es2019'; + +/** + * esbuild target for development mode + * + * Must be at least ES2020 to `import.meta.glob` to work. Even though this target + * mainly affects the output for the Vite dev server, it still affects how the + * `import.meta.glob` is transpiled in the production output. + */ +const devTarget = 'es2020'; + +/** + * Vite Config + */ +export default defineConfig(({ command, mode }) => { + return { + worker: { + format: 'es', + }, + esbuild: { + target: devTarget, + }, + optimizeDeps: { + esbuildOptions: { + target: devTarget, + }, + }, + build: { + target: prodTarget, + minify: false, + sourcemap: true, + outDir: path.resolve(__dirname, 'dist'), + }, + server: { + headers: { + 'Cross-Origin-Opener-Policy': 'same-origin', + 'Cross-Origin-Embedder-Policy': 'require-corp', + }, + }, + }; +}); diff --git a/docs/migration-3x-to-4.0.md b/docs/migration-3x-to-4.0.md new file mode 100644 index 000000000..cb85fa975 --- /dev/null +++ b/docs/migration-3x-to-4.0.md @@ -0,0 +1,112 @@ +# Migration Guide 3.x to 4.0 + +This guide documents breaking changes introduced in version 4.0. + +## Breaking Changes + +### 1) Animation exports removed from package root + +The following root exports were removed from `@lightningjs/renderer`: + +- `IAnimationController` +- `AnimationSettings` +- `AnimationManager` + +Use the `@lightningjs/renderer/animation` subpath instead. + +Before: + +```ts +import type { + IAnimationController, + AnimationSettings, + AnimationManager, +} from '@lightningjs/renderer'; +``` + +After: + +```ts +import type { + IAnimationController, + AnimationSettings, + AnimationManager, +} from '@lightningjs/renderer/animation'; +``` + +Why this is breaking: + +- Existing root imports fail at compile time once those symbols are no longer exported from the package root. + +### 2) AnimationManager no longer available in core package. + +We removed the AnimationManager from the main loop, this allows developers to implement an animation library of their choice. See [ANIMATION.md](./ANIMATION.md) to learn how to do this. + +### 3) Node.animate removed. + +Since the animation manager is removed from the core package this also means that the animate function on the CoreNode is removed. Below you'll find ways how to animate important values. We'll use the AnimationManager used in [ANIMATION.md](./ANIMATION.md) + +Node animations. + +before: + +```ts +Node.animate( + { + x: 20, + //othervalues + }, + { + duration: 200, + }, +).start(); +``` + +after: + +```ts +animationManager + .animate( + node, + { + x: 20, + }, + { + duration: 200, + }, + ) + .start(); +``` + +Shader animations: + +before: + +```ts +Node.animate( + { + shaderProps: { + radius: 300, + }, + }, + { + duration: 200, + }, +).start(); +``` + +after: + +```ts +animationManager + .animate( + node.shader.props, + { + x: 20, + }, + { + duration: 200, + }, + ) + .start(); +``` diff --git a/examples/common/ExampleSettings.ts b/examples/common/ExampleSettings.ts index ecba6e40a..f955f0ede 100644 --- a/examples/common/ExampleSettings.ts +++ b/examples/common/ExampleSettings.ts @@ -18,6 +18,7 @@ */ import type { INode, RendererMain } from '@lightningjs/renderer'; +import type { AnimationManager } from '@lightningjs/renderer/animation'; import type { MemMonitor } from './MemMonitor.js'; /** @@ -88,4 +89,6 @@ export interface ExampleSettings { * The MemMonitor instance for the test (if enabled) */ memMonitor: MemMonitor | null; + + animate: AnimationManager['createAnimation']; } diff --git a/examples/index.ts b/examples/index.ts index d8398acb8..b6b8233c3 100644 --- a/examples/index.ts +++ b/examples/index.ts @@ -22,6 +22,7 @@ import { type NodeLoadedPayload, type RendererMainSettings, type FpsUpdatePayload, + type FrameTickPayload, } from '@lightningjs/renderer'; import { WebGlRenderer, SdfTextRenderer } from '@lightningjs/renderer/webgl'; import { @@ -47,6 +48,7 @@ import { installFonts } from './common/installFonts.js'; import { MemMonitor } from './common/MemMonitor.js'; import { setupMathRandom } from './common/setupMathRandom.js'; import { installShaders } from './common/installShaders.js'; +import { AnimationManager } from '../dist/src/core/animations/AnimationManager.js'; interface TestModule { default: (settings: ExampleSettings) => Promise; @@ -172,7 +174,7 @@ async function runTest( ...(globalTargetFPS !== undefined && { targetFPS: globalTargetFPS }), }; - const { renderer, appElement } = await initRenderer( + const { renderer, appElement, animationManager } = await initRenderer( renderMode, platform, logFps, @@ -243,6 +245,7 @@ async function runTest( // No-op }, memMonitor, + animate: animationManager.createAnimation.bind(animationManager), }; await module.default(exampleSettings); @@ -302,6 +305,17 @@ async function initRenderer( */ let fpsSampleIndex = 0; let fpsSamplesLeft = fpsSampleCount; + + const animationManager = new AnimationManager(renderer.stage); + + renderer.on( + 'frameTick', + (target: RendererMain, payload: FrameTickPayload) => { + // Update the animation manager with the delta time + animationManager.update(payload.delta); + }, + ); + renderer.on( 'fpsUpdate', (target: RendererMain, fpsData: FpsUpdatePayload) => { @@ -372,7 +386,7 @@ async function initRenderer( assertTruthy(appElement instanceof HTMLDivElement); - return { renderer, appElement }; + return { renderer, appElement, animationManager }; } function wildcardMatch(string: string, wildcardString: string) { @@ -389,7 +403,7 @@ async function runAutomation( logFps: boolean, ) { const logicalPixelRatio = defaultResolution / appHeight; - const { renderer, appElement } = await initRenderer( + const { renderer, appElement, animationManager } = await initRenderer( renderMode, platform, logFps, @@ -471,6 +485,7 @@ async function runAutomation( } }, memMonitor: null, + animate: animationManager.createAnimation.bind(animationManager), }; await automation(exampleSettings); testRoot.parent = null; diff --git a/examples/tests/animation-events.ts b/examples/tests/animation-events.ts index 165d78d4b..8e765a60e 100644 --- a/examples/tests/animation-events.ts +++ b/examples/tests/animation-events.ts @@ -61,6 +61,7 @@ export default async function test({ renderer, testRoot, snapshot, + animate, }: ExampleSettings) { testRoot.w = 250; testRoot.h = 250; @@ -91,7 +92,8 @@ export default async function test({ ////////////////////////// status.text = 'a1: init'; await snapshot({ name: 'a1' }); - const animation1 = robot.animate( + const animation1 = animate( + robot, { x: 100, y: 100, @@ -128,7 +130,8 @@ export default async function test({ status.text = 'a2: init'; robot.color = 0xffffffff; // white await snapshot({ name: 'a2' }); - const animation2 = robot.animate( + const animation2 = animate( + robot, { x: 0, y: 0, @@ -172,7 +175,8 @@ export default async function test({ status.text = 'a3: init'; robot.color = 0xffffffff; // white await snapshot({ name: 'a3' }); - const animation3 = robot.animate( + const animation3 = animate( + robot, { x: 100, y: 100, diff --git a/examples/tests/animation.ts b/examples/tests/animation.ts index cc8950c55..fd2c918b1 100644 --- a/examples/tests/animation.ts +++ b/examples/tests/animation.ts @@ -17,10 +17,8 @@ * limitations under the License. */ -import type { - IAnimationController, - TimingFunction, -} from '@lightningjs/renderer'; +import type { TimingFunction } from '@lightningjs/renderer'; +import type { IAnimationController } from '@lightningjs/renderer/animation'; import type { ExampleSettings } from '../common/ExampleSettings.js'; interface AnimationExampleSettings { @@ -31,7 +29,11 @@ interface AnimationExampleSettings { stopMethod: 'reverse' | 'reset' | false; } -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + testRoot, + animate, +}: ExampleSettings) { const node = renderer.createNode({ x: 0, y: 0, @@ -140,7 +142,8 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { currentAnimation.stop(); } - currentAnimation = animatableNode.animate( + currentAnimation = animate( + animatableNode, { x: renderer.settings.appWidth - animatableNode.w, }, diff --git a/examples/tests/child-positioning.ts b/examples/tests/child-positioning.ts index a6b428ea3..ae4a85a26 100644 --- a/examples/tests/child-positioning.ts +++ b/examples/tests/child-positioning.ts @@ -19,7 +19,11 @@ import type { ExampleSettings } from '../common/ExampleSettings.js'; -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + testRoot, + animate, +}: ExampleSettings) { const rand = (min: number, max: number) => { return Math.random() * (max - min) + min; }; @@ -59,21 +63,20 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { setTimeout(() => { // node.rotation = 0.9; - node - .animate( - { - rotation: Math.PI * 2, - x: rand(-500, 1700), - y: rand(-500, 900), - scale: 2, - }, - { - duration: 4000, - loop: true, - easing: 'cubic-bezier(0.5, 0.5, 0.5, 0.5)', - }, - ) - .start(); + animate( + node, + { + rotation: Math.PI * 2, + x: rand(-500, 1700), + y: rand(-500, 900), + scale: 2, + }, + { + duration: 4000, + loop: true, + easing: 'cubic-bezier(0.5, 0.5, 0.5, 0.5)', + }, + ).start(); }, 1400); }); } diff --git a/examples/tests/confetti.ts b/examples/tests/confetti.ts index b5d9d0aba..356dd8d63 100644 --- a/examples/tests/confetti.ts +++ b/examples/tests/confetti.ts @@ -1,5 +1,5 @@ -import type { IAnimationController } from '../../dist/exports/index.js'; -import type { INode } from '../../dist/src/main-api/INode.js'; +import type { INode } from '@lightningjs/renderer'; +import type { IAnimationController } from '@lightningjs/renderer/animation'; import type { ExampleSettings } from '../common/ExampleSettings.js'; const SHAPE_1 = @@ -23,6 +23,7 @@ type Particle = { }; export default async function ({ renderer, + animate, testRoot, perfMultiplier, }: ExampleSettings) { @@ -77,7 +78,8 @@ export default async function ({ node.color = COLORS[Math.floor(Math.random() * COLORS.length)]!; node.src = SHAPES[Math.floor(Math.random() * SHAPES.length)]!; - const animateY = node.animate( + const animateY = animate( + node, { y: Y_END, }, @@ -88,7 +90,8 @@ export default async function ({ ); animateY.start(); - const animateX = node.animate( + const animateX = animate( + node, { x: endX, }, @@ -100,18 +103,6 @@ export default async function ({ animateX.start(); - // const animateRot = node.animate( - // { - // rotation: endRot * (Math.PI / 180), - // }, - // { - // duration: durationMs, - // easing: 'ease-out', - // } - // ) - - // animateRot.start(); - const onStopped = () => { animateY.off('stopped', onStopped); this.launch(false, null, Y_START); diff --git a/examples/tests/confetti2.ts b/examples/tests/confetti2.ts index a348adb04..afb973a37 100644 --- a/examples/tests/confetti2.ts +++ b/examples/tests/confetti2.ts @@ -34,8 +34,8 @@ * Use ?multiplier=N to scale the number of nodes (50 * N). */ -import type { IAnimationController } from '../../dist/exports/index.js'; -import type { INode } from '../../dist/src/main-api/INode.js'; +import type { INode } from '@lightningjs/renderer'; +import type { IAnimationController } from '@lightningjs/renderer/animation'; import type { ExampleSettings } from '../common/ExampleSettings.js'; const SHAPE_1 = @@ -64,6 +64,7 @@ type Particle = { export default async function ({ renderer, + animate, testRoot, perfMultiplier, }: ExampleSettings) { @@ -113,15 +114,18 @@ export default async function ({ // Create 3 brand-new animation controllers each cycle -- // this is the key difference from confetti.ts which reuses // the same controllers indefinitely via the relaunch pattern. - this.animateY = n.animate( + this.animateY = animate( + n, { y: Y_END }, { duration: durationMs, easing: 'linear' }, ); - this.animateX = n.animate( + this.animateX = animate( + n, { x: endX }, { duration: durationMs, easing: 'cubic-bezier(0,0,0.4,1)' }, ); - this.animateRot = n.animate( + this.animateRot = animate( + n, { rotation: startRot + Math.random() * Math.PI * 4 }, { duration: durationMs, easing: 'ease-out' }, ); diff --git a/examples/tests/default-fps-animation.ts b/examples/tests/default-fps-animation.ts index fa2688137..75320423a 100644 --- a/examples/tests/default-fps-animation.ts +++ b/examples/tests/default-fps-animation.ts @@ -17,7 +17,8 @@ * limitations under the License. */ -import type { IAnimationController, INode } from '@lightningjs/renderer'; +import type { INode } from '@lightningjs/renderer'; +import type { IAnimationController } from '@lightningjs/renderer/animation'; import type { ExampleSettings } from '../common/ExampleSettings.js'; /** @@ -32,7 +33,11 @@ import type { ExampleSettings } from '../common/ExampleSettings.js'; * - 0: Remove FPS limit (unlimited) * - Space: Toggle all animations on/off */ -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const backgroundNode = renderer.createNode({ x: 0, y: 0, @@ -174,7 +179,8 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { // Create simple horizontal motion const targetX = obj.baseX + 80; // Move 80 pixels to the right - obj.animation = obj.node.animate( + obj.animation = animate( + obj.node, { x: targetX }, { duration, @@ -187,7 +193,8 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { }); // Start rotation animation - rotationAnimation = rotatingNode.animate( + rotationAnimation = animate( + rotatingNode, { rotation: Math.PI * 2 }, { duration: 2000, @@ -198,7 +205,8 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { rotationAnimation.start(); // Start scaling animation - scalingAnimation = scalingNode.animate( + scalingAnimation = animate( + scalingNode, { scaleX: 1.5, scaleY: 1.5 }, { duration: 2000, diff --git a/examples/tests/detect-touch.ts b/examples/tests/detect-touch.ts index bf1a97af9..b273c16e9 100644 --- a/examples/tests/detect-touch.ts +++ b/examples/tests/detect-touch.ts @@ -25,7 +25,11 @@ const getRandomBezierCurve = () => { )}, ${y2.toFixed(2)})`; }; -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const holder = renderer.createNode({ x: 0, y: 0, @@ -49,21 +53,20 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { zIndex: getRandomValue(0, 100), }); - node - .animate( - { - x: getRandomValue(0, 1820), - y: getRandomValue(0, 980), - }, - { - duration: getRandomValue(8000, 12000), - delay: getRandomValue(0, 5000), - stopMethod: 'reverse', - loop: true, - easing: getRandomBezierCurve(), - }, - ) - .start(); + animate( + node, + { + x: getRandomValue(0, 1820), + y: getRandomValue(0, 980), + }, + { + duration: getRandomValue(8000, 12000), + delay: getRandomValue(0, 5000), + stopMethod: 'reverse', + loop: true, + easing: getRandomBezierCurve(), + }, + ).start(); } document.addEventListener('touchstart', (e: TouchEvent) => { diff --git a/examples/tests/gradient.ts b/examples/tests/gradient.ts index b1cdd43f3..d7cf023fe 100644 --- a/examples/tests/gradient.ts +++ b/examples/tests/gradient.ts @@ -19,7 +19,11 @@ import type { ExampleSettings } from '../common/ExampleSettings.js'; -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const elements = [ 'colorTl', 'colorTr', @@ -46,16 +50,15 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { setTimeout(() => { nodes.forEach((node, idx) => { - node - .animate( - { - [elements[idx] ?? 'color']: 0x00ff00ff, - }, - { - duration: 1000, - }, - ) - .start(); + animate( + node, + { + [elements[idx] ?? 'color']: 0x00ff00ff, + }, + { + duration: 1000, + }, + ).start(); }); }, 2000); /* diff --git a/examples/tests/mount-pivot.ts b/examples/tests/mount-pivot.ts index 1866c3c14..ae1e07c12 100644 --- a/examples/tests/mount-pivot.ts +++ b/examples/tests/mount-pivot.ts @@ -19,7 +19,11 @@ import type { ExampleSettings } from '../common/ExampleSettings.js'; -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const randomColor = () => { const randomInt = Math.floor(Math.random() * Math.pow(2, 32)); const hexString = randomInt.toString(16).padStart(8, '0'); @@ -98,35 +102,33 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { }); setTimeout(async () => { - const dimension = node - .animate( - { - w: 1920, - }, - { - duration: 450, - loop: false, - stopMethod: 'reverse', - easing: 'ease-in-out', - }, - ) - .start(); + const dimension = animate( + node, + { + w: 1920, + }, + { + duration: 450, + loop: false, + stopMethod: 'reverse', + easing: 'ease-in-out', + }, + ).start(); await dimension.waitUntilStopped(); - const rotate = node - .animate( - { - rotation: Math.PI, - }, - { - duration: rnd(1500, 1700), - loop: false, - stopMethod: 'reverse', - easing: 'ease-in-out', - }, - ) - .start(); + const rotate = animate( + node, + { + rotation: Math.PI, + }, + { + duration: rnd(1500, 1700), + loop: false, + stopMethod: 'reverse', + easing: 'ease-in-out', + }, + ).start(); await rotate.waitUntilStopped(); }, 2300); } diff --git a/examples/tests/no-rtt.ts b/examples/tests/no-rtt.ts index 6ece2b569..25758aa4d 100644 --- a/examples/tests/no-rtt.ts +++ b/examples/tests/no-rtt.ts @@ -16,7 +16,11 @@ const animationSettings: Partial = { easing: 'ease-in-out-back', }; -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const node = renderer.createNode({ x: 0, y: 0, @@ -60,7 +64,8 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { src: `https://picsum.photos/id/${image + 30}/120/120`, }); - const animation = a.animate( + const animation = animate( + a, { y: Math.floor(i / 15) * 120 - 5000, }, diff --git a/examples/tests/render-bounds.ts b/examples/tests/render-bounds.ts index 1b010306a..039474f7d 100644 --- a/examples/tests/render-bounds.ts +++ b/examples/tests/render-bounds.ts @@ -1,7 +1,11 @@ -import type { IAnimationController } from '@lightningjs/renderer'; +import type { IAnimationController } from '@lightningjs/renderer/animation'; import type { ExampleSettings } from '../common/ExampleSettings.js'; -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const degToRad = (deg: number) => { return (Math.PI / 180) * deg; }; @@ -40,29 +44,27 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { setTimeout(async () => { while (true) { - redRectAnimation = redRect - .animate( - { - x: 0, - }, - { - delay: 2000, - duration: 2000, - }, - ) - .start(); + redRectAnimation = animate( + redRect, + { + x: 0, + }, + { + delay: 2000, + duration: 2000, + }, + ).start(); await redRectAnimation.waitUntilStopped(); - redRectAnimation = redRect - .animate( - { - x: -205, - }, - { - duration: 2000, - }, - ) - .start(); + redRectAnimation = animate( + redRect, + { + x: -205, + }, + { + duration: 2000, + }, + ).start(); await redRectAnimation.waitUntilStopped(); } }, 1000); @@ -91,31 +93,29 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { setTimeout(async () => { while (true) { - blueRectAnimation = blueRect - .animate( - { - rotation: degToRad(360), - x: 1000, - }, - { - delay: 1000, - duration: 2000, - }, - ) - .start(); + blueRectAnimation = animate( + blueRect, + { + rotation: degToRad(360), + x: 1000, + }, + { + delay: 1000, + duration: 2000, + }, + ).start(); await blueRectAnimation.waitUntilStopped(); - blueRectAnimation = blueRect - .animate( - { - rotation: degToRad(45), - x: 2400, - }, - { - duration: 2000, - }, - ) - .start(); + blueRectAnimation = animate( + blueRect, + { + rotation: degToRad(45), + x: 2400, + }, + { + duration: 2000, + }, + ).start(); await blueRectAnimation.waitUntilStopped(); } }, 1000); diff --git a/examples/tests/robot.ts b/examples/tests/robot.ts index 321c8bb94..9910b9a88 100644 --- a/examples/tests/robot.ts +++ b/examples/tests/robot.ts @@ -27,7 +27,11 @@ import robotImg from '../assets/robot/robot.png'; import shadowImg from '../assets/robot/robot-shadow.png'; import type { ExampleSettings } from '../common/ExampleSettings.js'; -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const elevatorBg = renderer.createNode({ x: 368, y: 228, @@ -110,12 +114,10 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { setTimeout(async () => { while (true) { - await robotCore - .animate({ y: 10 }, { duration: 500 }) + await animate(robotCore, { y: 10 }, { duration: 500 }) .start() .waitUntilStopped(); - await robotCore - .animate({ y: 0 }, { duration: 500 }) + await animate(robotCore, { y: 0 }, { duration: 500 }) .start() .waitUntilStopped(); } @@ -143,17 +145,15 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { setTimeout(async () => { await openGroundDoors(1000); - await robot - .animate({ x: 410 }, { duration: 1000 }) + await animate(robot, { x: 410 }, { duration: 1000 }) .start() .waitUntilStopped(); - shadow.animate({ alpha: 0 }, { duration: 500 }).start(); + animate(shadow, { alpha: 0 }, { duration: 500 }).start(); robot.zIndex = 1; robotCore.zIndex = 1; shadow.zIndex = 1; await closeGroundDoors(1000); - await robot - .animate({ y: 200 }, { duration: 1000 }) + await animate(robot, { y: 200 }, { duration: 1000 }) .start() .waitUntilStopped(); shadow.y = 100; @@ -161,21 +161,24 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { robot.zIndex = 5; robotCore.zIndex = 5; shadow.zIndex = 5; - shadow.animate({ alpha: 1 }, { duration: 500 }).start(); - await shadow.animate({}, { duration: 2000 }).start().waitUntilStopped(); - await robot - .animate({ x: renderer.settings.appWidth }, { duration: 5000 }) + animate(shadow, { alpha: 1 }, { duration: 500 }).start(); + await animate(shadow, { alpha: 1 }, { duration: 2000 }) + .start() + .waitUntilStopped(); + await animate(robot, { x: renderer.settings.appWidth }, { duration: 5000 }) .start() .waitUntilStopped(); await closeTopDoors(1000); }, 1000); function openTopDoors(duration: number) { - const a1 = doorTopTop.animate({ y: 207 - 129 }, { duration }).start(); - const a2 = doorBottomTop - .animate({ y: 207 + 129 + 20 }, { duration }) - .start(); - const a3 = elevatorBg.animate({ y: 228 - 20 }, { duration }).start(); + const a1 = animate(doorTopTop, { y: 207 - 129 }, { duration }).start(); + const a2 = animate( + doorBottomTop, + { y: 207 + 129 + 20 }, + { duration }, + ).start(); + const a3 = animate(elevatorBg, { y: 228 - 20 }, { duration }).start(); return Promise.all([ a1.waitUntilStopped(), a2.waitUntilStopped(), @@ -184,9 +187,9 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { } function closeTopDoors(duration: number) { - const a1 = doorTopTop.animate({ y: 207 }, { duration }).start(); - const a2 = doorBottomTop.animate({ y: 207 + 129 }, { duration }).start(); - const a3 = elevatorBg.animate({ y: 228 }, { duration }).start(); + const a1 = animate(doorTopTop, { y: 207 }, { duration }).start(); + const a2 = animate(doorBottomTop, { y: 207 + 129 }, { duration }).start(); + const a3 = animate(elevatorBg, { y: 228 }, { duration }).start(); return Promise.all([ a1.waitUntilStopped(), a2.waitUntilStopped(), @@ -195,16 +198,18 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { } function openGroundDoors(duration: number) { - const a1 = doorLeftGround - .animate({ x: 480 - 68 - 68 }, { duration }) - .start(); - const a2 = doorRightGround.animate({ x: 480 + 68 }, { duration }).start(); + const a1 = animate( + doorLeftGround, + { x: 480 - 68 - 68 }, + { duration }, + ).start(); + const a2 = animate(doorRightGround, { x: 480 + 68 }, { duration }).start(); return Promise.all([a1.waitUntilStopped(), a2.waitUntilStopped()]); } function closeGroundDoors(duration: number) { - const a1 = doorLeftGround.animate({ x: 480 - 68 }, { duration }).start(); - const a2 = doorRightGround.animate({ x: 480 }, { duration }).start(); + const a1 = animate(doorLeftGround, { x: 480 - 68 }, { duration }).start(); + const a2 = animate(doorRightGround, { x: 480 }, { duration }).start(); return Promise.all([a1.waitUntilStopped(), a2.waitUntilStopped()]); } } diff --git a/examples/tests/rotation.ts b/examples/tests/rotation.ts index 0d7cc2a48..a567c5721 100644 --- a/examples/tests/rotation.ts +++ b/examples/tests/rotation.ts @@ -19,7 +19,11 @@ import type { ExampleSettings } from '../common/ExampleSettings.js'; -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const randomColor = () => { const randomInt = Math.floor(Math.random() * Math.pow(2, 32)); const hexString = randomInt.toString(16).padStart(8, '0'); @@ -66,24 +70,23 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { }); setTimeout(() => { - node - .animate( - { - scale: 1.2, - y: 460, - x: 820, - w: 10, - h: 180, - rotation: Math.PI * 2, - }, - { - duration: rnd(2500, 2700), - loop: false, - stopMethod: 'reverse', - easing: 'cubic-bezier(0,1.35,.99,-0.07)', - }, - ) - .start(); + animate( + node, + { + scale: 1.2, + y: 460, + x: 820, + w: 10, + h: 180, + rotation: Math.PI * 2, + }, + { + duration: rnd(2500, 2700), + loop: false, + stopMethod: 'reverse', + easing: 'cubic-bezier(0,1.35,.99,-0.07)', + }, + ).start(); }, 1500); }); diff --git a/examples/tests/rtt-dimension.ts b/examples/tests/rtt-dimension.ts index 5b9f215cb..f8516d597 100644 --- a/examples/tests/rtt-dimension.ts +++ b/examples/tests/rtt-dimension.ts @@ -11,7 +11,11 @@ export async function automation(settings: ExampleSettings) { } } -export default async function test({ renderer, testRoot }: ExampleSettings) { +export default async function test({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const node = renderer.createNode({ x: 0, y: 0, @@ -198,7 +202,8 @@ export default async function test({ renderer, testRoot }: ExampleSettings) { }); } - const animation = rocko4.animate( + const animation = animate( + rocko4, { rotation: 0.3, scale: 1.5, diff --git a/examples/tests/rtt-nested-clipping.ts b/examples/tests/rtt-nested-clipping.ts index ee13a5212..b141e1d31 100644 --- a/examples/tests/rtt-nested-clipping.ts +++ b/examples/tests/rtt-nested-clipping.ts @@ -1,7 +1,11 @@ import type { ExampleSettings } from '../common/ExampleSettings.js'; import rocko from '../assets/rocko.png'; -export default async function test({ renderer, testRoot }: ExampleSettings) { +export default async function test({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const node = renderer.createNode({ x: 0, y: 0, @@ -56,19 +60,18 @@ export default async function test({ renderer, testRoot }: ExampleSettings) { window.addEventListener('keydown', (e) => { if (e.key === 's') { // rect.clipping = !rect.clipping; - rect - .animate( - { - x: 100, //going to render out of bounds as well - }, - { - duration: 3000, - easing: 'ease-out', - loop: true, - stopMethod: 'reverse', - }, - ) - .start(); + animate( + rect, + { + x: 100, //going to render out of bounds as well + }, + { + duration: 3000, + easing: 'ease-out', + loop: true, + stopMethod: 'reverse', + }, + ).start(); } }); diff --git a/examples/tests/rtt-perf.ts b/examples/tests/rtt-perf.ts index 54e787014..ea485f7b5 100644 --- a/examples/tests/rtt-perf.ts +++ b/examples/tests/rtt-perf.ts @@ -88,7 +88,11 @@ const benchResults: BenchResult[] = []; // ─── Main export ───────────────────────────────────────────────────────────── -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { // Background renderer.createNode({ x: 0, @@ -146,6 +150,7 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { animationStarts.push( ...addAnimatedChildren( renderer, + animate, outer, Math.max(2, Math.floor(CHILD_COUNT / 4)), ), @@ -171,6 +176,7 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { animationStarts.push( ...addAnimatedChildren( renderer, + animate, mid, Math.max(2, Math.floor(CHILD_COUNT / 2)), ), @@ -194,7 +200,7 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { parent: inner, }); animationStarts.push( - ...addAnimatedChildren(renderer, inner, CHILD_COUNT), + ...addAnimatedChildren(renderer, animate, inner, CHILD_COUNT), ); rttContainers.push(outer, mid, inner); @@ -211,7 +217,7 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { rttContainers.push(container); animationStarts.push( - ...addAnimatedChildren(renderer, container, CHILD_COUNT), + ...addAnimatedChildren(renderer, animate, container, CHILD_COUNT), ); } } @@ -578,6 +584,7 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { function addAnimatedChildren( renderer: ExampleSettings['renderer'], + animate: ExampleSettings['animate'], parent: ReturnType, count: number, ): (() => void)[] { @@ -608,18 +615,17 @@ function addAnimatedChildren( // Vary duration and delay per child to spread phases naturally. // stopMethod: 'reverse' produces a smooth ping-pong colour pulse. starts.push(() => { - child - .animate( - { color: 0xff2244ff }, - { - duration: 1600 + i * 113, - loop: true, - stopMethod: 'reverse', - easing: 'ease-in-out', - delay: i * 37, - }, - ) - .start(); + animate( + child, + { color: 0xff2244ff }, + { + duration: 1600 + i * 113, + loop: true, + stopMethod: 'reverse', + easing: 'ease-in-out', + delay: i * 37, + }, + ).start(); }); } } diff --git a/examples/tests/rtt-reflection.ts b/examples/tests/rtt-reflection.ts index 0c2c814f9..217de10e9 100644 --- a/examples/tests/rtt-reflection.ts +++ b/examples/tests/rtt-reflection.ts @@ -6,7 +6,11 @@ const randomColor = () => { return parseInt(hexString, 16); }; -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const node = renderer.createNode({ x: 0, y: 0, @@ -52,7 +56,8 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { src: `https://picsum.photos/id/${i + 30}/120/120`, }); - const animation = a.animate( + const animation = animate( + a, { rotation: Math.random() * Math.PI * 2, scale: 1.5, @@ -77,7 +82,8 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { text: 'RTT reflection demo', }); - const animation = rttLabel.animate( + const animation = animate( + rttLabel, { y: 420, }, @@ -92,7 +98,8 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { animation.start(); setInterval(() => { - const a = reflectionNode.animate( + const a = animate( + reflectionNode, { colorTop: randomColor(), colorBottom: randomColor(), diff --git a/examples/tests/rtt.ts b/examples/tests/rtt.ts index a9f020de2..7b7944a7d 100644 --- a/examples/tests/rtt.ts +++ b/examples/tests/rtt.ts @@ -26,7 +26,11 @@ const degToRad = (deg: number) => { return (Math.PI / 180) * deg; }; -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const node = renderer.createNode({ x: 0, y: 0, @@ -74,7 +78,8 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { texture: rootRenderToTextureNode.texture, }); - const animation = a.animate( + const animation = animate( + a, { y: Math.floor(i / 1) * 800 - 15000, }, diff --git a/examples/tests/scaling-animations.ts b/examples/tests/scaling-animations.ts index d3f4d8bde..2d4311ee5 100644 --- a/examples/tests/scaling-animations.ts +++ b/examples/tests/scaling-animations.ts @@ -19,7 +19,11 @@ import type { ExampleSettings } from '../common/ExampleSettings.js'; -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const randomColor = () => { const randomInt = Math.floor(Math.random() * Math.pow(2, 32)); const hexString = randomInt.toString(16).padStart(8, '0'); @@ -75,24 +79,23 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { }); setTimeout(() => { - node - .animate( - { - scale: rnd(2, 4), - rotation: Math.random() * Math.PI, - y: 460, - x: 820, - w: 3, - h: 180, - }, - { - duration: rnd(1500, 1700), - loop: false, - stopMethod: 'reverse', - easing: 'cubic-bezier(0,1.35,.99,-0.07)', - }, - ) - .start(); + animate( + node, + { + scale: rnd(2, 4), + rotation: Math.random() * Math.PI, + y: 460, + x: 820, + w: 3, + h: 180, + }, + { + duration: rnd(1500, 1700), + loop: false, + stopMethod: 'reverse', + easing: 'cubic-bezier(0,1.35,.99,-0.07)', + }, + ).start(); }, 1500); }); diff --git a/examples/tests/shader-animation.ts b/examples/tests/shader-animation.ts index 212e49396..a4e39692f 100644 --- a/examples/tests/shader-animation.ts +++ b/examples/tests/shader-animation.ts @@ -27,6 +27,7 @@ export async function automation(settings: ExampleSettings) { export default async function test({ renderer, + animate, testRoot, snapshot, }: ExampleSettings) { @@ -45,7 +46,7 @@ export default async function test({ y: 90, color: 0xff0000ff, shader: renderer.createShader('Rounded', { - radius: 100, + radius: 0, }), parent: testRoot, }); @@ -63,18 +64,28 @@ export default async function test({ await snapshot({ name: 'startup' }); - const shaderAnimation = t1.animate( + animate( + t1.shader.props!, + { + radius: 150, + }, + { + duration: 500, + }, + ).start(); + + const nodeAnimation = animate( + t1, { x: 1140, - shaderProps: { - radius: 150, - }, }, { duration: 500, }, ); - // shaderAnimation.start(); + // nodeAnimation.start(); + // await nodeAnimation.waitUntilStopped(); + // await snapshot({ name: 'animation1' }); // await shaderAnimation.waitUntilStopped(); // t1Radius.text = 'radius: ' + t1.shader.props!.radius.toString(); // await snapshot({ name: 'animation1' }); diff --git a/examples/tests/stress-multi-level-bounds.ts b/examples/tests/stress-multi-level-bounds.ts index 9aa9ccaf8..3f7593fed 100644 --- a/examples/tests/stress-multi-level-bounds.ts +++ b/examples/tests/stress-multi-level-bounds.ts @@ -26,6 +26,7 @@ const randomIntBetween = (from: number, to: number) => export default async function ({ renderer, + animate, testRoot, perfMultiplier, }: ExampleSettings) { @@ -63,23 +64,22 @@ export default async function ({ ); // create 100 animations - const animate = () => { + const startAnimation = () => { nodes.forEach((node) => { - node - .animate( - { - x: randomIntBetween(20, 1740 * 2), //going to render out of bounds as well - y: randomIntBetween(20, 900 * 2), - }, - { - duration: 3000, - easing: 'ease-out', - loop: false, - }, - ) - .start(); + animate( + node, + { + x: randomIntBetween(20, 1740 * 2), //going to render out of bounds as well + y: randomIntBetween(20, 900 * 2), + }, + { + duration: 3000, + easing: 'ease-out', + loop: false, + }, + ).start(); }); }; - setInterval(animate, 3000); + setInterval(startAnimation, 3000); } diff --git a/examples/tests/stress-multi-level-clipping.ts b/examples/tests/stress-multi-level-clipping.ts index 1696f49a9..482ae999d 100644 --- a/examples/tests/stress-multi-level-clipping.ts +++ b/examples/tests/stress-multi-level-clipping.ts @@ -26,6 +26,7 @@ const randomIntBetween = (from: number, to: number) => export default async function ({ renderer, + animate, testRoot, perfMultiplier, }: ExampleSettings) { @@ -69,24 +70,23 @@ export default async function ({ ); // create animations - const animate = () => { + const startAnimation = () => { nodes.forEach((node) => { - node - .animate( - { - x: randomIntBetween(20, 1740), - y: randomIntBetween(20, 900), - }, - { - duration: 3000, - easing: 'ease-out', - loop: true, - stopMethod: 'reverse', - }, - ) - .start(); + animate( + node, + { + x: randomIntBetween(20, 1740), + y: randomIntBetween(20, 900), + }, + { + duration: 3000, + easing: 'ease-out', + loop: true, + stopMethod: 'reverse', + }, + ).start(); }); }; - animate(); + startAnimation(); } diff --git a/examples/tests/stress-multi-level.ts b/examples/tests/stress-multi-level.ts index b1ac075d8..05cac670c 100644 --- a/examples/tests/stress-multi-level.ts +++ b/examples/tests/stress-multi-level.ts @@ -26,6 +26,7 @@ const randomIntBetween = (from: number, to: number) => export default async function ({ renderer, + animate, testRoot, perfMultiplier, }: ExampleSettings) { @@ -63,27 +64,26 @@ export default async function ({ ); // create 100 animations - const animate = () => { + const startAnimation = () => { nodes.forEach((node) => { - node - .animate( - { - x: randomIntBetween(20, 1740), - y: randomIntBetween(20, 900), - rotation: Math.random() * Math.PI, - }, - { - duration: 3000, - easing: 'ease-out', - loop: true, - stopMethod: 'reverse', - }, - ) - .start(); + animate( + node, + { + x: randomIntBetween(20, 1740), + y: randomIntBetween(20, 900), + rotation: Math.random() * Math.PI, + }, + { + duration: 3000, + easing: 'ease-out', + loop: true, + stopMethod: 'reverse', + }, + ).start(); }); }; - animate(); + startAnimation(); // setInterval(animate, 3000); } diff --git a/examples/tests/stress-multi-texture.ts b/examples/tests/stress-multi-texture.ts index 73f96a62b..1e017cd6f 100644 --- a/examples/tests/stress-multi-texture.ts +++ b/examples/tests/stress-multi-texture.ts @@ -28,6 +28,7 @@ const randomIntBetween = (from: number, to: number) => export default async function ({ renderer, + animate, testRoot, perfMultiplier, }: ExampleSettings) { @@ -66,27 +67,26 @@ export default async function ({ console.log(`Created ${numOuterNodes} nodes with alternating textures`); // create animations - const animate = () => { + const startAnimation = () => { nodes.forEach((node) => { - node - .animate( - { - x: randomIntBetween(20, 1740), - y: randomIntBetween(20, 900), - rotation: Math.random() * Math.PI, - }, - { - duration: 3000, - easing: 'ease-out', - loop: true, - stopMethod: 'reverse', - }, - ) - .start(); + animate( + node, + { + x: randomIntBetween(20, 1740), + y: randomIntBetween(20, 900), + rotation: Math.random() * Math.PI, + }, + { + duration: 3000, + easing: 'ease-out', + loop: true, + stopMethod: 'reverse', + }, + ).start(); }); }; - animate(); + startAnimation(); // setInterval(animate, 3000); } diff --git a/examples/tests/stress-rounded-clipping.ts b/examples/tests/stress-rounded-clipping.ts index c8a51d45a..c83dc524e 100644 --- a/examples/tests/stress-rounded-clipping.ts +++ b/examples/tests/stress-rounded-clipping.ts @@ -69,6 +69,7 @@ interface ClipNode { export default async function test({ renderer, + animate, testRoot, perfMultiplier, }: ExampleSettings) { @@ -169,17 +170,16 @@ export default async function test({ } } - list - .animate( - { y: -(listH - (H - PADDING * 2)) }, - { - duration: 4000, - loop: true, - stopMethod: 'reverse', - easing: 'ease-in-out', - }, - ) - .start(); + animate( + list, + { y: -(listH - (H - PADDING * 2)) }, + { + duration: 4000, + loop: true, + stopMethod: 'reverse', + easing: 'ease-in-out', + }, + ).start(); } // ──────────────────────────────────────────────────────────────────────── @@ -214,17 +214,16 @@ export default async function test({ const destX = randomBetween(0, W - CARD_W); const destY = randomBetween(0, H - CARD_H); const dur = randomBetween(1500, 4000); - card - .animate( - { x: destX, y: destY }, - { - duration: dur, - loop: true, - stopMethod: 'reverse', - easing: 'ease-in-out', - }, - ) - .start(); + animate( + card, + { x: destX, y: destY }, + { + duration: dur, + loop: true, + stopMethod: 'reverse', + easing: 'ease-in-out', + }, + ).start(); } } @@ -297,31 +296,29 @@ export default async function test({ const zoomDur = randomBetween(800, 1800); const zoomScale = randomBetween(1.1, 1.6); - thumb - .animate( - { scaleX: zoomScale, scaleY: zoomScale }, - { - duration: zoomDur, - loop: true, - stopMethod: 'reverse', - easing: 'ease-in-out', - delay: (i / NUM_CELLS) * zoomDur, - }, - ) - .start(); - } - - row - .animate( - { x: -(rowW - W) }, + animate( + thumb, + { scaleX: zoomScale, scaleY: zoomScale }, { - duration: 5000, + duration: zoomDur, loop: true, stopMethod: 'reverse', easing: 'ease-in-out', + delay: (i / NUM_CELLS) * zoomDur, }, - ) - .start(); + ).start(); + } + + animate( + row, + { x: -(rowW - W) }, + { + duration: 5000, + loop: true, + stopMethod: 'reverse', + easing: 'ease-in-out', + }, + ).start(); } // ── HUD label (top-right corner) ───────────────────────────────────────── diff --git a/examples/tests/stress-single-level-text.ts b/examples/tests/stress-single-level-text.ts index 0fd5f5b0a..6472d97f5 100644 --- a/examples/tests/stress-single-level-text.ts +++ b/examples/tests/stress-single-level-text.ts @@ -25,6 +25,7 @@ const randomIntBetween = (from: number, to: number) => export default async function ({ renderer, + animate, testRoot, perfMultiplier, }: ExampleSettings) { @@ -65,22 +66,21 @@ export default async function ({ console.log(`Created ${numOuterNodes} nodes with the same text`); // create 100 animations - const animate = () => { + const startAnimation = () => { nodes.forEach((node) => { - node - .animate( - { - x: randomIntBetween(endMin, endMax), - y: randomIntBetween(endMin, endMax), - }, - { - duration: 3000, - loop: true, - }, - ) - .start(); + animate( + node, + { + x: randomIntBetween(endMin, endMax), + y: randomIntBetween(endMin, endMax), + }, + { + duration: 3000, + loop: true, + }, + ).start(); }); }; - animate(); + startAnimation(); } diff --git a/examples/tests/stress-single-level.ts b/examples/tests/stress-single-level.ts index d65a71695..b9078d98c 100644 --- a/examples/tests/stress-single-level.ts +++ b/examples/tests/stress-single-level.ts @@ -26,6 +26,7 @@ const randomIntBetween = (from: number, to: number) => export default async function ({ renderer, + animate, testRoot, perfMultiplier, }: ExampleSettings) { @@ -58,27 +59,26 @@ export default async function ({ console.log(`Created ${numOuterNodes} nodes with the same texture`); // create 100 animations - const animate = () => { + const startAnimation = () => { nodes.forEach((node) => { - node - .animate( - { - x: randomIntBetween(20, 1740), - y: randomIntBetween(20, 900), - rotation: Math.random() * Math.PI, - }, - { - duration: 3000, - easing: 'ease-out', - loop: true, - stopMethod: 'reverse', - }, - ) - .start(); + animate( + node, + { + x: randomIntBetween(20, 1740), + y: randomIntBetween(20, 900), + rotation: Math.random() * Math.PI, + }, + { + duration: 3000, + easing: 'ease-out', + loop: true, + stopMethod: 'reverse', + }, + ).start(); }); }; - animate(); + startAnimation(); // setInterval(animate, 3000); } diff --git a/examples/tests/test.ts b/examples/tests/test.ts index 9f0de9d20..34f600086 100644 --- a/examples/tests/test.ts +++ b/examples/tests/test.ts @@ -17,14 +17,19 @@ * limitations under the License. */ -import { type INode, type IAnimationController } from '@lightningjs/renderer'; +import { type INode } from '@lightningjs/renderer'; +import { type IAnimationController } from '@lightningjs/renderer/animation'; import rocko from '../assets/rocko.png'; import elevator from '../assets/elevator.png'; import spritemap from '../assets/spritemap.png'; import { Character } from '../common/Character.js'; import type { ExampleSettings } from '../common/ExampleSettings.js'; -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const redRect = renderer.createNode({ x: 0, y: 0, @@ -185,47 +190,48 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { // force behind elevator rockoRect.zIndex = 1; - rockoAnimation = rockoRect.animate({}, { duration: 1000 }).start(); + rockoAnimation = animate( + rockoRect, + { alpha: 1 }, + { duration: 1000 }, + ).start(); await rockoAnimation.waitUntilStopped(); - rockoAnimation = rockoRect - .animate( - { - x: 400, - }, - { - duration: 1000, - }, - ) - .start(); + rockoAnimation = animate( + rockoRect, + { + x: 400, + }, + { + duration: 1000, + }, + ).start(); await rockoAnimation.waitUntilStopped(); - rockoAnimation = rockoRect - .animate( - { - y: elevatorRect.h - rockoRect.h, - }, - { - duration: 1000, - }, - ) - .start(); + rockoAnimation = animate( + rockoRect, + { + y: elevatorRect.h - rockoRect.h, + }, + { + duration: 1000, + }, + ).start(); await rockoAnimation.waitUntilStopped(); // force before elevator rockoRect.zIndex = 3; - rockoAnimation = rockoRect - .animate( - { - x: renderer.settings.appWidth, - // y: 100, - }, - { - duration: 2616, - }, - ) - .start(); + rockoAnimation = animate( + rockoRect, + { + x: renderer.settings.appWidth, + // y: 100, + }, + { + duration: 2616, + }, + ).start(); await rockoAnimation.waitUntilStopped(); console.log('resetting rocko'); @@ -241,56 +247,52 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { while (true) { elevatorNumber.text = 'Dn'; elevatorRect.color = 0x0000ffff; - elevatorAnimation = elevatorRect - .animate( - { - y: 1080 - elevatorRect.h, - }, - { - duration: 1000, - }, - ) - .start(); + elevatorAnimation = animate( + elevatorRect, + { + y: 1080 - elevatorRect.h, + }, + { + duration: 1000, + }, + ).start(); await elevatorAnimation.waitUntilStopped(); - elevatorAnimation = elevatorRect - .animate( - { - // y: 1080 - elevatorRect.h, - }, - { - duration: 1000, - }, - ) - .start(); + elevatorAnimation = animate( + elevatorRect, + { + alpha: 1, + }, + { + duration: 1000, + }, + ).start(); await elevatorAnimation.waitUntilStopped(); elevatorNumber.text = 'Up'; elevatorRect.color = 0x00ff00ff; - elevatorAnimation = elevatorRect - .animate( - { - y: 0, - }, - { - duration: 1000, - }, - ) - .start(); + elevatorAnimation = animate( + elevatorRect, + { + y: 0, + }, + { + duration: 1000, + }, + ).start(); await elevatorAnimation.waitUntilStopped(); elevatorRect.color = 0x00ff00ff; - elevatorAnimation = elevatorRect - .animate( - { - // y: 0, - }, - { - duration: 2616, - }, - ) - .start(); + elevatorAnimation = animate( + elevatorRect, + { + alpha: 1, + }, + { + duration: 2616, + }, + ).start(); await elevatorAnimation.waitUntilStopped(); } }, 1000); @@ -365,24 +367,23 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { window.addEventListener('keydown', (e) => { if (e.code === 'ArrowLeft') { character.setState('left', 'walk'); - character.node - .animate( - { - x: character.node.x - 30, - }, - { duration: 200 }, - ) - .start(); + animate( + character.node, + { + x: character.node.x - 30, + }, + { duration: 200 }, + ).start(); } else if (e.code === 'ArrowRight') { character.setState('right', 'walk'); - character.node - .animate( - { - x: character.node.x + 30, - }, - { duration: 200 }, - ) - .start(); + + animate( + character.node, + { + x: character.node.x + 30, + }, + { duration: 200 }, + ).start(); } else if (e.code === 'Space') { character.setState(character.direction, 'jump'); } diff --git a/examples/tests/text-canvas.ts b/examples/tests/text-canvas.ts index f117a88c1..cf41adc0b 100644 --- a/examples/tests/text-canvas.ts +++ b/examples/tests/text-canvas.ts @@ -43,7 +43,7 @@ const randomIntBetween = (from: number, to: number) => * @returns */ export default async function test(settings: ExampleSettings) { - const { renderer, testRoot } = settings; + const { renderer, animate, testRoot } = settings; // Set a smaller snapshot area // testRoot.w = 200; @@ -103,24 +103,23 @@ export default async function test(settings: ExampleSettings) { }; let animating = false; - const animate = () => { + const startAnimation = () => { animating = !animating; const animateNode = (node: any) => { nodes.forEach((node) => { - node - .animate( - { - x: randomIntBetween(20, 1740), - y: randomIntBetween(20, 900), - rotation: Math.random() * Math.PI, - }, - { - duration: 3000, - easing: 'ease-out', - }, - ) - .start(); + animate( + node, + { + x: randomIntBetween(20, 1740), + y: randomIntBetween(20, 900), + rotation: Math.random() * Math.PI, + }, + { + duration: 3000, + easing: 'ease-out', + }, + ).start(); }); }; @@ -148,7 +147,7 @@ export default async function test(settings: ExampleSettings) { } else if (event.key === '1') { newColor(); } else if (event.key === ' ') { - animate(); + startAnimation(); } }); diff --git a/examples/tests/viewport-events-canvas.ts b/examples/tests/viewport-events-canvas.ts index 7b1f80ac9..87d73b01f 100644 --- a/examples/tests/viewport-events-canvas.ts +++ b/examples/tests/viewport-events-canvas.ts @@ -19,7 +19,11 @@ import type { ExampleSettings } from '../common/ExampleSettings.js'; -export default async function ({ renderer, testRoot }: ExampleSettings) { +export default async function ({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const instructionText = renderer.createTextNode({ text: 'Press space to start animation, arrow keys to move, enter to reset', fontSize: 30, @@ -122,58 +126,56 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { }); let runAnimation = false; - const animate = async () => { - redText - .animate( - { - x: -500, - }, - { - duration: 4000, - }, - ) - .start(); - - await blueText - .animate( - { - x: -1200, - }, - { - duration: 4000, - }, - ) + const startAnimation = async () => { + animate( + redText, + { + x: -500, + }, + { + duration: 4000, + }, + ).start(); + + await animate( + blueText, + { + x: -1200, + }, + { + duration: 4000, + }, + ) .start() .waitUntilStopped(); redText.x = 1920 + 400; blueText.x = 1920 + 400; - redText - .animate( - { - x: 520, - }, - { - duration: 4000, - }, - ) - .start(); - - await blueText - .animate( - { - x: 1920 / 2 - 200, - }, - { - duration: 4000, - }, - ) + animate( + redText, + { + x: 520, + }, + { + duration: 4000, + }, + ).start(); + + await animate( + blueText, + { + x: 1920 / 2 - 200, + }, + { + duration: 4000, + }, + ) .start() .waitUntilStopped(); if (runAnimation) { - setTimeout(animate, 2000); + setTimeout(startAnimation, 2000); } }; @@ -183,7 +185,7 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { runAnimation = !runAnimation; if (runAnimation) { - animate(); + startAnimation(); } } diff --git a/examples/tests/viewport-events.ts b/examples/tests/viewport-events.ts index 7a24c6187..dc08e2c6c 100644 --- a/examples/tests/viewport-events.ts +++ b/examples/tests/viewport-events.ts @@ -29,7 +29,11 @@ export async function automation(settings: ExampleSettings) { await testPage(); } -export default async function test({ renderer, testRoot }: ExampleSettings) { +export default async function test({ + renderer, + animate, + testRoot, +}: ExampleSettings) { const instructionText = renderer.createTextNode({ text: 'Press space to start animation, arrow keys to move, enter to reset', fontSize: 30, @@ -263,58 +267,56 @@ export default async function test({ renderer, testRoot }: ExampleSettings) { }); let runAnimation = false; - const animate = async () => { - redRect - .animate( - { - x: -500, - }, - { - duration: 4000, - }, - ) - .start(); - - await blueRect - .animate( - { - x: -1200, - }, - { - duration: 4000, - }, - ) + const startAnimation = async () => { + animate( + redRect, + { + x: -500, + }, + { + duration: 4000, + }, + ).start(); + + await animate( + blueRect, + { + x: -1200, + }, + { + duration: 4000, + }, + ) .start() .waitUntilStopped(); redRect.x = 1920 + 400; blueRect.x = 1920 + 400; - redRect - .animate( - { - x: 520, - }, - { - duration: 4000, - }, - ) - .start(); - - await blueRect - .animate( - { - x: 1920 / 2 - 200, - }, - { - duration: 4000, - }, - ) + animate( + redRect, + { + x: 520, + }, + { + duration: 4000, + }, + ).start(); + + await animate( + blueRect, + { + x: 1920 / 2 - 200, + }, + { + duration: 4000, + }, + ) .start() .waitUntilStopped(); if (runAnimation) { - setTimeout(animate, 2000); + setTimeout(startAnimation, 2000); } }; @@ -466,7 +468,7 @@ export default async function test({ renderer, testRoot }: ExampleSettings) { runAnimation = !runAnimation; if (runAnimation) { - animate(); + startAnimation(); } } diff --git a/exports/animation.ts b/exports/animation.ts new file mode 100644 index 000000000..cd02a47c0 --- /dev/null +++ b/exports/animation.ts @@ -0,0 +1,22 @@ +/* + * If not stated otherwise in this file or this component's LICENSE file the + * following copyright and licenses apply: + * + * Copyright 2023 Comcast Cable Communications Management, LLC. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export * from '../src/common/IAnimationController.js'; +export type { AnimationSettings } from '../src/core/animations/CoreAnimation.js'; +export { AnimationManager } from '../src/core/animations/AnimationManager.js'; diff --git a/exports/index.ts b/exports/index.ts index 9c2396ace..cdc936a2f 100644 --- a/exports/index.ts +++ b/exports/index.ts @@ -39,7 +39,6 @@ export * from '../src/main-api/INode.js'; export * from '../src/main-api/Renderer.js'; -export * from '../src/common/IAnimationController.js'; export * from '../src/common/CommonTypes.js'; // Selected types exported from the Core Renderer that can be used in the @@ -56,7 +55,7 @@ export { } from '../src/core/TextureError.js'; export type { TextRenderer } from '../src/core/text-rendering/TextRenderer.js'; export type { MemoryInfo } from '../src/core/TextureMemoryManager.js'; -export type { AnimationSettings } from '../src/core/animations/CoreAnimation.js'; + export type { TimingFunction } from '../src/core/utils.js'; export type { Inspector } from '../src/main-api/Inspector.js'; export { diff --git a/package.json b/package.json index 52b5081a5..ce26f69ab 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "./webgl": "./dist/exports/webgl.js", "./webgl/shaders": "./dist/exports/webgl-shaders.js", "./inspector": "./dist/exports/inspector.js", - "./platforms": "./dist/exports/platform.js" + "./platforms": "./dist/exports/platform.js", + "./animation": "./dist/exports/animation.js" }, "scripts": { "start": "cd examples && pnpm start", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 85bb55212..21b8fbb04 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,22 +13,22 @@ importers: version: 20.19.17 '@typescript-eslint/eslint-plugin': specifier: ^8.44.0 - version: 8.44.0(@typescript-eslint/parser@8.44.0(eslint@9.36.0)(typescript@5.9.2))(eslint@9.36.0)(typescript@5.9.2) + version: 8.44.0(@typescript-eslint/parser@8.44.0(eslint@9.36.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@5.9.2))(eslint@9.36.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.44.0 - version: 8.44.0(eslint@9.36.0)(typescript@5.9.2) + version: 8.44.0(eslint@9.36.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@5.9.2) '@vitest/coverage-v8': specifier: ^2.1.9 - version: 2.1.9(vitest@2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(terser@5.36.0)) + version: 2.1.9(supports-color@8.1.1)(vitest@2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(supports-color@8.1.1)(terser@5.36.0)) concurrently: specifier: ^8.2.2 version: 8.2.2 eslint: specifier: ^9.36.0 - version: 9.36.0 + version: 9.36.0(supports-color@8.1.1) eslint-config-prettier: specifier: ^8.10.2 - version: 8.10.2(eslint@9.36.0) + version: 8.10.2(eslint@9.36.0(supports-color@8.1.1)) happy-dom: specifier: 17.6.3 version: 17.6.3 @@ -37,7 +37,7 @@ importers: version: 8.0.3 lint-staged: specifier: ^13.3.0 - version: 13.3.0 + version: 13.3.0(supports-color@8.1.1) prettier: specifier: ^2.8.8 version: 2.8.8 @@ -49,10 +49,10 @@ importers: version: 5.9.2 vitest: specifier: ^2.1.9 - version: 2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(terser@5.36.0) + version: 2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(supports-color@8.1.1)(terser@5.36.0) vitest-mock-extended: specifier: ^2.0.2 - version: 2.0.2(typescript@5.9.2)(vitest@2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(terser@5.36.0)) + version: 2.0.2(typescript@5.9.2)(vitest@2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(supports-color@8.1.1)(terser@5.36.0)) examples: dependencies: @@ -61,14 +61,14 @@ importers: version: link:.. '@stdlib/random-base-mt19937': specifier: ^0.2.1 - version: 0.2.1 + version: 0.2.3(supports-color@8.1.1) devDependencies: '@vitejs/plugin-legacy': specifier: ^5.4.2 - version: 5.4.3(terser@5.36.0)(vite@5.4.11(@types/node@20.19.17)(terser@5.36.0)) + version: 5.4.3(supports-color@8.1.1)(terser@5.36.0)(vite@5.4.20(@types/node@20.19.17)(terser@5.36.0)) vite: specifier: ^5.4.8 - version: 5.4.11(@types/node@20.19.17)(terser@5.36.0) + version: 5.4.20(@types/node@20.19.17)(terser@5.36.0) whatwg-fetch: specifier: ^3.6.2 version: 3.6.20 @@ -83,7 +83,7 @@ importers: version: 8.0.1 fs-extra: specifier: ^11.1.1 - version: 11.2.0 + version: 11.4.0 pixelmatch: specifier: ^6.0.0 version: 6.0.0 @@ -99,7 +99,7 @@ importers: version: 11.0.4 '@types/node': specifier: ^18.18.6 - version: 18.19.66 + version: 18.19.130 '@types/pixelmatch': specifier: ^5.2.6 version: 5.2.6 @@ -108,13 +108,13 @@ importers: version: 6.0.5 '@types/yargs': specifier: ^17.0.31 - version: 17.0.33 + version: 17.0.35 playwright: specifier: ^1.56.1 - version: 1.56.1 + version: 1.62.1 wait-port: specifier: ^1.1.0 - version: 1.1.0 + version: 1.1.0(supports-color@8.1.1) packages: @@ -122,157 +122,159 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.2': - resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} engines: {node: '>=6.9.0'} - '@babel/core@7.26.0': - resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.26.2': - resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} + '@babel/generator@7.29.8': + resolution: {integrity: sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==} engines: {node: '>=6.9.0'} - '@babel/helper-annotate-as-pure@7.25.9': - resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} + '@babel/helper-annotate-as-pure@7.29.7': + resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} engines: {node: '>=6.9.0'} - '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9': - resolution: {integrity: sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==} + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.9': - resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-create-class-features-plugin@7.25.9': - resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} + '@babel/helper-create-class-features-plugin@7.29.7': + resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.25.9': - resolution: {integrity: sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==} + '@babel/helper-create-regexp-features-plugin@7.29.7': + resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-define-polyfill-provider@0.6.3': - resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==} + '@babel/helper-define-polyfill-provider@0.6.8': + resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-member-expression-to-functions@7.25.9': - resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.25.9': - resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + '@babel/helper-member-expression-to-functions@7.29.7': + resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.26.0': - resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-optimise-call-expression@7.25.9': - resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} + '@babel/helper-optimise-call-expression@7.29.7': + resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.25.9': - resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} engines: {node: '>=6.9.0'} - '@babel/helper-remap-async-to-generator@7.25.9': - resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} + '@babel/helper-remap-async-to-generator@7.29.7': + resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.25.9': - resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} + '@babel/helper-replace-supers@7.29.7': + resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-simple-access@7.25.9': - resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==} - engines: {node: '>=6.9.0'} - - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} engines: {node: '>=6.9.0'} '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} engines: {node: '>=6.9.0'} '@babel/helper-validator-identifier@7.27.1': resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.25.9': - resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.25.9': - resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.26.0': - resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + '@babel/helper-wrap-function@7.29.7': + resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.26.2': - resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} - engines: {node: '>=6.0.0'} - hasBin: true + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} '@babel/parser@7.28.4': resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': - resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} + '@babel/parser@7.29.8': + resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7': + resolution: {integrity: sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': - resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7': + resolution: {integrity: sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': - resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7': + resolution: {integrity: sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9': - resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7': + resolution: {integrity: sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7': + resolution: {integrity: sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': - resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7': + resolution: {integrity: sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -283,14 +285,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.26.0': - resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} + '@babel/plugin-syntax-import-assertions@7.29.7': + resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.26.0': - resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} + '@babel/plugin-syntax-import-attributes@7.29.7': + resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -301,308 +303,314 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-arrow-functions@7.25.9': - resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} + '@babel/plugin-transform-arrow-functions@7.29.7': + resolution: {integrity: sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.25.9': - resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} + '@babel/plugin-transform-async-generator-functions@7.29.7': + resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-to-generator@7.25.9': - resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} + '@babel/plugin-transform-async-to-generator@7.29.7': + resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoped-functions@7.25.9': - resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==} + '@babel/plugin-transform-block-scoped-functions@7.29.7': + resolution: {integrity: sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.25.9': - resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} + '@babel/plugin-transform-block-scoping@7.29.7': + resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-properties@7.25.9': - resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} + '@babel/plugin-transform-class-properties@7.29.7': + resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-static-block@7.26.0': - resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} + '@babel/plugin-transform-class-static-block@7.29.7': + resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 - '@babel/plugin-transform-classes@7.25.9': - resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} + '@babel/plugin-transform-classes@7.29.7': + resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-computed-properties@7.25.9': - resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} + '@babel/plugin-transform-computed-properties@7.29.7': + resolution: {integrity: sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-destructuring@7.25.9': - resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} + '@babel/plugin-transform-destructuring@7.29.7': + resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dotall-regex@7.25.9': - resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} + '@babel/plugin-transform-dotall-regex@7.29.7': + resolution: {integrity: sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-duplicate-keys@7.25.9': - resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} + '@babel/plugin-transform-duplicate-keys@7.29.7': + resolution: {integrity: sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': - resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7': + resolution: {integrity: sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-dynamic-import@7.25.9': - resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} + '@babel/plugin-transform-dynamic-import@7.29.7': + resolution: {integrity: sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-explicit-resource-management@7.29.7': + resolution: {integrity: sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.25.9': - resolution: {integrity: sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==} + '@babel/plugin-transform-exponentiation-operator@7.29.7': + resolution: {integrity: sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-export-namespace-from@7.25.9': - resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} + '@babel/plugin-transform-export-namespace-from@7.29.7': + resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-for-of@7.25.9': - resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} + '@babel/plugin-transform-for-of@7.29.7': + resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-function-name@7.25.9': - resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} + '@babel/plugin-transform-function-name@7.29.7': + resolution: {integrity: sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-json-strings@7.25.9': - resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} + '@babel/plugin-transform-json-strings@7.29.7': + resolution: {integrity: sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-literals@7.25.9': - resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} + '@babel/plugin-transform-literals@7.29.7': + resolution: {integrity: sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-logical-assignment-operators@7.25.9': - resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} + '@babel/plugin-transform-logical-assignment-operators@7.29.7': + resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-member-expression-literals@7.25.9': - resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} + '@babel/plugin-transform-member-expression-literals@7.29.7': + resolution: {integrity: sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-amd@7.25.9': - resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} + '@babel/plugin-transform-modules-amd@7.29.7': + resolution: {integrity: sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.25.9': - resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==} + '@babel/plugin-transform-modules-commonjs@7.29.7': + resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.25.9': - resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} + '@babel/plugin-transform-modules-systemjs@7.29.8': + resolution: {integrity: sha512-6iSnEK0zlkLKU4heofK/AdmRD4e2SHVpJMtrwnTCzhnaM98ria4rTrOXBBi45BTTYnJtO8txnPsX4fChYXkmeA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-umd@7.25.9': - resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} + '@babel/plugin-transform-modules-umd@7.29.7': + resolution: {integrity: sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9': - resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} + '@babel/plugin-transform-named-capturing-groups-regex@7.29.7': + resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-new-target@7.25.9': - resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} + '@babel/plugin-transform-new-target@7.29.7': + resolution: {integrity: sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-nullish-coalescing-operator@7.25.9': - resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==} + '@babel/plugin-transform-nullish-coalescing-operator@7.29.7': + resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-numeric-separator@7.25.9': - resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} + '@babel/plugin-transform-numeric-separator@7.29.7': + resolution: {integrity: sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-rest-spread@7.25.9': - resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} + '@babel/plugin-transform-object-rest-spread@7.29.7': + resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-super@7.25.9': - resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} + '@babel/plugin-transform-object-super@7.29.7': + resolution: {integrity: sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-catch-binding@7.25.9': - resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} + '@babel/plugin-transform-optional-catch-binding@7.29.7': + resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-chaining@7.25.9': - resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} + '@babel/plugin-transform-optional-chaining@7.29.7': + resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-parameters@7.25.9': - resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} + '@babel/plugin-transform-parameters@7.29.7': + resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-methods@7.25.9': - resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} + '@babel/plugin-transform-private-methods@7.29.7': + resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-property-in-object@7.25.9': - resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} + '@babel/plugin-transform-private-property-in-object@7.29.7': + resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-property-literals@7.25.9': - resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} + '@babel/plugin-transform-property-literals@7.29.7': + resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.25.9': - resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} + '@babel/plugin-transform-regenerator@7.29.8': + resolution: {integrity: sha512-0UpIXPtdDtMXfnV2OJAVMLpj3H/92vmkA6lpSRakmycJvj3VUy6Xs1dM8tXRugupykr5WB+LpiVl0J8LMVg2mg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regexp-modifiers@7.26.0': - resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} + '@babel/plugin-transform-regexp-modifiers@7.29.7': + resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-reserved-words@7.25.9': - resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} + '@babel/plugin-transform-reserved-words@7.29.7': + resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-shorthand-properties@7.25.9': - resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} + '@babel/plugin-transform-shorthand-properties@7.29.7': + resolution: {integrity: sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-spread@7.25.9': - resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} + '@babel/plugin-transform-spread@7.29.8': + resolution: {integrity: sha512-4S9ksMGVWUshvgK0mKfvZky7leuG5/uoFVwMpAomJ8bMoDJiNHRVmc1EglwW/CmGVSqqWpEbXm9FmbRit22qoA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-sticky-regex@7.25.9': - resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} + '@babel/plugin-transform-sticky-regex@7.29.7': + resolution: {integrity: sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-template-literals@7.25.9': - resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} + '@babel/plugin-transform-template-literals@7.29.7': + resolution: {integrity: sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typeof-symbol@7.25.9': - resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} + '@babel/plugin-transform-typeof-symbol@7.29.7': + resolution: {integrity: sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-escapes@7.25.9': - resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} + '@babel/plugin-transform-unicode-escapes@7.29.7': + resolution: {integrity: sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-property-regex@7.25.9': - resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} + '@babel/plugin-transform-unicode-property-regex@7.29.7': + resolution: {integrity: sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-regex@7.25.9': - resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} + '@babel/plugin-transform-unicode-regex@7.29.7': + resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-sets-regex@7.25.9': - resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} + '@babel/plugin-transform-unicode-sets-regex@7.29.7': + resolution: {integrity: sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.26.0': - resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} + '@babel/preset-env@7.29.7': + resolution: {integrity: sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -616,22 +624,22 @@ packages: resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} - '@babel/template@7.25.9': - resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.25.9': - resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} engines: {node: '>=6.9.0'} - '@babel/types@7.26.0': - resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} + '@babel/traverse@7.29.8': + resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} engines: {node: '>=6.9.0'} '@babel/types@7.28.4': resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} + '@babel/types@7.29.8': + resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} + engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -841,6 +849,9 @@ packages: '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -848,9 +859,6 @@ packages: '@jridgewell/source-map@0.3.11': resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} @@ -873,186 +881,112 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@rollup/rollup-android-arm-eabi@4.27.4': - resolution: {integrity: sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm-eabi@4.52.0': resolution: {integrity: sha512-VxDYCDqOaR7NXzAtvRx7G1u54d2kEHopb28YH/pKzY6y0qmogP3gG7CSiWsq9WvDFxOQMpNEyjVAHZFXfH3o/A==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.27.4': - resolution: {integrity: sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA==} - cpu: [arm64] - os: [android] - '@rollup/rollup-android-arm64@4.52.0': resolution: {integrity: sha512-pqDirm8koABIKvzL59YI9W9DWbRlTX7RWhN+auR8HXJxo89m4mjqbah7nJZjeKNTNYopqL+yGg+0mhCpf3xZtQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.27.4': - resolution: {integrity: sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-arm64@4.52.0': resolution: {integrity: sha512-YCdWlY/8ltN6H78HnMsRHYlPiKvqKagBP1r+D7SSylxX+HnsgXGCmLiV3Y4nSyY9hW8qr8U9LDUx/Lo7M6MfmQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.27.4': - resolution: {integrity: sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.52.0': resolution: {integrity: sha512-z4nw6y1j+OOSGzuVbSWdIp1IUks9qNw4dc7z7lWuWDKojY38VMWBlEN7F9jk5UXOkUcp97vA1N213DF+Lz8BRg==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.27.4': - resolution: {integrity: sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.52.0': resolution: {integrity: sha512-Q/dv9Yvyr5rKlK8WQJZVrp5g2SOYeZUs9u/t2f9cQ2E0gJjYB/BWoedXfUT0EcDJefi2zzVfhcOj8drWCzTviw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.27.4': - resolution: {integrity: sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.52.0': resolution: {integrity: sha512-kdBsLs4Uile/fbjZVvCRcKB4q64R+1mUq0Yd7oU1CMm1Av336ajIFqNFovByipciuUQjBCPMxwJhCgfG2re3rg==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.27.4': - resolution: {integrity: sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w==} - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.52.0': resolution: {integrity: sha512-aL6hRwu0k7MTUESgkg7QHY6CoqPgr6gdQXRJI1/VbFlUMwsSzPGSR7sG5d+MCbYnJmJwThc2ol3nixj1fvI/zQ==} cpu: [arm] os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.27.4': - resolution: {integrity: sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A==} - cpu: [arm] - os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.52.0': resolution: {integrity: sha512-BTs0M5s1EJejgIBJhCeiFo7GZZ2IXWkFGcyZhxX4+8usnIo5Mti57108vjXFIQmmJaRyDwmV59Tw64Ap1dkwMw==} cpu: [arm] os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.27.4': - resolution: {integrity: sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg==} - cpu: [arm64] - os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.52.0': resolution: {integrity: sha512-uj672IVOU9m08DBGvoPKPi/J8jlVgjh12C9GmjjBxCTQc3XtVmRkRKyeHSmIKQpvJ7fIm1EJieBUcnGSzDVFyw==} cpu: [arm64] os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.27.4': - resolution: {integrity: sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA==} - cpu: [arm64] - os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.52.0': resolution: {integrity: sha512-/+IVbeDMDCtB/HP/wiWsSzduD10SEGzIZX2945KSgZRNi4TSkjHqRJtNTVtVb8IRwhJ65ssI56krlLik+zFWkw==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.52.0': resolution: {integrity: sha512-U1vVzvSWtSMWKKrGoROPBXMh3Vwn93TA9V35PldokHGqiUbF6erSzox/5qrSMKp6SzakvyjcPiVF8yB1xKr9Pg==} cpu: [loong64] os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.27.4': - resolution: {integrity: sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ==} - cpu: [ppc64] - os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-gnu@4.52.0': resolution: {integrity: sha512-X/4WfuBAdQRH8cK3DYl8zC00XEE6aM472W+QCycpQJeLWVnHfkv7RyBFVaTqNUMsTgIX8ihMjCvFF9OUgeABzw==} cpu: [ppc64] os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.27.4': - resolution: {integrity: sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw==} - cpu: [riscv64] - os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.52.0': resolution: {integrity: sha512-xIRYc58HfWDBZoLmWfWXg2Sq8VCa2iJ32B7mqfWnkx5mekekl0tMe7FHpY8I72RXEcUkaWawRvl3qA55og+cwQ==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.52.0': resolution: {integrity: sha512-mbsoUey05WJIOz8U1WzNdf+6UMYGwE3fZZnQqsM22FZ3wh1N887HT6jAOjXs6CNEK3Ntu2OBsyQDXfIjouI4dw==} cpu: [riscv64] os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.27.4': - resolution: {integrity: sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg==} - cpu: [s390x] - os: [linux] + libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.52.0': resolution: {integrity: sha512-qP6aP970bucEi5KKKR4AuPFd8aTx9EF6BvutvYxmZuWLJHmnq4LvBfp0U+yFDMGwJ+AIJEH5sIP+SNypauMWzg==} cpu: [s390x] os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.27.4': - resolution: {integrity: sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q==} - cpu: [x64] - os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.52.0': resolution: {integrity: sha512-nmSVN+F2i1yKZ7rJNKO3G7ZzmxJgoQBQZ/6c4MuS553Grmr7WqR7LLDcYG53Z2m9409z3JLt4sCOhLdbKQ3HmA==} cpu: [x64] os: [linux] - - '@rollup/rollup-linux-x64-musl@4.27.4': - resolution: {integrity: sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw==} - cpu: [x64] - os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.52.0': resolution: {integrity: sha512-2d0qRo33G6TfQVjaMR71P+yJVGODrt5V6+T0BDYH4EMfGgdC/2HWDVjSSFw888GSzAZUwuska3+zxNUCDco6rQ==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-openharmony-arm64@4.52.0': resolution: {integrity: sha512-A1JalX4MOaFAAyGgpO7XP5khquv/7xKzLIyLmhNrbiCxWpMlnsTYr8dnsWM7sEeotNmxvSOEL7F65j0HXFcFsw==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.27.4': - resolution: {integrity: sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.52.0': resolution: {integrity: sha512-YQugafP/rH0eOOHGjmNgDURrpYHrIX0yuojOI8bwCyXwxC9ZdTd3vYkmddPX0oHONLXu9Rb1dDmT0VNpjkzGGw==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.27.4': - resolution: {integrity: sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.52.0': resolution: {integrity: sha512-zYdUYhi3Qe2fndujBqL5FjAFzvNeLxtIqfzNEVKD1I7C37/chv1VxhscWSQHTNfjPCrBFQMnynwA3kpZpZ8w4A==} cpu: [ia32] @@ -1063,11 +997,6 @@ packages: cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.27.4': - resolution: {integrity: sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.52.0': resolution: {integrity: sha512-6iKDCVSIUQ8jPMoIV0OytRKniaYyy5EbY/RRydmLW8ZR3cEBhxbWl5ro0rkUNe0ef6sScvhbY79HrjRm8i3vDQ==} cpu: [x64] @@ -1088,683 +1017,940 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@stdlib/array-base-accessor-getter@0.2.2': - resolution: {integrity: sha512-HGJNjWWysDoo6ORrLj+FV/6IpfIbDGqZtpzGQzFI1A6jgqJMw2JuRwlsgRsriJ1SnyFoPNIObwyGDSY18XQrMw==} + '@stdlib/array-base-accessor-getter@0.2.3': + resolution: {integrity: sha512-/2tQbhLpgBMfAafB9I8MWFkn3dYUUGcUUiZcbPHaAloV22G6W2HU+gUk0l4i++w/34Y9HzxjF1pevMi9wPizMQ==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/array-base-accessor-setter@0.2.3': + resolution: {integrity: sha512-NMvp8JNmvI9mCWmenPX749j28IBvUflsQ9WVhCRwmzrBDgf1FMUvvFFyWpcjnZI+8luwW97o9e3EzWBUIxeLEA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/array-base-arraylike2object@0.2.2': + resolution: {integrity: sha512-k5dDtnpL33vgSuHkIJjsMcNWT75SCD3daeU+S9Ucwb8GW9UJh8iWRmm1/F4OLD0dRlQx1Jrkf7Z3fUxIb8aaqA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/array-base-assert-is-accessor-array@0.2.3': + resolution: {integrity: sha512-crAa2IZOPCqQMLRfIVkFMX6tJFnzTKfhCNzRXOGBmx7tOfoZoI/KHHVct1yZLv6uBD7v6hvegKdJcGk1BgMTEw==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/array-base-assert-is-complex128array@0.2.3': + resolution: {integrity: sha512-C2B/mcZ9S1I2KSsWkAwIIoW0ekDXcMao0Eoa8moS6xlpX5sgDVhmB/DkL0sb+z0E3GRp6/axiqyNTmEl1dhKeA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-base-accessor-setter@0.2.2': - resolution: {integrity: sha512-8Nzwv9RIOvIw9xP+FEXpw0iANqNuU8vP1paVgAnErPVDllB4VVWMXMe8gwxF4gjxf+8+hp2v5kudZFYINVQWWQ==} + '@stdlib/array-base-assert-is-complex64array@0.2.3': + resolution: {integrity: sha512-CtI7sc1pcXB2yqQxHbz6mglOHK243HV+/hO2jAqDBPpaRiY+/z6+NHuhd1lrynJBSJdFzDyTatQaLTsfhLPDfw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-base-arraylike2object@0.2.1': - resolution: {integrity: sha512-WHlzAZQXwz2zR0UnkGXznjvykuvhlhFqb0s8Dhv5InhRvhYkcfT7BY23In74kBBzW3gkonxJUxbd0OG6nEHcCA==} + '@stdlib/array-base-getter@0.2.3': + resolution: {integrity: sha512-guM8IURCdDGEo71vvk4S0ZZUWVP3GvzdtYhWLJnDQPW4axLdfWTIUf13qcrUV5TRSMpfMOftSuQZf7dBGAOE2Q==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-base-assert-is-accessor-array@0.2.2': - resolution: {integrity: sha512-OTkQG0wzxeEyjg1to4fTlxtQq6qoekGWn6eRbr1akBrdGlW9Qv5KjWu91dE/Su+WBkmo+Y5HgiLCFc/TuFe3iA==} + '@stdlib/array-base-setter@0.2.3': + resolution: {integrity: sha512-jq27dgj4h9YyT4ZUubG7jP0KrNQP1MY2aLyieHGXv9Yx+1ysf8FLBRkekbOl1MJXXE7o0bOGAsiywS+olCgBGA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-base-assert-is-complex128array@0.2.2': - resolution: {integrity: sha512-C1n7o8N8KtCIjJ8dBwAozjmBUx8r+Y8oOpOMvMv6AB+YL8qaaXIQzrEeDKQuQk59QHqgl7aPwRGQ4gmjdup9oQ==} + '@stdlib/array-bool@0.1.2': + resolution: {integrity: sha512-u+e5+u/zCSNM6914c+3dVjfR3HWJzZvME84FyuETS1WkSIueHYYjbL/Y3Mwrrj8UufOdQCJEFDsNHUPBRWSqmQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-base-assert-is-complex64array@0.2.2': - resolution: {integrity: sha512-ovIQ15KnzHH4Y7dGUW8p8GqiPK5F806oDNbfIKTIk7en0XMtsGb0CcuMod0lUMyQTwh4hgTHXcp6vTuq+Igarg==} + '@stdlib/array-complex128@0.3.2': + resolution: {integrity: sha512-DPmQ8+MIxJBvusFNXDJMxqHCvMezhq0BGHcZoPeQYn5EDr6PN27VhyxgSWALzmHl72432e6ukeg+KQPKJQ1fcg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-base-getter@0.2.2': - resolution: {integrity: sha512-D7PZr+QkMKQXckaLtzykcgXEMSnFOVzElklLC958ZxKN9eZuobEL4+0i6MZ9ODRO6SAU7x7NYnFFX/vdYS5b8w==} + '@stdlib/array-complex64@0.3.2': + resolution: {integrity: sha512-gYh7d2yCq4EELHP/8PKNWz2NO+x6ln5VPXbd4logAVZg4EhYW3rl9jkU6W0KGPncwEDIw+QuHcIAogYmPFnFDQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-base-setter@0.2.2': - resolution: {integrity: sha512-QF3GJq2OE4KYZehgaXQGFtR5w6bV/8wjQJap+9MQB4RZ6BtIdkGeTWaMfQjx5WgJ5lXVuzRt8TrNDwOq6payxw==} + '@stdlib/array-dtype@0.3.1': + resolution: {integrity: sha512-D/tBahfw2W0gVKPX89YbUA52SYOeGS2kqdOMgf2lJD/U1vuJehLq145dajQEGhjc60wdigM2VMjfCrME2MGfSQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-complex128@0.2.1': - resolution: {integrity: sha512-AinzxxCWP0E47eCPmGWTRbUKoYtY+lJQmAi1t+yvv07K0Qgph8OTDAbk2xR8dF2JmBFIZXypUTRG2cG+aoZvNw==} + '@stdlib/array-float32@0.2.3': + resolution: {integrity: sha512-LxdKGrpsCehFDgU+nw7r3/NL+g8pe9zcDn/6fvNwiuy0AiunX/+c8lin9qUy/FEhrbU6aFXepFM2Ql/9YQD+TA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-complex64@0.2.1': - resolution: {integrity: sha512-1CdCZtov9hS/RZO5RQ1DCxVIA8uMfaBpjCqA+JiEpSVHK1lnYcl86PljMs+ls38IH+B/h/cpOCWC68iuu14vwg==} + '@stdlib/array-float64@0.2.3': + resolution: {integrity: sha512-LtQOcxfE2zX5QnYfLNfptSV9q3JUGkOvGhvtO94iPXEvYTvJSEWLK7G97AJR9MK3rdL1+USjGQzUPiUd1/kAbw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-dtype@0.2.1': - resolution: {integrity: sha512-ZE1BycHa405hpg2nApMDS9Lq4zOCIYdklCBmSFdwB3bUPC40/GUR4RxqVETLZKxHx+rbPyXSvzpqDm7wgQjpZA==} + '@stdlib/array-int16@0.2.3': + resolution: {integrity: sha512-yNoSOvDGUwHlO5g3wyEM5KYIRaHB5N/PNQHhOTbuvjdsvBhPgmyJr/TQABnSipKsS6hOEveI1SxyONfZGD2QkQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-float32@0.2.2': - resolution: {integrity: sha512-pTcy1FNQrrJLL1LMxJjuVpcKJaibbGCFFTe41iCSXpSOC8SuTBuNohrO6K9+xR301Ruxxn4yrzjJJ6Fa3nQJ2g==} + '@stdlib/array-int32@0.2.3': + resolution: {integrity: sha512-m+uRYfsP2XDMCgCN0EMsxUNha4SQ29htPqFC9KZPgnVvvmjr5gsTHiZ95Io/ErgLxFCjRajpi9stjZ7f9Xeiug==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-float64@0.2.2': - resolution: {integrity: sha512-ZmV5wcacGrhT0maw9dfLXNv4N3ZwFUV3D7ItFfZFGFnKIJbubrWzwtaYnxzIXigrDc8g3F6FVHRpsQLMxq0/lA==} + '@stdlib/array-int8@0.2.3': + resolution: {integrity: sha512-RZFDdqpFwNrIUob38519AL6tNWGQb/Nqo5TnocCgLPRVFa722DF2MI/DMjhQBbp9RhI2gHAz/gtqfa3CIhsM7Q==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-int16@0.2.2': - resolution: {integrity: sha512-kHxyQ1INGtga38Grr/5MnDVAuJgnerh+MsJQcpT5jxxnc9QAnVc7O6DRv8i/hfOOxUOH15C/MeoBs+zim4CnLQ==} + '@stdlib/array-to-json@0.3.1': + resolution: {integrity: sha512-ljAbjjIEaiKDbfDFbNElLcGVOYMRLZslXfKTE/HnkadZ6OgA/vb4wp4D9NFCNceOXgl9lWBGYJNLJiE53rogBA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-int32@0.2.2': - resolution: {integrity: sha512-+jFqht43oPJ8YnlyCZ7cSf9Z8xenIIsJDgLZ9zW+gh8o13SSfF+ukm0AGAdnKnKGR3zPBLnSso7JXyDe2r134g==} + '@stdlib/array-uint16@0.2.3': + resolution: {integrity: sha512-ceDGvNGOxR2kUO30USUWL8ezKw+R6wBwQNJmPOfT1HJRmCxio+eRMBygmxoRmWwoj2pj8IHC/GlC3N2kSNN0Iw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-int8@0.2.2': - resolution: {integrity: sha512-UW3KlKt7Lww1XML5Gzj+YYHRXD8+RIUrnlPcTwYH9O8j+/m5vyvGYlBIJD2MDO1fgUl2skgmpNkK9ULfsBlIRA==} + '@stdlib/array-uint32@0.2.3': + resolution: {integrity: sha512-zZGjkJjPsgp3WyKOCICOGaJ3OoVyzwgyZgyEHl3wlEqfPhUPpVJGLhy9mFx8WIoTGHsCWHs1COWZfh88bL/pSA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-to-json@0.2.1': - resolution: {integrity: sha512-cTLBiXSbs2/g4U5xf9nz9TY54LW67nrbLCGsnqHMp4KSKixb/wH/F7BSNCN3WLJVW+5qFInVJ7Tav+lBeSPDQQ==} + '@stdlib/array-uint8@0.2.3': + resolution: {integrity: sha512-+UVsdR94Qe1zXEbpE+rpXFxp/VB8+zGxH3d7RH2cUpy5eFeqcSQNvxaxfqZnbmqk2Gu5tJEv/ZBcTXkpeKH7HA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-uint16@0.2.2': - resolution: {integrity: sha512-z5c/Izw43HkKfb1pTgEUMAS8GFvhtHkkHZSjX3XJN+17P0VjknxjlSvPiCBGqaDX9jXtlWH3mn1LSyDKtJQoeA==} + '@stdlib/array-uint8c@0.2.3': + resolution: {integrity: sha512-bTK5NJeXPo3bpiSu7qebFjGogu9CJKCNmmooAjPcq1Kj/S5C+vVamJjHx/C32euvlynwRiF0fJjcerSVvggsZQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-uint32@0.2.2': - resolution: {integrity: sha512-3T894I9C2MqZJJmRCYFTuJp4Qw9RAt+GzYnVPyIXoK1h3TepUXe9VIVx50cUFIibdXycgu0IFGASeAb3YMyupw==} + '@stdlib/assert-has-float32array-support@0.2.3': + resolution: {integrity: sha512-nNRO8I4dp3CtxFXCD901IBmVc+/otaFMr/Mx1jN956nkaXaL3GZR6p12IGgN535Nj3QILoKPmOG7gOjts+uQOA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-uint8@0.2.2': - resolution: {integrity: sha512-Ip9MUC8+10U9x0crMKWkpvfoUBBhWzc6k5SI4lxx38neFVmiJ3f+5MBADEagjpoKSBs71vlY2drnEZe+Gs2Ytg==} + '@stdlib/assert-has-float64array-support@0.2.3': + resolution: {integrity: sha512-BbHjShic68woFydK2s8ECn4uKM+Cr3lB6kBP+9wK7wkUGVzq4lo7n+Twt0cBbgwJOGLlQayJQOQAVVq/nu/wDg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/array-uint8c@0.2.2': - resolution: {integrity: sha512-uBEJ1yKLZjwgmCV7iSNLkr/SGCxL7qVwnb+f4avVSBxlIv/k29oIO/sibgkHbZMBlBSw39dWQzIKD0UQJWDVDQ==} + '@stdlib/assert-has-function-name-support@0.2.3': + resolution: {integrity: sha512-NJc03nnTjUqEzIrbX6EYSMw982f/0Zus2l5U54XBKnQ4ndISGYnbPfrJqswwkNNDa8TsRvGFL65aO2l6Qq/kwA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-float32array-support@0.2.2': - resolution: {integrity: sha512-pi2akQl8mVki43fF1GNQVLYW0bHIPp2HuRNThX9GjB3OFQTpvrV8/3zPSh4lOxQa5gRiabgf0+Rgeu3AOhEw9A==} + '@stdlib/assert-has-has-instance-symbol-support@0.1.1': + resolution: {integrity: sha512-X5+vFyCteVJzIEpFlWh1oelKrmOe7/FbLPcx5iQHslPlRcGfVhNfEF1DgB28YqIBzl74p+Q+SR0QzfEm5xF0oA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-float64array-support@0.2.2': - resolution: {integrity: sha512-8L3GuKY1o0dJARCOsW9MXcugXapaMTpSG6dGxyNuUVEvFfY5UOzcj9/JIDal5FjqSgqVOGL5qZl2qtRwub34VA==} + '@stdlib/assert-has-int16array-support@0.2.3': + resolution: {integrity: sha512-b/2LkEPpg4jmrZZYVF0kmjsThEolINpj7TkKLQORxWeFKlULHX+rEVBwnUxGqW7Z3P6xwklbSlzzhlCU0xXc4w==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-function-name-support@0.2.2': - resolution: {integrity: sha512-8WvRrAD7uJGbJR/F4F9GF5yd39RjKssptQdiZS2MuPhnkFeXZPsSQlAVvCsQfZyZESBykL9qxoKZ8suM/XlMbA==} + '@stdlib/assert-has-int32array-support@0.2.3': + resolution: {integrity: sha512-FjGlpOYwUV/DbWpX14ZirgxMRgkwe6KKsN+/DEllu/w0bLIR4uBVBOQk8XDnExSVd72CiOH9+HOx6QTjHlhnMg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-int16array-support@0.2.2': - resolution: {integrity: sha512-rIrJ2371vd4kg5sHb/bz0xX1dlwyElT6kivnFPtZUXMaMS1breSUIpwPkUPXdr1AbmQdeJYv0c/YBtKB0PCo2g==} + '@stdlib/assert-has-int8array-support@0.2.3': + resolution: {integrity: sha512-DYq1D2vpVO9NnRQa+BQ6JeZy4SX4yps2Tusalnri7M9s9BNzgzH2rqB1gdcUmSLQ8vLLaHNVsHPGoiPqh9tJBw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-int32array-support@0.2.2': - resolution: {integrity: sha512-3o/6PuZ+z6+cimb9L1f0d4LGP2GJO4EUVlD6oz8I6vKz35438coM5CduXOMVWvdzm4Rku4ty5mi1Gz0U53pC4Q==} + '@stdlib/assert-has-iterator-symbol-support@0.2.3': + resolution: {integrity: sha512-m06tXK3ErFF3O3pFrgfbCmtH7UpGDspqAoE260Gw+75JY7LkX6cl/uGoGOmxq0WZPyom/R4UJCdDkB7J15DKYQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-int8array-support@0.2.2': - resolution: {integrity: sha512-QUasYxAqQdgqDglQTwV9dZSwMXvLzLpVC4FcN+kia/+nX1HGjYUBq95fBj0vigW+SC2OiuepJkNiB/PlhA08+g==} + '@stdlib/assert-has-own-property@0.2.3': + resolution: {integrity: sha512-BnX1Lpvd9YaucQLokQrf7ppLwa3V+nTUQ9qoys5SloYhjwbYWtO61SJVT2JK+cfsCxUAx/HAh3dN1qTKxx1PIg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-iterator-symbol-support@0.2.2': - resolution: {integrity: sha512-XQ/V/rZ0VjfODhZu65fY2Mvzd4SIxgiKGTUoQpG9nrCh9JZflBUZoDsXvtZ8PSHCylC4aYKi7maA/AkLqbft1g==} + '@stdlib/assert-has-symbol-support@0.2.3': + resolution: {integrity: sha512-yNsJnCb7HWye5xhZ/eRIpp28HwOVFF5gUCKeT1p4haoDJOn+3YEPYaXMn4mYK6kRN96tUhovlJQv9H/9jwnLpA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-own-property@0.2.2': - resolution: {integrity: sha512-m5rV4Z2/iNkwx2vRsNheM6sQZMzc8rQQOo90LieICXovXZy8wA5jNld4kRKjMNcRt/TjrNP7i2Rhh8hruRDlHg==} + '@stdlib/assert-has-to-primitive-symbol-support@0.1.1': + resolution: {integrity: sha512-nobeU8aB76XlDtKCC4DZWRdWSbPCoOGOOwEuVoyJ058gNacR4lRPoCA/7cxAVl3UqqLwhX3E1MSOMxNTnMyTGA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-symbol-support@0.2.2': - resolution: {integrity: sha512-vCsGGmDZz5dikGgdF26rIL0y0nHvH7qaVf89HLLTybceuZijAqFSJEqcB3Gpl5uaeueLNAWExHi2EkoUVqKHGg==} + '@stdlib/assert-has-tostringtag-support@0.2.3': + resolution: {integrity: sha512-9sULfRKYneF/Mq6F96xqeQrf0a9wdJc1lNZf2wfs1EtRwQHQfx5+QlYl7hp3gWI/iid5M4Npme86T0413eaBfA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-tostringtag-support@0.2.2': - resolution: {integrity: sha512-bSHGqku11VH0swPEzO4Y2Dr+lTYEtjSWjamwqCTC8udOiOIOHKoxuU4uaMGKJjVfXG1L+XefLHqzuO5azxdRaA==} + '@stdlib/assert-has-uint16array-support@0.2.3': + resolution: {integrity: sha512-7PjQTyXmpIczUz7Vx8c7BcdroJmMmQjyNQDF9a46Ya+nZxqH7g9jRsxmvzqVrSyXhkIyAbw1Ao2QyKocz+hZhg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-uint16array-support@0.2.2': - resolution: {integrity: sha512-aL188V7rOkkEH4wYjfpB+1waDO4ULxo5ppGEK6X0kG4YiXYBL2Zyum53bjEQvo0Nkn6ixe18dNzqqWWytBmDeg==} + '@stdlib/assert-has-uint32array-support@0.2.3': + resolution: {integrity: sha512-xa/0yWs+fhp/yUZPD3/ZmQCXqv7haJGGJE75HBX9tw9CHgmqpgAihD4yGy982CtQaxEltH8icNOX8CQzZZS31w==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-uint32array-support@0.2.2': - resolution: {integrity: sha512-+UHKP3mZOACkJ9CQjeKNfbXHm5HGQB862V5nV5q3UQlHPzhslnXKyG1SwAxTx+0g88C/2vlDLeqG8H4TH2UTFA==} + '@stdlib/assert-has-uint8array-support@0.2.3': + resolution: {integrity: sha512-cgXcNtv5PS+LEV0tj8VOZ8WVjLJuvSzG0GolF+2M0u5le2hHk7BfKH9bqmrk0AzpipAEEdQgp4CGc/Mmji5s8g==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-uint8array-support@0.2.2': - resolution: {integrity: sha512-VfzrB0BMik9MvPyKcMDJL3waq4nM30RZUrr2EuuQ/RbUpromRWSDbzGTlRq5SfjtJrHDxILPV3rytDCc03dgWA==} + '@stdlib/assert-has-uint8clampedarray-support@0.2.3': + resolution: {integrity: sha512-Lp2sWfsU5Saqm4IQ+ARuUFc3o6qOJoYxzhyI9nAHC1yy8bgvwNkjFiGs+fJcfrtFxeNDC8WIs+IbzuiT3HSoJw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-has-uint8clampedarray-support@0.2.2': - resolution: {integrity: sha512-/zT8Piv1UUFUpelBo0LuTE4V9BOEW7DTwfGlPvez93lk72XtaIYhTHkj+Z9YBGfAMV2PbL6eteqFffMVzUgnXg==} + '@stdlib/assert-instance-of@0.3.1': + resolution: {integrity: sha512-gO2d9oNGStxZ8OZvpP6w+dE869YDeU5IzkwWVVX5jYWVVAOLXhpSZjdtXQ9ejLdnnm9XeqFQbrU3NULzftSP/w==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-instance-of@0.2.2': - resolution: {integrity: sha512-PqVd6EzbGV5mD/gTEarFutdRTyKkyK3H0b3NZHQ7N9QbVDC1XBhI9ajR/twI3445AfsW/9OSzJoWIM95PjGaOA==} + '@stdlib/assert-is-array-like-object@0.2.3': + resolution: {integrity: sha512-Vu+ekWIc3srgjwWZSUl7FK+kj0HVwWdcAHNDsUon6mcvzltkTm+fYS9q/233L9U8BanhfORMtVcQ6hLX0Cnnkw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-array-like-object@0.2.2': - resolution: {integrity: sha512-T73aKzzi1sKhyOn1wnp1lw2yZEyCnyNfE69p1oWHyWn7EXAJN3J0wTJGGt71/mgD0DDAd3Q+5FsGCYhfmrYdsQ==} + '@stdlib/assert-is-array@0.2.3': + resolution: {integrity: sha512-ayRsLGmssNO+8SR63tPP2+LZCxFVsSXtdN0ToSdm0kAOaGT4e0FoQus+AlFdhW5xWtvoxL8r5WKTVqJ514/rvQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-array@0.2.2': - resolution: {integrity: sha512-aJyTX2U3JqAGCATgaAX9ygvDHc97GCIKkIhiZm/AZaLoFHPtMA1atQ4bKcefEC8Um9eefryxTHfFPfSr9CoNQQ==} + '@stdlib/assert-is-arraybuffer@0.2.3': + resolution: {integrity: sha512-1uNY2fnLP1bsHDqydcuxhj3SdJrMMvKdZvGVCSoT8H0HRMoStED3FS/zXzSLTGHXcExYYSHXWyOrvieLWNIfQg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-arraybuffer@0.2.2': - resolution: {integrity: sha512-j0IDGRTF3+yhH9tgcNgPdicXYbCS811Uv0zYxOGcajq1Dcy931aOs9BKqBo4M5bK6eJtAFq2yReKIIXYkZpH6Q==} + '@stdlib/assert-is-big-endian@0.2.3': + resolution: {integrity: sha512-+/X7ZcXFdboHIKDtxnx25fKmf9EhPRyp37qp9H9tUb0RnPT8SgmQKtYZxovp7EeBbESZOKSousg0jZKLbPqRAg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-boolean@0.2.2': - resolution: {integrity: sha512-3KFLRTYZpX6u95baZ6PubBvjehJs2xBU6+zrenR0jx8KToUYCnJPxqqj7JXRhSD+cOURmcjj9rocVaG9Nz18Pg==} + '@stdlib/assert-is-boolean@0.2.3': + resolution: {integrity: sha512-36BETlRDrBeCOBLowW1/vqk9wD+OA3Wp9eQxFij/7icKiMDURH+Fiw2hfbhaZ3c3Y9uEN0rAdOT7AJlwWhXc7Q==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-buffer@0.2.2': - resolution: {integrity: sha512-4/WMFTEcDYlVbRhxY8Wlqag4S70QCnn6WmQ4wmfiLW92kqQHsLvTNvdt/qqh/SDyDV31R/cpd3QPsVN534dNEA==} + '@stdlib/assert-is-booleanarray@0.0.3': + resolution: {integrity: sha512-jtLjSfttfN5oPchvrpEtxcrdmEKxQ4gJ9krjH9WvulkSjQsHcidasWE5cN64gliBbDOIrVaDyYbQMAB4QHYFOw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-collection@0.2.2': - resolution: {integrity: sha512-tbh6ySMqzTkHjFzcNkwtfnJgt65qWeu+0Wv3N0D9QEd3gnJfWq4mJJS3DyJ5n91VoB7RXppB/giDxDUCw/Y+KQ==} + '@stdlib/assert-is-buffer@0.2.3': + resolution: {integrity: sha512-ppnL0sC5XHSk221AYjT4zD33TDB/XuSkhbbbr5sviTH5+88KAqy7SjFlvcpqpvB2BvEVzqRE1fgVso8SjGQD+A==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-complex-like@0.2.2': - resolution: {integrity: sha512-/prN0SdWpTB8uHGlvvJJs/Q5o0vO0cj2Kh/MLJXrsMo2gvQsQHF+oez1X+FuMrJrfVq6+Im/H4KHa/wjoSPx8Q==} + '@stdlib/assert-is-collection@0.2.3': + resolution: {integrity: sha512-mAL86cRZhTeqCHiLDynOFm2S3DRUaB9NWPbUSFELmoWZ9wV0JeCIfNRYRyzWRPthMsyTYACAhLx8UV8IGJjsmQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-complex-typed-array@0.2.2': - resolution: {integrity: sha512-pjkKA0PDU4wwdytoBb34kr71ZCgn3WWW3Ku/c6wXdx5VsC+J/nE7qCm/odgIesdhzu34I3MnYw8dSBQNyUPuIg==} + '@stdlib/assert-is-complex-like@0.2.4': + resolution: {integrity: sha512-BTrhcwlCRb/6NRqlB6Ap5WpniqaawCZOWnJuAJy16lbrvYvFP09f7UNNmxrxFl8BCg9hhyZQTIfdaF9CMgN9wQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-float32array@0.2.2': - resolution: {integrity: sha512-hxEKz/Y4m1NYuOaiQKoqQA1HeAYwNXFqSk3FJ4hC71DuGNit2tuxucVyck3mcWLpLmqo0+Qlojgwo5P9/C/9MQ==} + '@stdlib/assert-is-complex-typed-array@0.2.3': + resolution: {integrity: sha512-vqRH5uAPzFlAoLlcL5YGqGmyWipoeJ7yRrLKXljmJgf8zUi87Q96LfoKuMFTBqVdPYf+d5BNiUUcUdFqXhNDEw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-float64array@0.2.2': - resolution: {integrity: sha512-3R1wLi6u/IHXsXMtaLnvN9BSpqAJ8tWhwjOOr6kadDqCWsU7Odc7xKLeAXAInAxwnV8VDpO4ifym4A3wehazPQ==} + '@stdlib/assert-is-float32array@0.2.3': + resolution: {integrity: sha512-fHPem8taZPd1YoYIB1lqju9HEPDUuY/UFKG0/PquCZtA/g32TEyMM7tb/GCcDQuxno9jnH4+6r7CTfHaa9758w==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-function@0.2.2': - resolution: {integrity: sha512-whY69DUYWljCJ79Cvygp7VzWGOtGTsh3SQhzNuGt+ut6EsOW+8nwiRkyBXYKf/MOF+NRn15pxg8cJEoeRgsPcA==} + '@stdlib/assert-is-float64array@0.2.3': + resolution: {integrity: sha512-GEuYmjWDT2PY530fIO4qBDr4xO9vYWTjyszkyma0RWKzyGBdCV6GYdMj8qO+W7bOVsqeuoYNTCNebOYfpgZbSQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-int16array@0.2.2': - resolution: {integrity: sha512-HQ9yyX1di07pWreBk6njw9x1sipJKSP4SCSkidLfUHKxaooxeUprAFONfMiEMdNBbn7f3awfs23h1bpN/Z6Vmg==} + '@stdlib/assert-is-function@0.2.3': + resolution: {integrity: sha512-6EdSkdJ1KtILdGb84MhherNtitGgzHH+u6rs1gGj+294wg/9IzLYaaHDktJVRN/viD3XLEQjPGzSTq5x5DzPbQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-int32array@0.2.2': - resolution: {integrity: sha512-YomgTwoJD/ci8K9mWNCyqSDtkYfHNplMYw+B9rmcxrjX//1LVZkrzgwWEc6dC3RlY0Ou+uDHJpKeKL9G2fj4GQ==} + '@stdlib/assert-is-int16array@0.2.3': + resolution: {integrity: sha512-H5OohxNtQJ/i6esWE5R01TmXl0M5gCdvHP3+02ahiXbq6PBOJ5bJQVvw2M/j0jO93tS6d+5OcVGAKGazSn76RQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-int8array@0.2.2': - resolution: {integrity: sha512-Y1QP3uIZ+CG+rFrD6nOO/N/8O1rRbXgG+iVo5aj8xNRUtfg1iYekUspfNKqxeZUJ95Ocv705m7/vsGlvI1MugQ==} + '@stdlib/assert-is-int32array@0.2.3': + resolution: {integrity: sha512-ATPkqHYsQnOYs2Vz3KudJd/N79GFsiKzEOiTMzl5ILcN6bdW28ZNjfh2eIJ/o8NR22rfPQOiUCvxJHw2hpAYKw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-integer@0.2.2': - resolution: {integrity: sha512-2d4CioQmnPcNDvNfC3Q6+xAJLwYYcSUamnxP0bSBJ1oAazWaVArdXNUAUxufek2Uaq6TVIM2gNSMyivIKIJd2w==} + '@stdlib/assert-is-int8array@0.2.3': + resolution: {integrity: sha512-eK9SvSUVTTQ0yGgWF9BI/hvqs6pu77NoVRwfQLLvjzcpI3hRm5RyzhHyoNe6Q7FQ1obxvVYsCjysRmC+xmV36Q==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-nonnegative-integer@0.2.2': - resolution: {integrity: sha512-4t2FoZQeZ5nMYHYSeTVlgAp/HLEMYqe9qMcJgbvj63KTrGCDsuIpTE0S+UTxAc6Oc3Ftgb0ygjBFJQ0mxwN0Ow==} + '@stdlib/assert-is-integer@0.2.3': + resolution: {integrity: sha512-HfJg0x6YWW6aP3JSONoI5bNXFGqtiNqWj0L0ex+oDpzrVbXQOu9GNlRKP5P5cDgfI+3rpZMCINX52IGKyCiUJw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-number@0.2.2': - resolution: {integrity: sha512-sWpJ59GqGbmlcdYSUV/OYkmQW8k47w10+E0K0zPu1x1VKzhjgA5ZB2sJcpgI8Vt3ckRLjdhuc62ZHJkrJujG7A==} + '@stdlib/assert-is-little-endian@0.2.3': + resolution: {integrity: sha512-TvKdQhKwrWf0rik5iiurlI1hpJru+bbYGByoSJ6SScTvZIgf54MTYEsWgVyoNqMw8AQFxOyDbMRee+je65ZbMA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-object-like@0.2.2': - resolution: {integrity: sha512-MjQBpHdEebbJwLlxh/BKNH8IEHqY0YlcCMRKOQU0UOlILSJg0vG+GL4fDDqtx9FSXxcTqC+w3keHx8kAKvQhzg==} + '@stdlib/assert-is-nonnegative-integer@0.2.3': + resolution: {integrity: sha512-3Goiu4Kum1Xm9NbvC23GZOj1a6aVrGF1D8CkZkKDNp8kiYgKSKonvcbf3JeVrr/fLxsdfjnprbzrPOYsMOsRYw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-object@0.2.2': - resolution: {integrity: sha512-sNnphJuHyMDHHHaonlx6vaCKMe4sHOn0ag5Ck4iW3kJtM2OZB2J4h8qFcwKzlMk7fgFu7vYNGCZtpm1dYbbUfQ==} + '@stdlib/assert-is-number@0.2.3': + resolution: {integrity: sha512-6i2RoG5TYn7mfKnPmvAA1Gdhn3PxvQegb2bh2pi5k/+xXgEHoubpqBSVxZBTZ70GIkPwNFJQDRWqwOwHet6enQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-plain-object@0.2.2': - resolution: {integrity: sha512-o4AFWgBsSNzZAOOfIrxoDFYTqnLuGiaHDFwIeZGUHdpQeav2Fll+sGeaqOcekF7yKawoswnwWdJqTsjapb4Yzw==} + '@stdlib/assert-is-object-like@0.2.3': + resolution: {integrity: sha512-K6G58h5euEVSEZvFZSHADoYL7sixNTRy+ezHl/I3byJpC9PJdvTO0XWYD0CT0yVXIaqmCYU2NsPpgGdcPLELFg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-positive-integer@0.2.2': - resolution: {integrity: sha512-cHdVJC88DZYpN4q39cWjx9fAqKBY9x0FFf3yY6aFBUaAXP/K5Ptdh22+y1wX210vC/wvxL5V9n4pcWO3wmBGHg==} + '@stdlib/assert-is-object@0.2.3': + resolution: {integrity: sha512-H9NaVGuPl4qA3J4gDAzy+sHCkTImVycoNd7izPF63JuAlEO6KTdpVK7stQBXgcWf1pyRHem7ZTJCzht2UMLzcA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-regexp@0.2.2': - resolution: {integrity: sha512-2JtiUtRJxPaVXL7dkWoV3n5jouI65DwYDXsDXg3xo23TXlTNGgU/HhKO4FWC1Yqju7YMZi0hcZSW6E9v8ISqeQ==} + '@stdlib/assert-is-plain-object@0.2.3': + resolution: {integrity: sha512-MRdn9kuzC4Hf/2Z/911yZUso6s6f048Ck3dO1j9scHk9EKnU404XrC5NJHeZ9OaI/689Fs+JKDWyKyqyHYRV8A==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-string@0.2.2': - resolution: {integrity: sha512-SOkFg4Hq443hkadM4tzcwTHWvTyKP9ULOZ8MSnnqmU0nBX1zLVFLFGY8jnF6Cary0dL0V7QQBCfuxqKFM6u2PQ==} + '@stdlib/assert-is-positive-integer@0.2.3': + resolution: {integrity: sha512-lGd068beyzC9O1cAlyI5vKlCEUyJwwTrSdLkfVqNdqppiX64lOngjoAhu4BmHScuWSiJz9Zz39YnQ/mA6cH/kg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-typed-array@0.2.2': - resolution: {integrity: sha512-PI7TpItESx9ztgyJUlJzg4vqlqEKRXT6bIvYg3S68u+7pluBam3xamxlkWrST5X/w44jiJK400UrPZArCz6tog==} + '@stdlib/assert-is-regexp@0.2.3': + resolution: {integrity: sha512-+QlQMHrmSmF++7gK0Jjgy7W5aa91gAfpFWPyY4gUwkrSc+mY+JPPYW4peAf+v6dXABOgfKH/JOaFPSv227SSTQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-uint16array@0.2.2': - resolution: {integrity: sha512-w3+HeTiXGLJGw5nCqr0WbvgArNMEj7ulED1Yd19xXbmmk2W1ZUB+g9hJDOQTiKsTU4AVyH4/As+aA8eDVmWtmg==} + '@stdlib/assert-is-string-array@0.2.3': + resolution: {integrity: sha512-OZhH3sJ4xUP1iGEvpG4IGIr9B9pWWv1CsvK1bSsNunvCEa5fi6XPJvXeP5NbgTIgT4JhmM5fxgaoT74S/CW3Cw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-uint32array@0.2.2': - resolution: {integrity: sha512-3F4nIHg1Qp0mMIsImWUC8DwQ3qBK5vdIJTjS2LufLbFBhHNmv5kK1yJiIXQDTLkENU0STZe05TByo01ZNLOmDQ==} + '@stdlib/assert-is-string@0.2.3': + resolution: {integrity: sha512-KC2sHwnIo775uEPRG7miERHb3DMABf37jS6o2bmcMHyME+gl+HC/bnqgwYTfgOsM0YOvYMSgA1HJo6iPDXdFrw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-uint8array@0.2.2': - resolution: {integrity: sha512-51WnDip6H2RrN0CbqWmfqySAjam8IZ0VjlfUDc3PtcgrZGrKKjVgyHAsT/L3ZDydwF+aB94uvYJu5QyrCPNaZw==} + '@stdlib/assert-is-typed-array@0.2.3': + resolution: {integrity: sha512-6b8JuewBPnKdrI4tQhN5I4/3vchxaKZgu3k7Xr3oz2sMe0CpuVazPPtjTaL9wCOz8dxKVUYhJfRVLYaSS8iDeQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-is-uint8clampedarray@0.2.2': - resolution: {integrity: sha512-MjHhOxjOXesqUNgoDGOiO9vib1HV3uCNoYQfiEDWAv30pVAty70wEcwDQ7cdQs1ZGfGC/355ob8AR2Z8lY4ryw==} + '@stdlib/assert-is-uint16array@0.2.3': + resolution: {integrity: sha512-gHnj9FpIpyiIgsDfA7exvfqqn91THgGJD6BAWqiBgQQccK++K5q3ARc31ysTBuIea1FqYfpy30vt2ZW46lIMcw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/assert-tools-array-function@0.2.2': - resolution: {integrity: sha512-FYeT7X9x0C8Nh+MN6IJUDz+7i7yB6mio2/SDlrvyepjyPSU/cfHfwW0GEOnQhxZ+keLZC/YqDD930WjRODwMdA==} + '@stdlib/assert-is-uint32array@0.2.3': + resolution: {integrity: sha512-Jt9hp3iolCoQC6zC/yisTvxcuxhZ9jyiYwNzyEzgoY4GdV/WETuTpQKwTKbgQkJdUbcl/3VIQaVopEJSUaoV5w==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/blas-base-gcopy@0.2.1': - resolution: {integrity: sha512-59sZsv2kzV+zHGhINJDL53o+6wFpcBPfV2BNxOZ7FRsrASR7ah9BFDPU3bo4LtxVouZFYaBcXlXcG0av4K9aQQ==} + '@stdlib/assert-is-uint8array@0.2.3': + resolution: {integrity: sha512-a+CzS7ffk2D8oFsswqGJk3L8zpqcnzuB5rwolilRVQtrWjQT/s2ydv5b1HbMB2rEcT6h64rYJDNAITeetGmzBA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/boolean-ctor@0.2.2': - resolution: {integrity: sha512-qIkHzmfxDvGzQ3XI9R7sZG97QSaWG5TvWVlrvcysOGT1cs6HtQgnf4D//SRzZ52VLm8oICP+6OKtd8Hpm6G7Ww==} + '@stdlib/assert-is-uint8clampedarray@0.2.3': + resolution: {integrity: sha512-tGyJ74IqIFczWUZAAaR/xlGSzh6vO8t8SYV33ruNPjah/d69uijXHRVohx/aO3xaQ7bbVapk/WbGosmILI7sIw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/complex-float32-ctor@0.0.1': - resolution: {integrity: sha512-hSAUBgV8l/MnaVpI4mmSSg68iaz2DsWkb9Hnqj41UkrY3vX406JT5HtUzFTcdInuvBDbQXOms03wwAkN05MlSg==} + '@stdlib/assert-napi-equal-types@0.2.3': + resolution: {integrity: sha512-JfESREBknrUOorPQp6y0vQicG5oSrzopRs2/Uas4tXRWRWe8J+WI60W/HTNAbfow03a5k30M9b7Vg81N6zf2mw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/complex-float32-ctor@0.0.2': - resolution: {integrity: sha512-QsTLynhTRmDT0mSkfdHj0FSqQSxh2nKx+vvrH3Y0/Cd/r0WoHFZwyibndDxshfkf9B7nist8QKyvV82I3IZciA==} + '@stdlib/assert-napi-is-type@0.2.3': + resolution: {integrity: sha512-EajA0tANjWepz0MVE0zZU45CXLA12/uuRpQ+680ZBfULsVc0plipSQfIMePBgHueJe9YMgyqm3r25RXzf98i7g==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/complex-float32-reim@0.1.2': - resolution: {integrity: sha512-24H+t1xwQF6vhOoMZdDA3TFB4M+jb5Swm/FwNaepovlzVIG2NlthUZs6mZg1T3oegqesIRQRwhpn4jIPjuGiTw==} + '@stdlib/assert-napi-status-ok@0.2.3': + resolution: {integrity: sha512-rA+0Vo1ULn4uBHQ+FfagPAcikFT3W/t9I7HdP7SMjz71IZpkWyuxVFZi5MTv2+7hGMYA8be5FibLz20uzbZ9pA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/complex-float32@0.2.1': - resolution: {integrity: sha512-tp83HfJzcZLK7/6P6gZPcAa/8F/aHS7gBHgB6ft45d/n6oE+/VbnyOvsJKanRv8S96kBRj8xkvlWHz4IiBrT0Q==} + '@stdlib/assert-tools-array-function@0.2.3': + resolution: {integrity: sha512-z2a2G6f9Exz/V0UfE00TLm1sp6W+pOdYltekRRgdEgFNPPP66WxaJfFLkXwqZv0X75U6TuQ0pp7tFq6Ac0lf5A==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/complex-float64-ctor@0.0.2': - resolution: {integrity: sha512-X+8Iw16iDkc5FW8BoqthYJlQmHDqjAGA/YXoz/9ud/lV99jcrT519N8JcRYGglHhDCrJ4tieXvZ+RCdQKchNUg==} + '@stdlib/blas-base-gcopy@0.2.3': + resolution: {integrity: sha512-W1vwLtEIfty7iCJZZ3OhcpNw6o0HwGMXdLWLEDlhYpQ+eBKPBpa8FQducrGSbYDI0sys+ZBMq/oRv9dGIyH2IA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/complex-float64-ctor@0.0.3': - resolution: {integrity: sha512-oixCtBif+Uab2rKtgedwQTbQTEC+wVSu4JQH935eJ8Jo0eL6vXUHHlVrkLgYKlCDLvq5px1QQn42Czg/ixh6Gw==} + '@stdlib/boolean-ctor@0.2.3': + resolution: {integrity: sha512-JmVu1SdJHYK5ubLl8nqi0gfYX5kAcSRRJYNQ7JuG8oU6WtkIMsC0ahQ8+3G673czRaQ7HGE+pL0IZiH/s8HSrQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/complex-float64-reim@0.1.2': - resolution: {integrity: sha512-q6RnfgbUunApAYuGmkft1oOM3x3xVMVJwNRlRgfIXwKDb8pYt+S/CeIwi3Su5SF6ay3AqA1s+ze7m21osXAJyw==} + '@stdlib/complex-float32-ctor@0.1.1': + resolution: {integrity: sha512-P5aJ7kJ3VkOCvtwIipYH2t/vENK8XnwQGDChQiZAgkJadrF2dKYOXa8t1vWEsy/AMVujAjamHlCXQffhafYm8A==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/complex-float64@0.2.1': - resolution: {integrity: sha512-vN9GqlSaonoREf8/RIN9tfNLnkfN4s7AI0DPsGnvc1491oOqq9UqMw8rYTrnxuum9/OaNAAUqDkb5GLu5uTveQ==} + '@stdlib/complex-float32-imag@0.1.2': + resolution: {integrity: sha512-RwwHXMocm0/1wMB3NI7oJR2MNA1avqisqh58oFR95Kq35leSIrevSHw2HbW3P1QG1uyYCbOTp5V2zv1alwXAzg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/complex-imag@0.2.1': - resolution: {integrity: sha512-HHTDnEFTeC2FJfP0jXccsam4hgnPF0PjQJDzKin6F/SFocxOeT2YoqA6Pii09XnDH6RrUaXIZp+VzTr7w/Vs5A==} + '@stdlib/complex-float32-real@0.1.2': + resolution: {integrity: sha512-KyUfN8nm9zyfNwi9O37u1oq3hsAi8uG1sQX+lI49PGxqkxfIEoMwHclYrs2lgQ02EWD6t/Coj+8dbzKwuj21ug==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/complex-imagf@0.2.1': - resolution: {integrity: sha512-lrYYEZfPZ9j/7jRUWVNDUunj1f/9lCxtuzHINqQg2VJ3WNJvyQ9RdWEM1ahZftZImZMIWElCNBTCrRJUOA/bww==} + '@stdlib/complex-float32-reim@0.1.4': + resolution: {integrity: sha512-PXnims1rRAVGARrpoeiwxkYcThjCoXv3iLhUhz8oyulcHteGkJuBAmhnrLANfkh2ro+bFlk6lC9znLt13SOM2g==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/complex-real@0.2.1': - resolution: {integrity: sha512-WT7Z77jQLm8VrfvOPJ0C6d8q0Of105owANn72+3YnBwIuGk4TG9DVkB+g/9vo4ptIxPdQRiZQkIGVY0bq7h9YA==} + '@stdlib/complex-float64-ctor@0.1.2': + resolution: {integrity: sha512-xCVE2Lv1/I7A/2mDloT3hDCpA9NP9XOqZKpyKhg3D/9D/vJnh1rnn9CK8+xzVfRborsyQbJF7OI+Ijc3szDI1A==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/complex-realf@0.2.1': - resolution: {integrity: sha512-bjLLhSaQWhXEkSx4CJNp81mmUCBwWkhsl62gsp8Cdd56zWkf6c2tWCph9jmXNKMzqueYswzykZt9itHjHmTT8g==} + '@stdlib/complex-float64-imag@0.1.2': + resolution: {integrity: sha512-uYmpvw8723pXVMaPIyoDWh53OLBk3F5HQyCFrgJsFCfuM0e718yd778ltMOyl7kem3M87ealSuxBwFX5SLFxcA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-array-max-array-length@0.2.2': - resolution: {integrity: sha512-fZzM6cvIEXhNSXR+erL1PYYIbZYAXGss9aN7C8KXVGGDfq4Eebts7ZWcqLgPfxftMnJ07yPyPffFqRnsDSfqqQ==} + '@stdlib/complex-float64-real@0.1.2': + resolution: {integrity: sha512-m8kJIckqStBS7WzmGe5X8A1CCooGmLToXRo1qq4EydA976FFMFuYrsI4XuByt1e9zp9HEGeoywyelaqyeeWtHw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-array-max-typed-array-length@0.2.2': - resolution: {integrity: sha512-uAoBItVIfuzR4zKK1F57Znrn2frKL0U9gqJkg30BXuno3YlUvbhIfVP3VsUmGJCmi9ztgYLqX10yqb0KvlM2Ig==} + '@stdlib/complex-float64-reim@0.1.4': + resolution: {integrity: sha512-5IxS+GqkVezTGh57Gp7pIyAHS+obDqUpq5y7KpAjrH0s6gp6oN/m+tmPh7K6Yz8yX+7FLVn5b9lZxY1otBBEJQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-float64-max-safe-integer@0.2.2': - resolution: {integrity: sha512-d+sxmxhkt980SDFhnnRDSpujPQTv4nEt5Ox3L86HgYZU4mQU/wbzYVkMuHIANW9x3ehww5blnGXTKYG9rQCXAw==} + '@stdlib/constants-array-max-array-length@0.2.3': + resolution: {integrity: sha512-f6X1YlF9RnN5HkeFZFr8V4iSpV5968/4V5j6RFKY7gwr3jxjiIBar4CFja8W0f5eRUsuAlxf3HQ+Y0syYKpLuQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-float64-ninf@0.2.2': - resolution: {integrity: sha512-Iu+wZs/vgudAKVg9FEcRY3FadkmvsWuq/wJ3jIHjhaP5xcnoF3XJUO4IneEndybHwehfJL65NShnDsJcg1gicw==} + '@stdlib/constants-array-max-typed-array-length@0.2.3': + resolution: {integrity: sha512-Npc2GG28d1+dgdb2akvzDNZZpiGTIAEe1vvJzBLfmVnDkqxYSuTu55N9jcXtTvrPOLqxwWy7K8AMAKboMFEFVA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-float64-pinf@0.2.2': - resolution: {integrity: sha512-UcwnWaSkUMD8QyKADwkXPlY7yOosCPZpE2EDXf/+WOzuWi5vpsec+JaasD5ggAN8Rv8OTVmexTFs1uZfrHgqVQ==} + '@stdlib/constants-float16-eps@0.2.3': + resolution: {integrity: sha512-gdDE9eYNuJqIxmpWFfFsTx24uJv3BV/S+MKi3vj/TgWFeGMnsqHP+xIf46Hby2OwRbr6yYzsVwfJMAzF7ItCQQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-int16-max@0.2.2': - resolution: {integrity: sha512-w7XnWFxYXRyAnbKOxur3981FeaSlhKvHlhETwH5ZhtOQerk3Jn/iJFdtbN8CD0he1Kml4DWhnoKB7P9PcOaTIw==} + '@stdlib/constants-float16-exponent-bias@0.3.1': + resolution: {integrity: sha512-fUqcun9eGniI8sqsZf06qa064cKcp6cARfX9dXuGnCQWSWEwn8Q/LKr8zEgUVEu6cJCVyCMHgm8VPpkTpnFPAQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-int16-min@0.2.2': - resolution: {integrity: sha512-zn15vCgNoyD97z7mNQMChEneyc6xQudVGj1BOv5vZl827vHAs+KV6xeCI7VGY8Lpd6V22piDoGG3Mvj/43u9vQ==} + '@stdlib/constants-float16-exponent-mask@0.1.1': + resolution: {integrity: sha512-5J38bgxW+UlF9AHG+C9Z7ilx25aPSOr3ECyK0LThG9H8Kw2zL+9cNbt72vRnVr0BSCv3NKvgxPza+B/bB7IJpg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-int32-max@0.3.0': - resolution: {integrity: sha512-jYN84QfG/yP2RYw98OR6UYehFFs0PsGAihV6pYU0ey+WF9IOXgSjRP56KMoZ7ctHwl4wsnj9I+qB2tGuEXr+pQ==} + '@stdlib/constants-float16-max@0.2.3': + resolution: {integrity: sha512-M1Hgv/fUdnuV6uw9yyXXOAf7Bzf7I/8naaYolXGX4h7B6XSuCT6Of/0BRxXlU9D+V6zPniGo2zdBaXUGfek28g==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-int32-min@0.2.2': - resolution: {integrity: sha512-4QMOTpo5QykiWp52Wtugu1WK1wV/Bi2Hjj9L97dfZ3BPB1Oa9ykiUZvTsq3GBNCMu2YHPv1ugbV91C3p3bw+Aw==} + '@stdlib/constants-float16-num-significand-bits@0.0.2': + resolution: {integrity: sha512-qml2Wmm1/gHOGmEfrR1w5G2wYsBHKfCLBaJ8idZ4IMcBfmR8Ez4I9K3uQ3EZ6mW8QU2nUIgp0Fc99lnzLoH+7A==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-int8-max@0.2.2': - resolution: {integrity: sha512-zp1L61S/ycOmkILmvuXEKvtXrEJ0QUAwP65sNAWMJOtdT0mhGMfGpXKvCK84TC3+jP5Wk4LU13cgO2bf/pmGTw==} + '@stdlib/constants-float16-sign-mask@0.1.1': + resolution: {integrity: sha512-LpLyCmkhzwotXb1mAAkAZ4sTk5lh5lW3Q1pOp6jtepEFT/marQsoeTe+0r0mIwSncGbym/eEB455qUZQsdiTBg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-int8-min@0.2.2': - resolution: {integrity: sha512-nxPloZUqbGuyuOPC0U3xQOn9YdyRq2g9uc1dzcw6k0XBhql9mlz9kCbdC74HeMm4K9Dyyb7IlAZLCezdv60s6g==} + '@stdlib/constants-float16-significand-mask@0.1.1': + resolution: {integrity: sha512-+IA0fHkBV7X00ZTqAo0ZZSSuh9fjLGB8+4ot8iR0irC0YxPLkvyPzFHujnWFu8UD1Eu3SZcyaCY20CLcgsGr9Q==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-uint16-max@0.2.2': - resolution: {integrity: sha512-qaFXbxgFnAkt73P5Ch7ODb0TsOTg0LEBM52hw6qt7+gTMZUdS0zBAiy5J2eEkTxA9rD9X3nIyUtLf2C7jafNdw==} + '@stdlib/constants-float16-smallest-normal@0.2.3': + resolution: {integrity: sha512-u/EzlthAeRba4TePLQzTyivIAp4GB9jLdOwE9FdxSYmqUwAbEIODkd7vft1ArzuCILRHM4NNNESJeaLlv9Qd7w==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-uint32-max@0.2.2': - resolution: {integrity: sha512-2G44HQgIKDrh3tJUkmvtz+eM+uwDvOMF+2I3sONcTHacANb+zP7la4LDYiTp+HFkPJyfh/kPapXBiHpissAb1A==} + '@stdlib/constants-float32-abs-mask@0.2.3': + resolution: {integrity: sha512-owGGn8KvmHmne0u5ItTvOpHL6lUJP+tuUe2wzrKYiZuoUTg+7cOhNW4fPWCK8AFYxs11Ha3qPA7oAzjqlq+Log==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/constants-uint8-max@0.2.2': - resolution: {integrity: sha512-ZTBQq3fqS/Y4ll6cPY5SKaS266EfmKP9PW3YLJaTELmYIzVo9w2RFtfCqN05G3olTQ6Le9MUEE/C6VFgZNElDQ==} + '@stdlib/constants-float32-eps@0.2.3': + resolution: {integrity: sha512-yJY7ipPOriceMh2zQvNVDYRrBJlQoBN+7cejox5DxTTn5zytyJn9sfdBQs2buGBqT7BiV+RJE7iE1vQdhuslcQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/error-tools-fmtprodmsg@0.2.2': - resolution: {integrity: sha512-2IliQfTes4WV5odPidZFGD5eYDswZrPXob7oOu95Q69ERqImo8WzSwnG2EDbHPyOyYCewuMfM5Ha6Ggf+u944Q==} + '@stdlib/constants-float32-exponent-bias@0.2.3': + resolution: {integrity: sha512-AdJFdh75o8cBwT/zjRebtZGGz0lYY2P/ITKrxHo4snqinm+DoMFRChkYM2s0QYn8ZgFBHQ1iEPB0cYzxTLk3tg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/fs-exists@0.2.2': - resolution: {integrity: sha512-uGLqc7izCIam2aTyv0miyktl4l8awgRkCS39eIEvvvnKIaTBF6pxfac7FtFHeEQKE3XhtKsOmdQ/yJjUMChLuA==} + '@stdlib/constants-float32-exponent-mask@0.2.3': + resolution: {integrity: sha512-mkSAIakaixXJy45Ss8G7QbrS6eQemGjfIZhwmwlWDHxCJEVcfpuIijO/N0gtlF/MnGSOACwgn3Qkt1t3Eg30IQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/fs-resolve-parent-path@0.2.2': - resolution: {integrity: sha512-ZG78ouZc+pdPLtU+sSpYTvbKTiLUgn6NTtlVFYmcmkYRFn+fGOOakwVuhYMcYG6ti10cLD6WzB/YujxIt8f+nA==} + '@stdlib/constants-float32-ninf@0.2.3': + resolution: {integrity: sha512-X0t2gw6UKfzDRRjYH8k8dqRv2C6iI2sn3UrunRIzCL4WYYR+QWn1UwjZWG4fviIE+QuEGTyoKKb4wG6gTiS8yw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/math-base-assert-is-even@0.2.3': - resolution: {integrity: sha512-cziGv8F/aNyfME7Wx2XJjnYBnf9vIeh8yTIzlLELd0OqGHqfsHU5OQxxcl9x5DbjZ1G/w0lphWxHFHYCuwFCHw==} + '@stdlib/constants-float32-num-significand-bits@0.1.1': + resolution: {integrity: sha512-pb5IMIdVb22DP6yJc1PmsqTc3mmn02ze4P1oE5aZY/0v4bPUf9yegUmYIyCEWPfM1HX/xnW4GwXDZ3QptSgLqg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/math-base-assert-is-integer@0.2.5': - resolution: {integrity: sha512-Zi8N66GbWtSCR3OUsRdBknjNlX+aBN8w6CaVEP5+Jy/a7MgMYzevS52TNS5sm8jqzKBlFhZlPLex+Zl2GlPvSA==} + '@stdlib/constants-float32-pinf@0.2.3': + resolution: {integrity: sha512-ofzg0/NDAjALtXw0GPGzsfwpTEziENlSNln2PqoPphno6u7yfCD7BWblIinvDALFwbpsUVWuxAvarL8XnXl4mA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/math-base-assert-is-nan@0.2.2': - resolution: {integrity: sha512-QVS8rpWdkR9YmHqiYLDVLsCiM+dASt/2feuTl4T/GSdou3Y/PS/4j/tuDvCDoHDNfDkULUW+FCVjKYpbyoeqBQ==} + '@stdlib/constants-float32-sign-mask@0.2.3': + resolution: {integrity: sha512-CdGdK5nHesLEkS6TeQ/jdl3iThAZYrNCysRVshkpz15ORgvbFyHiXaYFIGkwt0a5RnA4i11e3nioHBNWxITGxQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/math-base-assert-is-positive-zero@0.2.2': - resolution: {integrity: sha512-mMX5xsemKpHRAgjpVJCb3eVZ3WIkZh6KnHQH8i8n4vI44pcdpN5rcTdEAMlhLjxT/rT7H2wq85f7/FRsq9r9rw==} + '@stdlib/constants-float32-significand-mask@0.2.4': + resolution: {integrity: sha512-6oBi94bfEEqEPHyzgS3YNBK0fjCRsh/8A6xyaPuHBP+ltGmGfNsZmsZ5vQ+vChszKVyJG1/Bd/j4wif7GGJ/3A==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/math-base-napi-unary@0.2.3': - resolution: {integrity: sha512-BCyJmpq2S8EFo2yMt1z+v1EL7nn8RHcM6jn7fa8n3BTP679K0MSlawIh3A0CFogfrTdjPM4G44VO1ddsdLExcg==} + '@stdlib/constants-float64-eps@0.2.3': + resolution: {integrity: sha512-TB4+YU9vc9RwMmSrCt9+UuFeXp+a29Q1KrzcBTcxU8uB/2totg6yYAFwhs8+48Vr5T/bQOsTQpuxXA5KEaThrg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/math-base-ops-umul@0.2.2': - resolution: {integrity: sha512-OOPSTw3AZ7w47JFUhWGAPZZgy5EI9ZsXQtAfuvRUslermF6Uw50MvF1ZdCeRSRcYpbeTKGsCuyOIUQkItSj4Hw==} + '@stdlib/constants-float64-high-word-abs-mask@0.2.3': + resolution: {integrity: sha512-AXa286EisR1y71U71M18QvzldmIWsh1TNimoBjrUdCQn5jELOJAQPriTKt0H8kngfOUYfy/+EJwCpuQEL/VWrg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/math-base-special-floor@0.2.3': - resolution: {integrity: sha512-zTkxVRawtWwJ4NmAT/1e+ZsIoBj1JqUquGOpiNVGNIKtyLOeCONZlZSbN7zuxPkshvmcSjpQ/VLKR8Tw/37E9A==} + '@stdlib/constants-float64-max-safe-integer@0.2.3': + resolution: {integrity: sha512-T1CHYahzAHGLEIS5NMiHjOkGzvgZ0KFtBvFB62shkfMbnkc2gHxVuUzmbxaIm8jQO9X4qafQkRpHFg8AE/e4kg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/math-base-special-max@0.2.1': - resolution: {integrity: sha512-jsA3x5azfclbULDFwvHjNlB2nciUDHwrw7qHP/QlSdJi47E1iBDNYdzhlOa3JKzblbrITpzgZEsGBcpCinEInQ==} + '@stdlib/constants-float64-ninf@0.2.3': + resolution: {integrity: sha512-1yBmgdNkvxWR0IfebDnhS4KOHPNgTpe3j6CCRt3qUW98l45tUkjuqyKKu8jNvjJCq+qKaNHNNk8xAl+/eDuABg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/number-ctor@0.2.2': - resolution: {integrity: sha512-98pL4f1uiXVIw9uRV6t4xecMFUYRRTUoctsqDDV8MSRtKEYDzqkWCNz/auupJFJ135L1ejzkejh73fASsgcwKQ==} + '@stdlib/constants-float64-pinf@0.2.3': + resolution: {integrity: sha512-8kRy0XOvW7QiJlxdy8MXx7rM3S4H/ZsUI+q9dNoarKVDBtWzkqnEG/u5QYouVjGHaSVL8C7b7qwL1FdpSD+24g==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/number-float64-base-to-float32@0.2.2': - resolution: {integrity: sha512-T5snDkVNZY6pomrSW/qLWQfZ9JHgqCFLi8jaaarfNj2o+5NMUuvvRifLUIacTm8/uC96xB0j3+wKTh1zbIV5ig==} + '@stdlib/constants-int16-max@0.2.3': + resolution: {integrity: sha512-mPHYy0jMD8ALGd5QDOAYU8mO57sbYsivYUVZq7+/mJDXldVprD+fUJFX8QOkuRW1LIsVSqHA1F4oGrnjFM+lVA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/object-ctor@0.2.1': - resolution: {integrity: sha512-HEIBBpfdQS9Nh5mmIqMk9fzedx6E0tayJrVa2FD7No86rVuq/Ikxq1QP7qNXm+i6z9iNUUS/lZq7BmJESWO/Zg==} + '@stdlib/constants-int16-min@0.2.3': + resolution: {integrity: sha512-FZrIJecQGw5qEYSrd4inQgx9xe5igDb+UmZZDKccv39xwWpPPfprt7Sr+zholUdcGGpoJdftBI9QbbLQRTOqcw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/process-cwd@0.2.2': - resolution: {integrity: sha512-8Q/nA/ud5d5PEzzG6ZtKzcOw+RMLm5CWR8Wd+zVO5vcPj+JD7IV7M2lBhbzfUzr63Torrf/vEhT3cob8vUHV/A==} + '@stdlib/constants-int32-max@0.3.1': + resolution: {integrity: sha512-ZAhWfNaBhVzDatkha1q0vu7tO6XRbP6kxJk/Erh4emgE/4JpC9WPlXfkZvhOoCWQ1Rsll7tevxN3rfu6oGN7OA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/random-base-mt19937@0.2.1': - resolution: {integrity: sha512-k6EelL+OfM/ygS7L1m9Fx+AuFBlPtFgyRikVcixCuyEB8xfyYkzn1+LtoqlQLcLb6IwmkKgYX4/dSL9XBL1Gew==} + '@stdlib/constants-int32-min@0.2.3': + resolution: {integrity: sha512-xXa5t+tlRuwi+cHru4p8gFPnXqa2hI1bn+K6IoTd8Pj+ySKTkR0evSgNIrO6kcEf+kj2YuNXZZM3sqK33SH9vw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/random-base-shared@0.1.1': - resolution: {integrity: sha512-G0tLkWZviO2zfiTwTPI4r/nEjvpw+5fTrqEd15iAVT9rJG8H14sqbZJli1w+Kbuqb3ZrBJJNR9+N0FDUZwJrWg==} + '@stdlib/constants-int8-max@0.2.3': + resolution: {integrity: sha512-TD5BzgiZshK/LD/3Ya4fp2mI0j/XGm+XH7TOWLjMWrH3JYbW/GIQfTTDsXTEu52Te0M64Xy5WBmvrXoObFkqSw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/regexp-extended-length-path@0.2.2': - resolution: {integrity: sha512-z3jqauEsaxpsQU3rj1A1QnOgu17pyW5kt+Az8QkoTk7wqNE8HhPikI6k4o7XBHV689rSFWZCl4c4W+7JAiNObQ==} + '@stdlib/constants-int8-min@0.2.3': + resolution: {integrity: sha512-sD5yCZIujDG0DKLBSj+r3UzxQ04yTyQ4yT/umQrtTHMHAGmZnNZ0Jab8VmxBxfZUC2PAVc841hS/XKQglw5Fsg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/regexp-function-name@0.2.2': - resolution: {integrity: sha512-0z/KRsgHJJ3UQkmBeLH+Nin0hXIeA+Fw1T+mnG2V5CHnTA6FKlpxJxWrvwLEsRX7mR/DNtDp06zGyzMFE/4kig==} + '@stdlib/constants-uint16-max@0.2.3': + resolution: {integrity: sha512-QLqt85JMBnL8ozliswgAeR9oWrsmWeaeWjr10P0zbGV1dKhM2HoRK3VXjO4SCtNWUwiV4w8Wa5ylSYdJhORDjA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/strided-base-reinterpret-complex128@0.2.2': - resolution: {integrity: sha512-vOvOCe9PIFEvIGjFcpyT0VfvDTPy2ZQ6rO9b6IM2TkkfzwEj5renq+mxYOHxXx+L61RuMjnkI3giIH/1raPxYg==} + '@stdlib/constants-uint32-max@0.2.3': + resolution: {integrity: sha512-NYQIGMA3Z8+1gp2qUfmr90whvZJLDq737ipNeujrFm98/RcbBlCRmXCLlj0WMwxniw2T35ysfclAcFSE7caUCA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/strided-base-reinterpret-complex64@0.2.1': - resolution: {integrity: sha512-p/IUPeUnsEfCvme0H8twiAfaFJ7RZ3SOZPjBjLRr04RMSdibwF/N8m9oRpzbXosCaD6LSRpB/pNLraBYNowmDw==} + '@stdlib/constants-uint8-max@0.2.3': + resolution: {integrity: sha512-B4VzHho0T43dJk3m1x9V3GZ1OOK9AKNojo3jOweixBLLlofaEIe0E9f4Gihc2ef7+M4azYptsJdPY1jPy7kK2g==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/string-base-format-interpolate@0.2.2': - resolution: {integrity: sha512-i9nU9rAB2+o/RR66TS9iQ8x+YzeUDL1SGiAo6GY3hP6Umz5Dx9Qp/v8T69gWVsb4a1YSclz5+YeCWaFgwvPjKA==} + '@stdlib/error-tools-fmtprodmsg@0.2.3': + resolution: {integrity: sha512-mt4YRp52oCkNWhxkUIJkeGaFnSvZkyfl4rOJX8Drz99xFiIdanXcSacckhrXXu6NQvMDKidCGr6DvrhHHx15LQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/string-base-format-tokenize@0.2.2': - resolution: {integrity: sha512-kXq2015i+LJjqth5dN+hYnvJXBSzRm8w0ABWB5tYAsIuQTpQK+mSo2muM8JBEFEnqUHAwpUsu2qNTK/9o8lsJg==} + '@stdlib/fs-exists@0.2.3': + resolution: {integrity: sha512-kfHok9sKxvCftgWriVtNjqezNZA72Q/rJh78lcrGCLPvSHGIAL460olzl7D1OgAgQvM3Cwdoupay0o3dBCCwVQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/string-base-lowercase@0.4.0': - resolution: {integrity: sha512-IH35Z5e4T+S3b3SfYY39mUhrD2qvJVp4VS7Rn3+jgj4+C3syocuAPsJ8C4OQXWGfblX/N9ymizbpFBCiVvMW8w==} + '@stdlib/fs-resolve-parent-path@0.2.3': + resolution: {integrity: sha512-bof7pQQewv8LLaSi2Ut77mkEv4v45Z/w/hYocG0UUzmXhu4lXIiCcXz9ZAMJC4tdN5hwBReJGfJ0mQryddhGGA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/string-base-replace@0.2.2': - resolution: {integrity: sha512-Y4jZwRV4Uertw7AlA/lwaYl1HjTefSriN5+ztRcQQyDYmoVN3gzoVKLJ123HPiggZ89vROfC+sk/6AKvly+0CA==} + '@stdlib/math-base-assert-is-even@0.2.5': + resolution: {integrity: sha512-EtCGbIAnrhgYpCrCrYNQC6aqOPviTdU2Ui1t9grPG2e1eE8cMjzSpTg1TJmcZeMShzlWl9BcgeCS2GQPaYhkCQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/string-format@0.2.2': - resolution: {integrity: sha512-GUa50uxgMAtoItsxTbMmwkyhIwrCxCrsjzk3nAbLnt/1Kt1EWOWMwsALqZdD6K4V/xSJ4ns6PZur3W6w+vKk9g==} + '@stdlib/math-base-assert-is-finite@0.2.3': + resolution: {integrity: sha512-PqqxkiubjHe9jdIfAf/PTHZLbYIk1wcFwPGALM+PR3kjRngEkti7NbbkTQX3sByZCCfRwOf7VxLPWDlGo3EmLw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/string-replace@0.2.2': - resolution: {integrity: sha512-czNS5IU7sBuHjac45Y3VWUTsUoi82yc8JsMZrOMcjgSrEuDrVmA6sNJg7HC1DuSpdPjm/v9uUk102s1gIfk3Nw==} + '@stdlib/math-base-assert-is-finitef@0.2.3': + resolution: {integrity: sha512-FiP4w+PjwD6zapXgrD0hLEtnUMi+uCcBQw+tU9cAGyB+7NrhnUoKSWgHsjtLGLMD08gWsFOIjZzZRavx4PocfA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/symbol-ctor@0.2.2': - resolution: {integrity: sha512-XsmiTfHnTb9jSPf2SoK3O0wrNOXMxqzukvDvtzVur1XBKfim9+seaAS4akmV1H3+AroAXQWVtde885e1B6jz1w==} + '@stdlib/math-base-assert-is-integer@0.2.7': + resolution: {integrity: sha512-rsxiM7N9Y5kd9elTEJpx1kAcHBeHETH46vn2s5FoKyNt7oZLqv9iE5oKF3oNznA3H47o7SNyQSdcJpUDqS1W3w==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/symbol-iterator@0.2.2': - resolution: {integrity: sha512-4O8SrTPlffIpAXjryxAud2AhOGxhY8bCN+xFKIW/oRJYI7cDGws5MrAv+Dk9FQBkHHeVThKdvjONO+QC7YRuFA==} + '@stdlib/math-base-assert-is-nan@0.2.3': + resolution: {integrity: sha512-mj1p+JUSfbsiBI3+hwRV7bS0qgI2nWdzrFtBJUSLk+17MJSdA4aboUsXM12wIV1kg5JNfEAn+5eh4NF/sMvaoQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/utils-constructor-name@0.2.2': - resolution: {integrity: sha512-TBtO3MKDAf05ij5ajmyBCbpKKt0Lfahn5tu18gqds4PkFltgcw5tVZfSHY5DZ2HySJQ2GMMYjPW2Kbg6yPCSVg==} + '@stdlib/math-base-assert-is-nanf@0.2.3': + resolution: {integrity: sha512-sWMMFhTrkeYu/t5bv7KZ8Rm7H4pD+O1+wYYNu1CsJ4y1Q6HwSDeHBNIH7Z4zHOOSFiOidb04jnqMGSsL5UCFRg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/utils-convert-path@0.2.2': - resolution: {integrity: sha512-8nNuAgt23Np9NssjShUrPK42c6gRTweGuoQw+yTpTfBR9VQv8WFyt048n8gRGUlAHizrdMNpEY9VAb7IBzpVYw==} + '@stdlib/math-base-assert-is-positive-zero@0.2.3': + resolution: {integrity: sha512-V+f8enSK2dEk2V/nHMezyJaUfSC0QJNUD8+mQYON7JtFaxq/+xURnPMllF9h84cFqQ9SAuxWXP+Y7MoE+ENORw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/utils-define-nonenumerable-read-only-accessor@0.2.3': - resolution: {integrity: sha512-0ECS16+eDOkwa045K75d6b2pnl/bSny6LCQzrPyAJgbKrnDOUrE8c7ZRuVvVkWCvByYHKUO7I5JCLoty3/f2DA==} + '@stdlib/math-base-napi-binary@0.3.3': + resolution: {integrity: sha512-rLBojVTK0GRhy5v0MEKLmamggOrosEMaDcMS5ITuUe6Jgz4DM3lsiB/EHhd0TamPdqo+5HPjqSo10zpFVbLZbA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/utils-define-nonenumerable-read-only-property@0.2.2': - resolution: {integrity: sha512-V3mpAesJemLYDKG376CsmoczWPE/4LKsp8xBvUxCt5CLNAx3J/1W39iZQyA5q6nY1RStGinGn1/dYZwa8ig0Uw==} + '@stdlib/math-base-napi-unary@0.2.7': + resolution: {integrity: sha512-eEu0nAq8WzCGe15ppGJWtLGhKOoG4OcMJQpsfbjwaa3sZ9h1sREmV1iiAFWyi/mHy8C0y6PiG2szx4D/F0ywmg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/utils-define-nonenumerable-read-write-accessor@0.2.2': - resolution: {integrity: sha512-uMw4hQNrZxzrDC8Vyq8+JENBXacX+VARslxEj8gCW2HRVOaS9461XeEsC7RDWpXPJzR4R9dIjy9PJCEzMuX/yQ==} + '@stdlib/math-base-special-abs@0.2.3': + resolution: {integrity: sha512-0n2Jb1NQv/siPL5EJFf6/cCuK63zqgqFjQwPujJI8B+dDizlHJKF4jR6yOtavrB5RvVf37/3Ibpdjf8UPf3uzA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/utils-define-property@0.2.4': - resolution: {integrity: sha512-XlMdz7xwuw/sqXc9LbsV8XunCzZXjbZPC+OAdf4t4PBw4ZRwGzlTI6WED+f4PYR5Tp9F1cHgLPyMYCIBfA2zRg==} + '@stdlib/math-base-special-absf@0.2.3': + resolution: {integrity: sha512-lUEEnIo6jpR397bn4mphlihPBMncdgKYQQYZ8nwnL/wGNE9InwqLqrO6otM+CO2nkG/kOyt0dSAhSSffqBZU6g==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/utils-escape-regexp-string@0.2.2': - resolution: {integrity: sha512-areCibzgpmvm6pGKBg+mXkSDJW4NxtS5jcAT7RtunGMdAYhA/I5whISMPaeJkIT2XhjjFkjKBaIs5pF6aPr4fQ==} + '@stdlib/math-base-special-floor@0.2.4': + resolution: {integrity: sha512-YSDt9gHSp8SeVBVzHfpZZ1HFEQDPihHUF92zTDCRGKeKBC4BTFlw9Q4/fNWqS1mtuBGli1zgpRbiTv3atQ5EjQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/utils-function-name@0.2.2': - resolution: {integrity: sha512-zsXSalwNmGvkhnINJ7z61Z/R7q88nyQHrBdpB1pYdjmTER1PIricaxrs/7ccSw2C2np+8ZzgGZj+TI0Ok0uCrg==} + '@stdlib/math-base-special-max@0.3.1': + resolution: {integrity: sha512-TV4GK3gt5BCy4se6Rn59zSbcL2EQBYynJ4g15KeniZWrQbvpm7WdjdJRJk/Ly78ESAoM6Qd2KEaP/bTGukGTqA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/utils-get-prototype-of@0.2.2': - resolution: {integrity: sha512-eDb1BAvt7GW/jduBkfuQrUsA9p09mV8RW20g0DWPaxci6ORYg/UB0tdbAA23aZz2QUoxdYY5s/UJxlq/GHwoKQ==} + '@stdlib/napi-argv-double@0.2.2': + resolution: {integrity: sha512-QJrnt4CTS8x7WHny4s8eHvGT2u5x8BSH6RWVaPg6ZrnHwqz9Jz48JGTawFKLgcyvZyeE9kCwKDkPIN7MbXcHKQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/utils-global@0.2.2': - resolution: {integrity: sha512-A4E8VFHn+1bpfJ4PA8H2b62CMQpjv2A+H3QDEBrouLFWne0wrx0TNq8vH6VYHxx9ZRxhgWQjfHiSAxtUJobrbQ==} + '@stdlib/napi-argv-float@0.2.3': + resolution: {integrity: sha512-2hNFgenY7M5iVfIbRw+xccutxtKfk89VQb1RMGbSAOrRcR53J5OENAaddohrCp1zT1FKe14LCG/k+LlZR5jEdA==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/utils-library-manifest@0.2.2': - resolution: {integrity: sha512-YqzVLuBsB4wTqzdUtRArAjBJoT3x61iop2jFChXexhl6ejV3vDpHcukEEkqIOcJKut+1cG5TLJdexgHNt1C0NA==} + '@stdlib/napi-argv-int32@0.2.3': + resolution: {integrity: sha512-Set5AdSIUePU/Y0gT+WC4lerzahwaAQJd1USCgnKQD55xmDfXAPMyJliZnZPNUyjQ6SsWN6PaiOfJluq+oVcVQ==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/utils-native-class@0.2.2': - resolution: {integrity: sha512-cSn/FozbEpfR/FlJAoceQtZ8yUJFhZ8RFkbEsxW/7+H4o09yln3lBS0HSfUJISYNtpTNN/2/Fup88vmvwspvwA==} + '@stdlib/napi-argv@0.2.3': + resolution: {integrity: sha512-JQe8cqcCmxVhAMZ6z7Ysx0hmY8DtIGEXcM7Ymmjxl5VNaVXq/grw3HEQm5Fcb+TdqJIb7xEbsRHCiowRzvk0Pg==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@stdlib/utils-type-of@0.2.2': - resolution: {integrity: sha512-RLGFxPNgY9AtVVrFGdKO6Y3pOd/Ov2WA4O2/czZN/AbgYzbPdoF0KkfvHRIney6k+TtvoyYB8YqZXJ4G88f9BQ==} + '@stdlib/napi-create-int32@0.0.3': + resolution: {integrity: sha512-tIT9BWA3jmOjzz4XTwVplkKETI3dyTK4BZoMtbQGnTxfsHz+pNdgepbp8hEx7wJADHKO2L8YTqddTHij4H3Ptw==} engines: {node: '>=0.10.0', npm: '>2.7.0'} os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@stdlib/napi-export@0.3.1': + resolution: {integrity: sha512-JQaR2FYyIGprLgjg02JwgGGbjaYgRsWJpF72T748AiUQMd8SEN/mjUkqPq4zYLRjYATpKxnDUQNvP642z9JnIg==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/number-ctor@0.2.3': + resolution: {integrity: sha512-T4xeLGny/gBRe4ZJcS5ugluT8E7Y/LCEHycTQingYWqbBK+5XJED7zJrcawkneewXd7CgqypCtVuI0BOxBBzcQ==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/number-float16-base-to-float32@0.1.2': + resolution: {integrity: sha512-OClMQYz6GJEiSxrzhNp2LK4K8j75Rq6HCk+ReRBNQjXYdvNfzzaYoqnv3ZSzrXdvqUoGz+19XaVTLLzkKT1GCg==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/number-float16-base-to-float64@0.1.2': + resolution: {integrity: sha512-1MNdMfThDFEIMeJHKmum343x9sbiRplRmsjEHojVGyMQNuxOamzbzw+Gw3xl04GrfOIUG673KZEljwUwDFgtUA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/number-float16-ctor@0.1.2': + resolution: {integrity: sha512-bdBhgwgtRClxBU9Ef8puY/WQ+DMqUr0oXfkfCrYKUATmqVQghv3bDw/dMggz01AguJo2ZtdjGp3PjQwNZlmHcg==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/number-float32-base-exponent@0.2.4': + resolution: {integrity: sha512-JUuSZCPD6yWA2jJhtS5MIYSZGerJJCXfwStz0Mqsh76x166mSkiZ4dH3VpDz2OMrZk6rvt35UB2HhAZecTqFAw==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/number-float32-base-to-float16@0.1.1': + resolution: {integrity: sha512-phYWBtfheX0c/pXtbiK/xr6lVwU5HKYVNgmol8y0HE8NvwXG3oCXLySa2p0jr+Xi7G9xtMdXW4Eq0rShs4lTmQ==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/number-float32-base-to-word@0.2.3': + resolution: {integrity: sha512-E42KOQ+jqVDElwvFtrDMEkXYl03btIPan3g/YAScCibfmYDkYRDT9iuaydyYS/O3+m/MPM1Jhn+U/B8+f+C1HQ==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/number-float64-base-to-float16@0.1.2': + resolution: {integrity: sha512-d+ZJYGoykrzI3H0GRCI3qqyjspgNcIvECQ4OjyC1qdy1haT3cgoj1rwWkJS9uFKD/QgWlFGMrcmRzf0MVj17zg==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/number-float64-base-to-float32@0.2.3': + resolution: {integrity: sha512-+Lu8vk1oLCxO8RaRzw8pEY+BP2TWROweNFiML0w7TP4i9ZyG5E6EJdxZ2J3c29LVPfsf+oLOOxyySHH2kjwIsw==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/number-float64-base-to-words@0.2.3': + resolution: {integrity: sha512-G63YuysfTKRP3Tkn19zBxTseS+uYnnOYZSN9VRTWrx5iNE8IYDzanAJIolSBZ7PuFMoE+HmjEZ0E9SX3NsLKvg==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/number-uint32-base-mul@0.1.1': + resolution: {integrity: sha512-M6MixVn9GLg6CWh297kpANf1TdUAPOlQwuIl/tvtoH3XYpXYZO+bIPYvEEmUd8pjT3I9XTOxn+2ue8wNtlpCeg==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/object-ctor@0.2.2': + resolution: {integrity: sha512-3zkUkzZ9LdX+J5fEyU/D7I2c+0qG+ejNI3tCtSFek35bezdqWs9tOAAUiU6HeQJcGgqOmkakB4apIxvN+eehCA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/os-byte-order@0.2.3': + resolution: {integrity: sha512-QU4JY7WN4inoLVz+ML92TOevgyxZa+d2RcA1EmaDC0y0TNrXez1GmIn1t7+L7UTJEdf39IUm6VfdMmYdcDwFTw==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/os-float-word-order@0.2.3': + resolution: {integrity: sha512-5dLZBCNn9Fge3kq7uHIh7S1qshfe5L7pjLYLSUGxxKa7gecAbsaQBPLxDkFiFwMytr6tnGGjWQfyVbhq/+RjlQ==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/process-cwd@0.2.3': + resolution: {integrity: sha512-T/sYVJjs9iHAOK9B8yGymGY+59eAz20G7eL/G4cObT6sWssAF7s/2+KgzAvWB0maE9qX6qnP4zBg2msCsWwvVg==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/random-base-mt19937@0.2.3': + resolution: {integrity: sha512-bFjYQfZAsXM6b06M5s81jMZqj0O56SYcnEhCcZE/JACW0y8So4J7Rl+LZ24G7zCtI8gbwuIzPyE1Z0Tl4Nj4aA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/random-base-shared@0.1.2': + resolution: {integrity: sha512-5QLXOZOl/jjmy4uttsSgmXUjDza4XTW5zAHFsJ1mApg9lHnk/OTVJVF5gjQKqsjWMydJmuDR5T+jZzGgL93fLA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/regexp-extended-length-path@0.2.3': + resolution: {integrity: sha512-3HYXiSzBpKz4nSOCtrYtMw9/OXN4EmTvq0owXv6HMvvDweFskieBcdNlVcOl0ViezjvUuvUL0DHJHdGp6SQEIw==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/regexp-function-name@0.2.3': + resolution: {integrity: sha512-ER1C2rUW5Kzu5w4W0gbrJdIj5STNO5RfNy4GeiqycezeiXT99G393QeN4irqcOItYkeZhwbpY2ZzwlLxQvod1A==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/strided-base-reinterpret-boolean@0.0.3': + resolution: {integrity: sha512-co8rBbg9FYbz4X2ZGMMlt/+MpC4gq/JhxaSYMby2n92hvK57Ru62L35Kq1nngBHFb6hshhCRbnFXMyVzL6OYwQ==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/strided-base-reinterpret-complex128@0.2.3': + resolution: {integrity: sha512-7y/Phr1B+d2GBnyv9a0DQBwsZIvDstLXNuEfQ+Y9NOzl0NG7pQvzlTkm6MTtxIbsYoQO44GTpIHEK8ag/cpa/A==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/strided-base-reinterpret-complex64@0.2.2': + resolution: {integrity: sha512-BgbLBqLqoc0GfdyHPI2xYuTOqQkAB2ivBw7rN35ev0J2GN0X9rnUtRKvl5V2H3WFqsvujieS6HwGZ+fmF2Tocg==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/string-base-format-interpolate@0.2.4': + resolution: {integrity: sha512-POG725+DPEmzEJbMFTFPdKM4vA5i+t7juNYs+H2cQz5JXiPV1+5+P3epnO+/DqHWzLhiMlsKDCZq03C3WcBkSA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/string-base-format-tokenize@0.2.4': + resolution: {integrity: sha512-qYHSmqFv7vloLFvjBAbZCn5qtxj7M+Qru3VqBooJTxWMcUeZOEBZg18/PFgfUrZhji5MVWDXbRTAx5Bu5M5nQA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/string-base-lowercase@0.4.1': + resolution: {integrity: sha512-3NcDy2j6HtvKrC2GRCt5mKiYaWWHLLSQRSbuu28WEzA98/2izmiHYkR0i9IeEd4Tqrxqof/FXP4gWj1f14RXTQ==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/string-base-replace@0.2.3': + resolution: {integrity: sha512-FJdh2GzIkgMlr0v/ZZKD5cWRs+SMOhBTWxAexmWoYFL3WL1YMDgwI5hRtYh/ySyOy94MjJmYwRMpIVdxeclrAw==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/string-format@0.2.3': + resolution: {integrity: sha512-uE0LHUUnWKfxFeipyfb9yWbs+iczz6dHaolSGC1WBzMVyeHqx8xvq+yP3f2POYWgEcknmxNgU21WSqToSNrxdA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/string-replace@0.2.3': + resolution: {integrity: sha512-CXJhl/L2TfRrkVUNVp8OfNsKeuUzOZXzJLUDoopHtQalbWBww1fDSDj1fwGpzgZV4IODs8LCsiIxLBnLRP6emg==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/symbol-ctor@0.2.3': + resolution: {integrity: sha512-wnuFrxnmhg2p6QQP0B/j97LD5ys2d1bHuwVvh9yuUSCLoX/GankaVyGSufk2ROlsxrcm2HPhSDB/ILBHeUmamA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/symbol-has-instance@0.1.1': + resolution: {integrity: sha512-+CtWhgKOe0j1mEl8mJ6tvbQ4svxNtJ2kCWl70Em6odauTIpvbAgofiwhKMRZeWtulfUhXG2Q/whJQ5x5KTKQ0Q==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/symbol-iterator@0.2.3': + resolution: {integrity: sha512-HN609e5u8+O3VtiHbQeuGeKMgR1/bZ0E/qwObihTA5Yca5ATDJsTZOxY463JNU41x+6xlptO24l4OJE+t3IBAA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/symbol-to-primitive@0.1.2': + resolution: {integrity: sha512-//r52ighL35HprZrK5Pdiz1L27l47X9o+0LOJ84mTk5eB89i9shVRjOpHauKyx/uy9VkDoxUkMY0PwPrAIp4aw==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/types@0.4.3': + resolution: {integrity: sha512-9GCqS2eni2VSwa5/CCniAJ4I1eWLtvior1z6hoPJp6VTNMgW9Lh4BiI84IO0xun/0qAclJ+mTGTiCTZxZLK13A==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-constructor-name@0.2.3': + resolution: {integrity: sha512-/ApogDUIFxndcmnEeI6ctsqWt66c40g1T7R0nS9aOoYgnDOdmpUFSflzf++MDWksBycGsqgm1UD7IU54m4u7jg==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-convert-path@0.2.3': + resolution: {integrity: sha512-fmqJ6Qvce0HV7D+uYrram/+iAHB3u2gMys9zeh0uc/h411sB8Hw9X7i1w2cJevCpouMzqTnpzp75C+swkoQlKA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-define-nonenumerable-read-only-accessor@0.2.4': + resolution: {integrity: sha512-ZxHDIuA6d1Wr10Nkav5ejS53LS0eAwXV9IijQLQ/vD/rCRMNnLYT1hC2a0ZpDRc+lHQ0xsyHQvmYQJy9GBFkpg==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-define-nonenumerable-read-only-property@0.2.3': + resolution: {integrity: sha512-W0rqnRsXgW3GjcwEcOMi0mI/CXn3TVqmFvcxItLUZPJNYmwrU6+t+9kGldhMw845DyOtv8uYASrnNoVE/VfiDw==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-define-nonenumerable-read-write-accessor@0.2.3': + resolution: {integrity: sha512-PVDDjg1tobb+rEx8tyboK9KNQLUPOjSb5ZzvVnXPCmWe5YzUGHOpt1ucJqn8Xqit9h2FsE9knp+K3+8yXRW7rA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-define-property@0.2.5': + resolution: {integrity: sha512-WpbXc2uq8vtSqmWFzVrFifNj6HGoGHIZHolxX5GfRFbj4RNme1u/wtklmiOvcHE0s6SwPX764tuFXIgHBR5Vag==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-define-read-only-property@0.2.3': + resolution: {integrity: sha512-3sGMpmmSlErHup+Y6YwIgN075GW3t1FD8ARS+zHaU1U1IKEaiOVKMH49WfBGiSsVfV7sfieoZC5B//MrSWQjaA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-escape-regexp-string@0.2.3': + resolution: {integrity: sha512-ZQAq5HHF+C1fmK+RvqeMO0iIQf5kGl2Ofx9LYloURUPZD2zVMX+2hxDLFBTPAusqYxffQAjj3ap4LE/J0+YiRQ==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-function-name@0.2.3': + resolution: {integrity: sha512-qgBzMs6Zd8ynJFXvQGeu/pi8k0TeKRBB90u72bJzA3WyrM9ECRerBWZrvNMkEEUUgrPJTFIVSTTNnpe4QEuRvw==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-get-prototype-of@0.2.3': + resolution: {integrity: sha512-unEoKhhAnV4AbQ87oPo1v+4xLjd00nQxJLSvl43PkdoBn/GKNv/B6SMnQWmM5b62esWTbxBu/uWCYoglbprxkA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-global@0.2.3': + resolution: {integrity: sha512-e8gyuENhSeF8udH7vlZMDbNVQ/ZxZ4vWOcpB2iw06z1HSFZWc31Coh19ScfgagLfofo2GQYPJI3tJtZQYsUS6A==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-library-manifest@0.2.4': + resolution: {integrity: sha512-sNzEclCbpRRa35DBv8ZOcOjCesBLczkOFX8o7mMrG9VWhyZuJUCBtgSPmzGIIBLAsVEYJuguEk4iYoMqFnCwnw==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-native-class@0.2.3': + resolution: {integrity: sha512-UGXCPhgmOjwMpEQ5fFiifcqrhUnP8ICyWzEkHphUrh2/0pHyK0zilZvcODfROgzoy6L9ivUUuR6NjrAI+j14hA==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] + + '@stdlib/utils-type-of@0.2.3': + resolution: {integrity: sha512-2KmDUfqIv0g4lrWtnyR5xw82NvdsEwUHON43JAe55XRlLWnk1V1troiyJiM9fccENtl524kVRBnD7RMohmUyyQ==} + engines: {node: '>=0.10.0', npm: '>2.7.0'} + os: [aix, darwin, freebsd, linux, macos, openbsd, sunos, win32, windows] '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -1781,8 +1967,8 @@ packages: '@types/jsonfile@6.1.4': resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} - '@types/node@18.19.66': - resolution: {integrity: sha512-14HmtUdGxFUalGRfLLn9Gc1oNWvWh5zNbsyOLo5JV6WARSeN1QcEBKRnZm9QqNfrutgsl/hY4eJW63aZ44aBCg==} + '@types/node@18.19.130': + resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} '@types/node@20.19.17': resolution: {integrity: sha512-gfehUI8N1z92kygssiuWvLiwcbOB3IRktR6hTDgJlXMYh5OvkPSRmgfoBUmfZt+vhwJtX7v1Yw4KvvAf7c5QKQ==} @@ -1799,8 +1985,8 @@ packages: '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@types/yargs@17.0.33': - resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + '@types/yargs@17.0.35': + resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} '@typescript-eslint/eslint-plugin@8.44.0': resolution: {integrity: sha512-EGDAOGX+uwwekcS0iyxVDmRV9HX6FLSM5kzrAToLTsr9OWCIKG/y3lQheCq18yZ5Xh78rRKJiEpP0ZaCs4ryOQ==} @@ -1946,24 +2132,29 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - babel-plugin-polyfill-corejs2@0.4.12: - resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==} + babel-plugin-polyfill-corejs2@0.4.17: + resolution: {integrity: sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-corejs3@0.10.6: - resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + babel-plugin-polyfill-corejs3@0.14.2: + resolution: {integrity: sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-regenerator@0.6.3: - resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} + babel-plugin-polyfill-regenerator@0.6.8: + resolution: {integrity: sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + baseline-browser-mapping@2.11.12: + resolution: {integrity: sha512-r7WnVImvVCeFpf2DOXfy41aPWzeNg3H/A2X4dKmy1QL0MSyyk/e7z8ihJ3N6Nn2PsdhkVlqnEfnUE4a05P2aTA==} + engines: {node: '>=6.0.0'} + hasBin: true + brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -1981,8 +2172,8 @@ packages: peerDependencies: browserslist: '*' - browserslist@4.24.2: - resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} + browserslist@4.28.7: + resolution: {integrity: sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1997,8 +2188,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001684: - resolution: {integrity: sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==} + caniuse-lite@1.0.30001806: + resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==} chai@5.3.3: resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} @@ -2060,11 +2251,12 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - core-js-compat@3.39.0: - resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} + core-js-compat@3.50.0: + resolution: {integrity: sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q==} + engines: {node: '>=6.4.0'} - core-js@3.39.0: - resolution: {integrity: sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==} + core-js@3.50.0: + resolution: {integrity: sha512-BRWgOLKkFeCgRudR6zrs8p9XJZcE14grzKMMssoYrk6krtuEZ7MTKPIY5RzOnqsEKIR9kst7wNzphttraT+Yqw==} cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} @@ -2091,15 +2283,6 @@ packages: supports-color: optional: true - debug@4.3.7: - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -2119,8 +2302,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.65: - resolution: {integrity: sha512-PWVzBjghx7/wop6n22vS2MLU8tKGd4Q91aCEGhG/TYmW6PP5OcSXcdnxTe1NNt0T66N8D6jxh4kC8UsdzOGaIw==} + electron-to-chromium@1.5.402: + resolution: {integrity: sha512-/oOpMaPT6Yg+6/1XQhyIPlzgj7Ye9zf+nNM2Uh6OcE2G2oNptWazFa+qB2Pdqqbsc9KnIDzgAntoYN0dbwOXwA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2132,6 +2315,10 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} @@ -2253,8 +2440,8 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + fs-extra@11.4.0: + resolution: {integrity: sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==} engines: {node: '>=14.14'} fsevents@2.3.2: @@ -2299,10 +2486,6 @@ packages: deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -2321,8 +2504,8 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} engines: {node: '>= 0.4'} html-escaper@2.0.2: @@ -2357,8 +2540,8 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - is-core-module@2.15.1: - resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} engines: {node: '>= 0.4'} is-extglob@2.1.1: @@ -2414,8 +2597,8 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} hasBin: true @@ -2433,8 +2616,8 @@ packages: engines: {node: '>=6'} hasBin: true - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.2.1: + resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -2493,9 +2676,6 @@ packages: lunr@2.3.9: resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} - magic-string@0.30.14: - resolution: {integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==} - magic-string@0.30.19: resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} @@ -2565,16 +2745,12 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - node-releases@2.0.18: - resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + node-releases@2.0.53: + resolution: {integrity: sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==} + engines: {node: '>=18'} npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} @@ -2649,24 +2825,20 @@ packages: resolution: {integrity: sha512-FYpL4XiIWakTnIqLqvt3uN4L9B3TsuHIvhLILzTiJZMJUsGvmKNeL4H3b6I99LRyerK9W4IuOXw+N28AtRgK2g==} hasBin: true - playwright-core@1.56.1: - resolution: {integrity: sha512-hutraynyn31F+Bifme+Ps9Vq59hKuUCz7H1kDOcBs+2oGguKkWTU50bBWrtz34OUWmIwpBTWDxaRPXrIXkgvmQ==} - engines: {node: '>=18'} + playwright-core@1.62.1: + resolution: {integrity: sha512-wPYSwEBJY9GHraISXqyqtx0na0LpO3XEX7jNDhntbex7tzUS7kLnZsOlFruFJB4Hi/rhDMjXGqHewDZ68nYZVw==} + engines: {node: '>=20'} hasBin: true - playwright@1.56.1: - resolution: {integrity: sha512-aFi5B0WovBHTEvpM3DzXTUaeN6eN0qWnTkKx4NQaH4Wvcmc153PdaY2UBdSYKaGYw+UyWXSVyxDUg5DoPEttjw==} - engines: {node: '>=18'} + playwright@1.62.1: + resolution: {integrity: sha512-0M+L3LAD8/nm554LOla9Ayx0j0tmFZ0FBcoQ7F1VuVHpM/XpiC8RcDzBQB8W5+hA8L22THxELzeF+2WcUzvcLg==} + engines: {node: '>=20'} hasBin: true pngjs@7.0.0: resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} engines: {node: '>=14.19.0'} - postcss@8.4.49: - resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} @@ -2691,8 +2863,8 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - regenerate-unicode-properties@10.2.0: - resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + regenerate-unicode-properties@10.2.2: + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} engines: {node: '>=4'} regenerate@1.4.2: @@ -2701,18 +2873,15 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - - regexpu-core@6.2.0: - resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} + regexpu-core@6.4.0: + resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} engines: {node: '>=4'} regjsgen@0.8.0: resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - regjsparser@0.12.0: - resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + regjsparser@0.13.2: + resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} hasBin: true require-directory@2.1.1: @@ -2723,8 +2892,9 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + engines: {node: '>= 0.4'} hasBin: true restore-cursor@4.0.0: @@ -2738,11 +2908,6 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rollup@4.27.4: - resolution: {integrity: sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - rollup@4.52.0: resolution: {integrity: sha512-+IuescNkTJQgX7AkIDtITipZdIGcWF0pnVvZTWStiazUmcGA2ag8dfg0urest2XlXUi9kuhfQ+qmdc5Stc3z7g==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -2941,20 +3106,20 @@ packages: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} - unicode-match-property-value-ecmascript@2.2.0: - resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + unicode-match-property-value-ecmascript@2.2.1: + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} engines: {node: '>=4'} - unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} engines: {node: '>=4'} universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - update-browserslist-db@1.1.1: - resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -2962,42 +3127,11 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - vite-node@2.1.9: - resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - - vite@5.4.11: - resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - + vite-node@2.1.9: + resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + vite@5.4.20: resolution: {integrity: sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==} engines: {node: ^18.0.0 || >=20.0.0} @@ -3133,674 +3267,682 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@babel/code-frame@7.26.2': + '@babel/code-frame@7.29.7': dependencies: - '@babel/helper-validator-identifier': 7.25.9 + '@babel/helper-validator-identifier': 7.29.7 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.26.2': {} + '@babel/compat-data@7.29.7': {} - '@babel/core@7.26.0': + '@babel/core@7.29.7(supports-color@8.1.1)': dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.2 - '@babel/template': 7.25.9 - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 + '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.26.2': + '@babel/generator@7.29.8': dependencies: - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.0.2 - - '@babel/helper-annotate-as-pure@7.25.9': - dependencies: - '@babel/types': 7.28.4 + jsesc: 3.1.0 - '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9': + '@babel/helper-annotate-as-pure@7.29.7': dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.28.4 - transitivePeerDependencies: - - supports-color + '@babel/types': 7.29.8 - '@babel/helper-compilation-targets@7.25.9': + '@babel/helper-compilation-targets@7.29.7': dependencies: - '@babel/compat-data': 7.26.2 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.2 + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.7 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': + '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7(supports-color@8.1.1) + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.25.9(@babel/core@7.26.0)': + '@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - regexpu-core: 6.2.0 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.29.7 + regexpu-core: 6.4.0 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': + '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - debug: 4.4.3 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + debug: 4.4.3(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.8 + resolve: 1.22.12 transitivePeerDependencies: - supports-color - '@babel/helper-member-expression-to-functions@7.25.9': + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-member-expression-to-functions@7.29.7(supports-color@8.1.1)': dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.28.4 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color - '@babel/helper-module-imports@7.25.9': + '@babel/helper-module-imports@7.29.7(supports-color@8.1.1)': dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-module-imports': 7.29.7(supports-color@8.1.1) + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/helper-optimise-call-expression@7.25.9': + '@babel/helper-optimise-call-expression@7.29.7': dependencies: - '@babel/types': 7.28.4 - - '@babel/helper-plugin-utils@7.25.9': {} + '@babel/types': 7.29.8 - '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-wrap-function': 7.25.9 - '@babel/traverse': 7.25.9 - transitivePeerDependencies: - - supports-color + '@babel/helper-plugin-utils@7.29.7': {} - '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)': + '@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-wrap-function': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/helper-simple-access@7.25.9': + '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.28.4 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-member-expression-to-functions': 7.29.7(supports-color@8.1.1) + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + '@babel/helper-skip-transparent-expression-wrappers@7.29.7(supports-color@8.1.1)': dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.28.4 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.25.9': {} - '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-string-parser@7.29.7': {} '@babel/helper-validator-identifier@7.27.1': {} - '@babel/helper-validator-option@7.25.9': {} + '@babel/helper-validator-identifier@7.29.7': {} - '@babel/helper-wrap-function@7.25.9': + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helper-wrap-function@7.29.7(supports-color@8.1.1)': dependencies: - '@babel/template': 7.25.9 - '@babel/traverse': 7.25.9 - '@babel/types': 7.28.4 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color - '@babel/helpers@7.26.0': + '@babel/helpers@7.29.7': dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.0 - - '@babel/parser@7.26.2': - dependencies: - '@babel/types': 7.26.0 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 '@babel/parser@7.28.4': dependencies: '@babel/types': 7.28.4 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': + '@babel/parser@7.29.8': + dependencies: + '@babel/types': 7.29.8 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1) + '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.29.7(supports-color@8.1.1) - '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': + '@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': + '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-arrow-functions@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-async-to-generator@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-module-imports': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-block-scoped-functions@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0)': + '@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-classes@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.25.9 - globals: 11.12.0 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-computed-properties@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/template': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/template': 7.29.7 - '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-dotall-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-duplicate-keys@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-dynamic-import@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-exponentiation-operator@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-explicit-resource-management@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-exponentiation-operator@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-for-of@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-function-name@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-json-strings@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-literals@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-member-expression-literals@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-modules-amd@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-simple-access': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-modules-systemjs@7.29.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-modules-umd@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-new-target@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-numeric-separator@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/traverse': 7.29.8(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-object-super@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-parameters@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-property-literals@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-regenerator@7.29.8(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - regenerator-transform: 0.15.2 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': + '@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-shorthand-properties@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-spread@7.29.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/preset-env@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/compat-data': 7.26.2 - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) - '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) - '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-exponentiation-operator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) - babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) - core-js-compat: 3.39.0 + '@babel/plugin-transform-sticky-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-template-literals@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-typeof-symbol@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-escapes@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-property-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-sets-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/preset-env@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-syntax-import-assertions': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-block-scoped-functions': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-class-static-block': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-computed-properties': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-dotall-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-duplicate-keys': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-dynamic-import': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-explicit-resource-management': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-exponentiation-operator': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-export-namespace-from': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-for-of': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-function-name': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-json-strings': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-literals': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-logical-assignment-operators': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-member-expression-literals': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-modules-amd': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-modules-systemjs': 7.29.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-modules-umd': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-new-target': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-numeric-separator': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-object-rest-spread': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-object-super': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-optional-catch-binding': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-private-methods': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-private-property-in-object': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-property-literals': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-regenerator': 7.29.8(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-regexp-modifiers': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-reserved-words': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-spread': 7.29.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-sticky-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-typeof-symbol': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-unicode-escapes': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-unicode-property-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-unicode-sets-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7(supports-color@8.1.1)) + babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + core-js-compat: 3.50.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 '@babel/types': 7.28.4 esutils: 2.0.3 '@babel/runtime@7.28.4': {} - '@babel/template@7.25.9': + '@babel/template@7.29.7': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 - '@babel/traverse@7.25.9': + '@babel/traverse@7.29.8(supports-color@8.1.1)': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 - '@babel/parser': 7.26.2 - '@babel/template': 7.25.9 - '@babel/types': 7.26.0 - debug: 4.4.3 - globals: 11.12.0 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/types@7.26.0': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/types@7.28.4': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@babel/types@7.29.8': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@bcoe/v8-coverage@0.2.3': {} '@esbuild/aix-ppc64@0.21.5': @@ -3872,17 +4014,17 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.9.0(eslint@9.36.0)': + '@eslint-community/eslint-utils@4.9.0(eslint@9.36.0(supports-color@8.1.1))': dependencies: - eslint: 9.36.0 + eslint: 9.36.0(supports-color@8.1.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/config-array@0.21.0': + '@eslint/config-array@0.21.0(supports-color@8.1.1)': dependencies: '@eslint/object-schema': 2.1.6 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -3893,10 +4035,10 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.1': + '@eslint/eslintrc@3.3.1(supports-color@8.1.1)': dependencies: ajv: 6.12.6 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -3951,6 +4093,11 @@ snapshots: '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.31 + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/source-map@0.3.11': @@ -3958,8 +4105,6 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@jridgewell/sourcemap-codec@1.5.0': {} - '@jridgewell/sourcemap-codec@1.5.5': {} '@jridgewell/trace-mapping@0.3.31': @@ -3982,123 +4127,69 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@rollup/rollup-android-arm-eabi@4.27.4': - optional: true - '@rollup/rollup-android-arm-eabi@4.52.0': optional: true - '@rollup/rollup-android-arm64@4.27.4': - optional: true - '@rollup/rollup-android-arm64@4.52.0': optional: true - '@rollup/rollup-darwin-arm64@4.27.4': - optional: true - '@rollup/rollup-darwin-arm64@4.52.0': optional: true - '@rollup/rollup-darwin-x64@4.27.4': - optional: true - '@rollup/rollup-darwin-x64@4.52.0': optional: true - '@rollup/rollup-freebsd-arm64@4.27.4': - optional: true - '@rollup/rollup-freebsd-arm64@4.52.0': optional: true - '@rollup/rollup-freebsd-x64@4.27.4': - optional: true - '@rollup/rollup-freebsd-x64@4.52.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.27.4': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.52.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.27.4': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.52.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.27.4': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.52.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.27.4': - optional: true - '@rollup/rollup-linux-arm64-musl@4.52.0': optional: true '@rollup/rollup-linux-loong64-gnu@4.52.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.27.4': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.52.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.27.4': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.52.0': optional: true '@rollup/rollup-linux-riscv64-musl@4.52.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.27.4': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.52.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.27.4': - optional: true - '@rollup/rollup-linux-x64-gnu@4.52.0': optional: true - '@rollup/rollup-linux-x64-musl@4.27.4': - optional: true - '@rollup/rollup-linux-x64-musl@4.52.0': optional: true '@rollup/rollup-openharmony-arm64@4.52.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.27.4': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.52.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.27.4': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.52.0': optional: true '@rollup/rollup-win32-x64-gnu@4.52.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.27.4': - optional: true - '@rollup/rollup-win32-x64-msvc@4.52.0': optional: true @@ -4122,768 +4213,1118 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} - '@stdlib/array-base-accessor-getter@0.2.2': {} + '@stdlib/array-base-accessor-getter@0.2.3': {} - '@stdlib/array-base-accessor-setter@0.2.2': {} + '@stdlib/array-base-accessor-setter@0.2.3': {} - '@stdlib/array-base-arraylike2object@0.2.1': + '@stdlib/array-base-arraylike2object@0.2.2(supports-color@8.1.1)': dependencies: - '@stdlib/array-base-accessor-getter': 0.2.2 - '@stdlib/array-base-accessor-setter': 0.2.2 - '@stdlib/array-base-assert-is-accessor-array': 0.2.2 - '@stdlib/array-base-getter': 0.2.2 - '@stdlib/array-base-setter': 0.2.2 - '@stdlib/array-dtype': 0.2.1 + '@stdlib/array-base-accessor-getter': 0.2.3 + '@stdlib/array-base-accessor-setter': 0.2.3 + '@stdlib/array-base-assert-is-accessor-array': 0.2.3 + '@stdlib/array-base-getter': 0.2.3 + '@stdlib/array-base-setter': 0.2.3 + '@stdlib/array-dtype': 0.3.1(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@stdlib/array-base-assert-is-accessor-array@0.2.3': {} + + '@stdlib/array-base-assert-is-complex128array@0.2.3': {} + + '@stdlib/array-base-assert-is-complex64array@0.2.3': {} + + '@stdlib/array-base-getter@0.2.3': {} + + '@stdlib/array-base-setter@0.2.3': {} + + '@stdlib/array-bool@0.1.2(supports-color@8.1.1)': + dependencies: + '@stdlib/array-base-accessor-getter': 0.2.3 + '@stdlib/array-base-getter': 0.2.3 + '@stdlib/array-uint8': 0.2.3 + '@stdlib/assert-has-iterator-symbol-support': 0.2.3 + '@stdlib/assert-is-arraybuffer': 0.2.3 + '@stdlib/assert-is-boolean': 0.2.3 + '@stdlib/assert-is-collection': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-is-function': 0.2.3 + '@stdlib/assert-is-integer': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-is-nonnegative-integer': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-is-object': 0.2.3 + '@stdlib/assert-is-string': 0.2.3 + '@stdlib/assert-is-string-array': 0.2.3 + '@stdlib/boolean-ctor': 0.2.3 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/math-base-special-floor': 0.2.4(supports-color@8.1.1) + '@stdlib/string-format': 0.2.3 + '@stdlib/symbol-iterator': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-only-accessor': 0.2.4 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 transitivePeerDependencies: - supports-color - '@stdlib/array-base-assert-is-accessor-array@0.2.2': {} - - '@stdlib/array-base-assert-is-complex128array@0.2.2': {} - - '@stdlib/array-base-assert-is-complex64array@0.2.2': {} - - '@stdlib/array-base-getter@0.2.2': {} - - '@stdlib/array-base-setter@0.2.2': {} - - '@stdlib/array-complex128@0.2.1': - dependencies: - '@stdlib/array-base-accessor-getter': 0.2.2 - '@stdlib/array-base-assert-is-complex128array': 0.2.2 - '@stdlib/array-base-assert-is-complex64array': 0.2.2 - '@stdlib/array-base-getter': 0.2.2 - '@stdlib/array-float64': 0.2.2 - '@stdlib/assert-has-iterator-symbol-support': 0.2.2 - '@stdlib/assert-is-array': 0.2.2 - '@stdlib/assert-is-array-like-object': 0.2.2 - '@stdlib/assert-is-arraybuffer': 0.2.2 - '@stdlib/assert-is-collection': 0.2.2 - '@stdlib/assert-is-complex-like': 0.2.2 - '@stdlib/assert-is-function': 0.2.2 - '@stdlib/assert-is-nonnegative-integer': 0.2.2 - '@stdlib/assert-is-object': 0.2.2 - '@stdlib/assert-is-string': 0.2.2 - '@stdlib/complex-float64': 0.2.1 - '@stdlib/complex-imag': 0.2.1 - '@stdlib/complex-real': 0.2.1 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/math-base-assert-is-even': 0.2.3 - '@stdlib/math-base-assert-is-integer': 0.2.5 - '@stdlib/math-base-special-floor': 0.2.3 - '@stdlib/strided-base-reinterpret-complex128': 0.2.2 - '@stdlib/strided-base-reinterpret-complex64': 0.2.1 - '@stdlib/string-format': 0.2.2 - '@stdlib/symbol-iterator': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-accessor': 0.2.3 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 + '@stdlib/array-complex128@0.3.2(supports-color@8.1.1)': + dependencies: + '@stdlib/array-base-accessor-getter': 0.2.3 + '@stdlib/array-base-assert-is-complex128array': 0.2.3 + '@stdlib/array-base-assert-is-complex64array': 0.2.3 + '@stdlib/array-base-getter': 0.2.3 + '@stdlib/array-float64': 0.2.3 + '@stdlib/assert-has-iterator-symbol-support': 0.2.3 + '@stdlib/assert-is-array': 0.2.3 + '@stdlib/assert-is-array-like-object': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-is-arraybuffer': 0.2.3 + '@stdlib/assert-is-collection': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-is-complex-like': 0.2.4 + '@stdlib/assert-is-function': 0.2.3 + '@stdlib/assert-is-nonnegative-integer': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-is-object': 0.2.3 + '@stdlib/assert-is-string': 0.2.3 + '@stdlib/assert-is-string-array': 0.2.3 + '@stdlib/complex-float64-ctor': 0.1.2 + '@stdlib/complex-float64-imag': 0.1.2 + '@stdlib/complex-float64-real': 0.1.2 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/math-base-assert-is-even': 0.2.5(supports-color@8.1.1) + '@stdlib/math-base-assert-is-integer': 0.2.7(supports-color@8.1.1) + '@stdlib/math-base-special-floor': 0.2.4(supports-color@8.1.1) + '@stdlib/strided-base-reinterpret-complex128': 0.2.3 + '@stdlib/strided-base-reinterpret-complex64': 0.2.2 + '@stdlib/string-format': 0.2.3 + '@stdlib/symbol-iterator': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-only-accessor': 0.2.4 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 transitivePeerDependencies: - supports-color - '@stdlib/array-complex64@0.2.1': - dependencies: - '@stdlib/array-base-accessor-getter': 0.2.2 - '@stdlib/array-base-assert-is-complex128array': 0.2.2 - '@stdlib/array-base-assert-is-complex64array': 0.2.2 - '@stdlib/array-base-getter': 0.2.2 - '@stdlib/array-float32': 0.2.2 - '@stdlib/assert-has-iterator-symbol-support': 0.2.2 - '@stdlib/assert-is-array': 0.2.2 - '@stdlib/assert-is-array-like-object': 0.2.2 - '@stdlib/assert-is-arraybuffer': 0.2.2 - '@stdlib/assert-is-collection': 0.2.2 - '@stdlib/assert-is-complex-like': 0.2.2 - '@stdlib/assert-is-function': 0.2.2 - '@stdlib/assert-is-nonnegative-integer': 0.2.2 - '@stdlib/assert-is-object': 0.2.2 - '@stdlib/assert-is-string': 0.2.2 - '@stdlib/complex-float32': 0.2.1 - '@stdlib/complex-imagf': 0.2.1 - '@stdlib/complex-realf': 0.2.1 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/math-base-assert-is-even': 0.2.3 - '@stdlib/math-base-assert-is-integer': 0.2.5 - '@stdlib/math-base-special-floor': 0.2.3 - '@stdlib/strided-base-reinterpret-complex128': 0.2.2 - '@stdlib/strided-base-reinterpret-complex64': 0.2.1 - '@stdlib/string-format': 0.2.2 - '@stdlib/symbol-iterator': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-accessor': 0.2.3 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 + '@stdlib/array-complex64@0.3.2(supports-color@8.1.1)': + dependencies: + '@stdlib/array-base-accessor-getter': 0.2.3 + '@stdlib/array-base-assert-is-complex128array': 0.2.3 + '@stdlib/array-base-assert-is-complex64array': 0.2.3 + '@stdlib/array-base-getter': 0.2.3 + '@stdlib/array-float32': 0.2.3 + '@stdlib/assert-has-iterator-symbol-support': 0.2.3 + '@stdlib/assert-is-array': 0.2.3 + '@stdlib/assert-is-array-like-object': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-is-arraybuffer': 0.2.3 + '@stdlib/assert-is-collection': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-is-complex-like': 0.2.4 + '@stdlib/assert-is-function': 0.2.3 + '@stdlib/assert-is-nonnegative-integer': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-is-object': 0.2.3 + '@stdlib/assert-is-string': 0.2.3 + '@stdlib/assert-is-string-array': 0.2.3 + '@stdlib/complex-float32-ctor': 0.1.1 + '@stdlib/complex-float32-imag': 0.1.2 + '@stdlib/complex-float32-real': 0.1.2 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/math-base-assert-is-even': 0.2.5(supports-color@8.1.1) + '@stdlib/math-base-assert-is-integer': 0.2.7(supports-color@8.1.1) + '@stdlib/math-base-special-floor': 0.2.4(supports-color@8.1.1) + '@stdlib/strided-base-reinterpret-complex128': 0.2.3 + '@stdlib/strided-base-reinterpret-complex64': 0.2.2 + '@stdlib/string-format': 0.2.3 + '@stdlib/symbol-iterator': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-only-accessor': 0.2.4 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 transitivePeerDependencies: - supports-color - '@stdlib/array-dtype@0.2.1': - dependencies: - '@stdlib/array-complex128': 0.2.1 - '@stdlib/array-complex64': 0.2.1 - '@stdlib/array-float32': 0.2.2 - '@stdlib/array-float64': 0.2.2 - '@stdlib/array-int16': 0.2.2 - '@stdlib/array-int32': 0.2.2 - '@stdlib/array-int8': 0.2.2 - '@stdlib/array-uint16': 0.2.2 - '@stdlib/array-uint32': 0.2.2 - '@stdlib/array-uint8': 0.2.2 - '@stdlib/array-uint8c': 0.2.2 - '@stdlib/assert-is-array': 0.2.2 - '@stdlib/assert-is-buffer': 0.2.2 - '@stdlib/utils-constructor-name': 0.2.2 + '@stdlib/array-dtype@0.3.1(supports-color@8.1.1)': + dependencies: + '@stdlib/array-bool': 0.1.2(supports-color@8.1.1) + '@stdlib/array-complex128': 0.3.2(supports-color@8.1.1) + '@stdlib/array-complex64': 0.3.2(supports-color@8.1.1) + '@stdlib/array-float32': 0.2.3 + '@stdlib/array-float64': 0.2.3 + '@stdlib/array-int16': 0.2.3 + '@stdlib/array-int32': 0.2.3 + '@stdlib/array-int8': 0.2.3 + '@stdlib/array-uint16': 0.2.3 + '@stdlib/array-uint32': 0.2.3 + '@stdlib/array-uint8': 0.2.3 + '@stdlib/array-uint8c': 0.2.3 + '@stdlib/assert-is-array': 0.2.3 + '@stdlib/assert-is-buffer': 0.2.3 + '@stdlib/utils-constructor-name': 0.2.3 transitivePeerDependencies: - supports-color - '@stdlib/array-float32@0.2.2': + '@stdlib/array-float32@0.2.3': dependencies: - '@stdlib/assert-has-float32array-support': 0.2.2 + '@stdlib/assert-has-float32array-support': 0.2.3 - '@stdlib/array-float64@0.2.2': + '@stdlib/array-float64@0.2.3': dependencies: - '@stdlib/assert-has-float64array-support': 0.2.2 + '@stdlib/assert-has-float64array-support': 0.2.3 - '@stdlib/array-int16@0.2.2': + '@stdlib/array-int16@0.2.3': dependencies: - '@stdlib/assert-has-int16array-support': 0.2.2 + '@stdlib/assert-has-int16array-support': 0.2.3 - '@stdlib/array-int32@0.2.2': + '@stdlib/array-int32@0.2.3': dependencies: - '@stdlib/assert-has-int32array-support': 0.2.2 + '@stdlib/assert-has-int32array-support': 0.2.3 - '@stdlib/array-int8@0.2.2': + '@stdlib/array-int8@0.2.3': dependencies: - '@stdlib/assert-has-int8array-support': 0.2.2 + '@stdlib/assert-has-int8array-support': 0.2.3 - '@stdlib/array-to-json@0.2.1': + '@stdlib/array-to-json@0.3.1(supports-color@8.1.1)': dependencies: - '@stdlib/array-complex128': 0.2.1 - '@stdlib/array-complex64': 0.2.1 - '@stdlib/array-float32': 0.2.2 - '@stdlib/array-float64': 0.2.2 - '@stdlib/array-int16': 0.2.2 - '@stdlib/array-int32': 0.2.2 - '@stdlib/array-int8': 0.2.2 - '@stdlib/array-uint16': 0.2.2 - '@stdlib/array-uint32': 0.2.2 - '@stdlib/array-uint8': 0.2.2 - '@stdlib/array-uint8c': 0.2.2 - '@stdlib/assert-instance-of': 0.2.2 - '@stdlib/assert-is-complex-typed-array': 0.2.2 - '@stdlib/assert-is-typed-array': 0.2.2 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/strided-base-reinterpret-complex128': 0.2.2 - '@stdlib/strided-base-reinterpret-complex64': 0.2.1 - '@stdlib/string-format': 0.2.2 - '@stdlib/utils-constructor-name': 0.2.2 - '@stdlib/utils-get-prototype-of': 0.2.2 + '@stdlib/array-bool': 0.1.2(supports-color@8.1.1) + '@stdlib/array-complex128': 0.3.2(supports-color@8.1.1) + '@stdlib/array-complex64': 0.3.2(supports-color@8.1.1) + '@stdlib/array-float32': 0.2.3 + '@stdlib/array-float64': 0.2.3 + '@stdlib/array-int16': 0.2.3 + '@stdlib/array-int32': 0.2.3 + '@stdlib/array-int8': 0.2.3 + '@stdlib/array-uint16': 0.2.3 + '@stdlib/array-uint32': 0.2.3 + '@stdlib/array-uint8': 0.2.3 + '@stdlib/array-uint8c': 0.2.3 + '@stdlib/assert-instance-of': 0.3.1 + '@stdlib/assert-is-booleanarray': 0.0.3(supports-color@8.1.1) + '@stdlib/assert-is-complex-typed-array': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-is-typed-array': 0.2.3 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/strided-base-reinterpret-boolean': 0.0.3 + '@stdlib/strided-base-reinterpret-complex128': 0.2.3 + '@stdlib/strided-base-reinterpret-complex64': 0.2.2 + '@stdlib/string-format': 0.2.3 + '@stdlib/utils-constructor-name': 0.2.3 + '@stdlib/utils-get-prototype-of': 0.2.3 transitivePeerDependencies: - supports-color - '@stdlib/array-uint16@0.2.2': + '@stdlib/array-uint16@0.2.3': dependencies: - '@stdlib/assert-has-uint16array-support': 0.2.2 + '@stdlib/assert-has-uint16array-support': 0.2.3 - '@stdlib/array-uint32@0.2.2': + '@stdlib/array-uint32@0.2.3': dependencies: - '@stdlib/assert-has-uint32array-support': 0.2.2 + '@stdlib/assert-has-uint32array-support': 0.2.3 - '@stdlib/array-uint8@0.2.2': + '@stdlib/array-uint8@0.2.3': dependencies: - '@stdlib/assert-has-uint8array-support': 0.2.2 + '@stdlib/assert-has-uint8array-support': 0.2.3 - '@stdlib/array-uint8c@0.2.2': + '@stdlib/array-uint8c@0.2.3': dependencies: - '@stdlib/assert-has-uint8clampedarray-support': 0.2.2 + '@stdlib/assert-has-uint8clampedarray-support': 0.2.3 - '@stdlib/assert-has-float32array-support@0.2.2': + '@stdlib/assert-has-float32array-support@0.2.3': dependencies: - '@stdlib/assert-is-float32array': 0.2.2 - '@stdlib/constants-float64-pinf': 0.2.2 + '@stdlib/assert-is-float32array': 0.2.3 + '@stdlib/constants-float64-pinf': 0.2.3 - '@stdlib/assert-has-float64array-support@0.2.2': + '@stdlib/assert-has-float64array-support@0.2.3': dependencies: - '@stdlib/assert-is-float64array': 0.2.2 + '@stdlib/assert-is-float64array': 0.2.3 - '@stdlib/assert-has-function-name-support@0.2.2': {} + '@stdlib/assert-has-function-name-support@0.2.3': {} - '@stdlib/assert-has-int16array-support@0.2.2': + '@stdlib/assert-has-has-instance-symbol-support@0.1.1': dependencies: - '@stdlib/assert-is-int16array': 0.2.2 - '@stdlib/constants-int16-max': 0.2.2 - '@stdlib/constants-int16-min': 0.2.2 + '@stdlib/assert-has-own-property': 0.2.3 + '@stdlib/symbol-ctor': 0.2.3 - '@stdlib/assert-has-int32array-support@0.2.2': + '@stdlib/assert-has-int16array-support@0.2.3': dependencies: - '@stdlib/assert-is-int32array': 0.2.2 - '@stdlib/constants-int32-max': 0.3.0 - '@stdlib/constants-int32-min': 0.2.2 + '@stdlib/assert-is-int16array': 0.2.3 + '@stdlib/constants-int16-max': 0.2.3 + '@stdlib/constants-int16-min': 0.2.3 - '@stdlib/assert-has-int8array-support@0.2.2': + '@stdlib/assert-has-int32array-support@0.2.3': dependencies: - '@stdlib/assert-is-int8array': 0.2.2 - '@stdlib/constants-int8-max': 0.2.2 - '@stdlib/constants-int8-min': 0.2.2 + '@stdlib/assert-is-int32array': 0.2.3 + '@stdlib/constants-int32-max': 0.3.1 + '@stdlib/constants-int32-min': 0.2.3 - '@stdlib/assert-has-iterator-symbol-support@0.2.2': + '@stdlib/assert-has-int8array-support@0.2.3': dependencies: - '@stdlib/assert-has-own-property': 0.2.2 - '@stdlib/symbol-ctor': 0.2.2 + '@stdlib/assert-is-int8array': 0.2.3 + '@stdlib/constants-int8-max': 0.2.3 + '@stdlib/constants-int8-min': 0.2.3 - '@stdlib/assert-has-own-property@0.2.2': {} + '@stdlib/assert-has-iterator-symbol-support@0.2.3': + dependencies: + '@stdlib/assert-has-own-property': 0.2.3 + '@stdlib/symbol-ctor': 0.2.3 + + '@stdlib/assert-has-own-property@0.2.3': {} - '@stdlib/assert-has-symbol-support@0.2.2': {} + '@stdlib/assert-has-symbol-support@0.2.3': {} + + '@stdlib/assert-has-to-primitive-symbol-support@0.1.1': + dependencies: + '@stdlib/assert-has-own-property': 0.2.3 + '@stdlib/symbol-ctor': 0.2.3 - '@stdlib/assert-has-tostringtag-support@0.2.2': + '@stdlib/assert-has-tostringtag-support@0.2.3': dependencies: - '@stdlib/assert-has-symbol-support': 0.2.2 + '@stdlib/assert-has-symbol-support': 0.2.3 - '@stdlib/assert-has-uint16array-support@0.2.2': + '@stdlib/assert-has-uint16array-support@0.2.3': dependencies: - '@stdlib/assert-is-uint16array': 0.2.2 - '@stdlib/constants-uint16-max': 0.2.2 + '@stdlib/assert-is-uint16array': 0.2.3 + '@stdlib/constants-uint16-max': 0.2.3 - '@stdlib/assert-has-uint32array-support@0.2.2': + '@stdlib/assert-has-uint32array-support@0.2.3': dependencies: - '@stdlib/assert-is-uint32array': 0.2.2 - '@stdlib/constants-uint32-max': 0.2.2 + '@stdlib/assert-is-uint32array': 0.2.3 + '@stdlib/constants-uint32-max': 0.2.3 - '@stdlib/assert-has-uint8array-support@0.2.2': + '@stdlib/assert-has-uint8array-support@0.2.3': dependencies: - '@stdlib/assert-is-uint8array': 0.2.2 - '@stdlib/constants-uint8-max': 0.2.2 + '@stdlib/assert-is-uint8array': 0.2.3 + '@stdlib/constants-uint8-max': 0.2.3 - '@stdlib/assert-has-uint8clampedarray-support@0.2.2': + '@stdlib/assert-has-uint8clampedarray-support@0.2.3': dependencies: - '@stdlib/assert-is-uint8clampedarray': 0.2.2 + '@stdlib/assert-is-uint8clampedarray': 0.2.3 - '@stdlib/assert-instance-of@0.2.2': + '@stdlib/assert-instance-of@0.3.1': dependencies: - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/string-format': 0.2.2 + '@stdlib/assert-has-has-instance-symbol-support': 0.1.1 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/string-format': 0.2.3 + '@stdlib/symbol-has-instance': 0.1.1 - '@stdlib/assert-is-array-like-object@0.2.2': + '@stdlib/assert-is-array-like-object@0.2.3(supports-color@8.1.1)': dependencies: - '@stdlib/constants-array-max-array-length': 0.2.2 - '@stdlib/math-base-assert-is-integer': 0.2.5 + '@stdlib/constants-array-max-array-length': 0.2.3 + '@stdlib/math-base-assert-is-integer': 0.2.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@stdlib/assert-is-array@0.2.2': + '@stdlib/assert-is-array@0.2.3': + dependencies: + '@stdlib/utils-native-class': 0.2.3 + + '@stdlib/assert-is-arraybuffer@0.2.3': + dependencies: + '@stdlib/utils-native-class': 0.2.3 + + '@stdlib/assert-is-big-endian@0.2.3': dependencies: - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/array-uint16': 0.2.3 + '@stdlib/array-uint8': 0.2.3 - '@stdlib/assert-is-arraybuffer@0.2.2': + '@stdlib/assert-is-boolean@0.2.3': dependencies: - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/assert-has-tostringtag-support': 0.2.3 + '@stdlib/boolean-ctor': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/assert-is-boolean@0.2.2': + '@stdlib/assert-is-booleanarray@0.0.3(supports-color@8.1.1)': dependencies: - '@stdlib/assert-has-tostringtag-support': 0.2.2 - '@stdlib/boolean-ctor': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/array-bool': 0.1.2(supports-color@8.1.1) + '@stdlib/utils-constructor-name': 0.2.3 + transitivePeerDependencies: + - supports-color - '@stdlib/assert-is-buffer@0.2.2': + '@stdlib/assert-is-buffer@0.2.3': dependencies: - '@stdlib/assert-is-object-like': 0.2.2 + '@stdlib/assert-is-object-like': 0.2.3 - '@stdlib/assert-is-collection@0.2.2': + '@stdlib/assert-is-collection@0.2.3(supports-color@8.1.1)': dependencies: - '@stdlib/constants-array-max-typed-array-length': 0.2.2 - '@stdlib/math-base-assert-is-integer': 0.2.5 + '@stdlib/constants-array-max-typed-array-length': 0.2.3 + '@stdlib/math-base-assert-is-integer': 0.2.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@stdlib/assert-is-complex-like@0.2.2': + '@stdlib/assert-is-complex-like@0.2.4': dependencies: - '@stdlib/complex-float32-ctor': 0.0.2 - '@stdlib/complex-float64-ctor': 0.0.2 + '@stdlib/complex-float32-ctor': 0.1.1 + '@stdlib/complex-float64-ctor': 0.1.2 - '@stdlib/assert-is-complex-typed-array@0.2.2': + '@stdlib/assert-is-complex-typed-array@0.2.3(supports-color@8.1.1)': dependencies: - '@stdlib/array-complex128': 0.2.1 - '@stdlib/array-complex64': 0.2.1 - '@stdlib/utils-constructor-name': 0.2.2 - '@stdlib/utils-get-prototype-of': 0.2.2 + '@stdlib/array-complex128': 0.3.2(supports-color@8.1.1) + '@stdlib/array-complex64': 0.3.2(supports-color@8.1.1) + '@stdlib/utils-constructor-name': 0.2.3 + '@stdlib/utils-get-prototype-of': 0.2.3 transitivePeerDependencies: - supports-color - '@stdlib/assert-is-float32array@0.2.2': + '@stdlib/assert-is-float32array@0.2.3': dependencies: - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/assert-is-float64array@0.2.2': + '@stdlib/assert-is-float64array@0.2.3': dependencies: - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/assert-is-function@0.2.2': + '@stdlib/assert-is-function@0.2.3': dependencies: - '@stdlib/utils-type-of': 0.2.2 + '@stdlib/utils-type-of': 0.2.3 - '@stdlib/assert-is-int16array@0.2.2': + '@stdlib/assert-is-int16array@0.2.3': dependencies: - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/assert-is-int32array@0.2.2': + '@stdlib/assert-is-int32array@0.2.3': dependencies: - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/assert-is-int8array@0.2.2': + '@stdlib/assert-is-int8array@0.2.3': dependencies: - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/assert-is-integer@0.2.2': + '@stdlib/assert-is-integer@0.2.3(supports-color@8.1.1)': dependencies: - '@stdlib/assert-is-number': 0.2.2 - '@stdlib/constants-float64-ninf': 0.2.2 - '@stdlib/constants-float64-pinf': 0.2.2 - '@stdlib/math-base-assert-is-integer': 0.2.5 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 + '@stdlib/assert-is-number': 0.2.3 + '@stdlib/constants-float64-ninf': 0.2.3 + '@stdlib/constants-float64-pinf': 0.2.3 + '@stdlib/math-base-assert-is-integer': 0.2.7(supports-color@8.1.1) + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 transitivePeerDependencies: - supports-color - '@stdlib/assert-is-nonnegative-integer@0.2.2': + '@stdlib/assert-is-little-endian@0.2.3': + dependencies: + '@stdlib/array-uint16': 0.2.3 + '@stdlib/array-uint8': 0.2.3 + + '@stdlib/assert-is-nonnegative-integer@0.2.3(supports-color@8.1.1)': dependencies: - '@stdlib/assert-is-integer': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 + '@stdlib/assert-is-integer': 0.2.3(supports-color@8.1.1) + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 transitivePeerDependencies: - supports-color - '@stdlib/assert-is-number@0.2.2': + '@stdlib/assert-is-number@0.2.3': dependencies: - '@stdlib/assert-has-tostringtag-support': 0.2.2 - '@stdlib/number-ctor': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/assert-has-tostringtag-support': 0.2.3 + '@stdlib/number-ctor': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/assert-is-object-like@0.2.2': + '@stdlib/assert-is-object-like@0.2.3': dependencies: - '@stdlib/assert-tools-array-function': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 + '@stdlib/assert-tools-array-function': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 - '@stdlib/assert-is-object@0.2.2': + '@stdlib/assert-is-object@0.2.3': dependencies: - '@stdlib/assert-is-array': 0.2.2 + '@stdlib/assert-is-array': 0.2.3 - '@stdlib/assert-is-plain-object@0.2.2': + '@stdlib/assert-is-plain-object@0.2.3': dependencies: - '@stdlib/assert-has-own-property': 0.2.2 - '@stdlib/assert-is-function': 0.2.2 - '@stdlib/assert-is-object': 0.2.2 - '@stdlib/utils-get-prototype-of': 0.2.2 - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/assert-has-own-property': 0.2.3 + '@stdlib/assert-is-function': 0.2.3 + '@stdlib/assert-is-object': 0.2.3 + '@stdlib/utils-get-prototype-of': 0.2.3 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/assert-is-positive-integer@0.2.2': + '@stdlib/assert-is-positive-integer@0.2.3(supports-color@8.1.1)': dependencies: - '@stdlib/assert-is-integer': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 + '@stdlib/assert-is-integer': 0.2.3(supports-color@8.1.1) + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 transitivePeerDependencies: - supports-color - '@stdlib/assert-is-regexp@0.2.2': + '@stdlib/assert-is-regexp@0.2.3': + dependencies: + '@stdlib/assert-has-tostringtag-support': 0.2.3 + '@stdlib/utils-native-class': 0.2.3 + + '@stdlib/assert-is-string-array@0.2.3': + dependencies: + '@stdlib/assert-is-string': 0.2.3 + '@stdlib/assert-tools-array-function': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 + + '@stdlib/assert-is-string@0.2.3': dependencies: - '@stdlib/assert-has-tostringtag-support': 0.2.2 - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/assert-has-tostringtag-support': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/assert-is-string@0.2.2': + '@stdlib/assert-is-typed-array@0.2.3': dependencies: - '@stdlib/assert-has-tostringtag-support': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/array-float32': 0.2.3 + '@stdlib/array-float64': 0.2.3 + '@stdlib/array-int16': 0.2.3 + '@stdlib/array-int32': 0.2.3 + '@stdlib/array-int8': 0.2.3 + '@stdlib/array-uint16': 0.2.3 + '@stdlib/array-uint32': 0.2.3 + '@stdlib/array-uint8': 0.2.3 + '@stdlib/array-uint8c': 0.2.3 + '@stdlib/assert-has-float64array-support': 0.2.3 + '@stdlib/utils-constructor-name': 0.2.3 + '@stdlib/utils-function-name': 0.2.3 + '@stdlib/utils-get-prototype-of': 0.2.3 - '@stdlib/assert-is-typed-array@0.2.2': + '@stdlib/assert-is-uint16array@0.2.3': dependencies: - '@stdlib/array-float32': 0.2.2 - '@stdlib/array-float64': 0.2.2 - '@stdlib/array-int16': 0.2.2 - '@stdlib/array-int32': 0.2.2 - '@stdlib/array-int8': 0.2.2 - '@stdlib/array-uint16': 0.2.2 - '@stdlib/array-uint32': 0.2.2 - '@stdlib/array-uint8': 0.2.2 - '@stdlib/array-uint8c': 0.2.2 - '@stdlib/assert-has-float64array-support': 0.2.2 - '@stdlib/utils-constructor-name': 0.2.2 - '@stdlib/utils-function-name': 0.2.2 - '@stdlib/utils-get-prototype-of': 0.2.2 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/assert-is-uint16array@0.2.2': + '@stdlib/assert-is-uint32array@0.2.3': dependencies: - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/assert-is-uint32array@0.2.2': + '@stdlib/assert-is-uint8array@0.2.3': dependencies: - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/assert-is-uint8array@0.2.2': + '@stdlib/assert-is-uint8clampedarray@0.2.3': dependencies: - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/assert-is-uint8clampedarray@0.2.2': + '@stdlib/assert-napi-equal-types@0.2.3(supports-color@8.1.1)': dependencies: - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/assert-napi-status-ok': 0.2.3 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@stdlib/assert-napi-is-type@0.2.3(supports-color@8.1.1)': + dependencies: + '@stdlib/assert-napi-equal-types': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-napi-status-ok': 0.2.3 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/assert-tools-array-function@0.2.2': + '@stdlib/assert-napi-status-ok@0.2.3': {} + + '@stdlib/assert-tools-array-function@0.2.3': dependencies: - '@stdlib/assert-is-array': 0.2.2 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/string-format': 0.2.2 + '@stdlib/assert-is-array': 0.2.3 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/string-format': 0.2.3 - '@stdlib/blas-base-gcopy@0.2.1': + '@stdlib/blas-base-gcopy@0.2.3(supports-color@8.1.1)': dependencies: - '@stdlib/array-base-arraylike2object': 0.2.1 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 + '@stdlib/array-base-arraylike2object': 0.2.2(supports-color@8.1.1) + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 transitivePeerDependencies: - supports-color - '@stdlib/boolean-ctor@0.2.2': {} + '@stdlib/boolean-ctor@0.2.3': {} + + '@stdlib/complex-float32-ctor@0.1.1': + dependencies: + '@stdlib/assert-is-number': 0.2.3 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/number-float64-base-to-float32': 0.2.3 + '@stdlib/string-format': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 + '@stdlib/utils-define-read-only-property': 0.2.3 + + '@stdlib/complex-float32-imag@0.1.2': + dependencies: + '@stdlib/complex-float32-ctor': 0.1.1 - '@stdlib/complex-float32-ctor@0.0.1': + '@stdlib/complex-float32-real@0.1.2': dependencies: - '@stdlib/assert-is-number': 0.2.2 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/number-float64-base-to-float32': 0.2.2 - '@stdlib/string-format': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 - '@stdlib/utils-define-property': 0.2.4 + '@stdlib/complex-float32-ctor': 0.1.1 - '@stdlib/complex-float32-ctor@0.0.2': + '@stdlib/complex-float32-reim@0.1.4': dependencies: - '@stdlib/assert-is-number': 0.2.2 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/number-float64-base-to-float32': 0.2.2 - '@stdlib/string-format': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 - '@stdlib/utils-define-property': 0.2.4 + '@stdlib/array-float32': 0.2.3 + '@stdlib/complex-float32-ctor': 0.1.1 - '@stdlib/complex-float32-reim@0.1.2': + '@stdlib/complex-float64-ctor@0.1.2': dependencies: - '@stdlib/array-float32': 0.2.2 - '@stdlib/complex-float32-ctor': 0.0.2 + '@stdlib/assert-is-number': 0.2.3 + '@stdlib/complex-float32-ctor': 0.1.1 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/string-format': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 + '@stdlib/utils-define-read-only-property': 0.2.3 - '@stdlib/complex-float32@0.2.1': + '@stdlib/complex-float64-imag@0.1.2': dependencies: - '@stdlib/assert-is-number': 0.2.2 - '@stdlib/number-float64-base-to-float32': 0.2.2 - '@stdlib/string-format': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 - '@stdlib/utils-define-property': 0.2.4 + '@stdlib/complex-float64-ctor': 0.1.2 - '@stdlib/complex-float64-ctor@0.0.2': + '@stdlib/complex-float64-real@0.1.2': dependencies: - '@stdlib/assert-is-number': 0.2.2 - '@stdlib/complex-float32-ctor': 0.0.1 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/string-format': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 - '@stdlib/utils-define-property': 0.2.4 + '@stdlib/complex-float64-ctor': 0.1.2 - '@stdlib/complex-float64-ctor@0.0.3': + '@stdlib/complex-float64-reim@0.1.4': dependencies: - '@stdlib/assert-is-number': 0.2.2 - '@stdlib/complex-float32-ctor': 0.0.2 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/string-format': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 - '@stdlib/utils-define-property': 0.2.4 + '@stdlib/array-float64': 0.2.3 + '@stdlib/complex-float64-ctor': 0.1.2 + + '@stdlib/constants-array-max-array-length@0.2.3': {} + + '@stdlib/constants-array-max-typed-array-length@0.2.3': {} + + '@stdlib/constants-float16-eps@0.2.3': {} + + '@stdlib/constants-float16-exponent-bias@0.3.1': {} + + '@stdlib/constants-float16-exponent-mask@0.1.1': {} - '@stdlib/complex-float64-reim@0.1.2': + '@stdlib/constants-float16-max@0.2.3': {} + + '@stdlib/constants-float16-num-significand-bits@0.0.2': {} + + '@stdlib/constants-float16-sign-mask@0.1.1': {} + + '@stdlib/constants-float16-significand-mask@0.1.1': {} + + '@stdlib/constants-float16-smallest-normal@0.2.3': {} + + '@stdlib/constants-float32-abs-mask@0.2.3': {} + + '@stdlib/constants-float32-eps@0.2.3': dependencies: - '@stdlib/array-float64': 0.2.2 - '@stdlib/complex-float64-ctor': 0.0.3 + '@stdlib/number-float64-base-to-float32': 0.2.3 + + '@stdlib/constants-float32-exponent-bias@0.2.3': {} + + '@stdlib/constants-float32-exponent-mask@0.2.3': {} - '@stdlib/complex-float64@0.2.1': + '@stdlib/constants-float32-ninf@0.2.3': dependencies: - '@stdlib/assert-is-number': 0.2.2 - '@stdlib/complex-float32': 0.2.1 - '@stdlib/string-format': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 - '@stdlib/utils-define-property': 0.2.4 + '@stdlib/array-float32': 0.2.3 + '@stdlib/array-uint32': 0.2.3 - '@stdlib/complex-imag@0.2.1': + '@stdlib/constants-float32-num-significand-bits@0.1.1': {} + + '@stdlib/constants-float32-pinf@0.2.3': dependencies: - '@stdlib/complex-float64': 0.2.1 + '@stdlib/array-float32': 0.2.3 + '@stdlib/array-uint32': 0.2.3 + + '@stdlib/constants-float32-sign-mask@0.2.3': {} + + '@stdlib/constants-float32-significand-mask@0.2.4': {} + + '@stdlib/constants-float64-eps@0.2.3': {} - '@stdlib/complex-imagf@0.2.1': + '@stdlib/constants-float64-high-word-abs-mask@0.2.3': {} + + '@stdlib/constants-float64-max-safe-integer@0.2.3': {} + + '@stdlib/constants-float64-ninf@0.2.3': dependencies: - '@stdlib/complex-float32': 0.2.1 + '@stdlib/number-ctor': 0.2.3 + + '@stdlib/constants-float64-pinf@0.2.3': {} + + '@stdlib/constants-int16-max@0.2.3': {} + + '@stdlib/constants-int16-min@0.2.3': {} + + '@stdlib/constants-int32-max@0.3.1': {} + + '@stdlib/constants-int32-min@0.2.3': {} + + '@stdlib/constants-int8-max@0.2.3': {} + + '@stdlib/constants-int8-min@0.2.3': {} + + '@stdlib/constants-uint16-max@0.2.3': {} + + '@stdlib/constants-uint32-max@0.2.3': {} + + '@stdlib/constants-uint8-max@0.2.3': {} - '@stdlib/complex-real@0.2.1': + '@stdlib/error-tools-fmtprodmsg@0.2.3': {} + + '@stdlib/fs-exists@0.2.3': dependencies: - '@stdlib/complex-float64': 0.2.1 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 - '@stdlib/complex-realf@0.2.1': + '@stdlib/fs-resolve-parent-path@0.2.3': dependencies: - '@stdlib/complex-float32': 0.2.1 + '@stdlib/assert-has-own-property': 0.2.3 + '@stdlib/assert-is-function': 0.2.3 + '@stdlib/assert-is-plain-object': 0.2.3 + '@stdlib/assert-is-string': 0.2.3 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/fs-exists': 0.2.3 + '@stdlib/process-cwd': 0.2.3 + '@stdlib/string-format': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 - '@stdlib/constants-array-max-array-length@0.2.2': {} + '@stdlib/math-base-assert-is-even@0.2.5(supports-color@8.1.1)': + dependencies: + '@stdlib/math-base-assert-is-integer': 0.2.7(supports-color@8.1.1) + '@stdlib/napi-argv': 0.2.3 + '@stdlib/napi-argv-double': 0.2.2(supports-color@8.1.1) + '@stdlib/napi-create-int32': 0.0.3(supports-color@8.1.1) + '@stdlib/napi-export': 0.3.1 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/constants-array-max-typed-array-length@0.2.2': {} + '@stdlib/math-base-assert-is-finite@0.2.3(supports-color@8.1.1)': + dependencies: + '@stdlib/constants-float64-ninf': 0.2.3 + '@stdlib/constants-float64-pinf': 0.2.3 + '@stdlib/napi-argv': 0.2.3 + '@stdlib/napi-argv-double': 0.2.2(supports-color@8.1.1) + '@stdlib/napi-create-int32': 0.0.3(supports-color@8.1.1) + '@stdlib/napi-export': 0.3.1 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/constants-float64-max-safe-integer@0.2.2': {} + '@stdlib/math-base-assert-is-finitef@0.2.3(supports-color@8.1.1)': + dependencies: + '@stdlib/constants-float32-ninf': 0.2.3 + '@stdlib/constants-float32-pinf': 0.2.3 + '@stdlib/napi-argv': 0.2.3 + '@stdlib/napi-argv-float': 0.2.3(supports-color@8.1.1) + '@stdlib/napi-create-int32': 0.0.3(supports-color@8.1.1) + '@stdlib/napi-export': 0.3.1 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/constants-float64-ninf@0.2.2': + '@stdlib/math-base-assert-is-integer@0.2.7(supports-color@8.1.1)': dependencies: - '@stdlib/number-ctor': 0.2.2 + '@stdlib/math-base-special-floor': 0.2.4(supports-color@8.1.1) + '@stdlib/napi-argv': 0.2.3 + '@stdlib/napi-argv-double': 0.2.2(supports-color@8.1.1) + '@stdlib/napi-create-int32': 0.0.3(supports-color@8.1.1) + '@stdlib/napi-export': 0.3.1 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/constants-float64-pinf@0.2.2': {} + '@stdlib/math-base-assert-is-nan@0.2.3(supports-color@8.1.1)': + dependencies: + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/constants-int16-max@0.2.2': {} + '@stdlib/math-base-assert-is-nanf@0.2.3(supports-color@8.1.1)': + dependencies: + '@stdlib/napi-argv': 0.2.3 + '@stdlib/napi-argv-float': 0.2.3(supports-color@8.1.1) + '@stdlib/napi-create-int32': 0.0.3(supports-color@8.1.1) + '@stdlib/napi-export': 0.3.1 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/constants-int16-min@0.2.2': {} + '@stdlib/math-base-assert-is-positive-zero@0.2.3(supports-color@8.1.1)': + dependencies: + '@stdlib/constants-float64-pinf': 0.2.3 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/constants-int32-max@0.3.0': {} + '@stdlib/math-base-napi-binary@0.3.3(supports-color@8.1.1)': + dependencies: + '@stdlib/complex-float32-ctor': 0.1.1 + '@stdlib/complex-float32-reim': 0.1.4 + '@stdlib/complex-float64-ctor': 0.1.2 + '@stdlib/complex-float64-reim': 0.1.4 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/constants-int32-min@0.2.2': {} + '@stdlib/math-base-napi-unary@0.2.7(supports-color@8.1.1)': + dependencies: + '@stdlib/complex-float32-ctor': 0.1.1 + '@stdlib/complex-float32-reim': 0.1.4 + '@stdlib/complex-float64-ctor': 0.1.2 + '@stdlib/complex-float64-reim': 0.1.4 + '@stdlib/number-float16-base-to-float64': 0.1.2(supports-color@8.1.1) + '@stdlib/number-float16-ctor': 0.1.2(supports-color@8.1.1) + '@stdlib/number-float64-base-to-float16': 0.1.2(supports-color@8.1.1) + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/constants-int8-max@0.2.2': {} + '@stdlib/math-base-special-abs@0.2.3(supports-color@8.1.1)': + dependencies: + '@stdlib/constants-float64-high-word-abs-mask': 0.2.3 + '@stdlib/math-base-napi-unary': 0.2.7(supports-color@8.1.1) + '@stdlib/number-float64-base-to-words': 0.2.3(supports-color@8.1.1) + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/constants-int8-min@0.2.2': {} + '@stdlib/math-base-special-absf@0.2.3(supports-color@8.1.1)': + dependencies: + '@stdlib/constants-float32-abs-mask': 0.2.3 + '@stdlib/math-base-napi-unary': 0.2.7(supports-color@8.1.1) + '@stdlib/number-float32-base-to-word': 0.2.3(supports-color@8.1.1) + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/constants-uint16-max@0.2.2': {} + '@stdlib/math-base-special-floor@0.2.4(supports-color@8.1.1)': + dependencies: + '@stdlib/math-base-napi-unary': 0.2.7(supports-color@8.1.1) + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/constants-uint32-max@0.2.2': {} + '@stdlib/math-base-special-max@0.3.1(supports-color@8.1.1)': + dependencies: + '@stdlib/constants-float64-pinf': 0.2.3 + '@stdlib/math-base-assert-is-nan': 0.2.3(supports-color@8.1.1) + '@stdlib/math-base-assert-is-positive-zero': 0.2.3(supports-color@8.1.1) + '@stdlib/math-base-napi-binary': 0.3.3(supports-color@8.1.1) + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/constants-uint8-max@0.2.2': {} + '@stdlib/napi-argv-double@0.2.2(supports-color@8.1.1)': + dependencies: + '@stdlib/assert-napi-is-type': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-napi-status-ok': 0.2.3 + '@stdlib/napi-argv': 0.2.3 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/error-tools-fmtprodmsg@0.2.2': {} + '@stdlib/napi-argv-float@0.2.3(supports-color@8.1.1)': + dependencies: + '@stdlib/assert-napi-is-type': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-napi-status-ok': 0.2.3 + '@stdlib/napi-argv': 0.2.3 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/fs-exists@0.2.2': + '@stdlib/napi-argv-int32@0.2.3(supports-color@8.1.1)': dependencies: - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 + '@stdlib/assert-napi-is-type': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-napi-status-ok': 0.2.3 + '@stdlib/napi-argv': 0.2.3 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color - '@stdlib/fs-resolve-parent-path@0.2.2': + '@stdlib/napi-argv@0.2.3': dependencies: - '@stdlib/assert-has-own-property': 0.2.2 - '@stdlib/assert-is-function': 0.2.2 - '@stdlib/assert-is-plain-object': 0.2.2 - '@stdlib/assert-is-string': 0.2.2 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/fs-exists': 0.2.2 - '@stdlib/process-cwd': 0.2.2 - '@stdlib/string-format': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 + '@stdlib/assert-napi-status-ok': 0.2.3 - '@stdlib/math-base-assert-is-even@0.2.3': + '@stdlib/napi-create-int32@0.0.3(supports-color@8.1.1)': dependencies: - '@stdlib/math-base-assert-is-integer': 0.2.5 - '@stdlib/utils-library-manifest': 0.2.2 + '@stdlib/assert-napi-status-ok': 0.2.3 + '@stdlib/napi-argv': 0.2.3 + '@stdlib/napi-argv-int32': 0.2.3(supports-color@8.1.1) + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@stdlib/napi-export@0.3.1': {} + + '@stdlib/number-ctor@0.2.3': {} + + '@stdlib/number-float16-base-to-float32@0.1.2(supports-color@8.1.1)': + dependencies: + '@stdlib/constants-float16-exponent-bias': 0.3.1 + '@stdlib/constants-float16-exponent-mask': 0.1.1 + '@stdlib/constants-float16-num-significand-bits': 0.0.2 + '@stdlib/constants-float16-sign-mask': 0.1.1 + '@stdlib/constants-float16-significand-mask': 0.1.1 + '@stdlib/constants-float32-exponent-bias': 0.2.3 + '@stdlib/constants-float32-exponent-mask': 0.2.3 + '@stdlib/constants-float32-num-significand-bits': 0.1.1 + '@stdlib/number-float16-ctor': 0.1.2(supports-color@8.1.1) + '@stdlib/number-float32-base-to-float16': 0.1.1(supports-color@8.1.1) + '@stdlib/number-float64-base-to-float16': 0.1.2(supports-color@8.1.1) + '@stdlib/number-float64-base-to-float32': 0.2.3 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@stdlib/math-base-assert-is-integer@0.2.5': + '@stdlib/number-float16-base-to-float64@0.1.2(supports-color@8.1.1)': dependencies: - '@stdlib/math-base-special-floor': 0.2.3 - '@stdlib/utils-library-manifest': 0.2.2 + '@stdlib/number-float16-base-to-float32': 0.1.2(supports-color@8.1.1) + '@stdlib/number-float16-ctor': 0.1.2(supports-color@8.1.1) + '@stdlib/number-float64-base-to-float16': 0.1.2(supports-color@8.1.1) + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@stdlib/math-base-assert-is-nan@0.2.2': + '@stdlib/number-float16-ctor@0.1.2(supports-color@8.1.1)': dependencies: - '@stdlib/utils-library-manifest': 0.2.2 + '@stdlib/assert-has-to-primitive-symbol-support': 0.1.1 + '@stdlib/assert-is-number': 0.2.3 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/number-float64-base-to-float16': 0.1.2(supports-color@8.1.1) + '@stdlib/string-format': 0.2.3 + '@stdlib/symbol-to-primitive': 0.1.2 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 + '@stdlib/utils-define-read-only-property': 0.2.3 transitivePeerDependencies: - supports-color - '@stdlib/math-base-assert-is-positive-zero@0.2.2': + '@stdlib/number-float32-base-exponent@0.2.4(supports-color@8.1.1)': dependencies: - '@stdlib/constants-float64-pinf': 0.2.2 - '@stdlib/utils-library-manifest': 0.2.2 + '@stdlib/constants-float32-exponent-bias': 0.2.3 + '@stdlib/constants-float32-exponent-mask': 0.2.3 + '@stdlib/number-float32-base-to-word': 0.2.3(supports-color@8.1.1) + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@stdlib/number-float32-base-to-float16@0.1.1(supports-color@8.1.1)': + dependencies: + '@stdlib/constants-float16-eps': 0.2.3 + '@stdlib/constants-float16-max': 0.2.3 + '@stdlib/constants-float16-smallest-normal': 0.2.3 + '@stdlib/constants-float32-eps': 0.2.3 + '@stdlib/constants-float32-exponent-mask': 0.2.3 + '@stdlib/constants-float32-num-significand-bits': 0.1.1 + '@stdlib/constants-float32-pinf': 0.2.3 + '@stdlib/constants-float32-sign-mask': 0.2.3 + '@stdlib/constants-float32-significand-mask': 0.2.4 + '@stdlib/math-base-assert-is-finitef': 0.2.3(supports-color@8.1.1) + '@stdlib/math-base-assert-is-nanf': 0.2.3(supports-color@8.1.1) + '@stdlib/math-base-special-absf': 0.2.3(supports-color@8.1.1) + '@stdlib/number-float16-ctor': 0.1.2(supports-color@8.1.1) + '@stdlib/number-float32-base-exponent': 0.2.4(supports-color@8.1.1) + '@stdlib/number-float64-base-to-float32': 0.2.3 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@stdlib/math-base-napi-unary@0.2.3': + '@stdlib/number-float32-base-to-word@0.2.3(supports-color@8.1.1)': dependencies: - '@stdlib/complex-float32-ctor': 0.0.2 - '@stdlib/complex-float32-reim': 0.1.2 - '@stdlib/complex-float64-ctor': 0.0.3 - '@stdlib/complex-float64-reim': 0.1.2 - '@stdlib/utils-library-manifest': 0.2.2 + '@stdlib/array-float32': 0.2.3 + '@stdlib/array-uint32': 0.2.3 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@stdlib/number-float64-base-to-float16@0.1.2(supports-color@8.1.1)': + dependencies: + '@stdlib/constants-float16-eps': 0.2.3 + '@stdlib/constants-float16-max': 0.2.3 + '@stdlib/constants-float16-smallest-normal': 0.2.3 + '@stdlib/constants-float64-eps': 0.2.3 + '@stdlib/constants-float64-pinf': 0.2.3 + '@stdlib/math-base-assert-is-finite': 0.2.3(supports-color@8.1.1) + '@stdlib/math-base-special-abs': 0.2.3(supports-color@8.1.1) + '@stdlib/number-float16-ctor': 0.1.2(supports-color@8.1.1) + '@stdlib/number-float32-base-to-float16': 0.1.1(supports-color@8.1.1) + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@stdlib/math-base-ops-umul@0.2.2': {} + '@stdlib/number-float64-base-to-float32@0.2.3': + dependencies: + '@stdlib/array-float32': 0.2.3 - '@stdlib/math-base-special-floor@0.2.3': + '@stdlib/number-float64-base-to-words@0.2.3(supports-color@8.1.1)': dependencies: - '@stdlib/math-base-napi-unary': 0.2.3 - '@stdlib/utils-library-manifest': 0.2.2 + '@stdlib/array-float64': 0.2.3 + '@stdlib/array-uint32': 0.2.3 + '@stdlib/assert-is-little-endian': 0.2.3 + '@stdlib/os-byte-order': 0.2.3 + '@stdlib/os-float-word-order': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@stdlib/math-base-special-max@0.2.1': + '@stdlib/number-uint32-base-mul@0.1.1(supports-color@8.1.1)': dependencies: - '@stdlib/constants-float64-pinf': 0.2.2 - '@stdlib/math-base-assert-is-nan': 0.2.2 - '@stdlib/math-base-assert-is-positive-zero': 0.2.2 + '@stdlib/math-base-napi-binary': 0.3.3(supports-color@8.1.1) + '@stdlib/utils-library-manifest': 0.2.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@stdlib/number-ctor@0.2.2': {} - - '@stdlib/number-float64-base-to-float32@0.2.2': - dependencies: - '@stdlib/array-float32': 0.2.2 - - '@stdlib/object-ctor@0.2.1': {} - - '@stdlib/process-cwd@0.2.2': {} - - '@stdlib/random-base-mt19937@0.2.1': - dependencies: - '@stdlib/array-to-json': 0.2.1 - '@stdlib/array-uint32': 0.2.2 - '@stdlib/assert-has-own-property': 0.2.2 - '@stdlib/assert-is-boolean': 0.2.2 - '@stdlib/assert-is-collection': 0.2.2 - '@stdlib/assert-is-plain-object': 0.2.2 - '@stdlib/assert-is-positive-integer': 0.2.2 - '@stdlib/assert-is-uint32array': 0.2.2 - '@stdlib/blas-base-gcopy': 0.2.1 - '@stdlib/constants-float64-max-safe-integer': 0.2.2 - '@stdlib/constants-uint32-max': 0.2.2 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/math-base-ops-umul': 0.2.2 - '@stdlib/math-base-special-floor': 0.2.3 - '@stdlib/math-base-special-max': 0.2.1 - '@stdlib/random-base-shared': 0.1.1 - '@stdlib/string-format': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-only-accessor': 0.2.3 - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 - '@stdlib/utils-define-nonenumerable-read-write-accessor': 0.2.2 + '@stdlib/object-ctor@0.2.2': {} + + '@stdlib/os-byte-order@0.2.3': + dependencies: + '@stdlib/assert-is-big-endian': 0.2.3 + '@stdlib/assert-is-little-endian': 0.2.3 + + '@stdlib/os-float-word-order@0.2.3': + dependencies: + '@stdlib/os-byte-order': 0.2.3 + + '@stdlib/process-cwd@0.2.3': {} + + '@stdlib/random-base-mt19937@0.2.3(supports-color@8.1.1)': + dependencies: + '@stdlib/array-to-json': 0.3.1(supports-color@8.1.1) + '@stdlib/array-uint32': 0.2.3 + '@stdlib/assert-has-own-property': 0.2.3 + '@stdlib/assert-is-boolean': 0.2.3 + '@stdlib/assert-is-collection': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-is-plain-object': 0.2.3 + '@stdlib/assert-is-positive-integer': 0.2.3(supports-color@8.1.1) + '@stdlib/assert-is-uint32array': 0.2.3 + '@stdlib/blas-base-gcopy': 0.2.3(supports-color@8.1.1) + '@stdlib/constants-float64-max-safe-integer': 0.2.3 + '@stdlib/constants-uint32-max': 0.2.3 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/math-base-special-floor': 0.2.4(supports-color@8.1.1) + '@stdlib/math-base-special-max': 0.3.1(supports-color@8.1.1) + '@stdlib/number-uint32-base-mul': 0.1.1(supports-color@8.1.1) + '@stdlib/random-base-shared': 0.1.2 + '@stdlib/string-format': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-only-accessor': 0.2.4 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 + '@stdlib/utils-define-nonenumerable-read-write-accessor': 0.2.3 transitivePeerDependencies: - supports-color - '@stdlib/random-base-shared@0.1.1': {} + '@stdlib/random-base-shared@0.1.2': {} + + '@stdlib/regexp-extended-length-path@0.2.3': + dependencies: + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 - '@stdlib/regexp-extended-length-path@0.2.2': + '@stdlib/regexp-function-name@0.2.3': dependencies: - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 + '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.3 - '@stdlib/regexp-function-name@0.2.2': + '@stdlib/strided-base-reinterpret-boolean@0.0.3': dependencies: - '@stdlib/utils-define-nonenumerable-read-only-property': 0.2.2 + '@stdlib/array-uint8': 0.2.3 - '@stdlib/strided-base-reinterpret-complex128@0.2.2': + '@stdlib/strided-base-reinterpret-complex128@0.2.3': dependencies: - '@stdlib/array-float64': 0.2.2 + '@stdlib/array-float64': 0.2.3 - '@stdlib/strided-base-reinterpret-complex64@0.2.1': + '@stdlib/strided-base-reinterpret-complex64@0.2.2': dependencies: - '@stdlib/array-float32': 0.2.2 + '@stdlib/array-float32': 0.2.3 + + '@stdlib/string-base-format-interpolate@0.2.4': {} - '@stdlib/string-base-format-interpolate@0.2.2': {} + '@stdlib/string-base-format-tokenize@0.2.4': {} + + '@stdlib/string-base-lowercase@0.4.1': {} + + '@stdlib/string-base-replace@0.2.3': {} + + '@stdlib/string-format@0.2.3': + dependencies: + '@stdlib/string-base-format-interpolate': 0.2.4 + '@stdlib/string-base-format-tokenize': 0.2.4 - '@stdlib/string-base-format-tokenize@0.2.2': {} + '@stdlib/string-replace@0.2.3': + dependencies: + '@stdlib/assert-is-function': 0.2.3 + '@stdlib/assert-is-regexp': 0.2.3 + '@stdlib/assert-is-string': 0.2.3 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/string-base-replace': 0.2.3 + '@stdlib/string-format': 0.2.3 + '@stdlib/utils-escape-regexp-string': 0.2.3 - '@stdlib/string-base-lowercase@0.4.0': {} + '@stdlib/symbol-ctor@0.2.3': {} - '@stdlib/string-base-replace@0.2.2': {} + '@stdlib/symbol-has-instance@0.1.1': + dependencies: + '@stdlib/assert-has-has-instance-symbol-support': 0.1.1 - '@stdlib/string-format@0.2.2': + '@stdlib/symbol-iterator@0.2.3': dependencies: - '@stdlib/string-base-format-interpolate': 0.2.2 - '@stdlib/string-base-format-tokenize': 0.2.2 + '@stdlib/assert-has-iterator-symbol-support': 0.2.3 - '@stdlib/string-replace@0.2.2': + '@stdlib/symbol-to-primitive@0.1.2': dependencies: - '@stdlib/assert-is-function': 0.2.2 - '@stdlib/assert-is-regexp': 0.2.2 - '@stdlib/assert-is-string': 0.2.2 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/string-base-replace': 0.2.2 - '@stdlib/string-format': 0.2.2 - '@stdlib/utils-escape-regexp-string': 0.2.2 + '@stdlib/assert-has-to-primitive-symbol-support': 0.1.1 + '@stdlib/symbol-ctor': 0.2.3 - '@stdlib/symbol-ctor@0.2.2': {} + '@stdlib/types@0.4.3': {} - '@stdlib/symbol-iterator@0.2.2': + '@stdlib/utils-constructor-name@0.2.3': dependencies: - '@stdlib/assert-has-iterator-symbol-support': 0.2.2 + '@stdlib/assert-is-buffer': 0.2.3 + '@stdlib/regexp-function-name': 0.2.3 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/utils-constructor-name@0.2.2': + '@stdlib/utils-convert-path@0.2.3': dependencies: - '@stdlib/assert-is-buffer': 0.2.2 - '@stdlib/regexp-function-name': 0.2.2 - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/assert-is-string': 0.2.3 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/regexp-extended-length-path': 0.2.3 + '@stdlib/string-base-lowercase': 0.4.1 + '@stdlib/string-format': 0.2.3 + '@stdlib/string-replace': 0.2.3 - '@stdlib/utils-convert-path@0.2.2': + '@stdlib/utils-define-nonenumerable-read-only-accessor@0.2.4': dependencies: - '@stdlib/assert-is-string': 0.2.2 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/regexp-extended-length-path': 0.2.2 - '@stdlib/string-base-lowercase': 0.4.0 - '@stdlib/string-format': 0.2.2 - '@stdlib/string-replace': 0.2.2 + '@stdlib/types': 0.4.3 + '@stdlib/utils-define-property': 0.2.5 - '@stdlib/utils-define-nonenumerable-read-only-accessor@0.2.3': + '@stdlib/utils-define-nonenumerable-read-only-property@0.2.3': dependencies: - '@stdlib/utils-define-property': 0.2.4 + '@stdlib/types': 0.4.3 + '@stdlib/utils-define-property': 0.2.5 - '@stdlib/utils-define-nonenumerable-read-only-property@0.2.2': + '@stdlib/utils-define-nonenumerable-read-write-accessor@0.2.3': dependencies: - '@stdlib/utils-define-property': 0.2.4 + '@stdlib/utils-define-property': 0.2.5 - '@stdlib/utils-define-nonenumerable-read-write-accessor@0.2.2': + '@stdlib/utils-define-property@0.2.5': dependencies: - '@stdlib/utils-define-property': 0.2.4 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/string-format': 0.2.3 - '@stdlib/utils-define-property@0.2.4': + '@stdlib/utils-define-read-only-property@0.2.3': dependencies: - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/string-format': 0.2.2 + '@stdlib/utils-define-property': 0.2.5 - '@stdlib/utils-escape-regexp-string@0.2.2': + '@stdlib/utils-escape-regexp-string@0.2.3': dependencies: - '@stdlib/assert-is-string': 0.2.2 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/string-format': 0.2.2 + '@stdlib/assert-is-string': 0.2.3 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/string-format': 0.2.3 - '@stdlib/utils-function-name@0.2.2': + '@stdlib/utils-function-name@0.2.3': dependencies: - '@stdlib/assert-has-function-name-support': 0.2.2 - '@stdlib/assert-is-function': 0.2.2 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/regexp-function-name': 0.2.2 - '@stdlib/string-format': 0.2.2 + '@stdlib/assert-has-function-name-support': 0.2.3 + '@stdlib/assert-is-function': 0.2.3 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/regexp-function-name': 0.2.3 + '@stdlib/string-format': 0.2.3 - '@stdlib/utils-get-prototype-of@0.2.2': + '@stdlib/utils-get-prototype-of@0.2.3': dependencies: - '@stdlib/assert-is-function': 0.2.2 - '@stdlib/object-ctor': 0.2.1 - '@stdlib/utils-native-class': 0.2.2 + '@stdlib/assert-is-function': 0.2.3 + '@stdlib/object-ctor': 0.2.2 + '@stdlib/utils-native-class': 0.2.3 - '@stdlib/utils-global@0.2.2': + '@stdlib/utils-global@0.2.3': dependencies: - '@stdlib/assert-is-boolean': 0.2.2 - '@stdlib/error-tools-fmtprodmsg': 0.2.2 - '@stdlib/string-format': 0.2.2 + '@stdlib/assert-is-boolean': 0.2.3 + '@stdlib/error-tools-fmtprodmsg': 0.2.3 + '@stdlib/string-format': 0.2.3 - '@stdlib/utils-library-manifest@0.2.2': + '@stdlib/utils-library-manifest@0.2.4(supports-color@8.1.1)': dependencies: - '@stdlib/fs-resolve-parent-path': 0.2.2 - '@stdlib/utils-convert-path': 0.2.2 - debug: 2.6.9 - resolve: 1.22.8 + '@stdlib/fs-resolve-parent-path': 0.2.3 + '@stdlib/utils-convert-path': 0.2.3 + debug: 2.6.9(supports-color@8.1.1) + resolve: 1.22.12 transitivePeerDependencies: - supports-color - '@stdlib/utils-native-class@0.2.2': + '@stdlib/utils-native-class@0.2.3': dependencies: - '@stdlib/assert-has-own-property': 0.2.2 - '@stdlib/assert-has-tostringtag-support': 0.2.2 - '@stdlib/symbol-ctor': 0.2.2 + '@stdlib/assert-has-own-property': 0.2.3 + '@stdlib/assert-has-tostringtag-support': 0.2.3 + '@stdlib/symbol-ctor': 0.2.3 - '@stdlib/utils-type-of@0.2.2': + '@stdlib/utils-type-of@0.2.3': dependencies: - '@stdlib/utils-constructor-name': 0.2.2 - '@stdlib/utils-global': 0.2.2 - - '@types/estree@1.0.6': {} + '@stdlib/utils-constructor-name': 0.2.3 + '@stdlib/utils-global': 0.2.3 '@types/estree@1.0.8': {} '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 18.19.66 + '@types/node': 20.19.17 '@types/hast@3.0.4': dependencies: @@ -4895,7 +5336,7 @@ snapshots: dependencies: '@types/node': 20.19.17 - '@types/node@18.19.66': + '@types/node@18.19.130': dependencies: undici-types: 5.26.5 @@ -4905,29 +5346,29 @@ snapshots: '@types/pixelmatch@5.2.6': dependencies: - '@types/node': 18.19.66 + '@types/node': 20.19.17 '@types/pngjs@6.0.5': dependencies: - '@types/node': 18.19.66 + '@types/node': 20.19.17 '@types/unist@3.0.3': {} '@types/yargs-parser@21.0.3': {} - '@types/yargs@17.0.33': + '@types/yargs@17.0.35': dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.44.0(@typescript-eslint/parser@8.44.0(eslint@9.36.0)(typescript@5.9.2))(eslint@9.36.0)(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.44.0(@typescript-eslint/parser@8.44.0(eslint@9.36.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@5.9.2))(eslint@9.36.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.44.0(eslint@9.36.0)(typescript@5.9.2) + '@typescript-eslint/parser': 8.44.0(eslint@9.36.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.44.0 - '@typescript-eslint/type-utils': 8.44.0(eslint@9.36.0)(typescript@5.9.2) - '@typescript-eslint/utils': 8.44.0(eslint@9.36.0)(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.44.0(eslint@9.36.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@5.9.2) + '@typescript-eslint/utils': 8.44.0(eslint@9.36.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.44.0 - eslint: 9.36.0 + eslint: 9.36.0(supports-color@8.1.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -4936,23 +5377,23 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.44.0(eslint@9.36.0)(typescript@5.9.2)': + '@typescript-eslint/parser@8.44.0(eslint@9.36.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 8.44.0 '@typescript-eslint/types': 8.44.0 - '@typescript-eslint/typescript-estree': 8.44.0(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.44.0(supports-color@8.1.1)(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.44.0 - debug: 4.4.3 - eslint: 9.36.0 + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.36.0(supports-color@8.1.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.44.0(typescript@5.9.2)': + '@typescript-eslint/project-service@8.44.0(supports-color@8.1.1)(typescript@5.9.2)': dependencies: '@typescript-eslint/tsconfig-utils': 8.44.0(typescript@5.9.2) '@typescript-eslint/types': 8.44.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -4966,13 +5407,13 @@ snapshots: dependencies: typescript: 5.9.2 - '@typescript-eslint/type-utils@8.44.0(eslint@9.36.0)(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.44.0(eslint@9.36.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@5.9.2)': dependencies: '@typescript-eslint/types': 8.44.0 - '@typescript-eslint/typescript-estree': 8.44.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.44.0(eslint@9.36.0)(typescript@5.9.2) - debug: 4.4.3 - eslint: 9.36.0 + '@typescript-eslint/typescript-estree': 8.44.0(supports-color@8.1.1)(typescript@5.9.2) + '@typescript-eslint/utils': 8.44.0(eslint@9.36.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@5.9.2) + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.36.0(supports-color@8.1.1) ts-api-utils: 2.1.0(typescript@5.9.2) typescript: 5.9.2 transitivePeerDependencies: @@ -4980,13 +5421,13 @@ snapshots: '@typescript-eslint/types@8.44.0': {} - '@typescript-eslint/typescript-estree@8.44.0(typescript@5.9.2)': + '@typescript-eslint/typescript-estree@8.44.0(supports-color@8.1.1)(typescript@5.9.2)': dependencies: - '@typescript-eslint/project-service': 8.44.0(typescript@5.9.2) + '@typescript-eslint/project-service': 8.44.0(supports-color@8.1.1)(typescript@5.9.2) '@typescript-eslint/tsconfig-utils': 8.44.0(typescript@5.9.2) '@typescript-eslint/types': 8.44.0 '@typescript-eslint/visitor-keys': 8.44.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -4996,13 +5437,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.44.0(eslint@9.36.0)(typescript@5.9.2)': + '@typescript-eslint/utils@8.44.0(eslint@9.36.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(supports-color@8.1.1)) '@typescript-eslint/scope-manager': 8.44.0 '@typescript-eslint/types': 8.44.0 - '@typescript-eslint/typescript-estree': 8.44.0(typescript@5.9.2) - eslint: 9.36.0 + '@typescript-eslint/typescript-estree': 8.44.0(supports-color@8.1.1)(typescript@5.9.2) + eslint: 9.36.0(supports-color@8.1.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -5012,36 +5453,36 @@ snapshots: '@typescript-eslint/types': 8.44.0 eslint-visitor-keys: 4.2.1 - '@vitejs/plugin-legacy@5.4.3(terser@5.36.0)(vite@5.4.11(@types/node@20.19.17)(terser@5.36.0))': + '@vitejs/plugin-legacy@5.4.3(supports-color@8.1.1)(terser@5.36.0)(vite@5.4.20(@types/node@20.19.17)(terser@5.36.0))': dependencies: - '@babel/core': 7.26.0 - '@babel/preset-env': 7.26.0(@babel/core@7.26.0) - browserslist: 4.24.2 - browserslist-to-esbuild: 2.1.1(browserslist@4.24.2) - core-js: 3.39.0 - magic-string: 0.30.14 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/preset-env': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + browserslist: 4.28.7 + browserslist-to-esbuild: 2.1.1(browserslist@4.28.7) + core-js: 3.50.0 + magic-string: 0.30.19 regenerator-runtime: 0.14.1 systemjs: 6.15.1 terser: 5.36.0 - vite: 5.4.11(@types/node@20.19.17)(terser@5.36.0) + vite: 5.4.20(@types/node@20.19.17)(terser@5.36.0) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@2.1.9(vitest@2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(terser@5.36.0))': + '@vitest/coverage-v8@2.1.9(supports-color@8.1.1)(vitest@2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(supports-color@8.1.1)(terser@5.36.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 + istanbul-lib-source-maps: 5.0.6(supports-color@8.1.1) istanbul-reports: 3.2.0 magic-string: 0.30.19 magicast: 0.3.5 std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(terser@5.36.0) + vitest: 2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(supports-color@8.1.1)(terser@5.36.0) transitivePeerDependencies: - supports-color @@ -5116,32 +5557,34 @@ snapshots: assertion-error@2.0.1: {} - babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): + babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1): dependencies: - '@babel/compat-data': 7.26.2 - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + '@babel/compat-data': 7.29.7 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): + babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1): dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - core-js-compat: 3.39.0 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + core-js-compat: 3.50.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.0): + babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1): dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) transitivePeerDependencies: - supports-color balanced-match@1.0.2: {} + baseline-browser-mapping@2.11.12: {} + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -5155,17 +5598,18 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist-to-esbuild@2.1.1(browserslist@4.24.2): + browserslist-to-esbuild@2.1.1(browserslist@4.28.7): dependencies: - browserslist: 4.24.2 + browserslist: 4.28.7 meow: 13.2.0 - browserslist@4.24.2: + browserslist@4.28.7: dependencies: - caniuse-lite: 1.0.30001684 - electron-to-chromium: 1.5.65 - node-releases: 2.0.18 - update-browserslist-db: 1.1.1(browserslist@4.24.2) + baseline-browser-mapping: 2.11.12 + caniuse-lite: 1.0.30001806 + electron-to-chromium: 1.5.402 + node-releases: 2.0.53 + update-browserslist-db: 1.2.3(browserslist@4.28.7) buffer-from@1.1.2: {} @@ -5173,7 +5617,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001684: {} + caniuse-lite@1.0.30001806: {} chai@5.3.3: dependencies: @@ -5237,11 +5681,11 @@ snapshots: convert-source-map@2.0.0: {} - core-js-compat@3.39.0: + core-js-compat@3.50.0: dependencies: - browserslist: 4.24.2 + browserslist: 4.28.7 - core-js@3.39.0: {} + core-js@3.50.0: {} cross-spawn@7.0.6: dependencies: @@ -5253,21 +5697,23 @@ snapshots: dependencies: '@babel/runtime': 7.28.4 - debug@2.6.9: + debug@2.6.9(supports-color@8.1.1): dependencies: ms: 2.0.0 + optionalDependencies: + supports-color: 8.1.1 - debug@4.3.4: + debug@4.3.4(supports-color@8.1.1): dependencies: ms: 2.1.2 + optionalDependencies: + supports-color: 8.1.1 - debug@4.3.7: - dependencies: - ms: 2.1.3 - - debug@4.4.3: + debug@4.4.3(supports-color@8.1.1): dependencies: ms: 2.1.3 + optionalDependencies: + supports-color: 8.1.1 deep-eql@5.0.2: {} @@ -5275,7 +5721,7 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.65: {} + electron-to-chromium@1.5.402: {} emoji-regex@8.0.0: {} @@ -5283,6 +5729,8 @@ snapshots: entities@4.5.0: {} + es-errors@1.3.0: {} + es-module-lexer@1.7.0: {} esbuild@0.21.5: @@ -5315,9 +5763,9 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-prettier@8.10.2(eslint@9.36.0): + eslint-config-prettier@8.10.2(eslint@9.36.0(supports-color@8.1.1)): dependencies: - eslint: 9.36.0 + eslint: 9.36.0(supports-color@8.1.1) eslint-scope@8.4.0: dependencies: @@ -5328,14 +5776,14 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.36.0: + eslint@9.36.0(supports-color@8.1.1): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(supports-color@8.1.1)) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.21.0 + '@eslint/config-array': 0.21.0(supports-color@8.1.1) '@eslint/config-helpers': 0.3.1 '@eslint/core': 0.15.2 - '@eslint/eslintrc': 3.3.1 + '@eslint/eslintrc': 3.3.1(supports-color@8.1.1) '@eslint/js': 9.36.0 '@eslint/plugin-kit': 0.3.5 '@humanfs/node': 0.16.7 @@ -5346,7 +5794,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -5461,10 +5909,10 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - fs-extra@11.2.0: + fs-extra@11.4.0: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.1 universalify: 2.0.1 fsevents@2.3.2: @@ -5500,8 +5948,6 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - globals@11.12.0: {} - globals@14.0.0: {} graceful-fs@4.2.11: {} @@ -5515,7 +5961,7 @@ snapshots: has-flag@4.0.0: {} - hasown@2.0.2: + hasown@2.0.4: dependencies: function-bind: 1.1.2 @@ -5538,9 +5984,9 @@ snapshots: imurmurhash@0.1.4: {} - is-core-module@2.15.1: + is-core-module@2.16.2: dependencies: - hasown: 2.0.2 + hasown: 2.0.4 is-extglob@2.1.1: {} @@ -5566,10 +6012,10 @@ snapshots: make-dir: 4.0.0 supports-color: 7.2.0 - istanbul-lib-source-maps@5.0.6: + istanbul-lib-source-maps@5.0.6(supports-color@8.1.1): dependencies: '@jridgewell/trace-mapping': 0.3.31 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color @@ -5591,7 +6037,7 @@ snapshots: dependencies: argparse: 2.0.1 - jsesc@3.0.2: {} + jsesc@3.1.0: {} json-buffer@3.0.1: {} @@ -5601,7 +6047,7 @@ snapshots: json5@2.2.3: {} - jsonfile@6.1.0: + jsonfile@6.2.1: dependencies: universalify: 2.0.1 optionalDependencies: @@ -5622,11 +6068,11 @@ snapshots: dependencies: uc.micro: 2.1.0 - lint-staged@13.3.0: + lint-staged@13.3.0(supports-color@8.1.1): dependencies: chalk: 5.3.0 commander: 11.0.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) execa: 7.2.0 lilconfig: 2.1.0 listr2: 6.6.1 @@ -5675,10 +6121,6 @@ snapshots: lunr@2.3.9: {} - magic-string@0.30.14: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - magic-string@0.30.19: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -5742,11 +6184,9 @@ snapshots: nanoid@3.3.11: {} - nanoid@3.3.8: {} - natural-compare@1.4.0: {} - node-releases@2.0.18: {} + node-releases@2.0.53: {} npm-run-path@5.3.0: dependencies: @@ -5810,22 +6250,16 @@ snapshots: dependencies: pngjs: 7.0.0 - playwright-core@1.56.1: {} + playwright-core@1.62.1: {} - playwright@1.56.1: + playwright@1.62.1: dependencies: - playwright-core: 1.56.1 + playwright-core: 1.62.1 optionalDependencies: fsevents: 2.3.2 pngjs@7.0.0: {} - postcss@8.4.49: - dependencies: - nanoid: 3.3.8 - picocolors: 1.1.1 - source-map-js: 1.2.1 - postcss@8.5.6: dependencies: nanoid: 3.3.11 @@ -5842,7 +6276,7 @@ snapshots: queue-microtask@1.2.3: {} - regenerate-unicode-properties@10.2.0: + regenerate-unicode-properties@10.2.2: dependencies: regenerate: 1.4.2 @@ -5850,32 +6284,29 @@ snapshots: regenerator-runtime@0.14.1: {} - regenerator-transform@0.15.2: - dependencies: - '@babel/runtime': 7.28.4 - - regexpu-core@6.2.0: + regexpu-core@6.4.0: dependencies: regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.0 + regenerate-unicode-properties: 10.2.2 regjsgen: 0.8.0 - regjsparser: 0.12.0 + regjsparser: 0.13.2 unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.0 + unicode-match-property-value-ecmascript: 2.2.1 regjsgen@0.8.0: {} - regjsparser@0.12.0: + regjsparser@0.13.2: dependencies: - jsesc: 3.0.2 + jsesc: 3.1.0 require-directory@2.1.1: {} resolve-from@4.0.0: {} - resolve@1.22.8: + resolve@1.22.12: dependencies: - is-core-module: 2.15.1 + es-errors: 1.3.0 + is-core-module: 2.16.2 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -5888,30 +6319,6 @@ snapshots: rfdc@1.4.1: {} - rollup@4.27.4: - dependencies: - '@types/estree': 1.0.6 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.27.4 - '@rollup/rollup-android-arm64': 4.27.4 - '@rollup/rollup-darwin-arm64': 4.27.4 - '@rollup/rollup-darwin-x64': 4.27.4 - '@rollup/rollup-freebsd-arm64': 4.27.4 - '@rollup/rollup-freebsd-x64': 4.27.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.27.4 - '@rollup/rollup-linux-arm-musleabihf': 4.27.4 - '@rollup/rollup-linux-arm64-gnu': 4.27.4 - '@rollup/rollup-linux-arm64-musl': 4.27.4 - '@rollup/rollup-linux-powerpc64le-gnu': 4.27.4 - '@rollup/rollup-linux-riscv64-gnu': 4.27.4 - '@rollup/rollup-linux-s390x-gnu': 4.27.4 - '@rollup/rollup-linux-x64-gnu': 4.27.4 - '@rollup/rollup-linux-x64-musl': 4.27.4 - '@rollup/rollup-win32-arm64-msvc': 4.27.4 - '@rollup/rollup-win32-ia32-msvc': 4.27.4 - '@rollup/rollup-win32-x64-msvc': 4.27.4 - fsevents: 2.3.3 - rollup@4.52.0: dependencies: '@types/estree': 1.0.8 @@ -6091,17 +6498,17 @@ snapshots: unicode-match-property-ecmascript@2.0.0: dependencies: unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.1.0 + unicode-property-aliases-ecmascript: 2.2.0 - unicode-match-property-value-ecmascript@2.2.0: {} + unicode-match-property-value-ecmascript@2.2.1: {} - unicode-property-aliases-ecmascript@2.1.0: {} + unicode-property-aliases-ecmascript@2.2.0: {} universalify@2.0.1: {} - update-browserslist-db@1.1.1(browserslist@4.24.2): + update-browserslist-db@1.2.3(browserslist@4.28.7): dependencies: - browserslist: 4.24.2 + browserslist: 4.28.7 escalade: 3.2.0 picocolors: 1.1.1 @@ -6109,10 +6516,10 @@ snapshots: dependencies: punycode: 2.3.1 - vite-node@2.1.9(@types/node@20.19.17)(terser@5.36.0): + vite-node@2.1.9(@types/node@20.19.17)(supports-color@8.1.1)(terser@5.36.0): dependencies: cac: 6.7.14 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 1.1.2 vite: 5.4.20(@types/node@20.19.17)(terser@5.36.0) @@ -6127,16 +6534,6 @@ snapshots: - supports-color - terser - vite@5.4.11(@types/node@20.19.17)(terser@5.36.0): - dependencies: - esbuild: 0.21.5 - postcss: 8.4.49 - rollup: 4.27.4 - optionalDependencies: - '@types/node': 20.19.17 - fsevents: 2.3.3 - terser: 5.36.0 - vite@5.4.20(@types/node@20.19.17)(terser@5.36.0): dependencies: esbuild: 0.21.5 @@ -6147,13 +6544,13 @@ snapshots: fsevents: 2.3.3 terser: 5.36.0 - vitest-mock-extended@2.0.2(typescript@5.9.2)(vitest@2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(terser@5.36.0)): + vitest-mock-extended@2.0.2(typescript@5.9.2)(vitest@2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(supports-color@8.1.1)(terser@5.36.0)): dependencies: ts-essentials: 10.1.1(typescript@5.9.2) typescript: 5.9.2 - vitest: 2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(terser@5.36.0) + vitest: 2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(supports-color@8.1.1)(terser@5.36.0) - vitest@2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(terser@5.36.0): + vitest@2.1.9(@types/node@20.19.17)(happy-dom@17.6.3)(supports-color@8.1.1)(terser@5.36.0): dependencies: '@vitest/expect': 2.1.9 '@vitest/mocker': 2.1.9(vite@5.4.20(@types/node@20.19.17)(terser@5.36.0)) @@ -6163,7 +6560,7 @@ snapshots: '@vitest/spy': 2.1.9 '@vitest/utils': 2.1.9 chai: 5.3.3 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) expect-type: 1.2.2 magic-string: 0.30.19 pathe: 1.1.2 @@ -6173,7 +6570,7 @@ snapshots: tinypool: 1.1.1 tinyrainbow: 1.2.0 vite: 5.4.20(@types/node@20.19.17)(terser@5.36.0) - vite-node: 2.1.9(@types/node@20.19.17)(terser@5.36.0) + vite-node: 2.1.9(@types/node@20.19.17)(supports-color@8.1.1)(terser@5.36.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 20.19.17 @@ -6189,11 +6586,11 @@ snapshots: - supports-color - terser - wait-port@1.1.0: + wait-port@1.1.0(supports-color@8.1.1): dependencies: chalk: 4.1.2 commander: 9.5.0 - debug: 4.3.7 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 7f60f127c..bb569a8fc 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -16,3 +16,6 @@ packages: - "examples" - "visual-regression" +allowBuilds: + core-js: true + esbuild: true diff --git a/src/core/CoreNode.ts b/src/core/CoreNode.ts index b811b7f3e..1e6e9eefe 100644 --- a/src/core/CoreNode.ts +++ b/src/core/CoreNode.ts @@ -58,8 +58,6 @@ import { } from './lib/utils.js'; import { Matrix3d } from './lib/Matrix3d.js'; import { RenderCoords } from './lib/RenderCoords.js'; -import type { AnimationSettings } from './animations/CoreAnimation.js'; -import type { IAnimationController } from '../common/IAnimationController.js'; import type { CoreShaderNode } from './renderers/CoreShaderNode.js'; import { AutosizeMode, Autosizer } from './Autosizer.js'; import { bucketSortByZIndex, removeChild } from './lib/collectionUtils.js'; @@ -2986,13 +2984,6 @@ export class CoreNode extends EventEmitter { this.parent?.setRTTUpdates(type); } - animate( - props: Partial, - settings: Partial, - ): IAnimationController { - return this.stage.animationManager.createAnimation(this, props, settings); - } - flush() { // no-op } diff --git a/src/core/Stage.ts b/src/core/Stage.ts index 358b02f33..61d00f6a9 100644 --- a/src/core/Stage.ts +++ b/src/core/Stage.ts @@ -482,18 +482,6 @@ export class Stage { }); } - /** - * Update animations - */ - updateAnimations() { - const { animationManager } = this; - if (!this.root) { - return; - } - // step animation - animationManager.update(this.deltaTime); - } - /** * Check if the scene has updates */ diff --git a/src/core/animations/AnimationManager.test.ts b/src/core/animations/AnimationManager.test.ts index 527231408..f980d9e7f 100644 --- a/src/core/animations/AnimationManager.test.ts +++ b/src/core/animations/AnimationManager.test.ts @@ -19,7 +19,6 @@ import { describe, expect, it, vi } from 'vitest'; import { AnimationManager } from './AnimationManager.js'; -import type { CoreNode } from '../CoreNode.js'; import type { IAnimationController } from '../../common/IAnimationController.js'; import type { Stage } from '../Stage.js'; @@ -34,7 +33,7 @@ function createMockStage(): Stage { * Create a minimal mock node that satisfies CoreAnimation's needs. * CoreAnimation accesses node[key] for start values, node.shader, and node.destroyed. */ -function createMockNode(overrides: Record = {}): CoreNode { +function createMockNode(overrides: Record = {}) { return { x: 0, y: 0, @@ -47,7 +46,7 @@ function createMockNode(overrides: Record = {}): CoreNode { destroyed: false, shader: null, ...overrides, - } as unknown as CoreNode; + } as unknown as Record; } describe('AnimationManager', () => { diff --git a/src/core/animations/AnimationManager.ts b/src/core/animations/AnimationManager.ts index cf9a363b9..dc2f41932 100644 --- a/src/core/animations/AnimationManager.ts +++ b/src/core/animations/AnimationManager.ts @@ -16,11 +16,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -import type { CoreNode, CoreNodeAnimateProps } from '../CoreNode.js'; import { CoreAnimation, type AnimationSettings } from './CoreAnimation.js'; import { CoreAnimationController } from './CoreAnimationController.js'; import type { IAnimationController } from '../../common/IAnimationController.js'; +import type { INode, ITextNode } from '../../main-api/INode.js'; +import type { CoreShaderNode } from '../renderers/CoreShaderNode.js'; import type { Stage } from '../Stage.js'; export class AnimationManager { @@ -86,8 +86,8 @@ export class AnimationManager { * state (stopped via finish, manual stop, or node destruction). */ createAnimation( - node: CoreNode, - props: Partial, + target: Record | INode | ITextNode | CoreShaderNode, + props: Record, settings: Partial, ): IAnimationController { // Get or create animation @@ -97,7 +97,19 @@ export class AnimationManager { } else { animation = new CoreAnimation(); } - animation.init(node, props, settings); + animation.init( + target as unknown as Record, + props, + settings, + ); + + if (animation.animatable === false) { + // Return the animation to the pool since it won't be used. + this.animationPool.push(animation); + throw new Error( + `AnimationManager.createAnimation() called with no animatable properties for target id=${target}`, + ); + } // Get or create controller let controller: CoreAnimationController; diff --git a/src/core/animations/CoreAnimation.ts b/src/core/animations/CoreAnimation.ts index 93c7e1638..2d58577d9 100644 --- a/src/core/animations/CoreAnimation.ts +++ b/src/core/animations/CoreAnimation.ts @@ -16,8 +16,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -import { type CoreNode, type CoreNodeAnimateProps } from '../CoreNode.js'; import { getTimingFunction, type TimingFunction } from '../utils.js'; import { mergeColorProgress } from '../../utils.js'; import { EventEmitter } from '../../common/EventEmitter.js'; @@ -39,11 +37,6 @@ type PropGroup = { length: number; }; -type PropValuesMap = { - props: PropGroup | null; - shaderProps: PropGroup | null; -}; - let animationIdCounter = 0; export class CoreAnimation extends EventEmitter { @@ -61,7 +54,7 @@ export class CoreAnimation extends EventEmitter { private delayFor = 0; private delay = 0; private timingFunction!: TimingFunction; - private node!: CoreNode; + private target!: Record; // Index into AnimationManager.activeAnimations -- kept in sync on every // register/swap-remove so unregisterAnimation() is O(1) with no indexOf scan. public activeIndex = -1; @@ -75,13 +68,6 @@ export class CoreAnimation extends EventEmitter { isColor: [], length: 0, }; - private shaderPropsGroup: PropGroup = { - keys: [], - starts: [], - targets: [], - isColor: [], - length: 0, - }; // Fixed set of event names this animation emits -- used for zero-alloc clearListeners() static readonly EVENTS = [ @@ -91,7 +77,7 @@ export class CoreAnimation extends EventEmitter { 'destroyed', ] as const; - propValuesMap: PropValuesMap = { props: null, shaderProps: null }; + animatable: boolean = false; constructor() { super(); @@ -102,16 +88,16 @@ export class CoreAnimation extends EventEmitter { * Called both on first use and when recycled from the pool. */ init( - node: CoreNode, - props: Partial, + target: Record, + props: Record, settings: Partial, ): void { this.id = ++animationIdCounter; - this.node = node; + this.target = target; this.progress = 0; this.activeIndex = -1; - this.propValuesMap.props = null; - this.propValuesMap.shaderProps = null; + this.animatable = false; + this.target = target; // Clear any stale listeners from the previous use. With the arr.length > 0 // guard in clearListeners(), this is a near-zero cost read of 4 array lengths // when unregisterAnimation() has already emptied them (the common case). @@ -119,37 +105,26 @@ export class CoreAnimation extends EventEmitter { // Reset persistent group lengths (reuse existing arrays, no new allocations) this.propsGroup.length = 0; - this.shaderPropsGroup.length = 0; for (const key in props) { - if (key !== 'shaderProps') { - if (this.propValuesMap['props'] === null) { - this.propValuesMap['props'] = this.propsGroup; - } - const group = this.propsGroup; - const i = group.length++; - group.keys[i] = key; - group.starts[i] = - node[key as keyof Omit] || 0; - group.targets[i] = props[ - key as keyof Omit - ] as number; - group.isColor[i] = key.indexOf('color') !== -1; - } else if (key === 'shaderProps' && node.shader !== null) { - this.propValuesMap['shaderProps'] = this.shaderPropsGroup; - const group = this.shaderPropsGroup; - for (const key in props.shaderProps) { - let start = node.shader.props![key]; - if (Array.isArray(start) === true) { - start = start[0]; - } - const i = group.length++; - group.keys[i] = key; - group.starts[i] = start; - group.targets[i] = props.shaderProps[key] as number; - group.isColor[i] = key.indexOf('color') !== -1; - } + const group = this.propsGroup; + const i = group.length++; + + let start = target[key] || 0; + if (Array.isArray(start) === true) { + start = start[0]; } + group.keys[i] = key; + group.starts[i] = start; + group.targets[i] = props[key] || 0; + group.isColor[i] = key.indexOf('color') !== -1; + } + + this.animatable = this.propsGroup.keys.length > 0; + + //early exit if there are no animatable properties + if (this.animatable === false) { + return; } const easing = settings.easing || 'linear'; @@ -176,19 +151,8 @@ export class CoreAnimation extends EventEmitter { // Write start values directly rather than calling update(0), which would // run the full update pipeline (dirty marking, event emissions) for no gain. // Identical visible behaviour -- node properties snap to start values. - const propsGroup = this.propValuesMap.props; - const shaderGroup = this.propValuesMap.shaderProps; - if (propsGroup !== null) { - this.restoreValues( - this.node as unknown as Record, - propsGroup, - ); - } - if (shaderGroup !== null) { - this.restoreValues( - this.node.shader!.props as Record, - shaderGroup, - ); + if (this.animatable === true) { + this.restoreValues(this.target, this.propsGroup); } } @@ -220,11 +184,8 @@ export class CoreAnimation extends EventEmitter { reverse() { this.progress = 0; - if (this.propValuesMap['props'] !== null) { - this.reverseValues(this.propValuesMap['props']); - } - if (this.propValuesMap['shaderProps'] !== null) { - this.reverseValues(this.propValuesMap['shaderProps']); + if (this.animatable === true) { + this.reverseValues(this.propsGroup); } // restore stop method if we are not looping @@ -295,7 +256,7 @@ export class CoreAnimation extends EventEmitter { const { duration, loop, stopMethod } = this; const { delayFor } = this; - if (this.node.destroyed) { + if (this.target.destroyed) { this.emit('destroyed'); return; } @@ -348,23 +309,7 @@ export class CoreAnimation extends EventEmitter { this.progress = progress; // Extract to locals to avoid repeated property lookups in the hot path - const propsGroup = this.propValuesMap.props; - const shaderGroup = this.propValuesMap.shaderProps; - - if (propsGroup !== null) { - this.updateValues( - this.node as unknown as Record, - propsGroup, - progress, - ); - } - if (shaderGroup !== null) { - this.updateValues( - this.node.shader!.props as Record, - shaderGroup, - progress, - ); - } + this.updateValues(this.target, this.propsGroup, progress); if (progress < 1) { this.emit('tick'); diff --git a/src/core/platforms/web/WebPlatform.ts b/src/core/platforms/web/WebPlatform.ts index 4b92bc379..56f0ebe0d 100644 --- a/src/core/platforms/web/WebPlatform.ts +++ b/src/core/platforms/web/WebPlatform.ts @@ -128,7 +128,6 @@ export class WebPlatform extends Platform { } stage.updateFrameTime(); - stage.updateAnimations(); if (!stage.hasSceneUpdates()) { // We still need to calculate the fps else it looks like the app is frozen diff --git a/src/core/renderers/CoreRenderer.ts b/src/core/renderers/CoreRenderer.ts index bd109eb7c..7ce6db455 100644 --- a/src/core/renderers/CoreRenderer.ts +++ b/src/core/renderers/CoreRenderer.ts @@ -87,7 +87,7 @@ export abstract class CoreRenderer { * Insert a begin-rounded-clip sentinel into the render op list before a * node's children are added. No-op on non-WebGL renderers. */ - + beginRoundedClip(_node: CoreNode): void { // no-op default — overridden by WebGlRenderer } @@ -96,7 +96,7 @@ export abstract class CoreRenderer { * Insert an end-rounded-clip sentinel after a node's children have been * added. No-op on non-WebGL renderers. */ - + endRoundedClip(_node: CoreNode): void { // no-op default — overridden by WebGlRenderer } diff --git a/src/main-api/Inspector.ts b/src/main-api/Inspector.ts index 89422329b..5490471ed 100644 --- a/src/main-api/Inspector.ts +++ b/src/main-api/Inspector.ts @@ -1,14 +1,5 @@ -import { - CoreNode, - type CoreNodeAnimateProps, - type CoreNodeProps, -} from '../core/CoreNode.js'; +import { CoreNode, type CoreNodeProps } from '../core/CoreNode.js'; import { type RendererMainSettings } from './Renderer.js'; -import type { AnimationSettings } from '../core/animations/CoreAnimation.js'; -import type { - IAnimationController, - AnimationControllerState, -} from '../common/IAnimationController.js'; import { isProductionEnvironment } from '../utils.js'; import { CoreTextNode, type CoreTextNodeProps } from '../core/CoreTextNode.js'; import type { Texture } from '../core/textures/Texture.js'; @@ -40,27 +31,6 @@ export interface InspectorOptions { * @defaultValue 5000 */ resetInterval: number; - - /** - * Enable animation monitoring and statistics tracking - * - * @defaultValue true - */ - enableAnimationMonitoring: boolean; - - /** - * Maximum number of animations to keep in history for statistics - * - * @defaultValue 1000 - */ - maxAnimationHistory: number; - - /** - * Automatically print animation statistics every X seconds (0 to disable) - * - * @defaultValue 0 - */ - animationStatsInterval: number; } /** @@ -251,45 +221,13 @@ export class Inspector { { count: number; lastReset: number; nodeId: number } >(); - // Animation monitoring structures - private static activeAnimations = new Map< - string, - { - nodeId: number; - animationId: string; - startTime: number; - props: CoreNodeAnimateProps; - settings: AnimationSettings; - controller: IAnimationController; - state: AnimationControllerState; - } - >(); - - private static animationHistory: Array<{ - nodeId: number; - animationId: string; - startTime: number; - endTime: number; - duration: number; - actualDuration: number; - props: CoreNodeAnimateProps; - settings: AnimationSettings; - completionType: 'finished' | 'stopped' | 'cancelled'; - }> = []; - // Performance monitoring settings (configured via constructor) private performanceSettings: InspectorOptions = { enablePerformanceMonitoring: false, excessiveCallThreshold: 100, resetInterval: 5000, - enableAnimationMonitoring: false, - maxAnimationHistory: 1000, - animationStatsInterval: 0, }; - // Animation stats printing timer - private animationStatsTimer: number | null = null; - constructor(canvas: HTMLCanvasElement, settings: RendererMainSettings) { if (isProductionEnvironment === true) return; @@ -304,12 +242,6 @@ export class Inspector { excessiveCallThreshold: settings.inspectorOptions?.excessiveCallThreshold ?? 100, resetInterval: settings.inspectorOptions?.resetInterval ?? 5000, - enableAnimationMonitoring: - settings.inspectorOptions?.enableAnimationMonitoring ?? false, - maxAnimationHistory: - settings.inspectorOptions?.maxAnimationHistory ?? 1000, - animationStatsInterval: - settings.inspectorOptions?.animationStatsInterval ?? 0, }; // calc dimensions based on the devicePixelRatio @@ -346,9 +278,6 @@ export class Inspector { //listen for changes on window window.addEventListener('resize', this.setRootPosition.bind(this)); - // Start animation stats timer if enabled - this.startAnimationStatsTimer(); - console.warn('Inspector is enabled, this will impact performance'); } @@ -438,287 +367,6 @@ export class Inspector { Inspector.setterCallCount.clear(); } - /** - * Generate a unique animation ID - */ - private static generateAnimationId(): string { - return `anim_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`; - } - - /** - * Wrap animation controller with monitoring capabilities - */ - private wrapAnimationController( - controller: IAnimationController, - nodeId: number, - props: CoreNodeAnimateProps, - settings: AnimationSettings, - div: HTMLElement, - ): IAnimationController { - if (!this.performanceSettings.enableAnimationMonitoring) { - // Just add the basic DOM animation without tracking - const originalStart = controller.start.bind(controller); - controller.start = () => { - this.animateNode(div, props, settings); - return originalStart(); - }; - return controller; - } - - const animationId = Inspector.generateAnimationId(); - - // Create wrapper controller - const wrappedController: IAnimationController = { - start: () => { - this.trackAnimationStart( - animationId, - nodeId, - props, - settings, - controller, - ); - this.animateNode(div, props, settings); - return controller.start(); - }, - - stop: () => { - this.trackAnimationEnd(animationId, 'stopped'); - return controller.stop(); - }, - - pause: () => { - this.updateAnimationState(animationId, 'paused'); - return controller.pause(); - }, - - restore: () => { - this.trackAnimationEnd(animationId, 'cancelled'); - return controller.restore(); - }, - - waitUntilStopped: () => { - return controller.waitUntilStopped().then(() => { - this.trackAnimationEnd(animationId, 'finished'); - }); - }, - - get state() { - return controller.state; - }, - - // Event emitter methods - on: controller.on.bind(controller), - off: controller.off.bind(controller), - once: controller.once.bind(controller), - emit: controller.emit.bind(controller), - }; - - // Track animation events - controller.on('animating', () => { - this.updateAnimationState(animationId, 'running'); - }); - - controller.on('stopped', () => { - this.trackAnimationEnd(animationId, 'finished'); - }); - - return wrappedController; - } - - /** - * Track animation start - */ - private trackAnimationStart( - animationId: string, - nodeId: number, - props: CoreNodeAnimateProps, - settings: AnimationSettings, - controller: IAnimationController, - ): void { - const startTime = Date.now(); - - Inspector.activeAnimations.set(animationId, { - nodeId, - animationId, - startTime, - props, - settings, - controller, - state: 'scheduled', - }); - } - - /** - * Update animation state - */ - private updateAnimationState( - animationId: string, - state: AnimationControllerState, - ): void { - const animation = Inspector.activeAnimations.get(animationId); - if (animation) { - animation.state = state; - } - } - - /** - * Track animation end - */ - private trackAnimationEnd( - animationId: string, - completionType: 'finished' | 'stopped' | 'cancelled', - ): void { - const animation = Inspector.activeAnimations.get(animationId); - if (!animation) return; - - const endTime = Date.now(); - const actualDuration = endTime - animation.startTime; - const expectedDuration = animation.settings.duration || 1000; - - // Move to history - Inspector.animationHistory.unshift({ - nodeId: animation.nodeId, - animationId: animation.animationId, - startTime: animation.startTime, - endTime, - duration: expectedDuration, - actualDuration, - props: animation.props, - settings: animation.settings, - completionType, - }); - - // Limit history size for performance - if ( - Inspector.animationHistory.length > - this.performanceSettings.maxAnimationHistory - ) { - Inspector.animationHistory.splice( - this.performanceSettings.maxAnimationHistory, - ); - } - - // Remove from active animations - Inspector.activeAnimations.delete(animationId); - } - - /** - * Get currently active animations - */ - public static getActiveAnimations(): Array<{ - nodeId: number; - animationId: string; - startTime: number; - duration: number; - elapsedTime: number; - props: CoreNodeAnimateProps; - settings: AnimationSettings; - state: AnimationControllerState; - }> { - const now = Date.now(); - const activeAnimations: Array<{ - nodeId: number; - animationId: string; - startTime: number; - duration: number; - elapsedTime: number; - props: CoreNodeAnimateProps; - settings: AnimationSettings; - state: AnimationControllerState; - }> = []; - - Inspector.activeAnimations.forEach((animation) => { - activeAnimations.push({ - nodeId: animation.nodeId, - animationId: animation.animationId, - startTime: animation.startTime, - duration: animation.settings.duration || 1000, - elapsedTime: now - animation.startTime, - props: animation.props, - settings: animation.settings, - state: animation.state, - }); - }); - - return activeAnimations.sort((a, b) => b.startTime - a.startTime); - } - - /** - * Get animation statistics - */ - public static getAnimationStats(): { - totalAnimations: number; - activeCount: number; - averageDuration: number; - } { - const totalAnimations = Inspector.animationHistory.length; - const activeCount = Inspector.activeAnimations.size; - - // Calculate average duration from finished animations only - const finishedAnimations = Inspector.animationHistory.filter( - (anim) => anim.completionType === 'finished', - ); - - const averageDuration = - finishedAnimations.length > 0 - ? finishedAnimations.reduce( - (sum, anim) => sum + anim.actualDuration, - 0, - ) / finishedAnimations.length - : 0; - - return { - totalAnimations, - activeCount, - averageDuration, - }; - } - - /** - * Clear animation monitoring data - */ - public static clearAnimationStats(): void { - Inspector.activeAnimations.clear(); - Inspector.animationHistory.length = 0; - } - - /** - * Start the animation stats timer if enabled - */ - private startAnimationStatsTimer(): void { - console.log( - `Starting animation stats timer with interval: ${this.performanceSettings.animationStatsInterval} seconds`, - ); - - if (this.performanceSettings.animationStatsInterval > 0) { - this.animationStatsTimer = setInterval(() => { - this.printAnimationStats(); - }, this.performanceSettings.animationStatsInterval * 1000) as unknown as number; - } - } - - /** - * Stop the animation stats timer - */ - private stopAnimationStatsTimer(): void { - if (this.animationStatsTimer) { - clearInterval(this.animationStatsTimer); - this.animationStatsTimer = null; - } - } - - /** - * Print current animation statistics to console - */ - private printAnimationStats(): void { - const stats = Inspector.getAnimationStats(); - - console.log( - `🎬 Animation Stats: ${stats.activeCount} active, ${ - stats.totalAnimations - } completed, ${Math.round(stats.averageDuration)}ms avg duration`, - ); - } setRootPosition() { if (this.root === null || this.canvas === null) { return; @@ -963,13 +611,6 @@ export class Inspector { }); coreNodeListeners.clear(); - // Clean up activeAnimations entries for this node - for (const [id, anim] of Inspector.activeAnimations) { - if (anim.nodeId === node.id) { - Inspector.activeAnimations.delete(id); - } - } - // Remove div from DOM using direct reference (getElementById fails for // children already detached when parent div was removed first) if (div.parentNode) { @@ -996,34 +637,12 @@ export class Inspector { try { delete (node as any).destroy; - delete (node as any).animate; } catch (_) { // ignore } }, configurable: true, }); - - const originalAnimate = node.animate; - Object.defineProperty(node, 'animate', { - value: ( - props: CoreNodeAnimateProps, - settings: AnimationSettings, - ): IAnimationController => { - const animationController = originalAnimate.call(node, props, settings); - - // Wrap animation controller with monitoring - return this.wrapAnimationController( - animationController, - node.id, - props, - settings, - div, - ); - }, - configurable: true, - }); - return node; } @@ -1108,9 +727,6 @@ export class Inspector { } public destroy() { - // Stop animation stats timer - this.stopAnimationStatsTimer(); - // Remove DOM observers this.mutationObserver.disconnect(); this.resizeObserver.disconnect(); @@ -1120,9 +736,6 @@ export class Inspector { if (this.root && this.root.parentNode) { this.root.remove(); } - - // Clean up animation monitoring data - Inspector.clearAnimationStats(); } destroyNode(id: number) { @@ -1268,49 +881,4 @@ export class Inspector { this.height = height; this.setRootPosition(); } - - // simple animation handler - animateNode( - div: HTMLElement, - props: CoreNodeAnimateProps, - settings: AnimationSettings, - ) { - const { - duration = 1000, - delay = 0, - // easing = 'linear', - // repeat = 0, - // loop = false, - // stopMethod = false, - } = settings; - - const { - x, - y, - w, - h, - alpha = 1, - rotation = 0, - scale = 1, - color, - mountX, - mountY, - } = props; - - // ignoring loops and repeats for now, as that might be a bit too much for the inspector - function animate() { - setTimeout(() => { - div.style.top = `${y - h * mountY}px`; - div.style.left = `${x - w * mountX}px`; - div.style.width = `${w}px`; - div.style.height = `${h}px`; - div.style.opacity = `${alpha}`; - div.style.rotate = `${rotation}rad`; - div.style.scale = `${scale}`; - div.style.color = convertColorToRgba(color); - }, duration); - } - - setTimeout(animate, delay); - } }